Omni Calculator logo

(Reduced) Row Echelon Form Calculator

Created by Maciej Kowalski, PhD candidate
Reviewed by Bogna Szyk and Jack Bowater
Last updated: Jun 05, 2023


Welcome to the reduced row echelon form calculator (or rref calculator for short), where we'll solve a system of equations of your choice using the matrix row reduction and elementary row operations. Also, we give you the option to choose whether you'd like to use the reduced version or not. Based on the choice you make, our tool can be viewed as a Gauss-Jordan elimination calculator (with the first variant) or a Gauss elimination calculator. Moreover, in case your system has an infinite number of solutions, our rref calculator will even tell you what they look like!

What is a system of equations?

Remember all those math scenarios that try to imitate real life? Like a little girl asking you how old she is if, in ten years, her mom will be twice as old as she will be then? You know, just your everyday conversations and everyday problems. Well, equations are what we use to solve them.

Whenever we have some value that we don't know (like the age of the little girl), but we know that it must satisfy some property (like being twice as large as some other number), we describe this connection using equations. We denote the value we don't know with a symbol, which we call a variable. We then write what we know about it with mathematical symbols and operations, such as addition, subtraction, multiplication, or division. The resulting expression is called an equation.

If we have several equations and want all of them to be satisfied by the same number, then what we're dealing with is a system of equations. Usually, they have more than one variable in total, and the most common math problems include the same number of equations as there are variables. For example, suppose that the mother of our little girl tells us that she's three times older than her daughter. Now we know where that wittiness came from)... Anyway, we can translate this new mom statement into an equation as well. Together with the previous one, they would form a system of two equations with two variables: the girl's and the mother's age.

Elementary row operations

Let's try to see how our reduced row echelon form calculator sees a system of equations. Take this juicy example:

A system of equations with juicy variables.

Don't worry, we haven't gone back to kindergarten, we're still working with systems of equations. The above picture may not look like one, but in fact, it is just that. We're so used to seeing variables such as xx or yy that we tend to forget that it is just a symbol for a value we don't know. And here we have a juicy lemon, a crunchy apple, and a sweet banana, all representing numbers we don't yet know. For simplicity of notation, let's denote them by xx, yy, and zz, respectively. This way we can write an equivalent system of equations:

