Section RREF Reduced RowEchelon Form
After solving a few systems of equations, you will recognize that it does not matter so much what we call our variables, as opposed to what numbers act as their coefficients. A system in the variables \(x_1,\,x_2,\,x_3\) would behave the same if we changed the names of the variables to \(a,\,b,\,c\) and kept all the constants the same and in the same places. In this section, we will isolate the key bits of information about a system of equations into something called a matrix, and then use this matrix to systematically solve the equations. Along the way we will obtain one of our most important and useful computational tools.
Subsection MVNSE Matrix and Vector Notation for Systems of Equations
Definition M. Matrix.
An \(m\times n\) matrix is a rectangular layout of numbers from \(\complexes\) having \(m\) rows and \(n\) columns. We will use uppercase Latin letters from the start of the alphabet (\(A,\,B,\,C,\dotsc\)) to denote matrices and squaredoff brackets to delimit the layout. Many use large parentheses instead of brackets — the distinction is not important. Rows of a matrix will be referenced starting at the top and working down (i.e. row 1 is at the top) and columns will be referenced starting from the left (i.e. column 1 is at the left). For a matrix \(A\text{,}\) the notation \(\matrixentry{A}{ij}\) will refer to the complex number in row \(i\) and column \(j\) of \(A\text{.}\)
Be careful with this notation for individual entries, since it is easy to think that \(\matrixentry{A}{ij}\) refers to the whole matrix. It does not. It is just a number, but is a convenient way to talk about the individual entries simultaneously. This notation will get a heavy workout once we get to Chapter M.
Example AM. A matrix.
is a matrix with \(m=3\) rows and \(n=4\) columns. We can say that \(\matrixentry{B}{2,3}=6\) while \(\matrixentry{B}{3,4}=2\text{.}\)
Sage M. Matrices.
Matrices are fundamental objects in linear algebra and in Sage, so there are a variety of ways to construct a matrix in Sage. Generally, you need to specify what types of entries the matrix contains (more on that in a minute), the number of rows and columns, and the entries themselves. First, let us dissect an example:
QQ
is the set of all rational numbers (fractions with an integer numerator and denominator), 2
is the number of rows, 3
is the number of columns. Sage understands a list of items as delimited by brackets ([,]
) and the items in the list can again be lists themselves. So [[1, 2, 3], [4, 5, 6]]
is a list of lists, and in this context the inner lists are rows of the matrix.
There are various shortcuts you can employ when creating a matrix. For example, Sage is able to infer the size of the matrix from the lists of entries.
Or you can specify how many rows the matrix will have and provide one big grand list of entries, which will get chopped up, row by row, if you prefer.
It is possible to also skip specifying the type of numbers used for entries of a matrix, however this is fraught with peril, as Sage will make an informed guess about your intent. Is this what you want? Consider when you enter the single character “2” into a computer program like Sage. Is this the integer \(2\text{,}\) the rational number \(\frac{2}{1}\text{,}\) the real number \(2.00000\text{,}\) the complex number \(2 + 0i\text{,}\) or the polynomial \(p(x)=2\text{?}\) In context, us humans can usually figure it out, but a literalminded computer is not so smart. It happens that the operations we can perform, and how they behave, are influenced by the type of the entries in a matrix. So it is important to get this right and our advice is to be explicit and be in the habit of always specifying the type of the entries of a matrix you create.
Mathematical objects in Sage often come from sets of similar objects. This set is called the “parent” of the element. We can use this to learn how Sage deduces the type of entries in a matrix. Execute the following three compute cells, and notice how the three matrices are constructed to have entries from the integers, the rationals and the reals.
Sage knows a wide variety of sets of numbers. These are known formally as rings or fields, but we will refer to them generically as number systems here. Examples include: ZZ
is the integers, QQ
is the rationals, RR
is the real numbers with reasonable precision, and CC
is the complex numbers with reasonable precision. We will present the theory of linear algebra over the complex numbers. However, in any computer system, there will always be complications surrounding the inability of digital arithmetic to accurately represent all complex numbers. In contrast, Sage can represent rational numbers exactly as the quotient of two (perhaps very large) integers. So our Sage examples will begin by using QQ
as our number system and we can concentrate on understanding the key concepts.
Once we have constructed a matrix, we can learn a lot about it (such as its parent). Sage is largely objectoriented, which means many commands apply to an object by using the “dot” notation. A.parent()
is an example of this syntax, while the constructor matrix([[1, 2, 3], [4, 5, 6]])
is an exception. Here are a few examples, followed by some explanation:
The number of rows and the number of columns should be apparent, .base_ring()
gives the number system for the entries, as included in the information provided by .parent()
.
Computer scientists and computer languages prefer to begin counting from zero, while mathematicians and written mathematics prefer to begin counting at one. Sage and this text are no exception. It takes some getting used to, but the reasons for counting from zero in computer programs soon becomes very obvious. Counting from one in mathematics is historical, and unlikely to change anytime soon. So above, the two rows of A
are numbered 0 and 1, while the columns are numbered 0, 1 and 2. So A[1,2]
refers to the entry of A
in the second row and the third column, i.e. 6
.
There is much more to say about how Sage works with matrices, but this is already a lot to digest. Use the space below to create some matrices (different ways) and examine them and their properties (size, entries, number system, parent).
When we do equation operations on system of equations, the names of the variables really are not very important. Use \(x_1\text{,}\) \(x_2\text{,}\) \(x_3\text{,}\) or \(a\text{,}\) \(b\text{,}\) \(c\text{,}\) or \(x\text{,}\) \(y\text{,}\) \(z\text{,}\) it really does not matter. In this subsection we will describe some notation that will make it easier to describe linear systems, solve the systems and describe the solution sets. Here is a list of definitions, laden with notation.
Definition CV. Column Vector.
A column vector of size \(m\) is an ordered list of \(m\) numbers, which is written in order vertically, starting at the top and proceeding to the bottom. At times, we will refer to a column vector as simply a vector. Column vectors will be written in bold, usually with lower case Latin letter from the end of the alphabet such as \(\vect{u}\text{,}\) \(\vect{v}\text{,}\) \(\vect{w}\text{,}\) \(\vect{x}\text{,}\) \(\vect{y}\text{,}\) \(\vect{z}\text{.}\) Some books like to write vectors with arrows, such as \(\vec{u}\text{.}\) Writing by hand, some like to put arrows on top of the symbol, or a tilde underneath the symbol, as in \(\underset{\sim}{\textstyle u}\text{.}\) To refer to the entry or component of vector \(\vect{v}\) in location \(i\) of the list, we write \(\vectorentry{\vect{v}}{i}\text{.}\)
Be careful with this notation. While the symbols \(\vectorentry{\vect{v}}{i}\) might look somewhat substantial, as an object this represents just one entry of a vector, which is just a single complex number.
Definition ZCV. Zero Column Vector.
The zero vector of size \(m\) is the column vector of size \(m\) where each entry is the number zero,
or defined much more compactly, \(\vectorentry{\zerovector}{i}=0\) for \(1\leq i\leq m\text{.}\)
Sage V. Vectors.
Vectors in Sage are built, manipulated and interrogated in much the same way as matrices (see Sage M). However as simple lists (“onedimensional,” not “twodimensional” such as matrices that look more tabular) they are simpler to construct and manipulate. Sage will print a vector across the screen, even if we wish to interpret it as a column vector. It will be delimited by parentheses ((,)
) which allows us to distinguish a vector from a matrix with just one row, if we look carefully. The number of “slots” in a vector is not referred to in Sage as rows or columns, but rather by “degree.” Here are some examples (remember to start counting from zero):
Notice that if you use commands like .parent()
you will sometimes see references to “free modules.” This is a technical generalization of the notion of a vector, which is beyond the scope of this course, so just mentally convert to vectors when you see this term.
The zero vector is super easy to build, but be sure to specify what number system your zero is from.
Notice that while using Sage, we try to remain consistent with our mathematical notation conventions. This is not required, as you can give items in Sage very long names if you wish. For example, the following is perfectly legitimate, as you can see.
In fact, our use of capital letters for matrices actually contradicts some of the conventions for naming objects in Sage, so there are good reasons for not mirroring our mathematical notation.
Definition CM. Coefficient Matrix.
For a system of linear equations,
the coefficient matrix is the \(m\times n\) matrix
Definition VOC. Vector of Constants.
For a system of linear equations,
the vector of constants is the column vector of size \(m\)
Definition SOLV. Solution Vector.
For a system of linear equations,
the solution vector is the column vector of size \(n\)
The solution vector may do doubleduty on occasion. It might refer to a list of variable quantities at one point, and subsequently refer to values of those variables that actually form a particular solution to that system.
Definition MRLS. Matrix Representation of a Linear System.
If \(A\) is the coefficient matrix of a system of linear equations and \(\vect{b}\) is the vector of constants, then we will write \(\linearsystem{A}{\vect{b}}\) as a shorthand expression for the system of linear equations, which we will refer to as the matrix representation of the linear system.
Example NSLE. Notation for systems of linear equations.
The system of linear equations
has coefficient matrix
and vector of constants
and so will be referenced as \(\linearsystem{A}{\vect{b}}\text{.}\)
Definition AM. Augmented Matrix.
Suppose we have a system of \(m\) equations in \(n\) variables, with coefficient matrix \(A\) and vector of constants \(\vect{b}\text{.}\) Then the augmented matrix of the system of equations is the \(m\times(n+1)\) matrix whose first \(n\) columns are the columns of \(A\) and whose last column (\(n+1\)) is the column vector \(\vect{b}\text{.}\) When described symbolically, this matrix will be written as \(\augmented{A}{\vect{b}}\text{.}\)
The augmented matrix represents all the important information in the system of equations, since the names of the variables have been ignored, and the only connection with the variables is the location of their coefficients in the matrix. It is important to realize that the augmented matrix is just that, a matrix, and not a system of equations. In particular, the augmented matrix does not have any “solutions,” though it will be useful for finding solutions to the system of equations that it is associated with. (Think about your objects, and review Proof Technique L.) However, notice that an augmented matrix always belongs to some system of equations, and vice versa, so it is tempting to try and blur the distinction between the two. Note that we use the symbolic expression, \(\augmented{A}{\vect{b}}\text{,}\) with the vertical bar and we would do the same in our concrete examples but have not yet done so due to technical considerations. Here is a quick example.
Example AMAA. Augmented matrix for Archetype A.
Archetype A is the following system of 3 equations in 3 variables.
Here is its augmented matrix.
Sage AM. Augmented Matrix.
Sage has a matrix method, .augment()
, that will join two matrices, sidebyside provided they both have the same number of rows. The same method will allow you to augment a matrix with a column vector, as described in Definition AM, provided the number of entries in the vector matches the number of rows for the matrix. Here we reprise the construction in Example AMAA. We will now format our matrices as input across several lines, a practice you may use in your own worksheets, or not.
Notice that the matrix method .augment()
needs some input, in the above case, the vector b
. This will explain the need for the parentheses on the end of the “dot” commands, even if the particular command does not expect input.
Some methods allow optional input, typically using keywords. Matrices can track subdivisions, making breaks between rows and/or columns. When augmenting, you can ask for the subdivision to be included. Evalute the compute cell above if you have not already, so that A
and b
are defined, and then evaluate:
As a partial demonstration of manipulating subdivisions of matrices we can reset the subdivisions of M
with the .subdivide()
method. We provide a list of rows to subdivide before, then a list of columns to subdivide before, where we remember that counting begins at zero.
Subsection RO Row Operations
An augmented matrix for a system of equations will save us the tedium of continually writing down the names of the variables as we solve the system. It will also release us from any dependence on the actual names of the variables. We have seen how certain operations we can perform on equations (Definition EO) will preserve their solutions (Theorem EOPSS). The next two definitions and the following theorem carry over these ideas to augmented matrices.
Definition RO. Row Operations.
The following three operations will transform an \(m\times n\) matrix into a different matrix of the same size, and each is known as a row operation.
 Swap the locations of two rows.
 Multiply each entry of a single row by a nonzero quantity.
 Multiply each entry of one row by some quantity, and add these values to the entries in the same columns of a second row. Leave the first row the same after this operation, but replace the second row by the new values.
