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.
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}\).
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.
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.
- If \(\mathbf{D}\in\mathbb{R}^{4\times 2}\), which ambient space contains \(\operatorname{Col}\mathbf{D}\), and which contains \(\operatorname{Row}\mathbf{D}\)?
- Write the defining equation and ambient space for \(\operatorname{Nul}\mathbf{D}\).
- Write the defining equation and ambient space for the left null space of \(\mathbf{D}\).
- 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}\).
- Explain why the rows of a \(3\)-by-\(2\) matrix, when transposed, are vectors in \(\mathbb{R}^2\), not \(\mathbb{R}^3\).