Gaussian Elimination Calculator
Solve Systems of Linear Equations
Row reduce the augmented matrix [A | b] one elementary operation at a time — stop at row echelon form, or carry on to reduced row echelon form. Every step names the operation, highlights the rows it touches, and says why the solution set is unchanged. Editable entries, six presets and a shuffle, up to 5 equations and 5 unknowns.
Target form?Echelon form stops as soon as every entry below a pivot is 0. Reduced echelon form keeps going: each pivot is scaled to 1 and the entries above it are cleared too. Switch between them to see exactly which extra operations the reduced run performs — the step log is otherwise identical.
Preset?Gaussian elimination clears the entries below each pivot, working left to right, until the matrix has a staircase of leading entries — row echelon form — which is solved bottom-up by back-substitution. Gauss-Jordan goes further: it scales every pivot to 1 and clears above them as well, giving reduced row echelon form, where the solution is simply the last column. Both use only the three elementary row operations, so the system the matrix describes never changes.
Shape
equations3
unknowns3
A | b
|
|
|
Key Terms
Gaussian elimination — the algorithm that reduces a matrix to echelon form using elementary row operations, so a linear system can be solved by substitution.
Augmented matrix — the coefficient matrix with the right-hand side appended as a final column, written . In the tool the constants are the amber column; row operations act on the whole row at once, constants included.
Pivot — the first non-zero entry of a row once the rows above it have been cleared. Its column is a pivot column, and the variable of that column is a leading variable.
Row echelon form (REF) — zero rows at the bottom, each pivot strictly to the right of the pivot above it, and zeros below every pivot. Note what is not required: the pivots need not be .
Reduced row echelon form (RREF) — echelon form with every pivot equal to and zeros above each pivot as well as below. Also called Gauss-Jordan form. Unlike echelon form, it is unique for a given matrix.
Elementary row operation — one of three moves that preserve the solution set: swapping two rows, scaling a row by a non-zero constant, or adding a multiple of one row to another.
Back-substitution — solving for the variables from the bottom row upward once the matrix is in echelon form.
Free variable — a variable whose column has no pivot. Each one contributes a parameter to an infinite solution set.
Rank — the number of pivots. It is the count the tool reports at the end, and it decides everything: rank equal to the number of unknowns means one solution, fewer means free variables.
Augmented matrix — the coefficient matrix with the right-hand side appended as a final column, written . In the tool the constants are the amber column; row operations act on the whole row at once, constants included.
Pivot — the first non-zero entry of a row once the rows above it have been cleared. Its column is a pivot column, and the variable of that column is a leading variable.
Row echelon form (REF) — zero rows at the bottom, each pivot strictly to the right of the pivot above it, and zeros below every pivot. Note what is not required: the pivots need not be .
Reduced row echelon form (RREF) — echelon form with every pivot equal to and zeros above each pivot as well as below. Also called Gauss-Jordan form. Unlike echelon form, it is unique for a given matrix.
Elementary row operation — one of three moves that preserve the solution set: swapping two rows, scaling a row by a non-zero constant, or adding a multiple of one row to another.
Back-substitution — solving for the variables from the bottom row upward once the matrix is in echelon form.
Free variable — a variable whose column has no pivot. Each one contributes a parameter to an infinite solution set.
Rank — the number of pivots. It is the count the tool reports at the end, and it decides everything: rank equal to the number of unknowns means one solution, fewer means free variables.
Using the Calculator
The calculator runs elimination on an augmented matrix and shows one elementary row operation per step.
Pick a target form: the two pills at the top left choose where the run stops — Echelon form clears below the pivots and stops there, Reduced echelon form goes all the way to Gauss-Jordan. Switching pills rebuilds the run on the same matrix, which is the fastest way to see what the extra work actually is.
Pick a matrix: the presets cover the cases worth seeing — a matrix that needs a swap, one whose first pivot is already , one with a free variable, an inconsistent system, a longer four-unknown run, and the zero matrix. Or set the shape with the steppers, type your own entries, or press Shuffle for a random system.
Read the entries: coefficients on the left, constants on the right in amber, separated by the bar. Values may be typed as integers or decimals; results are displayed as exact fractions wherever one exists, so a third reads rather than a string of digits.
Step the run: Back and Next move one operation at a time, Play advances automatically at the speed set in the dropdown, and any entry in the step log on the right can be clicked to jump straight to it.
Pick a target form: the two pills at the top left choose where the run stops — Echelon form clears below the pivots and stops there, Reduced echelon form goes all the way to Gauss-Jordan. Switching pills rebuilds the run on the same matrix, which is the fastest way to see what the extra work actually is.
Pick a matrix: the presets cover the cases worth seeing — a matrix that needs a swap, one whose first pivot is already , one with a free variable, an inconsistent system, a longer four-unknown run, and the zero matrix. Or set the shape with the steppers, type your own entries, or press Shuffle for a random system.
Read the entries: coefficients on the left, constants on the right in amber, separated by the bar. Values may be typed as integers or decimals; results are displayed as exact fractions wherever one exists, so a third reads rather than a string of digits.
Step the run: Back and Next move one operation at a time, Play advances automatically at the speed set in the dropdown, and any entry in the step log on the right can be clicked to jump straight to it.
The still above is the opening scene of the default preset, the system , , . Nothing has been touched yet: the bar marks the split between the coefficients and the right-hand side, and everything to the right of it is what each equation equals.
That matrix is the default for a reason. Its top-left entry is , so the run cannot start without a row swap, and no pivot it meets is already , so the reduced run has to scale at every pivot. Between them those two facts make one matrix pass through every kind of step the calculator can take.
That matrix is the default for a reason. Its top-left entry is , so the run cannot start without a row swap, and no pivot it meets is already , so the reduced run has to scale at every pivot. Between them those two facts make one matrix pass through every kind of step the calculator can take.
The Two Target Forms
Both target forms run the same forward pass. They differ only in where they stop.
Echelon form asks for three things: any all-zero rows sit at the bottom, each leading entry is strictly to the right of the one above it, and every entry below a leading entry is . That is the staircase. It says nothing about the pivots themselves, so the tool leaves them as it finds them — a pivot of stays .
Reduced echelon form adds two more: every pivot is , and every other entry of a pivot column is , above as well as below. Getting there costs one scaling per pivot and one extra elimination per entry above a pivot.
On the default preset the difference is exact and countable: the echelon run takes 8 steps, the reduced run takes 14. The six extra steps are three scalings and three clearings above a pivot.
Which to use: echelon form is cheaper and enough to solve a system, because back-substitution finishes the job. Reduced echelon form costs more but ends with the answer written out, and it is what you want when the matrix is standing in for something else — an inverse, a null space basis, a rank computation.
Echelon form asks for three things: any all-zero rows sit at the bottom, each leading entry is strictly to the right of the one above it, and every entry below a leading entry is . That is the staircase. It says nothing about the pivots themselves, so the tool leaves them as it finds them — a pivot of stays .
Reduced echelon form adds two more: every pivot is , and every other entry of a pivot column is , above as well as below. Getting there costs one scaling per pivot and one extra elimination per entry above a pivot.
On the default preset the difference is exact and countable: the echelon run takes 8 steps, the reduced run takes 14. The six extra steps are three scalings and three clearings above a pivot.
Which to use: echelon form is cheaper and enough to solve a system, because back-substitution finishes the job. Reduced echelon form costs more but ends with the answer written out, and it is what you want when the matrix is standing in for something else — an inverse, a null space basis, a rank computation.
The first still is where the plain run stops. Every entry below a pivot is and the leading entries — , , — step to the right as you go down. The pivots are not , and the entries above them are still whatever they were, because echelon form does not ask for either.
The second is where the reduced run stops on the same matrix. The coefficient block has become the identity, so the rows read , , directly off the amber column. No substitution, no arithmetic left to do.
Both stills describe the same system. That is the point of the whole method: the two matrices look nothing alike, and every solution of one is a solution of the other.
The second is where the reduced run stops on the same matrix. The coefficient block has become the identity, so the rows read , , directly off the amber column. No substitution, no arithmetic left to do.
Both stills describe the same system. That is the point of the whole method: the two matrices look nothing alike, and every solution of one is a solution of the other.
Finding a Pivot
Each column is handled in turn, left to right, and each one begins with the same question: is there a non-zero entry at or below the current row?
If there is, the topmost one becomes the pivot. The tool names it, reports which pivot number it is, and highlights it. Its column is a pivot column and the matching variable is a leading variable — determined, once everything below it is known.
If there is not, the column is skipped and the current row does not advance. That case is covered in columns with no pivot.
A pivot is always strictly to the right of the pivot above it and exactly one row below, which is what produces the staircase. The number of pivots at the end of the run is the rank of the matrix, and the tool reports it in the final step.
The tool tests for "non-zero" with a tolerance rather than an exact comparison. That matters more than it sounds: floating-point arithmetic routinely leaves an entry sitting at instead of , and a calculator that pivots on such an entry produces nonsense — a scale factor of and a row of garbage.
If there is, the topmost one becomes the pivot. The tool names it, reports which pivot number it is, and highlights it. Its column is a pivot column and the matching variable is a leading variable — determined, once everything below it is known.
If there is not, the column is skipped and the current row does not advance. That case is covered in columns with no pivot.
A pivot is always strictly to the right of the pivot above it and exactly one row below, which is what produces the staircase. The number of pivots at the end of the run is the rank of the matrix, and the tool reports it in the final step.
The tool tests for "non-zero" with a tolerance rather than an exact comparison. That matters more than it sounds: floating-point arithmetic routinely leaves an entry sitting at instead of , and a calculator that pivots on such an entry produces nonsense — a scale factor of and a row of garbage.
The still is the first pivot of the default run, immediately after the swap: the at row 1, column 1, marked and its row highlighted. Column 1 is now a pivot column and is a leading variable.
Notice that the pivot is and stays . In the echelon run nothing scales it, and nothing needs to — the eliminations below it divide by it rather than requiring it to be .
Notice that the pivot is and stays . In the echelon run nothing scales it, and nothing needs to — the eliminations below it divide by it rather than requiring it to be .
Swapping Rows
A swap is used for exactly one purpose: the pivot position holds a and some row below it does not.
Written , it exchanges two whole rows, constants included. It is the only one of the three operations that changes two rows at once, and the tool highlights both.
A swap cannot change anything about the system, because it only reorders the equations, and the order in which equations are written has never meant anything. It is also its own inverse: swapping the same pair again puts everything back.
Every run on a matrix whose leading entry is has to begin with one — which is why the default preset starts that way.
Written , it exchanges two whole rows, constants included. It is the only one of the three operations that changes two rows at once, and the tool highlights both.
A swap cannot change anything about the system, because it only reorders the equations, and the order in which equations are written has never meant anything. It is also its own inverse: swapping the same pair again puts everything back.
Every run on a matrix whose leading entry is has to begin with one — which is why the default preset starts that way.
The still is the opening swap of the default run. Row 1 held a in the pivot position and row 2 held a , so the two traded places and the came up where a pivot belongs.
Both rows are highlighted, and both really did move. Compare that with an elimination, where two rows are highlighted but only one of them changes.
Both rows are highlighted, and both really did move. Compare that with an elimination, where two rows are highlighted but only one of them changes.
Scaling to a Leading 1
Scaling multiplies every entry of one row by a non-zero constant. Written , or as the tool writes it, where is the pivot.
This step belongs to the reduced run only. Echelon form does not require leading s, so the plain run never scales anything; the reduced run scales at every pivot that is not already .
The divisor is the pivot, which is non-zero by construction, so the equation still says exactly the same thing — a scaled equation has the same solutions. And it is reversible: scaling by is undone by scaling by .
The payoff comes at the end. A unit pivot is what lets the constant on the right be read as the value of the variable, with no arithmetic in between. It also simplifies every elimination that follows, because the factor becomes the entry itself rather than a ratio.
This step belongs to the reduced run only. Echelon form does not require leading s, so the plain run never scales anything; the reduced run scales at every pivot that is not already .
The divisor is the pivot, which is non-zero by construction, so the equation still says exactly the same thing — a scaled equation has the same solutions. And it is reversible: scaling by is undone by scaling by .
The payoff comes at the end. A unit pivot is what lets the constant on the right be read as the value of the variable, with no arithmetic in between. It also simplifies every elimination that follows, because the factor becomes the entry itself rather than a ratio.
The still is the first scaling of the reduced run: row 1 divided by its pivot , so the leading entry becomes and the rest of the row is halved — the constant along with it.
One row highlighted, one row changed. Switch the tool to Echelon form and this scene does not exist.
One row highlighted, one row changed. Switch the tool to Echelon form and this scene does not exist.
Eliminating Below the Pivot
This is the operation that does the work, and it is the reason the method is called elimination.
To clear the entry in row under a pivot in row , the tool computes the factor as that entry divided by the pivot, then subtracts the factor times the pivot row from row . Written . Because the whole row is involved, the constant on the right moves too.
Only the target row changes. The pivot row is the instrument, not the target, and it comes through untouched. The tool highlights both rows, which can be misleading until you notice that only one of them has different numbers afterwards.
When the factor is negative the operation is an addition, and the tool says so rather than writing "subtract ".
After every operation, entries that have come out as floating-point dust are snapped to exactly . Without that, the entry directly under a pivot lands at something like instead of , the next pass sees it as non-zero, and the run picks up a step that subtracts nothing from nothing.
To clear the entry in row under a pivot in row , the tool computes the factor as that entry divided by the pivot, then subtracts the factor times the pivot row from row . Written . Because the whole row is involved, the constant on the right moves too.
Only the target row changes. The pivot row is the instrument, not the target, and it comes through untouched. The tool highlights both rows, which can be misleading until you notice that only one of them has different numbers afterwards.
When the factor is negative the operation is an addition, and the tool says so rather than writing "subtract ".
After every operation, entries that have come out as floating-point dust are snapped to exactly . Without that, the entry directly under a pivot lands at something like instead of , the next pass sees it as non-zero, and the run picks up a step that subtracts nothing from nothing.
The still is the first elimination of the default run. Row 3 held a under the pivot , so the factor was and half the pivot row was subtracted from it, putting a under the pivot.
Two rows lit, one row changed. The pivot row above is identical to what it was a step earlier.
Two rows lit, one row changed. The pivot row above is identical to what it was a step earlier.
Clearing Above the Pivot
This is the step echelon form never takes, and the whole difference between the two buttons.
The arithmetic is identical to eliminating below: factor equals entry over pivot, subtract the factor times the pivot row. The only difference is the direction — the target row sits above the pivot rather than below it.
There is one per non-zero entry above a pivot, which on a square system with a full set of pivots means one for every row above each pivot. That is why the reduced run is so much longer: on the default preset it accounts for three of the six extra steps, the scalings accounting for the other three.
The effect is that each leading variable ends up appearing in exactly one equation. That is what makes the final matrix readable: no variable is entangled with any other, so each row states the value of one unknown outright.
The arithmetic is identical to eliminating below: factor equals entry over pivot, subtract the factor times the pivot row. The only difference is the direction — the target row sits above the pivot rather than below it.
There is one per non-zero entry above a pivot, which on a square system with a full set of pivots means one for every row above each pivot. That is why the reduced run is so much longer: on the default preset it accounts for three of the six extra steps, the scalings accounting for the other three.
The effect is that each leading variable ends up appearing in exactly one equation. That is what makes the final matrix readable: no variable is entangled with any other, so each row states the value of one unknown outright.
The still is the first above-pivot elimination of the reduced run, clearing the entry in row 1 above the second pivot.
From here the column containing that pivot is everywhere except the pivot itself. Repeat for every pivot and the coefficient block is the identity.
From here the column containing that pivot is everywhere except the pivot itself. Repeat for every pivot and the coefficient block is the identity.
Columns With No Pivot
Sometimes a column is already from the current row down. There is nothing to pivot on and nothing to eliminate, so the column is skipped.
The important detail is that the current row does not advance. The next pivot will be found further to the right, on the same row. That is how a staircase ends up with a step wider than one column.
A skipped column marks a free variable: no equation from that point on pins it down. If the system is consistent, each free variable can take any value, so the solution set is infinite — a line for one free variable, a plane for two.
Counting them is the rank-nullity theorem in miniature: pivots plus free columns equals the number of unknowns. The tool reports both at the end.
The zero-matrix preset is the extreme case. Every column is skipped, there are no pivots at all, and rank is . A zero matrix is already in echelon form and in reduced echelon form — vacuously, since there are no pivots for any of the rules to be violated by.
The important detail is that the current row does not advance. The next pivot will be found further to the right, on the same row. That is how a staircase ends up with a step wider than one column.
A skipped column marks a free variable: no equation from that point on pins it down. If the system is consistent, each free variable can take any value, so the solution set is infinite — a line for one free variable, a plane for two.
Counting them is the rank-nullity theorem in miniature: pivots plus free columns equals the number of unknowns. The tool reports both at the end.
The zero-matrix preset is the extreme case. Every column is skipped, there are no pivots at all, and rank is . A zero matrix is already in echelon form and in reduced echelon form — vacuously, since there are no pivots for any of the rules to be violated by.
The still is a skipped column from the free-variable preset, two equations in three unknowns. Column 2 was scanned from the remaining row down, found to be , and passed over.
The run continues on the same row and finds its second pivot in column 3. Two pivots, three unknowns, one free variable, and infinitely many solutions.
The run continues on the same row and finds its second pivot in column 3. Two pivots, three unknowns, one free variable, and infinitely many solutions.
When There Is No Solution
Elimination does not only solve systems. It also proves when a system cannot be solved.
If a row reduces to all zeros on the left with a non-zero constant on the right, that row is the equation with . No choice of unknowns satisfies it, so the system is inconsistent and has no solution at all.
The contradiction was in the original equations the whole time. Elimination did not create it — it brought it into view by combining the equations until the conflict was written in one row.
Geometrically it means is not in the column space of : the right-hand side is not reachable by any combination of the columns, so no amount of further reduction can help.
The tool highlights the offending row in the final step and names the equation it has become.
If a row reduces to all zeros on the left with a non-zero constant on the right, that row is the equation with . No choice of unknowns satisfies it, so the system is inconsistent and has no solution at all.
The contradiction was in the original equations the whole time. Elimination did not create it — it brought it into view by combining the equations until the conflict was written in one row.
Geometrically it means is not in the column space of : the right-hand side is not reachable by any combination of the columns, so no amount of further reduction can help.
The tool highlights the offending row in the final step and names the equation it has become.
The still is the inconsistent preset at the end of its run. Row 3 reads , and the row is marked.
Note that the first two rows reduced perfectly well and the matrix has two honest pivots. A system can be most of the way to a solution and still have none.
Note that the first two rows reduced perfectly well and the matrix has two honest pivots. A system can be most of the way to a solution and still have none.
Stepping Through the Run
The step log on the right is the record of the whole run, and it is the part of the tool worth spending time in.
One operation per step. Each entry names the operation in notation — — and explains underneath where the factor came from and why the solution set survived it.
Click any step to jump the matrix to that state. The log grows as the run advances, so the steps above the current one are the history of how the matrix got here.
Play advances automatically; the speed dropdown runs from slow to very fast. Back and Next step one operation at a time, and Reset returns to the opening scene.
The matrix is the state after the operation named. A caption and the matrix beside it always agree: read the caption, then look at which entry became .
Switching target form or changing the matrix rebuilds the run from the top, so the step count in the indicator is always the length of the run you are actually watching.
One operation per step. Each entry names the operation in notation — — and explains underneath where the factor came from and why the solution set survived it.
Click any step to jump the matrix to that state. The log grows as the run advances, so the steps above the current one are the history of how the matrix got here.
Play advances automatically; the speed dropdown runs from slow to very fast. Back and Next step one operation at a time, and Reset returns to the opening scene.
The matrix is the state after the operation named. A caption and the matrix beside it always agree: read the caption, then look at which entry became .
Switching target form or changing the matrix rebuilds the run from the top, so the step count in the indicator is always the length of the run you are actually watching.
The Three Elementary Row Operations
Everything the calculator does is one of three moves, and each has its own section above.
Row swapping — exchange two rows, . Used to bring a non-zero entry into a pivot position. See swapping rows.
Row scaling — multiply every entry of a row by a non-zero constant, . Used to make a leading . See scaling to a leading 1.
Row addition — add a multiple of one row to another, . Used to create zeros. See eliminating below the pivot and clearing above.
What matters about all three is that each is reversible. A swap undoes itself, a scaling by is undone by scaling by , and adding a multiple of a row is undone by subtracting it. An operation that can be undone cannot gain or lose solutions, which is why the matrix at every stage of the run describes exactly the same system as the one you typed in — a different-looking set of equations with an identical solution set.
Two matrices connected by a chain of these operations are called row equivalent. Every matrix is row equivalent to exactly one reduced row echelon form, which is why RREF is unique while echelon form is not.
Row swapping — exchange two rows, . Used to bring a non-zero entry into a pivot position. See swapping rows.
Row scaling — multiply every entry of a row by a non-zero constant, . Used to make a leading . See scaling to a leading 1.
Row addition — add a multiple of one row to another, . Used to create zeros. See eliminating below the pivot and clearing above.
What matters about all three is that each is reversible. A swap undoes itself, a scaling by is undone by scaling by , and adding a multiple of a row is undone by subtracting it. An operation that can be undone cannot gain or lose solutions, which is why the matrix at every stage of the run describes exactly the same system as the one you typed in — a different-looking set of equations with an identical solution set.
Two matrices connected by a chain of these operations are called row equivalent. Every matrix is row equivalent to exactly one reduced row echelon form, which is why RREF is unique while echelon form is not.
Back-Substitution
Echelon form stops short of the answer on purpose. Back-substitution is the short walk from there to the solution.
The bottom non-zero row involves only the last leading variable, so it gives that variable outright. Substitute it into the row above, which then involves only one unknown quantity, and solve. Work upward until every leading variable is known.
The tool does this for you when the echelon run finishes with a pivot in every column, and reports the result in the final step — for the default preset, , , . Switch to the reduced run and you get the same three numbers, read straight off the last column instead.
That is the trade in one sentence. Reduced echelon form costs more operations but ends with the answer written out; echelon form stops earlier and asks you to finish by hand. For solving a single system by hand, echelon form plus back-substitution is usually the faster route overall.
The bottom non-zero row involves only the last leading variable, so it gives that variable outright. Substitute it into the row above, which then involves only one unknown quantity, and solve. Work upward until every leading variable is known.
The tool does this for you when the echelon run finishes with a pivot in every column, and reports the result in the final step — for the default preset, , , . Switch to the reduced run and you get the same three numbers, read straight off the last column instead.
That is the trade in one sentence. Reduced echelon form costs more operations but ends with the answer written out; echelon form stops earlier and asks you to finish by hand. For solving a single system by hand, echelon form plus back-substitution is usually the faster route overall.
What Gaussian Elimination Is
Gaussian elimination is an algorithm for solving systems of linear equations by transforming the augmented matrix with row operations until the answer can be read or substituted out.
Named after Carl Friedrich Gauss, though versions of it appear in Chinese mathematics roughly two thousand years earlier, it works by systematically removing each leading variable from the equations below it. The variant that continues to reduced row echelon form is usually called Gauss-Jordan elimination.
The method never fails to reach an answer. It solves any consistent system, identifies any inconsistent one by producing a row that reads , and identifies infinitely many solutions by leaving columns without pivots. There is no case it cannot classify, which is unusual for an algorithm this simple, and it is why every linear algebra course starts here.
It is also the computational backbone of the subject. Rank, inverses, determinants, null spaces and column spaces are all read off the echelon form of a matrix, so a great many later constructions are elimination wearing a different name.
Named after Carl Friedrich Gauss, though versions of it appear in Chinese mathematics roughly two thousand years earlier, it works by systematically removing each leading variable from the equations below it. The variant that continues to reduced row echelon form is usually called Gauss-Jordan elimination.
The method never fails to reach an answer. It solves any consistent system, identifies any inconsistent one by producing a row that reads , and identifies infinitely many solutions by leaving columns without pivots. There is no case it cannot classify, which is unusual for an algorithm this simple, and it is why every linear algebra course starts here.
It is also the computational backbone of the subject. Rank, inverses, determinants, null spaces and column spaces are all read off the echelon form of a matrix, so a great many later constructions are elimination wearing a different name.
Applications
Elimination appears throughout mathematics, science and engineering:
Solving linear systems — the primary use. Essential in structural engineering, economics, physics simulations and anywhere a model produces more than a couple of simultaneous equations.
Matrix inversion — augment with the identity and row reduce to reduced echelon form. The right half becomes .
Determinant calculation — track the swaps and scalings performed. The determinant is the product of the pivots, with a sign flip for each swap.
Rank and the four subspaces — the number of pivots is the rank; the pivot columns of the original matrix are a basis of the column space; the free columns generate the null space.
Circuit analysis — Kirchhoff's laws produce a linear system for every non-trivial circuit, solved by elimination.
Least squares — the normal equations of a regression or curve fit are a linear system, solved the same way.
Computer graphics — transformations, projections and the intersection problems behind rendering all reduce to solving matrix equations.
Solving linear systems — the primary use. Essential in structural engineering, economics, physics simulations and anywhere a model produces more than a couple of simultaneous equations.
Matrix inversion — augment with the identity and row reduce to reduced echelon form. The right half becomes .
Determinant calculation — track the swaps and scalings performed. The determinant is the product of the pivots, with a sign flip for each swap.
Rank and the four subspaces — the number of pivots is the rank; the pivot columns of the original matrix are a basis of the column space; the free columns generate the null space.
Circuit analysis — Kirchhoff's laws produce a linear system for every non-trivial circuit, solved by elimination.
Least squares — the normal equations of a regression or curve fit are a linear system, solved the same way.
Computer graphics — transformations, projections and the intersection problems behind rendering all reduce to solving matrix equations.