We will use a symbolic shorthand to describe these row operations.
 \(\rowopswap{i}{j}\text{:}\) Swap the location of rows \(i\) and \(j\text{.}\)
 \(\rowopmult{\alpha}{i}\text{:}\) Multiply row \(i\) by the nonzero scalar \(\alpha\text{.}\)
 \(\rowopadd{\alpha}{i}{j}\text{:}\) Multiply row \(i\) by the scalar \(\alpha\) and add to row \(j\text{.}\)
Definition REM. RowEquivalent Matrices.
Two matrices, \(A\) and \(B\text{,}\) are rowequivalent if one can be obtained from the other by a sequence of row operations.
Example TREM. Two rowequivalent matrices.
The matrices
are rowequivalent as can be seen from
We can also say that any pair of these three matrices are rowequivalent.
Notice that each of the three row operations is reversible (Exercise RREF.T10), so we do not have to be careful about the distinction between “\(A\) is rowequivalent to \(B\)” and “\(B\) is rowequivalent to \(A\text{.}\)” (Exercise RREF.T11)
The preceding definitions are designed to make the following theorem possible. It says that rowequivalent matrices represent systems of linear equations that have identical solution sets.
Theorem REMES. RowEquivalent Matrices represent Equivalent Systems.
Suppose that \(A\) and \(B\) are rowequivalent augmented matrices. Then the two systems of linear equations represented by \(A\) and \(B\) are equivalent systems.
Proof.
If we perform a single row operation on an augmented matrix, it will have the same effect as if we did the analogous equation operation on the system of equations the matrix represents. By exactly the same methods as we used in the proof of Theorem EOPSS we can see that each of these row operations will preserve the set of solutions for the system of equations the matrix represents.
So at this point, our strategy is to begin with a system of equations, represent the system by an augmented matrix, perform row operations (which will preserve solutions for the system) to get a “simpler” augmented matrix, convert back to a “simpler” system of equations and then solve that system, knowing that its solutions are those of the original system. Here is a rehash of Example US as an exercise in using our new tools.
Example USR. Three equations, one solution, reprised.
We solve the following system using augmented matrices and row operations. This is the same system of equations solved in Example US using equation operations.
Form the augmented matrix,
and apply row operations,
So the matrix
is row equivalent to \(A\) and by Theorem REMES the system of equations below has the same solution set as the original system of equations.
Solving this “simpler” system is straightforward and is identical to the process in Example US.
Sage RO. Row Operations.
Sage will perform individual row operations on a matrix. This can get a bit tedious, but it is better than doing the computations (wrong, perhaps) by hand, and it can be useful when building up more complicated procedures for a matrix.
For each row operation, there are two similar methods. One changes the matrix “inplace” while the other creates a new matrix that is a modified version of the original. This is an important distinction that you should understand for every new Sage command you learn that might change a matrix or vector.
Consider the first row operation, which swaps two rows. There are two matrix methods to do this, a “with” version that will create a new, changed matrix, which you will likely want to save, and a plain version that will change the matrix it operates on “inplace.” The copy()
function, which is a generalpurpose command, is a way to make a copy of a matrix before you make changes to it. Study the example below carefully, and then read the explanation following. (Remember that counting begins with zero.)
Here is how each of these four matrices comes into existence.

