I just need some verification on finding the basis for column spaces and row spaces.

If I'm given a matrix A and asked to find a basis for the row space, is the following method correct?

-Reduce to row echelon form. The rows with leading 1's will be the basis vectors for the row space.

When looking for the basis of the column space (given some matrix A), is the following method correct?

-Reduce to row echelon form. The columns with leading 1's corresponding to the original matrix A will be the basis vectors for the column space.

When looking for bases of row space/column space, there's no need in taking a transpose of the original matrix, right? I just reduce to row echelon and use the reduced matrix to get my basis vectors for the row space, and use the original matrix to correspond my reduced form columns with leading 1's to get the basis for my column space.

  • 1
    $\begingroup$ What you are saying is correct; when you find a basis for the column space, you can take the columns of A corresponding to the columns with leading 1's in a row echelon form for A. (If you wanted to find a basis for the row space consisting of original rows, then you could take $A^{T}$ and find a basis for its column space using your method.) $\endgroup$
    – user84413
    Aug 12, 2013 at 17:21

2 Answers 2


yes you're correct.

note that row echelon form doesn't necessarily result in 'leading 1s'. it's 'reduced/canonical row echelon form' that requires that form.

having reduced your matrix to the set of the linearly independent rows/columns via the row transformations, you can choose either the new reduced vectors with leading pivots (1s or otherwise), or the corresponding vectors from the original matrix*. they are effectively 'the same'. i'd go with the reduced vectors however, as they make any further manipulation or plotting easier

*see caveat raised by user84413

  • 2
    $\begingroup$ If you take vectors from the original matrix, don't you have to take into account any row exchanges that might have been made? $\endgroup$
    – user84413
    Aug 12, 2013 at 17:38
  • $\begingroup$ yes, i should have mentioned that. it's not my technique to exchange rows, but you're correct yes. $\endgroup$ Aug 12, 2013 at 17:42

Your procedure is correct, and I'd like to summary them:

Finding Row Space

  • Strategy: do Gaussian elimination on the matrix M; non-zero rows of reduced matrix M' form the set spanning row space.
  • Reason: 1) elementary row operations don't change the row space of M, since row vectors are changed linearly by elementary row operations; 2)The non-zero rows in a reduced matrix form its row space, which can be proven $\sum_i c_i\vec{r_i}={0}\Rightarrow c_i=0,\forall i$, indicating these row vectors are independent to form the row space.

Finding Column Space

  • Strategy: 1)You could do it by transpose. 2)Or, do Gaussian elimination, take the columns of $M$ corresponding to columns with leading entries in $M'$.
  • Reason for 2): $M'$ implies solutions where columns without leading entries are the linear combination of others, so we only need to take the columns with leading entries in $M$.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .