Tutorials › Linear Algebra › Four Fundamental Subspaces of a Matrix

Fundamental Subspaces and Rank · Tutorial 341 of 1000

Four Fundamental Subspaces of a Matrix

Learn how a matrix’s four fundamental subspaces are defined, where they live, and how to check vectors using the appropriate matrix products.

Intermediate 10 min read

What You'll Learn

  • Define the column space and null space of an \(m\)-by-\(n\) matrix
  • Define the row space using the transposes of the matrix’s rows
  • Describe the left null space as the null space of the transpose
  • Identify the ambient space of each of the four subspaces
  • Check space membership by matrix multiplication and linear combinations
  • Avoid confusing the dimensions of the row and column spaces

Four Spaces Associated with One Matrix

An \(m\)-by-\(n\) matrix has \(n\) columns, each with \(m\) entries, and \(m\) rows, each with \(n\) entries. These two directions produce four associated subspaces. Two are built from the columns and two from equations involving the matrix or its transpose. Their definitions are short, but their ambient spaces differ: keeping track of whether a vector has \(m\) or \(n\) entries is essential.

Throughout, let \(\mathbf{A}\in\mathbb{R}^{m\times n}\). Its columns are \(\mathbf{a}_1,\dots,\mathbf{a}_n\in\mathbb{R}^m\). Write its rows as \(\mathbf{r}_1^{\top},\dots,\mathbf{r}_m^{\top}\), where each \(\mathbf{r}_i\) is the transpose of a row and so is a column in \(\mathbb{R}^n\). This notation lets us express the row space using the usual span of column vectors.

Definition: The column space of \(\mathbf{A}\) is \(\operatorname{Col}\mathbf{A}=\operatorname{span}\{\mathbf{a}_1,\dots,\mathbf{a}_n\}\subseteq\mathbb{R}^m\). The null space of \(\mathbf{A}\) is \(\operatorname{Nul}\mathbf{A}=\{\mathbf{x}\in\mathbb{R}^n:\mathbf{A}\mathbf{x}=\mathbf{0}\}\subseteq\mathbb{R}^n\). The row space of \(\mathbf{A}\) is \(\operatorname{Row}\mathbf{A}=\operatorname{span}\{\mathbf{r}_1,\dots,\mathbf{r}_m\}\subseteq\mathbb{R}^n\). The left null space of \(\mathbf{A}\) is \(\operatorname{Nul}\mathbf{A}^{\top}=\{\mathbf{y}\in\mathbb{R}^m:\mathbf{A}^{\top}\mathbf{y}=\mathbf{0}\}\subseteq\mathbb{R}^m\).

These definitions specify both the set and the ambient space. A column of \(\mathbf{A}\) has \(m\) entries, so column combinations lie in \(\mathbb{R}^m\). A vector multiplied on the right of \(\mathbf{A}\) must have \(n\) entries, so the null space lies in \(\mathbb{R}^n\). Each row, when transposed into a column vector, has \(n\) entries, placing the row space in \(\mathbb{R}^n\). Finally, \(\mathbf{A}^{\top}\) has \(n\) rows and \(m\) columns, so its null space lies in \(\mathbb{R}^m\).

Why the Products Match the Definitions

The matrix-vector product explains the roles of the columns. If \(\mathbf{x}=(x_1,\dots,x_n)^{\top}\), then multiplying \(\mathbf{A}\) by \(\mathbf{x}\) forms a combination of the columns, using the entries of \(\mathbf{x}\) as coefficients. In the other direction, multiplying \(\mathbf{A}^{\top}\) by a vector in \(\mathbb{R}^m\) combines the transposed rows of \(\mathbf{A}\).

Theorem: For \(\mathbf{A}\in\mathbb{R}^{m\times n}\), \(\mathbf{x}\in\mathbb{R}^n\), and \(\mathbf{y}\in\mathbb{R}^m\), \[ \mathbf{A}\mathbf{x}=\sum_{j=1}^{n}x_j\mathbf{a}_j \quad\text{and}\quad \mathbf{A}^{\top}\mathbf{y}=\sum_{i=1}^{m}y_i\mathbf{r}_i. \] Consequently, \(\mathbf{x}\in\operatorname{Nul}\mathbf{A}\) exactly when its column combination is \(\mathbf{0}\), and \(\mathbf{y}\in\operatorname{Nul}\mathbf{A}^{\top}\) exactly when its row combination is \(\mathbf{0}\).