A
is our original matrix, created from a list of entries. 
B
is not a new copy ofA
, it is just a new name for referencing the exact same matrix internally. 
C
is a brand new matrix, stored internally separate fromA
, but with identical contents. 
D
is also a new matrix, which is created by swapping the rows ofA
.
And here is how each matrix is affected by the commands.

A
is changed twice “inplace”. First, its rows are swapped rows a “plain” matrix method. Then its entry in the lowerright corner is set to6
. 
B
is just another name forA
. So whatever changes are made toA
will be evident when we ask for the matrix by the nameB
. And viceversa. 
C
is a copy of the originalA
and does not change, since no subsequent commands act onC
. 
D
is a new copy ofA
, created by swapping the rows ofA
. Once created fromA
, it has a life of its own, as illustrated by the change in its entry in the upperleft corner to1
.
An interesting experiment is to rearrange some of the lines above (or add new ones) and predict the result.
Just as with the first row operation, swapping rows, Sage supports the other two row operations with natural sounding commands, with both “inplace” versions and newmatrix versions.
Notice that the order of the arguments might feel a bit odd, compared to how we write and think about row operations. Also note how the “with” versions leave a trail of matrices for each step while the plain versions just keep changing A
.
Subsection RREF Reduced RowEchelon Form
The preceding example amply illustrates the definitions and theorems we have seen so far. But it still leaves two questions unanswered. Exactly what is this “simpler” form for a matrix, and just how do we get it? Here is the answer to the first question, a definition of reduced rowechelon form.
Definition RREF. Reduced RowEchelon Form.
A matrix is in reduced rowechelon form if it meets all of the following conditions:
 If there is a row where every entry is zero, then this row lies below any other row that contains a nonzero entry.
 The leftmost nonzero entry of a row is equal to 1.
 The leftmost nonzero entry of a row is the only nonzero entry in its column.
 Consider any two different leftmost nonzero entries, one located in row \(i\text{,}\) column \(j\) and the other located in row \(s\text{,}\) column \(t\text{.}\) If \(s\gt i\text{,}\) then \(t\gt j\text{.}\)
A row of only zero entries is called a zero row and the leftmost nonzero entry of a nonzero row is a leading 1. A column containing a leading 1 will be called a pivot column. The number of nonzero rows will be denoted by \(r\text{,}\) which is also equal to the number of leading 1's and the number of pivot columns.
The set of column indices for the pivot columns will be denoted by \(D=\set{d_1,\,d_2,\,d_3,\,\ldots,\,d_r}\) where \(d_1\lt d_2\lt d_3\lt\cdots\lt d_r\text{,}\) while the columns that are not pivot columns will be denoted as \(F=\set{f_1,\,f_2,\,f_3,\,\ldots,\,f_{nr}}\) where \(f_1\lt f_2\lt f_3\lt\cdots\lt f_{nr}\text{.}\)
The principal feature of reduced rowechelon form is the pattern of leading 1's guaranteed by conditions (2) and (4), reminiscent of a flight of geese, or steps in a staircase, or water cascading down a mountain stream.
There are a number of new terms and notation introduced in this definition, which should make you suspect that this is an important definition. Given all there is to digest here, we will mostly save the use of \(D\) and \(F\) until Section TSS. However, one important point to make here is that all of these terms and notation apply to a matrix. Sometimes we will employ these terms and sets for an augmented matrix, and other times it might be a coefficient matrix. So always give some thought to exactly which type of matrix you are analyzing.
Example RREF. A matrix in reduced rowechelon form.
The matrix \(C\) is in reduced rowechelon form.
This matrix has two zero rows and three pivot columns. So \(r=3\text{.}\) Columns 1, 5, and 6 are the three pivot columns, so \(D=\set{1,\,5,\,6}\) and then \(F=\set{2,\,3,\,4,\,7,\,8}\text{.}\)
Example NRREF. A matrix not in reduced rowechelon form.
The matrix \(E\) is not in reduced rowechelon form, as it fails each of the four requirements once.
Our next theorem has a “constructive” proof. Learn about the meaning of this term in Proof Technique C.
Theorem REMEF. RowEquivalent Matrix in Echelon Form.
Suppose \(A\) is a matrix. Then there is a matrix \(B\) so that
 \(A\) and \(B\) are rowequivalent.
 \(B\) is in reduced rowechelon form.