{x ⁣+ ⁣y ⁣+ ⁣z ⁣= ⁣32y ⁣+ ⁣y ⁣ ⁣x ⁣= ⁣25z ⁣+ ⁣z ⁣ ⁣y ⁣= ⁣16\small\begin{cases} &x\!+\!y\!+\!z\! = \!32\\ &y\!+\!y\!-\!x\!=\!25\\ &z\!+\!z\!-\!y\!=\!16 \end{cases}

Now that we look at it, high school killed some of our imagination along the way, hasn't it? Still, we can now easily simplify the system by adding together the same symbols in consecutive equations and write the variables that appear in them in alphabetical order. For example, in the second equation, y+yx=25y + y - x = 25, we can add the yy's together to obtain 2yx=252y - x = 25 (since we had two copies of yy). Next, we flip the xx variable to the beginning to create an alphabetical order (remember to bring along the number next to it) and get x+2y=25-x + 2y = 25. All in all, we obtain

{x ⁣+ ⁣y ⁣+ ⁣z ⁣ ⁣=32 ⁣ ⁣x ⁣+ ⁣2y ⁣= ⁣25 ⁣ ⁣y ⁣+ ⁣2z ⁣= ⁣16 \small\begin{cases} &x\!+\!y\!+\!z\! \!= 32\\ &\!-\!x\!+\!2y\!=\!25\\ &\!-\!y\!+\!2z\!=\!16 \end{cases}

The rref calculator uses the Gauss-Jordan elimination and the Gauss elimination, and both use so-called matrix row reduction. This, in turn, relies on elementary row operations, which are:

  1. You can exchange any two equations.
  2. You can multiply any equation by a non-zero constant number.
  3. You can add a non-zero multiple of any equation to another equation.

What we mean by "you can" is that the system you'd obtain by these operations will be equivalent to the one you started with. This means that the two will have exactly the same solutions.

For example, we could multiply the first equation by, say, 3-3:

{ ⁣3x ⁣ ⁣3y ⁣ ⁣3z ⁣= ⁣96 ⁣x ⁣+ ⁣2y ⁣= ⁣25 ⁣y ⁣+ ⁣2z ⁣= ⁣16\small\begin{cases} \!-3x\!-\!3y\!-\!3z\!=\!-96\\ \!-x\!+\!2y\!=\!25\\ \!-y\!+\!2z\!=\!16 \end{cases}

and add two copies of the second equation to the third one:

{ ⁣3x ⁣ ⁣3y ⁣ ⁣3z ⁣= ⁣96 ⁣x ⁣+ ⁣2y ⁣= ⁣25 ⁣y ⁣+ ⁣2z ⁣+ ⁣2(x ⁣+ ⁣2y) ⁣= ⁣16 ⁣+ ⁣2 ⁣ ⁣25\small\begin{cases} \!-3x\!-\!3y\!-\!3z\!=\!-96\\ \!-x\!+\!2y\!=\!25\\ \!-y\! + \!2z\! +\! 2\cdot (-x\! + \!2y)\! =\! 16\! +\! 2\! \cdot \!25 \end{cases}

which is

{ ⁣3x ⁣ ⁣3y ⁣ ⁣3z ⁣= ⁣96 ⁣x ⁣+ ⁣2y ⁣= ⁣25 ⁣2x ⁣+ ⁣3y ⁣+ ⁣2z ⁣= ⁣66\small\begin{cases} \!-3x\! - \!3y \!-\! 3z \!=\! -96\\ \!-x\! +\! 2y\! =\! 25\\ \!-2x\! +\! 3y\! +\! 2z\! =\! 66 \end{cases}

The elementary row operations didn't change the set of solutions to our system. Don't believe us? Go on, type the first and the last system into the reduced row echelon form calculator, and see what you get. We'll wait for you, but expect a "we told you so" when you get back.

Gauss-Jordan elimination vs Gauss elimination

We can use the matrix row reduction that we've mentioned in the section above for more practical uses than just having fun with multiplying equations by random numbers. Oh come on, we did have fun, didn't we?

As you might have guessed, it is easier to deal with one variable than with several of them, so why not try to eliminate some of them? Presumably, this (but in German) was the line of thinking of Carl Friedrich Gauss, a mathematician behind the so-called Gauss elimination, but not only: meet him also at the Gauss law calculator. It is an algorithmic procedure that transforms a system of equations into a very easy to deal with form. The idea behind it is (please proceed to read the following instructions in 18th-century German accent):

  1. Take an equation with the first variable in it and put that line as the first one in your system.
  2. Use elementary row operations on the first equation to eliminate all occurrences of the first variable in all the other equations.
  3. Take an equation (different from the first) with the second variable in it and put it as the second one in the system.
  4. Use elementary row operations on the second equation to eliminate all occurrences of the second variable in all the later equations.
  5. Repeat for subsequent variables until you run out of equations, variables, or self-discipline to finish the exercise.

The system we get in the end is said to be in row echelon form. "So what does the reduced in reduced row echelon form calculator stand for?" How convenient of you to ask! That's where the Gauss-Jordan elimination comes in. It is a slightly improved version of the previous algorithm, first done by Camille Jordan. It took a French mathematician and a few decades to ask the fundamental question: "What if in the end, we divided every line by its first number?" Mind = blown.

In other words, the Gauss-Jordan elimination add-on gives us an additional step in the algorithm:

  1. Divide each equation by the coefficient of the first variable occurring in that line.

The system we get with the upgraded version of the algorithm is said to be in reduced row echelon form. The advantage of that approach is that in each line the first variable will have the coefficient 11 in front of it instead of something complicated, like a 22, for example. It does, however, speed up calculations, and, as we know, every second is valuable.

It's high time for an example, wouldn't you say?

🙋 Learn everything about systems of equations with Omni's system of equations calculator!

Example: using the reduced row echelon form calculator

Recall the system of equations we had in the second section, but the one right before we started playing with elementary row operations:

{x ⁣+ ⁣y ⁣+ ⁣z ⁣ ⁣=32 ⁣ ⁣x ⁣+ ⁣2y ⁣= ⁣25 ⁣ ⁣y ⁣+ ⁣2z ⁣= ⁣16\small\begin{cases} x\!+\!y\!+\!z\! \!= 32\\ \!-\!x\!+\!2y\!=\!25\\ \!-\!y\!+\!2z\!=\!16 \end{cases}

Before we move on to the step-by-step calculations, let's quickly say a few words about how we can input such a system into our reduced row echelon form calculator. First of all, we have three lines in the system, so we need to tell that to the calculator at the top, in the number of equations field. This will show us a symbolic picture of an arbitrary system of three linear equations.

We need to identify which number corresponds to which symbol from the rref calculator. In the picture, the first equation has symbols a1a_1, b1b_1, c1c_1, and d1d_1, which are respectively next to xx, to yy, to zz, and to the right hand side of the == sign. These are the numbers that we're looking for in our system. Looking at the first of our equations, we identify that a1=1a_1 = 1, b1=1b_1= 1, c1=1c_1 = 1, and d1=32d_1 = 32 (remember that no number in front of a variable means that the coefficient is equal to 11).

Similarly, for the next two lines we get a2=1a_2 = -1, b2=2b_2 = 2, c2=0c_2 = 0, d2=25d_2 = 25, and a3=0a_3 = 0, b3=1b_3 = -1, c3=2c_3 = 2, d3=16d_3 = 16 (remember that if an equation doesn't have some variable, then the coefficient next to that variable is 00). If you input all this data into the reduced row echelon form calculator, you'll get a spoiler of what the answer is. Also, note here that our rref calculator doesn't allow non-linear (e.g., quadratic) equations. If you need to solve individual equations of this type, visit the quadratic formula calculator!

We'll now follow the instructions on matrix row reduction given by the Gauss elimination to transform it into a row echelon form. Lastly, we'll do the extra step from the Gauss-Jordan elimination to make it into the reduced version, which is used by default in the rref calculator.

According to the algorithm, we start by choosing an equation with the first variable (in our case, it's xx) and putting it in the top line. Note, that our system is already in this form, so we don't have to change anything. Next, we use the first equation to eliminate the xx's from the other two lines. Observe that we only have to deal with the second one since the third equation has no xx. To get rid of the x-x in the middle line, we need to add to that equation a multiple of the first equation so that the xx's will cancel each other out. Since x+x=0-x + x = 0, we need to have xx with coefficient 11 in what we add to the second line. Fortunately, this is exactly what we have in the top equation. Therefore, we add the first line to the second to obtain:

x ⁣+ ⁣2y ⁣+ ⁣(x ⁣+ ⁣y ⁣+ ⁣z) ⁣= ⁣25 ⁣+ ⁣32-x\! +\! 2y\! +\! (x\! +\! y\! +\! z) \!= \!25 \!+ \!32

Which is:

3y ⁣+ ⁣z ⁣= ⁣573y \!+\! z\! =\! 57

Together with the other two equations, this gives:

{ ⁣x ⁣+ ⁣y ⁣+ ⁣z ⁣= ⁣32 ⁣3y ⁣+ ⁣z ⁣= ⁣57 ⁣y ⁣+ ⁣2z ⁣= ⁣16\begin{cases} \!x\! +\! y \!+\! z \!=\! 32\\ \!3y\! +\! z\! =\! 57\\ \!-y\! +\! 2z\! =\! 16 \end{cases}

Great! We now have the two last lines with no xx's in them. True, the second equation gained a zz that was not there before, but that's just a price we have to pay.

Now we need to do something about the yy in the last equation, and we'll use the second line for it. However, it's not going to be as easy as last time - we have 3y3y at our disposal and y-y to deal with. Well, the tools they gave us will have to do.

To eliminate y-y from the third equation, we'll need to get yy (i.e., yy with coefficient 11) from the second one since y+y=0-y + y = 0. To get it from the 3y3y, it's enough to divide it by 33. In other words, in the language of matrix row reduction, we'll add a multiple of 1/31/3 (equivalent to dividing by 33) of the second equation to the bottom line. This gives:

y ⁣+ ⁣2z ⁣+ ⁣13 ⁣ ⁣(3y ⁣+ ⁣z) ⁣= ⁣16 ⁣+ ⁣13 ⁣ ⁣57-y\! +\! 2z\! +\!\frac{1}{3}\!\cdot\! (3y\! +\! z)\! =\! 16\! +\! \frac{1}{3}\! \cdot \!57

Note how the 1/31/3 also appeared on the right side with the 5757. After simplification, this gives:

73 ⁣ ⁣z=35\frac{7}{3}\!\cdot\!z=35

Which, together with the other two equations, is:

{ ⁣x ⁣+ ⁣y ⁣+ ⁣z ⁣= ⁣32 ⁣3y ⁣+ ⁣z ⁣= ⁣5773 ⁣ ⁣z=35\begin{cases} \!x\! +\! y \!+\! z \!=\! 32\\ \!3y\! +\! z\! =\! 57\\ \frac{7}{3}\!\cdot\!z=35 \end{cases}

Voilà! That is the row echelon form given by the Gauss elimination. Note, that such systems are obtained in our rref calculator by answering "No" to the question of whether to show the reduced form at the top of the calculator.

🙋 In your calculations, you may need to make your equations simpler: learn a way to do so with, for example, the simplify fractions calculator at Omni!

To obtain the reduced row echelon form, we follow the sixth step mentioned in the section above - we divide each equation by the coefficient of its first variable. This means that we need to divide the first line by 11 (the coefficient of xx), the second by 33 (the coefficient of yy), and the third by 7/37/3 (the coefficient of zz). This gives

{ ⁣x ⁣+ ⁣y ⁣+ ⁣z ⁣= ⁣32 ⁣y ⁣+ ⁣13 ⁣ ⁣z ⁣= ⁣19 ⁣z ⁣= ⁣15\begin{cases} \!x\! +\! y \!+\! z \!=\! 32\\ \!y \!+\! \frac{1}{3}\!\cdot \!z\! =\! 19\\ \!z\!=\!15 \end{cases}

and marks an end of the Gauss-Jordan elimination algorithm. We can get such systems in our reduced row echelon form calculator by answering "Yes" to the top question (as is done by default).

Observe that now it is easy to find the solution to our system. From the last line, we know that z=15z = 15 so we can substitute it in the second equation to get:

y ⁣+ ⁣13 ⁣ ⁣15 ⁣= ⁣19y \!+\! \frac{1}{3}\!\cdot \!15\! = \!19

From that we get y=14y = 14, and we can substitute that and z=15z = 15 into the first line to obtain:

x ⁣+ ⁣14 ⁣+ ⁣15 ⁣= ⁣32x \!+ \!14 \!+ \!15 \!= \!32

Which gives x=3x = 3. Coming back to the picture we started with, this means that the lemon is equal to 33, the apple to 1414, and the banana to 1515. Now that we know our fruits, we can chop them up and have them with some pancakes. We deserve it.

Maciej Kowalski, PhD candidate
Use the reduced form?
Yes
Number of equations
2
A system with two equations.
First equation
a₁
b₁
c₁
Second equation
a₂
b₂
c₂
Observation
Remember that you can also use this calculator for systems where the number of equations does not equal the number of variables. If, e.g., you have three equations and two variables, it's enough to put 0's as the third variable's coefficients in each of the equations. And if you have three variables and two equations, just put 0's as all the numbers in the third equation.
Check out 35 similar linear algebra calculators 🔢
Adjoint matrixCharacteristic polynomialCholesky decomposition… 32 more
People also viewed…

Ideal egg boiling

Quantum physicist's take on boiling the perfect egg. Includes times for quarter and half-boiled eggs.

Is it a right triangle

Use this Is it a Right Triangle Calculator to quickly check if a triangle is, you know, a right triangle.

Plastic footprint

Find out how much plastic you use throughout the year with this plastic footprint calculator. Rethink your habits, reduce your plastic waste, and make your life a little greener.

Sin theta

Obtain the sine of any angle (in radians or degrees) using our sin theta calculator.
Copyright by Omni Calculator sp. z o.o.
Privacy, Cookies & Terms of Service