Fundamental Subspaces: Row Space, Column Space and Null Space

Every m × n matrix A has four fundamental subspaces: the column space Col(A) in ℝm (all combinations of the columns), the row space Row(A) in ℝn, the null space Null(A) = {x : Ax = 0} in ℝn, and the left null space Null(AT) in ℝm; if A has rank r, their dimensions are r, r, n − r and m − r. In brief: for A = [[1, 2, 1, 4], [2, 4, 0, 2], [1, 2, 3, 10]] (rank 2), a basis of the column space is (1, 2, 1), (1, 0, 3), and a basis of the null space is (−2, 1, 0, 0), (−1, 0, −3, 1).

The four subspaces describe exactly when Ax = b is solvable and how the solutions are structured. This guide shows how to read bases from the reduced row echelon form, how the dimensions fit together, the orthogonality relations, and how to test whether a vector lies in a subspace, with worked examples and a table.

What are the four subspaces?

Each is a subspace (closed under addition and scalar multiples).

How do you find bases?

Reduce A to its RREF R. Then:

Example 1: all four subspaces

A = [[1, 2, 1, 4], [2, 4, 0, 2], [1, 2, 3, 10]]. As in the previous articles, the RREF is R = [[1, 2, 0, 1], [0, 0, 1, 3], [0, 0, 0, 0]]. The pivots are in columns 1 and 3, so r = 2; the free variables are x2 and x4.

Example 2: an invertible matrix

For an invertible n × n matrix, Col(A) = Row(A) = ℝn and the null spaces are {0}. The rank is n.

How are the subspaces related?

The dimensions satisfy dim Col(A) = dim Row(A) = r (the column rank equals the row rank), dim Null(A) = n − r, dim Null(AT) = m − r. The rank–nullity theorem states that n = r + (n − r). In addition, the row space is orthogonal to the null space and, together, they make up ℝn: every vector of ℝn splits uniquely as a row space part plus a null space part. Likewise, the column space is orthogonal to the left null space in ℝm. The reason: each equation in Ax = 0 says that x is perpendicular to a row of A.

r n − r r m − r ℝn ℝm A

Example 3: checking orthogonality

(1, 2, 0, 1) · (−2, 1, 0, 0) = −2 + 2 = 0 and (0, 0, 1, 3) · (−1, 0, −3, 1) = −3 + 3 = 0, so the row space basis is orthogonal to the null space basis. Also (1, 2, 1) · (−3, 1, 1) = 0 and (1, 0, 3) · (−3, 1, 1) = 0: the columns are orthogonal to the left null vector. Dimensions: 2 + 2 = 4 = n and 2 + 1 = 3 = m ✓.

How do you test membership?

The vector b lies in Col(A) exactly when Ax = b is solvable, equivalently when b is orthogonal to the left null space: y · b = 0 for the vectors y of Null(AT). A vector x lies in Null(A) when Ax = 0, and in Row(A) when it is orthogonal to the null space.

Example 4: solvability by the left null space

For A of Example 1 and y = (−3, 1, 1): b = (1, 2, 1) gives y · b = −3 + 2 + 1 = 0, so Ax = b is solvable (it is the first column). The vector b = (3, 2, 5) gives y · b = −9 + 2 + 5 = −2 ≠ 0, so Ax = b has no solution.

Example 5: the general solution structure

For b = (4, 2, 10), the fourth column of A, the system Ax = b is solvable, consistent with y · b = −12 + 2 + 10 = 0. A particular solution is x = (1, 0, 3, 0) (check: 1 + 3 = 4, 2 + 0 = 2, 1 + 9 = 10 ✓), and the general solution is (1, 0, 3, 0) + s(−2, 1, 0, 0) + t(−1, 0, −3, 1): a particular solution plus the null space.

Table of the four subspaces

The four fundamental subspaces of an m × n matrix of rank r
Subspace Lives in Dimension Basis from Example
Col(A)ℝmrpivot columns of Adim 2 in ℝ3
Row(A)ℝnrnonzero rows of Rdim 2 in ℝ4
Null(A)ℝnn − rfree variablesdim 2
Null(AT)ℝmm − rrow relationsdim 1

Where does the idea come from?

The picture of four subspaces and their orthogonality was popularized by Gilbert Strang in his textbooks as the “big picture” of linear algebra, building on the fundamental theorem of linear algebra. The underlying notions, rank and null space (kernel), were developed in the nineteenth century by Sylvester, Frobenius and others in the study of linear systems.

Which mistakes are common?

Taking the pivot columns of the RREF as the column space basis

The RREF has different columns than A. Use the columns of the original matrix at the pivot positions.

Taking the zero rows into the row space basis

Only nonzero rows of R are in the basis; zero rows do not add anything.

Mixing up the ambient spaces

Col(A) lives in ℝm (the number of rows), and Null(A) in ℝn (the number of columns).

Forgetting the particular solution

The solution set of Ax = b ≠ 0 is a shifted null space: a particular solution plus Null(A), and not Null(A) itself.