Proof. In row \(i\), the \(i\)th entry of \(\mathbf{A}\mathbf{x}\) is \(\sum_{j=1}^{n}a_{ij}x_j\). The \(i\)th entry of \(\sum_{j=1}^{n}x_j\mathbf{a}_j\) is the same sum, so the two vectors agree in every entry. For the second identity, the \(j\)th entry of \(\mathbf{A}^{\top}\mathbf{y}\) is \(\sum_{i=1}^{m}a_{ij}y_i\). The \(j\)th entry of \(\sum_{i=1}^{m}y_i\mathbf{r}_i\) is also \(\sum_{i=1}^{m}a_{ij}y_i\). Thus those vectors agree in every entry as well. The null-space statements follow by setting the corresponding products, and therefore the corresponding sums, equal to \(\mathbf{0}\). \(\square

There is also a useful subspace fact. A subspace is a subset containing the zero vector and closed under addition and scalar multiplication. Each of the four spaces is a subspace of the ambient space specified in its definition.

Theorem: The column space, null space, row space, and left null space of \(\mathbf{A}\in\mathbb{R}^{m\times n}\) are subspaces of \(\mathbb{R}^m,\mathbb{R}^n,\mathbb{R}^n,\mathbb{R}^m\), respectively.

Proof. The column space and row space are spans, so each contains \(\mathbf{0}\) and is closed under addition and scalar multiplication by the definition of span. For the null space, \(\mathbf{A}\mathbf{0}=\mathbf{0}\), so \(\mathbf{0}\in\operatorname{Nul}\mathbf{A}\). If \(\mathbf{x},\mathbf{z}\in\operatorname{Nul}\mathbf{A}\) and \(c\in\mathbb{R}\), then \[ \mathbf{A}(\mathbf{x}+\mathbf{z})=\mathbf{A}\mathbf{x}+\mathbf{A}\mathbf{z}=\mathbf{0}+\mathbf{0}=\mathbf{0}, \qquad \mathbf{A}(c\mathbf{x})=c(\mathbf{A}\mathbf{x})=c\mathbf{0}=\mathbf{0}. \] Thus the null space is closed under addition and scalar multiplication. The same argument applies to \(\operatorname{Nul}\mathbf{A}^{\top}\): the zero vector in \(\mathbb{R}^m\) is in it, and if \(\mathbf{y},\mathbf{w}\) belong to it, then \(\mathbf{A}^{\top}(\mathbf{y}+\mathbf{w})=\mathbf{0}\) and \(\mathbf{A}^{\top}(c\mathbf{y})=\mathbf{0}\). Each set is therefore a subspace of its stated ambient space. \(\square

Worked Example: A Matrix with Two Rows and Three Columns

Worked Example: Locate and Describe the Four Spaces

For \[ \mathbf{A}=\begin{bmatrix}1&2&0\\0&1&1\end{bmatrix}, \] identify the ambient space of each associated subspace and give a description of each set.

The columns are \(\mathbf{a}_1=(1,0)^{\top}\), \(\mathbf{a}_2=(2,1)^{\top}\), and \(\mathbf{a}_3=(0,1)^{\top}\). They all belong to \(\mathbb{R}^2\), and \[ \mathbf{a}_2=2\mathbf{a}_1+\mathbf{a}_3. \] Therefore \[ \operatorname{Col}\mathbf{A} =\operatorname{span}\{(1,0)^{\top},(0,1)^{\top}\} =\mathbb{R}^2. \] The equality holds because every \((s,t)^{\top}\in\mathbb{R}^2\) equals \(s(1,0)^{\top}+t(0,1)^{\top}\).

To find the null space, write \(\mathbf{x}=(x_1,x_2,x_3)^{\top}\) and solve \(\mathbf{A}\mathbf{x}=\mathbf{0}\): \[ x_1+2x_2=0,\qquad x_2+x_3=0. \] Set \(x_2=t\). Then \(x_1=-2t\) and \(x_3=-t\), so \[ \operatorname{Nul}\mathbf{A} =\{t(-2,1,-1)^{\top}:t\in\mathbb{R}\}\subseteq\mathbb{R}^3. \] Check the vector used in this description: \[ \mathbf{A}\begin{bmatrix}-2\\1\\-1\end{bmatrix} =\begin{bmatrix}-2+2+0\\1-1\end{bmatrix} =\begin{bmatrix}0\\0\end{bmatrix}. \] Every scalar multiple is also sent to zero by linearity.

The transposed rows are \((1,2,0)^{\top}\) and \((0,1,1)^{\top}\). Hence \[ \operatorname{Row}\mathbf{A} =\{s(1,2,0)^{\top}+t(0,1,1)^{\top}:s,t\in\mathbb{R}\} \subseteq\mathbb{R}^3. \] For the left null space, let \(\mathbf{y}=(y_1,y_2)^{\top}\in\mathbb{R}^2\). Then \[ \mathbf{A}^{\top}\mathbf{y} =\begin{bmatrix}y_1\\2y_1+y_2\\y_2\end{bmatrix}. \] This equals \(\mathbf{0}\) only if \(y_1=0\) and \(y_2=0\). Thus \(\operatorname{Nul}\mathbf{A}^{\top}=\{\mathbf{0}\}\subseteq\mathbb{R}^2\), as verified by substituting \(\mathbf{y}=\mathbf{0}\) into the product.

Worked Example: More Rows Than Columns

Worked Example: A Nonzero Left Null Space

Consider \[ \mathbf{B}=\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}. \] Describe its four spaces and verify the nonzero vector in its left null space.

The columns \((1,0,1)^{\top}\) and \((0,1,1)^{\top}\) each have three entries, so \[ \operatorname{Col}\mathbf{B} =\operatorname{span}\{(1,0,1)^{\top},(0,1,1)^{\top}\} \subseteq\mathbb{R}^3. \] The null space is found from \[ \mathbf{B}\begin{bmatrix}x_1\\x_2\end{bmatrix} =\begin{bmatrix}x_1\\x_2\\x_1+x_2\end{bmatrix} =\begin{bmatrix}0\\0\\0\end{bmatrix}. \] The first two entries force \(x_1=x_2=0\), and the third equation is then satisfied. Therefore \(\operatorname{Nul}\mathbf{B}=\{\mathbf{0}\}\subseteq\mathbb{R}^2\).

The transposed rows are \((1,0)^{\top}\), \((0,1)^{\top}\), and \((1,1)^{\top}\). Since the first two already produce any \((s,t)^{\top}\in\mathbb{R}^2\), \[ \operatorname{Row}\mathbf{B}=\mathbb{R}^2. \] For the left null space, write \(\mathbf{y}=(y_1,y_2,y_3)^{\top}\). Then \[ \mathbf{B}^{\top}\mathbf{y} =\begin{bmatrix}y_1+y_3\\y_2+y_3\end{bmatrix}. \] Setting both entries to zero gives \(y_1=-y_3\) and \(y_2=-y_3\). With \(y_3=t\), \[ \operatorname{Nul}\mathbf{B}^{\top} =\{t(-1,-1,1)^{\top}:t\in\mathbb{R}\} \subseteq\mathbb{R}^3. \] For a direct check, \[ \mathbf{B}^{\top}\begin{bmatrix}-1\\-1\\1\end{bmatrix} =\begin{bmatrix}-1+1\\-1+1\end{bmatrix} =\begin{bmatrix}0\\0\end{bmatrix}. \] The three entries in this left-null vector match the three rows of \(\mathbf{B}\), not its two columns.

Worked Example: One Matrix, Four Different Descriptions

Worked Example: Reading the Ambient Spaces Directly

Let \[ \mathbf{C}=\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}. \] Give explicit descriptions of all four spaces, with each vector written in its correct ambient space.

