跳转至

线性代数四大基本空间的直观理解

提示

本文由 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\) 才有解。
  • 左零空间描述输出空间中不可达的方向。

参考