# Quick linear algebra question?

So I've learnt how to find the row, column, and null spaces for some matrix A, but I would like some clarification as to WHY we do this:

row(A) = row(rref(A))

col(A) ≠ col(rref(A))

null(A) = null(rref(A))

In other words, why are the null and row spaces the same for both A and rref(A), whereas that doesn't hold true for the column space?

If you can explain this in an easy-to-understand manner, well, 10 points to ya. Thanks!

Relevance
• 9 years ago

It helps to ignore row echelon form for a moment, and just think about what happens when you do a single elementary row operation. Suppose A is a matrix, and A' is the result of doing a single elementary row operation to A.

Let's think about the row space first. If the operation we did to get A' from A was a swap of rows, clearly we did not change the row space. If we scaled a row by a nonzero scalar, hopefully it is still clear we did not change the row space. The interesting case is when A' is obtained from A by taking one row of A, call it v, and replacing it the sum v + kw where k is a nonzero scalar and w is some other row of A. It is hopefully clear that this operation cannot make the row space any bigger, since any row of A' is obviously a linear combination of rows of A. We might worry that it makes it smaller (ie, there are linear combinations of rows of A, that are not linear combinations of rows of A'). But clearly every row of A except perhaps the row v (that we changed) is still in the row space of A'. But it is also clear that v is in the row space of A', because v = (v + kw) - kw and the vectors v + kw and w are both rows of A'. So this operation cannot change the row space either.

Conclusion: if you do an elementary row operation on a matrix, the row space does not change.

Let's think about the null space now. The nullspace of A is the set of solutions to Ax = 0, and the nullspace of A' is the set of solutions to A'x = 0. Say A is mxn, and think of Ax = 0 as a system of m linear equations (one for each row of A). If A' differs from A by a swap of rows, then the system of equations A'x = 0 is the *exact same* system of equations as Ax = 0 (the only difference is the equations are written in a different order). So the set of solutions does not change. If A' differs from A by scaling the nth row by a nonzero scalar, then from the system of linear equations represetned by Ax = 0, you can deduce the system of equations representing A'x = 0 simply by scaling the nth equation by k. And conversely, from the system for Ax' = 0 you can deduce that Ax = 0 by scaling the nth equation by 1/k. Similarly, if A' is obtained from A by replacing the nth row, v, with v + kw (where k is a scalar and w is the pth row of the matrix A), then if you scale the pth equation in the system Ax = 0 by k and add it to the nth equation, you deduce the system of equations telling you that A' x = 0, and hopefullly it is clear you can go the other way around (if A'x = 0, by scaling and adding some of the equations implied by this, that Ax = 0). The conclusion in all cases is that a vector x satisfies Ax = 0 if and only if A'x = 0, so the nullspaces of A and A' are the same.

So this is really why A and rref(A) have the same row and nullspaces. It is really a special case of the more general fact that the row and null spaces *do not change* under elementary row operations. So whenever a matrix B is obtained from A by a sequence of row operations, you will have rowspace(A) = rowspace(B) and nullspace(A) = nullspace(B). The case B = rref(A) is often the focus of attention (because it is easy to compute the row and null spaces of matrices in row echelon form). But the general idea is important.

Similarly, I think the best way of understanding why A and rref(A) do not need to have the same column space is to note that it is possible to change the column space with a single elementary row operation. Let A denote the matrix with first row 0, 0 and second row 1, 0. Let A' be obtained from A by swapping the two rows. Note that the column vector (0,1) is in the column space of A, but not in the column space of A'. So even a single elementary row operation can change the column space (with other examples you can see that a single application of either one of the other two kinds of elementary row operations can also change the column space, in general).

Once you know that a *single* row operation can change the column space, it is no longer surprising that a *sequence* of row operations fails to keep it the same. This is why I wouldn't expect A and rref(A) to have the same column space in general. [The example I just gave is a good one to keep in mind. More generally, think of any nxn matrix with exactly one 1 in it and the rest of its entries 0. It's clear that the column space of rref(A) will be the set of multiples of (1,0,0,...,0) no matter where the single 1 in A was. It is also clear that the column space of A depends on where that original 1 was. I hope this helped.]