The columns are \((1,0)^{\top}\), \((0,1)^{\top}\), and \((1,1)^{\top}\). The first two generate every vector in \(\mathbb{R}^2\), so \(\operatorname{Col}\mathbf{C}=\mathbb{R}^2\). For the null space, the equations are \(x_1+x_3=0\) and \(x_2+x_3=0\). Setting \(x_3=t\) gives \[ \operatorname{Nul}\mathbf{C} =\{t(-1,-1,1)^{\top}:t\in\mathbb{R}\}\subseteq\mathbb{R}^3. \] Indeed, \[ \mathbf{C}\begin{bmatrix}-1\\-1\\1\end{bmatrix} =\begin{bmatrix}-1+1\\-1+1\end{bmatrix} =\begin{bmatrix}0\\0\end{bmatrix}. \]

The transposed rows are \((1,0,1)^{\top}\) and \((0,1,1)^{\top}\), so \[ \operatorname{Row}\mathbf{C} =\{s(1,0,1)^{\top}+t(0,1,1)^{\top}:s,t\in\mathbb{R}\} =\{(s,t,s+t)^{\top}:s,t\in\mathbb{R}\} \subseteq\mathbb{R}^3. \] Finally, \[ \mathbf{C}^{\top}\begin{bmatrix}y_1\\y_2\end{bmatrix} =\begin{bmatrix}y_1\\y_2\\y_1+y_2\end{bmatrix}. \] This is zero only when \(y_1=y_2=0\), so \(\operatorname{Nul}\mathbf{C}^{\top}=\{\mathbf{0}\}\subseteq\mathbb{R}^2\). Substitution confirms \(\mathbf{C}^{\top}\mathbf{0}=\mathbf{0}\).