Proof.
Suppose that \(A\) has \(m\) rows and \(n\) columns. We will describe a process for converting \(A\) into \(B\) via row operations. This procedure is known as GaussJordan elimination. Tracing through this procedure will be easier if you recognize that \(i\) refers to a row that is being converted, \(j\) refers to a column that is being converted, and \(r\) keeps track of the number of nonzero rows. Here we go.
 Set \(j=0\) and \(r=0\text{.}\)
 Increase \(j\) by 1. If \(j\) now equals \(n+1\text{,}\) then stop.
 Examine the entries of \(A\) in column \(j\) located in rows \(r+1\) through \(m\text{.}\) If all of these entries are zero, then go to Step 2.
 Choose a row from rows \(r+1\) through \(m\) with a nonzero entry in column \(j\text{.}\) Let \(i\) denote the index for this row.
 Increase \(r\) by 1.
 Use the first row operation to swap rows \(i\) and \(r\text{.}\)
 Use the second row operation to convert the entry in row \(r\) and column \(j\) to a 1.
 Use the third row operation with row \(r\) to convert every other entry of column \(j\) to zero.
 Go to Step 2.
The result of this procedure is that the matrix \(A\) is converted to a matrix in reduced rowechelon form, which we will refer to as \(B\text{.}\) We need to now prove this claim by showing that the converted matrix has the requisite properties of Definition RREF. First, the matrix is only converted through row operations (Steps 6, 7, 8), so \(A\) and \(B\) are rowequivalent (Definition REM).
It is a bit more work to be certain that \(B\) is in reduced rowechelon form. We claim that as we begin Step 2, the first \(j\) columns of the matrix are in reduced rowechelon form with \(r\) nonzero rows. Certainly this is true at the start when \(j=0\text{,}\) since the matrix has no columns and so vacuously meets the conditions of Definition RREF with \(r=0\) nonzero rows.
In Step 2 we increase \(j\) by 1 and begin to work with the next column. There are two possible outcomes for Step 3. Suppose that every entry of column \(j\) in rows \(r+1\) through \(m\) is zero. Then with no changes we recognize that the first \(j\) columns of the matrix has its first \(r\) rows still in reducedrow echelon form, with the final \(mr\) rows still all zero.
Suppose instead that the entry in row \(i\) of column \(j\) is nonzero. Notice that since \(r+1\leq i\leq m\text{,}\) we know the first \(j1\) entries of this row are all zero. Now, in Step 5 we increase \(r\) by 1, and then embark on building a new nonzero row. In Step 6 we swap row \(r\) and row \(i\text{.}\) In the first \(j\) columns, the first \(r1\) rows remain in reduced rowechelon form after the swap. In Step 7 we multiply row \(r\) by a nonzero scalar, creating a 1 in the entry in column \(j\) of row \(i\text{,}\) and not changing any other rows. This new leading 1 is the first nonzero entry in its row, and is located to the right of all the leading 1's in the preceding \(r1\) rows. With Step 8 we insure that every entry in the column with this new leading 1 is now zero, as required for reduced rowechelon form, and so column \(j\) is a pivot column. Also, rows \(r+1\) through \(m\) are now all zeros in the first \(j\) columns, so we now only have one new nonzero row, consistent with our increase of \(r\) by one. Furthermore, since the first \(j1\) entries of row \(r\) are zero, the employment of the third row operation does not destroy any of the necessary features of rows \(1\) through \(r1\) and rows \(r+1\) through \(m\text{,}\) in columns \(1\) through \(j1\text{.}\)
So at this stage, the first \(j\) columns of the matrix are in reduced rowechelon form. When Step 2 finally increases \(j\) to \(n+1\text{,}\) then the procedure is completed and the full \(n\) columns of the matrix are in reduced rowechelon form, with the value of \(r\) correctly recording the number of nonzero rows.
The procedure given in the proof of Theorem REMEF can be more precisely described using a pseudocode version of a computer program. Singleletter variables, like m, n, i, j, r
have the same meanings as above. :=
is assignment of the value on the right to the variable on the left, A[i,j]
is the equivalent of the matrix entry \(\matrixentry{A}{ij}\text{,}\) while ==
is an equality test and <>
is a “not equals” test.
input m, n and A r := 0 for j := 1 to n i := r+1 while i <= m and A[i,j] == 0 i := i+1 if i < m+1 r := r+1 swap rows i and r of A (row op 1) scale A[r,j] to a leading 1 (row op 2) for k := 1 to m, k <> r make A[k,j] zero (row op 3, employing row r) output r and A
Notice that as a practical matter the “and” used in the conditional statement of the while statement should be of the “shortcircuit” variety so that the array access that follows is not outofbounds.
So now we can put it all together. Begin with a system of linear equations (Definition SLE), and represent the system by its augmented matrix (Definition AM). Use row operations (Definition RO) to convert this matrix into reduced rowechelon form (Definition RREF), using the procedure outlined in the proof of Theorem REMEF. Theorem REMEF also tells us we can always accomplish this, and that the result is rowequivalent (Definition REM) to the original augmented matrix. Since the matrix in reducedrow echelon form has the same solution set, we can analyze the rowreduced version instead of the original matrix, viewing it as the augmented matrix of a different system of equations. The beauty of augmented matrices in reduced rowechelon form is that the solution sets to the systems they represent can be easily determined, as we will see in the next few examples and in the next section.
We will see through the course that almost every interesting property of a matrix can be discerned by looking at a rowequivalent matrix in reduced rowechelon form. For this reason it is important to know that the matrix \(B\) is guaranteed to exist by Theorem REMEF is also unique.
Two proof techniques are applicable to the proof. First, head out and read two proof techniques: Proof Technique CD and Proof Technique U.
Theorem RREFU. Reduced RowEchelon Form is Unique.
Suppose that \(A\) is an \(m\times n\) matrix and that \(B\) and \(C\) are \(m\times n\) matrices that are rowequivalent to \(A\) and in reduced rowechelon form. Then \(B=C\text{.}\)
Proof.
We need to begin with no assumptions about any relationships between \(B\) and \(C\text{,}\) other than they are both in reduced rowechelon form, and they are both rowequivalent to \(A\text{.}\)
If \(B\) and \(C\) are both rowequivalent to \(A\text{,}\) then they are rowequivalent to each other. Repeated row operations on a matrix combine the rows with each other using operations that are linear, and are identical in each column. A key observation for this proof is that each individual row of \(B\) is linearly related to the rows of \(C\text{.}\) This relationship is different for each row of \(B\text{,}\) but once we fix a row, the relationship is the same across columns. More precisely, there are scalars \(\delta_{ik}\text{,}\) \(1\leq i,k\leq m\) such that for any \(1\leq i\leq m\text{,}\) \(1\leq j\leq n\text{,}\)
You should read this as saying that an entry of row \(i\) of \(B\) (in column \(j\)) is a linear function of the entries of all the rows of \(C\) that are also in column \(j\text{,}\) and the scalars (\(\delta_{ik}\)) depend on which row of \(B\) we are considering (the \(i\) subscript on \(\delta_{ik}\)), but are the same for every column (no dependence on \(j\) in \(\delta_{ik}\)). This idea may be complicated now, but will feel more familiar once we discuss “linear combinations” (Definition LCCV) and moreso when we discuss “row spaces” (Definition RSM). For now, spend some time carefully working Exercise RREF.M40, which is designed to illustrate the origins of this expression. This completes our exploitation of the rowequivalence of \(B\) and \(C\text{.}\)
We now repeatedly exploit the fact that \(B\) and \(C\) are in reduced rowechelon form. Recall that a pivot column is all zeros, except a single one. More carefully, if \(R\) is a matrix in reduced rowechelon form, and \(d_\ell\) is the index of a pivot column, then \(\matrixentry{R}{kd_\ell}=1\) precisely when \(k=\ell\) and is otherwise zero. Notice also that any entry of \(R\) that is both below the entry in row \(\ell\) and to the left of column \(d_\ell\) is also zero (with below and left understood to include equality). In other words, look at examples of matrices in reduced rowechelon form and choose a leading 1 (with a box around it). The rest of the column is also zeros, and the lower left “quadrant” of the matrix that begins here is totally zeros.
Assuming no relationship about the form of \(B\) and \(C\text{,}\) let \(B\) have \(r\) nonzero rows and denote the pivot columns as \(D=\set{\scalarlist{d}{r}}\text{.}\) For \(C\) let \(r^\prime\) denote the number of nonzero rows and denote the pivot columns as \(D^\prime=\set{\,\scalarlist{d^\prime}{r^\prime}}\) (Definition RREF). There are four steps in the proof, and the first three are about showing that \(B\) and \(C\) have the same number of pivot columns, in the same places. In other words, the “primed” symbols are a necessary fiction.
First Step. Suppose that \(d_1\lt d^\prime_1\text{.}\) Then
The entries of \(C\) are all zero since they are left and below of the leading 1 in row 1 and column \(d^\prime_1\) of \(C\text{.}\) This is a contradiction, so we know that \(d_1\geq d^\prime_1\text{.}\) By an entirely similar argument, reversing the roles of \(B\) and \(C\text{,}\) we could conclude that \(d_1\leq d^\prime_1\text{.}\) Together this means that \(d_1=d^\prime_1\text{.}\)
Second Step. Suppose that we have determined that \(d_1=d^\prime_1\text{,}\) \(d_2=d^\prime_2\text{,}\) \(d_3=d^\prime_3\text{,}\) … \(d_p=d^\prime_p\text{.}\) Let us now show that \(d_{p+1}=d^\prime_{p+1}\text{.}\) Working towards a contradiction, suppose that \(d_{p+1}\lt d^\prime_{p+1}\text{.}\) For \(1\leq\ell\leq p\text{,}\)
Now,
This contradiction shows that \(d_{p+1}\geq d^\prime_{p+1}\text{.}\) By an entirely similar argument, we could conclude that \(d_{p+1}\leq d^\prime_{p+1}\text{,}\) and therefore \(d_{p+1}=d^\prime_{p+1}\text{.}\)
Third Step. Now we establish that \(r=r^\prime\text{.}\) Suppose that \(r^\prime\lt r\text{.}\) By the arguments above, we know that \(d_1=d^\prime_1\text{,}\) \(d_2=d^\prime_2\text{,}\) \(d_3=d^\prime_3\text{,}\) …, \(d_{r^\prime}=d^\prime_{r^\prime}\text{.}\) For \(1\leq\ell\leq r^\prime\lt r\text{,}\)
Now examine the entries of row \(r\) of \(B\text{,}\)
So row \(r\) is a totally zero row, contradicting that this should be the bottommost nonzero row of \(B\text{.}\) So \(r^\prime\geq r\text{.}\) By an entirely similar argument, reversing the roles of \(B\) and \(C\text{,}\) we would conclude that \(r^\prime\leq r\) and therefore \(r=r^\prime\text{.}\) Thus, combining the first three steps we can say that \(D=D^\prime\text{.}\) In other words, \(B\) and \(C\) have the same pivot columns, in the same locations.
Fourth Step. In this final step, we will not argue by contradiction. Our intent is to determine the values of the \(\delta_{ij}\text{.}\) Notice that we can use the values of the \(d_i\) interchangeably for \(B\) and \(C\text{.}\) Here we go,
and for \(\ell\neq i\)
Finally, having determined the values of the \(\delta_{ij}\text{,}\) we can show that \(B=C\text{.}\) For \(1\leq i\leq m\text{,}\) \(1\leq j\leq n\text{,}\)
So \(B\) and \(C\) have equal values in every entry, and so are the same matrix.
We will now run through some examples of using these definitions and theorems to solve some systems of equations. From now on, when we have a matrix in reduced rowechelon form, we will mark the leading 1's with a small box. This will help you count, and identify, the pivot columns. In your work, you can box 'em, circle 'em or write 'em in a different color — just identify 'em somehow. This device will prove very useful later and is a very good habit to start developing right now.
Example SAB. Solutions for Archetype B.
Let us find the solutions to the following system of equations.
First, form the augmented matrix,
and work to reduced rowechelon form, first with \(j=1\text{,}\)
Now, with \(j=2\text{,}\)
\begin{align*} \xrightarrow{\rowopmult{\frac{1}{5}}{2}} & \begin{bmatrix} \leading{1}&0&4&5\\ 0&1&\frac{13}{5}&\frac{1}{5}\\ 0&6&16&2 \end{bmatrix} \xrightarrow{\rowopadd{6}{2}{3}} \begin{bmatrix} \leading{1}&0&4&5\\ 0&\leading{1}&\frac{13}{5}&\frac{1}{5}\\ 0&0&\frac{2}{5}&\frac{4}{5} \end{bmatrix}\\ \end{align*}And finally, with \(j=3\text{,}\)
\begin{align*} \xrightarrow{\rowopmult{\frac{5}{2}}{3}} & \begin{bmatrix} \leading{1}&0&4&5\\ 0&\leading{1}&\frac{13}{5}&\frac{1}{5}\\ 0&0&1&2 \end{bmatrix} \xrightarrow{\rowopadd{\frac{13}{5}}{3}{2}} \begin{bmatrix} \leading{1}&0&4&5\\ 0&\leading{1}&0&5\\ 0&0&1&2 \end{bmatrix}\\ \xrightarrow{\rowopadd{4}{3}{1}} &\begin{bmatrix} \leading{1}&0&0&3\\ 0&\leading{1}&0&5\\ 0&0&\leading{1}&2 \end{bmatrix}\text{.} \end{align*}This is now the augmented matrix of a very simple system of equations, namely \(x_1=3\text{,}\) \(x_2=5\text{,}\) \(x_3=2\text{,}\) which has an obvious solution. Furthermore, we can see that this is the only solution to this system, so we have determined the entire solution set
You might compare this example with the procedure we used in Example US.
Archetypes A and B are meant to contrast each other in many respects. So let us solve Archetype A now.
Example SAA. Solutions for Archetype A.
Let us find the solutions to the following system of equations.
First, form the augmented matrix,
and work to reduced rowechelon form, first with \(j=1\text{,}\)
Now, with \(j=2\text{,}\)
\begin{align*} \xrightarrow{\rowopmult{\frac{1}{3}}{2}} & \begin{bmatrix} \leading{1} & 1 & 2 & 1\\ 0 & 1 & 1 & 2\\ 0 & 2 & 2 & 4 \end{bmatrix} \xrightarrow{\rowopadd{1}{2}{1}} \begin{bmatrix} \leading{1} & 0 & 1 & 3\\ 0 & 1 & 1 & 2\\ 0 & 2 & 2 & 4 \end{bmatrix}\\ \xrightarrow{\rowopadd{2}{2}{3}} & \begin{bmatrix} \leading{1} & 0 & 1 & 3\\ 0 & \leading{1} & 1 & 2\\ 0 & 0 & 0 & 0 \end{bmatrix}\text{.} \end{align*}The system of equations represented by this augmented matrix needs to be considered a bit differently than that for Archetype B. First, the last row of the matrix is the equation \(0=0\text{,}\) which is always true, so it imposes no restrictions on our possible solutions and therefore we can safely ignore it as we analyze the other two equations. These equations are,
While this system is fairly easy to solve, it also appears to have a multitude of solutions. For example, choose \(x_3=1\) and see that then \(x_1=2\) and \(x_2=3\) will together form a solution. Or choose \(x_3=0\text{,}\) and then discover that \(x_1=3\) and \(x_2=2\) lead to a solution. Try it yourself: pick any value of \(x_3\) you please, and figure out what \(x_1\) and \(x_2\) should be to make the first and second equations (respectively) true. We'll wait while you do that. Because of this behavior, we say that \(x_3\) is a free or independent variable. But why do we vary \(x_3\) and not some other variable? For now, notice that the third column of the augmented matrix is not a pivot column. With this idea, we can rearrange the two equations, solving each for the variable whose index is the same as the column index of a pivot column.
To write the set of solution vectors in set notation, we have
We will learn more in the next section about systems with infinitely many solutions and how to express their solution sets. Right now, you might look back at Example IS.
Example SAE. Solutions for Archetype E.
Let us find the solutions to the following system of equations,
First, form the augmented matrix,
and work to reduced rowechelon form, first with \(j=1\text{,}\)
Now, with \(j=2\text{,}\)
\begin{align*} \xrightarrow{\rowopswap{2}{3}} & \begin{bmatrix} \leading{1} & 1 & 4 & 5 & 2\\ 0 & 1 & 1 & 3 & 2\\ 0 & 7 & 7 & 21 & 9 \end{bmatrix} \xrightarrow{\rowopmult{1}{2}} \begin{bmatrix} \leading{1} & 1 & 4 & 5 & 2\\ 0 & 1 & 1 & 3 & 2\\ 0 & 7 & 7 & 21 & 9 \end{bmatrix}\\ \xrightarrow{\rowopadd{1}{2}{1}} & \begin{bmatrix} \leading{1} & 0 & 3 & 2 & 0\\ 0 & 1 & 1 & 3 & 2\\ 0 & 7 & 7 & 21 & 9 \end{bmatrix} \xrightarrow{\rowopadd{7}{2}{3}} \begin{bmatrix} \leading{1} & 0 & 3 & 2 & 0\\ 0 & \leading{1} & 1 & 3 & 2\\ 0 & 0 & 0 & 0 & 5 \end{bmatrix}\\ \end{align*}And finally, with \(j=5\text{,}\)
\begin{align*} \xrightarrow{\rowopmult{\frac{1}{5}}{3}} & \begin{bmatrix} \leading{1} & 0 & 3 & 2 & 0\\ 0 & \leading{1} & 1 & 3 & 2\\ 0 & 0 & 0 & 0 & 1 \end{bmatrix} \xrightarrow{\rowopadd{2}{3}{2}} \begin{bmatrix} \leading{1} & 0 & 3 & 2 & 0\\ 0 & \leading{1} & 1 & 3 & 0\\ 0 & 0 & 0 & 0 & \leading{1} \end{bmatrix}\text{.} \end{align*}Let us analyze the equations in the system represented by this augmented matrix. The third equation will read \(0=1\text{.}\) This is patently false, all the time. No choice of values for our variables will ever make it true. We are done. Since we cannot even make the last equation true, we have no hope of making all of the equations simultaneously true. So this system has no solutions, and its solution set is the empty set, \(\emptyset=\set{\ }\) (Definition ES).
Notice that we could have reached this conclusion sooner. After performing the row operation \(\rowopadd{7}{2}{3}\text{,}\) we can see that the third equation reads \(0=5\text{,}\) a false statement. Since the system represented by this matrix has no solutions, none of the systems represented has any solutions. However, for this example, we have chosen to bring the matrix all the way to reduced rowechelon form as practice.
These three examples (Example SAB, Example SAA, Example SAE) illustrate the full range of possibilities for a system of linear equations — no solutions, one solution, or infinitely many solutions. In the next section we will examine these three scenarios more closely.
We (and everybody else) will often speak of “rowreducing” a matrix. This is an informal way of saying we begin with a matrix \(A\) and then analyze the matrix \(B\) that is rowequivalent to \(A\) and in reduced rowechelon form. So the term rowreduce is used as a verb, but describes something a bit more complicated, since we do not really change \(A\text{.}\) Theorem REMEF tells us that this process will always be successful and Theorem RREFU tells us that \(B\) will be unambiguous. Typically, an investigation of \(A\) will proceed by analyzing \(B\) and applying theorems whose hypotheses include the rowequivalence of \(A\) and \(B\text{,}\) and usually the hypothesis that \(B\) is in reduced rowechelon form.
Sage RREF. Reduced RowEchelon Form.
There has been a lot of information about using Sage with vectors and matrices in this section. But we can now construct the coefficient matrix of a system of equations and the vector of constants. From these pieces we can easily construct the augmented matrix, which we could subject to a series of row operations. Computers are suppose to make routine tasks easy so we can concentrate on bigger ideas. No exception here, Sage can bring a matrix (augmented or not) to reduced row echelon form with no problem. Let us redo Example SAB with Sage.
And the solution \(x_1=3\text{,}\) \(x_2=5\text{,}\) \(x_3=2\) is now obvious. Beautiful.
You may notice that Sage has some commands with the word “echelon” in them. For now, these should be avoided like the plague, as there are some subtleties in how they work. The matrix method .rref()
will be sufficient for our purposes for a long, long time — so stick with it.
Reading Questions RREF Reading Questions
1.
Is the matrix below in reduced rowechelon form? Why or why not?
2.
Use row operations to convert the matrix below to reduced rowechelon form and report the final matrix.
3.
Find all the solutions to the system below by using an augmented matrix and row operations. Report your final matrix in reduced rowechelon form and the set of solutions.
Exercises RREF Exercises
C05.
Each archetype below is a system of equations. Form the augmented matrix of the system of equations, convert the matrix to reduced rowechelon form by using equation operations and then describe the solution set of the original system of equations.
Archetype A, Archetype B, Archetype C, Archetype D, Archetype E, Archetype F, Archetype G, Archetype H, Archetype I, Archetype J
For problems C10–C19, find all solutions to the system of linear equations. Use your favorite computing device to rowreduce the augmented matrices for the systems, and write the solutions as a set, using correct set notation.
C10.
The augmented matrix rowreduces to
This augmented matrix represents the linear system \(x_1=1\text{,}\) \(x_2=3\text{,}\) \(x_3=4\text{,}\) \(x_4=1\text{,}\) which clearly has only one possible solution. We can write this solution set then as
C11.
The augmented matrix rowreduces to
Row 3 represents the equation \(0=1\text{,}\) which is patently false, so the original system has no solutions. We can express the solution set as the empty set, \(\emptyset=\set{\ }\text{.}\)
C12.
The augmented matrix rowreduces to
n the spirit of Example SAA, we can express the infinitely many solutions of this system compactly with set notation. The key is to express certain variables in terms of others. More specifically, each pivot column number is the index of a variable that can be written in terms of the variables whose indices are nonpivot columns. Or saying the same thing: for each \(i\) in \(D\text{,}\) we can find an expression for \(x_i\) in terms of the variables without their index in \(D\text{.}\) Here \(D=\set{1,\,3}\text{,}\) so
As a set, we write the solutions precisely as
C13.
The augmented matrix of the system of equations is
which rowreduces to
Row 3 represents the equation \(0=1\text{,}\) which is patently false, so the original system has no solutions. We can express the solution set as the empty set, \(\emptyset=\set{\ }\text{.}\)
C14.
The augmented matrix of the system of equations is
which rowreduces to
In the spirit of Example SAA, we can express the infinitely many solutions of this system compactly with set notation. The key is to express certain variables in terms of others. More specifically, each pivot column number is the index of a variable that can be written in terms of the variables whose indices are nonpivot columns. Or saying the same thing: for each \(i\) in \(D\text{,}\) we can find an expression for \(x_i\) in terms of the variables without their index in \(D\text{.}\) Here \(D=\set{1,\,2}\text{,}\) so rearranging the equations represented by the two nonzero rows to gain expressions for the variables \(x_1\) and \(x_2\) yields the solution set
C15.
The augmented matrix of the system of equations is
which rowreduces to
In the spirit of Example SAA, we can express the infinitely many solutions of this system compactly with set notation. The key is to express certain variables in terms of others. More specifically, each pivot column number is the index of a variable that can be written in terms of the variables whose indices are nonpivot columns. Or saying the same thing: for each \(i\) in \(D\text{,}\) we can find an expression for \(x_i\) in terms of the variables without their index in \(D\text{.}\) Here \(D=\set{1,\,2,\,3}\text{,}\) so rearranging the equations represented by the three nonzero rows to gain expressions for the variables \(x_1\text{,}\) \(x_2\) and \(x_3\) yields the solution set
C16.
The augmented matrix of the system of equations is
which rowreduces to
Row 3 represents the equation \(0=1\text{,}\) which is patently false, so the original system has no solutions. We can express the solution set as the empty set, \(\emptyset=\set{\ }\text{.}\)
C17.
We rowreduce the augmented matrix of the system of equations,
This augmented matrix represents the linear system \(x_1=3\text{,}\) \(x_2=1\text{,}\) \(x_3=2\text{,}\) \(x_4=5\text{,}\) which clearly has only one possible solution. We can write this solution set then as
C18.
We rowreduce the augmented matrix of the system of equations,
In the spirit of Example SAA, we can express the infinitely many solutions of this system compactly with set notation. The key is to express certain variables in terms of others. More specifically, each pivot column number is the index of a variable that can be written in terms of the variables whose indices are nonpivot columns. Or saying the same thing: for each \(i\) in \(D\text{,}\) we can find an expression for \(x_i\) in terms of the variables without their index in \(D\text{.}\) Here \(D=\set{1,\,2,\,4}\text{,}\) so we form expressions for ech dependent variable.
As a set, we write the solutions precisely as
C19.
We form the augmented matrix of the system,
which rowreduces to
This augmented matrix represents the linear system \(x_1=4\text{,}\) \(x_2=2\text{,}\) \(0=0\text{,}\) \(0=0\text{,}\) which clearly has only one possible solution. We can write this solution set then as
For problems C30–C33, rowreduce the matrix without the aid of a calculator, indicating the row operations you are using at each step using the notation of Definition RO.
C30.
C31.
C32.
Following the algorithm of Theorem REMEF, and working to create pivot columns from left to right, we have
C33.
Following the algorithm of Theorem REMEF, and working to create pivot columns from left to right, we have
M40.
Consider the two \(3\times 4\) matrices below
 Rowreduce each matrix and determine that the reduced rowechelon forms of \(B\) and \(C\) are identical. From this argue that \(B\) and \(C\) are rowequivalent.
 In the proof of Theorem RREFU, we begin by arguing that entries of rowequivalent matrices are related by way of certain scalars and sums. In this example, we would write that entries of \(B\) from row \(i\) that are in column \(j\) are linearly related to the entries of \(C\) in column \(j\) from all three rows\begin{align*} \matrixentry{B}{ij} &= \delta_{i1}\matrixentry{C}{1j}+ \delta_{i2}\matrixentry{C}{2j}+ \delta_{i3}\matrixentry{C}{3j} & 1&\leq j\leq 4 \end{align*}For each \(1\leq i\leq 3\) find the corresponding three scalars in this relationship. So your answer will be nine scalars, determined three at a time.
 Let \(R\) be the common reduced rowechelon form of \(B\) and \(C\text{.}\) A sequence of row operations converts \(B\) to \(R\) and a second sequence of row operations converts \(C\) to \(R\text{.}\) If we “reverse” the second sequence's order, and reverse each individual row operation (see Exercise RREF.T10) then we can begin with \(B\text{,}\) convert to \(R\) with the first sequence, and then convert to \(C\) with the reversed sequence. Satisfying Definition REM we can say \(B\) and \(C\) are rowequivalent matrices.
 We will work this carefully for the first row of \(B\) and just give the solution for the next two rows. For row 1 of \(B\) take \(i=1\) and we have\begin{align*} \matrixentry{B}{1j} &= \delta_{11}\matrixentry{C}{1j}+ \delta_{12}\matrixentry{C}{2j}+ \delta_{13}\matrixentry{C}{3j} & 1&\leq j\leq 4\text{.} \end{align*}If we substitute the four values for \(j\) we arrive at four linear equations in the three unknowns \(\delta_{11}, \delta_{12}, \delta_{13}\text{,}\)\begin{align*} (j=1)& & \matrixentry{B}{11} &= \delta_{11}\matrixentry{C}{11}+ \delta_{12}\matrixentry{C}{21}+ \delta_{13}\matrixentry{C}{31} & &\Rightarrow & 1 &= \delta_{11}(1)+ \delta_{12}(1)+ \delta_{13}(1)\\ (j=2)& & \matrixentry{B}{12} &= \delta_{11}\matrixentry{C}{12}+ \delta_{12}\matrixentry{C}{22}+ \delta_{13}\matrixentry{C}{32} & &\Rightarrow & 3 &= \delta_{11}(2)+ \delta_{12}(1)+ \delta_{13}(1)\\ (j=3)& & \matrixentry{B}{13} &= \delta_{11}\matrixentry{C}{13}+ \delta_{12}\matrixentry{C}{23}+ \delta_{13}\matrixentry{C}{33} & &\Rightarrow & 2 &= \delta_{11}(1)+ \delta_{12}(4)+ \delta_{13}(4)\\ (j=4)& & \matrixentry{B}{14} &= \delta_{11}\matrixentry{C}{14}+ \delta_{12}\matrixentry{C}{24}+ \delta_{13}\matrixentry{C}{34} & &\Rightarrow & 2 &= \delta_{11}(2)+ \delta_{12}(0)+ \delta_{13}(1)\text{.} \end{align*}We form the augmented matrix of this system and rowreduce to find the solutions,\begin{align*} \begin{bmatrix} 1 & 1 & 1 & 1 \\ 2 & 1 & 1 & 3 \\ 1 & 4 & 4 & 2 \\ 2 & 0 & 1 & 2 \end{bmatrix} &\rref \begin{bmatrix} \leading{1} & 0 & 0 & 2 \\ 0 & \leading{1} & 0 & 3 \\ 0 & 0 & \leading{1} & 2 \\ 0 & 0 & 0 & 0 \end{bmatrix}\text{.} \end{align*}So the unique solution is \(\delta_{11}=2\text{,}\) \(\delta_{12}=3\text{,}\) \(\delta_{13}=2\text{.}\) Entirely similar work will lead you to\begin{align*} \delta_{21}&=1 & \delta_{22}&=1 & \delta_{23}&=1\\ \end{align*}
