Computing Library › Linear Algebra
Linear Algebra

The Four Fundamental Subspaces

Every matrix defines four subspaces whose dimensions and orthogonality relations organize all of linear algebra.

The four spaces

An m-by-n matrix A gives rise to four subspaces. The column space is the span of its columns, living in R^m. The null space is all vectors sent to zero, in R^n. The row space is the span of its rows, in R^n. The left null space is all vectors sent to zero by A^T, in R^m.

Dimensions

Orthogonality

The pairing within each space is orthogonal. In R^n, the row space and the null space are orthogonal complements: every vector splits uniquely into a row-space part and a null-space part. In R^m, the column space and left null space are orthogonal complements. This is the geometric heart of the fundamental theorem of linear algebra.

Why the picture is useful

These subspaces explain the fate of any linear system. A right-hand side b is solvable exactly when it lies in the column space; the null space measures how non-unique the solution is; and least squares works by projecting b onto the column space, discarding the left-null-space component that cannot be reached.

python
import numpy as np
A = np.array([[1.0, 2.0, 3.0], [2.0, 4.0, 6.0]])
U, s, Vt = np.linalg.svd(A)
r = int(np.sum(s > 1e-10))
print('rank', r)
print('null space basis rows:', Vt[r:])   # orthonormal null space

The SVD delivers orthonormal bases for all four subspaces at once, which is why it is the definitive tool for analyzing the reachable and unreachable directions of a discretized physical operator.