线性代数四大基本空间的直观理解
提示
本文由 AI 生成,使用模型 gpt-5.5。
四大基本空间不是四个孤立的定义,而是共同描述矩阵作为线性变换时,如何处理输入、产生输出。
设 \(A\) 是一个 \(m\times n\) 矩阵:
\[ A:\mathbb{R}^n\to\mathbb{R}^m \]
方程
\[ Ax=b \]
本质上研究两个问题:
- 输入空间中,哪些方向会影响输出,哪些方向会被消掉?
- 输出空间中,哪些方向能够到达,哪些方向永远无法到达?
四大基本空间
| 位置 | 空间 | 所在空间 | 直观意义 |
| 输入侧 | 行空间 \(\operatorname{Row}(A)\) | \(\mathbb{R}^n\) | 输入中能被 \(A\) 检测和利用的方向 |
| 输入侧 | 零空间 \(\operatorname{Null}(A)\) | \(\mathbb{R}^n\) | 输入中被 \(A\) 完全消掉的方向 |
| 输出侧 | 列空间 \(\operatorname{Col}(A)\) | \(\mathbb{R}^m\) | \(A\) 能够产生的所有输出 |
| 输出侧 | 左零空间 \(\operatorname{Null}(A^T)\) | \(\mathbb{R}^m\) | \(A\) 永远无法到达的输出方向 |
一句话概括:
- 行空间:看得见的输入。
- 零空间:被消掉的输入。
- 列空间:能够到达的输出。
- 左零空间:无法到达的输出。
输入侧:行空间与零空间
零空间:被消掉的输入
零空间定义为:
\[ \operatorname{Null}(A)=\{x:Ax=0\} \]
它回答的问题是:是否存在非零输入,经过 \(A\) 后完全变为零?
例如,把三维空间投影到水平面时,竖直方向会被压缩为零,因此竖直方向属于该投影矩阵的零空间。
行空间:能够影响输出的输入
把矩阵按行展开:
\[ A= \begin{bmatrix} a_1^T\\ a_2^T\\ \vdots\\ a_m^T \end{bmatrix} \]
则:
\[ Ax= \begin{bmatrix} a_1^Tx\\ a_2^Tx\\ \vdots\\ a_m^Tx \end{bmatrix} \]
每个输出分量都是某个行向量与输入 \(x\) 的点积。行向量因此像一组探测器,检测 \(x\) 在相应方向上的成分。
行空间表示输入中能被这些探测器看见的部分;与所有行向量都正交的输入,则无法被检测,属于零空间。
输入空间的正交分解
行空间与零空间正交:
\[ \operatorname{Row}(A)\perp\operatorname{Null}(A) \]
并共同组成完整的输入空间:
\[ \mathbb{R}^n = \operatorname{Row}(A) \oplus \operatorname{Null}(A) \]
所以任意输入都能唯一分解为:
\[ x=x_{\mathrm{row}}+x_{\mathrm{null}} \]
其中:
\[ x_{\mathrm{row}}\in\operatorname{Row}(A), \qquad x_{\mathrm{null}}\in\operatorname{Null}(A) \]
经过矩阵后:
\[ Ax =Ax_{\mathrm{row}}+Ax_{\mathrm{null}} =Ax_{\mathrm{row}} \]
因为 \(Ax_{\mathrm{null}}=0\)。因此,只有输入的行空间分量会影响输出。
输出侧:列空间与左零空间
列空间:能够产生的输出
把矩阵按列展开:
\[ A= \begin{bmatrix} c_1&c_2&\cdots&c_n \end{bmatrix} \]
若
\[ x= \begin{bmatrix} x_1\\x_2\\\vdots\\x_n \end{bmatrix} \]
则:
\[ Ax=x_1c_1+x_2c_2+\cdots+x_nc_n \]
所以 \(Ax\) 永远是矩阵各列的线性组合,所有可能输出恰好构成列空间:
\[ \operatorname{Col}(A) \]
因此,方程 \(Ax=b\) 有解的充要条件是:
\[ b\in\operatorname{Col}(A) \]
左零空间:无法产生的输出方向
左零空间定义为:
\[ \operatorname{Null}(A^T) = \{y:A^Ty=0\} \]
条件 \(A^Ty=0\) 等价于 \(y^TA=0\)。因此,对任意输入 \(x\):
\[ y^T(Ax)=0 \]
这说明左零空间中的向量与所有可能输出都正交,也就是与列空间正交:
\[ \operatorname{Col}(A) \perp \operatorname{Null}(A^T) \]
完整的输出空间可分解为:
\[ \mathbb{R}^m = \operatorname{Col}(A) \oplus \operatorname{Null}(A^T) \]
列空间是能够到达的输出方向,左零空间是永远无法到达的输出方向。
方程解的结构
如果 \(Ax=b\) 有一个特解 \(x_p\),那么所有解为:
\[ x=x_p+x_n, \qquad x_n\in\operatorname{Null}(A) \]
这是因为:
\[ A(x_p+x_n)=Ax_p+Ax_n=b+0=b \]
零空间中的任意变化都不会改变输出。因此:
例一:读取输入的第一个分量
设:
\[ A= \begin{bmatrix} 1&0 \end{bmatrix} \]
它把二维输入映射为一个实数:
\[ \begin{bmatrix} x_1\\x_2 \end{bmatrix} \mapsto x_1 \]
矩阵只读取 \(x_1\),完全忽略 \(x_2\),因此:
\[ \operatorname{Row}(A) = \operatorname{span}\{(1,0)\} \]
\[ \operatorname{Null}(A) = \operatorname{span}\{(0,1)\} \]
任何实数都可作为输出,所以:
\[ \operatorname{Col}(A)=\mathbb{R} \]
\[ \operatorname{Null}(A^T)=\{0\} \]
输入侧存在被忽略的方向,但输出侧没有不可达方向。
例二:只能产生横轴方向的输出
设:
\[ A= \begin{bmatrix} 1\\0 \end{bmatrix} \]
它把一个实数映射到二维空间:
\[ x\mapsto \begin{bmatrix} x\\0 \end{bmatrix} \]
所有输出都位于横轴,因此:
\[ \operatorname{Col}(A) = \operatorname{span}\{(1,0)\} \]
纵轴方向永远无法到达:
\[ \operatorname{Null}(A^T) = \operatorname{span}\{(0,1)\} \]
于是:
\[ Ax= \begin{bmatrix} 3\\0 \end{bmatrix} \]
有解,而
\[ Ax= \begin{bmatrix} 3\\5 \end{bmatrix} \]
无解,因为右端向量不属于列空间,并含有左零空间方向上的分量。
核心结论
对于线性变换 \(A:\mathbb{R}^n\to\mathbb{R}^m\):
\[ \mathbb{R}^n = \operatorname{Row}(A) \oplus \operatorname{Null}(A) \]
\[ \mathbb{R}^m = \operatorname{Col}(A) \oplus \operatorname{Null}(A^T) \]
四大基本空间完整描述了矩阵如何处理信息:
- 输入的行空间分量决定输出,零空间分量不会影响输出。
- 右端 \(b\) 必须属于列空间,方程 \(Ax=b\) 才有解。
- 左零空间描述输出空间中不可达的方向。
参考