and
\begin{align*} \delta_{31}&=4 & \delta_{32}&=8 & \delta_{33}&=5 \end{align*}
M45.
You keep a number of lizards, mice and peacocks as pets. There are a total of 108 legs and 30 tails in your menagerie. You have twice as many mice as lizards. How many of each creature do you have?
Let \(l, m, p\) denote the number of lizards, mice and peacocks. Then the statements from the problem yield the equations:
We form the augmented matrix for this system and rowreduce
From the rowreduced matrix, we see that we have an equivalent system \(l=8\text{,}\) \(m=16\text{,}\) and \(p=6\text{,}\) which means that you have 8 lizards, 16 mice and 6 peacocks.
M50.
A parking lot has 66 vehicles (cars, trucks, motorcycles and bicycles) in it. There are four times as many cars as trucks. The total number of tires (4 per car or truck, 2 per motorcycle or bicycle) is 252. How many cars are there? How many bicycles?
Let \(c,\,t,\,m,\,b\) denote the number of cars, trucks, motorcycles, and bicycles. Then the statements from the problem yield the equations
We form the augmented matrix for this system and rowreduce.
The first row of the matrix represents the equation \(c=48\text{,}\) so there are 48 cars. The second row of the matrix represents the equation \(t=12\text{,}\) so there are 12 trucks. The third row of the matrix represents the equation \(m+b=6\) so there are anywhere from 0 to 6 bicycles. We can also say that \(b\) is a free variable, but the context of the problem limits it to 7 integer values since you cannot have a negative number of motorcycles.
T10.
Prove that each of the three row operations (Definition RO) is reversible. More precisely, if the matrix \(B\) is obtained from \(A\) by application of a single row operation, show that there is a single row operation that will transform \(B\) back into \(A\text{.}\)
If we can reverse each row operation individually, then we can reverse a sequence of row operations. The operations that reverse each operation are listed below, using our shorthand notation. Notice how requiring the scalar \(\alpha\) to be nonzero makes the second operation reversible.
T11.
Suppose that \(A\text{,}\) \(B\) and \(C\) are \(m\times n\) matrices. Use the definition of rowequivalence (Definition REM) to prove the following three facts.
 \(A\) is rowequivalent to \(A\text{.}\)
 If \(A\) is rowequivalent to \(B\text{,}\) then \(B\) is rowequivalent to \(A\text{.}\)
 If \(A\) is rowequivalent to \(B\text{,}\) and \(B\) is rowequivalent to \(C\text{,}\) then \(A\) is rowequivalent to \(C\text{.}\)
A relationship that satisfies these three properties is known as an equivalence relation, an important idea in the study of various algebras. This is a formal way of saying that a relationship behaves like equality, without requiring the relationship to be as strict as equality itself. We will see it again in Theorem SER.
T12.
Suppose that \(B\) is an \(m\times n\) matrix in reduced rowechelon form. Build a new, likely smaller, \(k\times\ell\) matrix \(C\) as follows. Keep any collection of \(k\) adjacent rows, \(k\leq m\text{.}\) From these rows, keep columns \(1\) through \(\ell\text{,}\) \(\ell\leq n\text{.}\) Prove that \(C\) is in reduced rowechelon form.
T13.
Generalize Exercise RREF.T12 by just keeping any \(k\) rows, and not requiring the rows to be adjacent. Prove that any such matrix \(C\) is in reduced rowechelon form.