Common Mistake: Assigning Spaces the Wrong Dimensions

For a rectangular matrix, the row space and column space do not even live in the same coordinate space unless \(m=n\). For example, with the \(2\)-by-\(3\) matrix \(\mathbf{A}\) above, it is wrong to say that the row space is contained in \(\mathbb{R}^2\) because \(\mathbf{A}\) has two rows. Each row has three entries: its transpose belongs to \(\mathbb{R}^3\), so \(\operatorname{Row}\mathbf{A}\subseteq\mathbb{R}^3\). By contrast, each column has two entries, so \(\operatorname{Col}\mathbf{A}\subseteq\mathbb{R}^2\).

A related wrong calculation is to try multiplying \(\mathbf{A}\mathbf{y}\) for \(\mathbf{y}\in\mathbb{R}^2\) when checking the left null space of this \(2\)-by-\(3\) matrix. The product is not defined: \(\mathbf{A}\) has three columns and requires a three-entry vector on its right. The correction is to use \(\mathbf{A}^{\top}\mathbf{y}\), since \(\mathbf{A}^{\top}\) has two columns and accepts \(\mathbf{y}\in\mathbb{R}^2\). In general, check the matrix dimensions before interpreting a product.

The four definitions can be kept distinct by asking what is being combined or what equation is being solved. The column space combines columns; the row space combines transposed rows; the null space solves \(\mathbf{A}\mathbf{x}=\mathbf{0}\); and the left null space solves \(\mathbf{A}^{\top}\mathbf{y}=\mathbf{0}\). Their ambient spaces follow from the lengths of those columns, rows, and inputs.

Check Your Understanding

For each question, state the ambient space as well as the requested set or condition.

  1. If \(\mathbf{D}\in\mathbb{R}^{4\times 2}\), which ambient space contains \(\operatorname{Col}\mathbf{D}\), and which contains \(\operatorname{Row}\mathbf{D}\)?
  2. Write the defining equation and ambient space for \(\operatorname{Nul}\mathbf{D}\).
  3. Write the defining equation and ambient space for the left null space of \(\mathbf{D}\).
  4. For \(\mathbf{A}=\begin{bmatrix}1&2&0\\0&1&1\end{bmatrix}\), check directly whether \((1,0,-1)^{\top}\) belongs to \(\operatorname{Nul}\mathbf{A}\).
  5. Explain why the rows of a \(3\)-by-\(2\) matrix, when transposed, are vectors in \(\mathbb{R}^2\), not \(\mathbb{R}^3\).

Test yourself: Linear Algebra final exam practice

Ready to check what you know? Work a full-length practice final, then open the complete worked solutions.

Want all 1,114 practice problems?

This tutorial covers one topic. Calc Pass covers the full Calculus AB & BC curriculum (the core of Calculus I and II): full review, every practice question, and step-by-step solutions to each one.

QR code to download the Calc Pass app

Get the Calc Pass App

Scan to download and practice on the go, with instant scoring.

Calc Pass Volume 1: 1,114 Practice Questions book cover

Vol. 1: 1,114 Questions

The complete practice question bank, organized by AB & BC topic.

View on Amazon
Calc Pass Volume 2: Solutions Manual book cover

Vol. 2: Solutions Manual

Fully worked solutions to every question in Volume 1.

View on Amazon