Notes on the row space of A:


Theorem 1:  The rank of A is equal to the rank of AT .

We first defined the rank of A to be the number of leading 1's in rref(A).  Later we learned that this tells us how many linearly independent columns the matrix A has and therefore is equal to the dimension of the image of the linear map defined by A.  Since the columns of the transpose of A are the same as the rows of A, our theorem 1 is equivalent to

Theorem 2:  The rank of A is equal to the number of linearly independent rows in A.  That is, the rank of A tells us the dimension of the row space of A.

Example:  Find a basis for the row space and for the column space of

               [ 1   0   -1   1 ]
         A =   [ 0   1    1   1 ]
               [ 1   1    0   2 ]
               [ 2   3    1   5 ]
In order to understand the column space of A we need to understand any linear relations that hold among the columns.  This is the same as finding the kernel of A and we do this by bringing A into reduced form:
   [ 1   0   -1    1 ]            [ 1   0   -1   1 ]        [ 1   0   -1   1 ]
   [ 0   1    1    1 ]    ----->  [ 0   1    1   1 ] ---->  [ 0   1    1   1 ]
   [ 1   1    0    2 ]            [ 0   1    1   1 ]        [ 0   0    0   0 ]
   [ 2   3    1    5 ]            [ 0   3    3   3 ]        [ 0   0    0   0 ]
The same relations hold among the columns of A as hold among the columns of rref(A) because A and rref(A) have the same kernel.  Since in rref(A) we see that column 3 = column 2 - column 1 and column 4 = column 1 + column 2, we conclude that the same relations hold among the columns of A.  Since column 1 and column 2 of rref(A) are clearly independent, the same must be true back in A.  Thus the column space of A is a plane in 4-space, with basis
                     [ 1 ]        [ 0 ]
                     [ 0 ]  and   [ 1 ]
                     [ 1 ]        [ 1 ]
                     [ 2 ]        [ 3 ]
To find a basis for the row space of A we could proceed in two ways:
Method 1 for finding a basis for the row space of A:    We need to understand any linear relations that hold among the rows of A.  We could take these row vectors and put them into a matrix as columns and proceed as above:
                   [ 1    0    1    2 ]    row reduces to         [ 1   0   1   2 ]
  transpose(A) =   [ 0    1    1    3 ]   ---------------->       [ 0   1   1   3 ]
                   [ -1   1    0    1 ]                           [ 0   0   0   0 ]
                   [ 1    1    2    5 ]                           [ 0   0   0   0 ]
So we see that column 3 of A is the sum of columns 1 and 2 and column 4 is the 2*column 1 + 3*column 2.  Thus if we go back to A we now know that row 3 of A is the sum of rows 1 and 2 and row 4 of A is 2*row1 + 3*row2 and thus we know that the row space of A has dimension 2 as the theorem predicts.   Our basis for the row space of A is
           row1 of A = [ 1  0   -1  1]  and  row2 of A = [ 0  1  1  1]
Method 2 for finding a basis for the row space of A:   We found a basis for the column space of A by computing rref(A).  Can we find a basis for the row space of A from rref(A)?  In order to answer this question, we must understand how row operations change the row space of a matrix.  It turns out that row operations do not change the row space at all.  In other words:
 
row space (A) = row space( rref(A) )


In other words if we look at the row vectors of A   {(1,0,-1,1), (0,1,1,1), (1,1,0,2) (2,3,1,5)}  have exactly the same span as the row vectors of rref(A) {(1,0,-1,1), (0,1,1,1), (0,0,0,0), (0,0,0,0)}.  Here the first two vectors are clearly independent and the last two contribute nothing to the span.  Again we find that the row space of A is two dimensional and has as its basis the nonzero rows of rref(A).

Once we know that the row space of A is equal to the row space of rref(A), then we will have our theorems.  The nonzero rows of a matrix in reduced row echelon form are clearly independent and therefore will always form a basis for the row space of A.  Thus the dimension of the row space of A is the number of leading 1's in rref(A).

Theorem:  The row  space of A is equal to the row space of rref(A).

Proof:

Let r_1,r_2,...,r_n  be the rows of the matrix A.  How do the three standard row operations change this set of vectors?

We can interchange two rows  -- we can list the row vectors in a different order.  Clearly this will not change the span.

We can multiply any row by a nonzero scalar k, replacing the set {r_1,r_2,...,r_n } by { r_1, r_2, ..., k*r_i, ..., r_n}, where i is any index between 1 and n.  This will not change the span since any vector that is a linear combination of the first set is automatically a linear combination of the second set and vice versa.  All it takes is a minor adjustment in the ith coefficient:

       x = a_1*r_1  + a_2*r_2 + ... +   a_i*r_i + ... + a_n*r_n     where the a_i's are scalars
         = a_1*r_1  + a_2*r_2 + ... + (a_i/k)*k*r_i + ... + a_n*r_n
We can add a nonzero multiple of r_i to r_j, converting the original set of row vectors {r_1,r_2,...,r_n }  to a new set
{ r_1, r_2, ..., r_j + k*r_i, ..., r_n} that again has the same span.
x = a_1*r_1  + a_2*r_2 + ... +      a_i*r_i    + ... + a_j*(r_j + k*r_i) + ... + a_n*r_n
  = a_1*r_1  + a_2*r_2 + ... + (a_i + k*a_j)*r_i +         a_j*r_j       + ... + a_n*r_n
So if x is a linear combination of { r_1, r_2, ..., r_j + k*r_i, ..., r_n} then we can  rearrange it as a linear combination of
{r_1,r_2,...,r_n }.  Similarly,
 x = a_1*r_1 + a_2*r_2 + ... + a_i*r_i + ... + a_j*r_j + ... + a_n*r_n
   = a_1*r_1 + a_2*r_2 + ... + a_i*r_i + ... + a_j*r_j + ... + a_n*r_n
                    + k*a_j*r_i - k*a_j*r_i
   = a_1*r_1 + a_2*r_2 +...+(a_i - k*a_j)*r_i +...+ a_j(r_j + k*r_i) +...+ a_n*r_n
Thus any vector that can be written as a linear combination of {r_1,r_2,...,r_n } can be written  as a linear combination of
{ r_1, r_2, ..., r_j + k*r_i, ..., r_n}.

This proves that row operations do not change the row space of a matrix.  So all our theorems are proved.