第 10 课 四个基本子空间

本章主要详细介绍了矩阵的四个基本子空间,并对于每个子空间探讨了两个问题:基和维数。课程的最后我们对向量空间的概念进行了一次扩展:从 $R^n$ 到 $R^{n\times n}$。

假设 $A$ 为 $m\times n$ 的一个矩阵,秩为 $r$,则其对应的四个基本子空间为:

  • $A$ 的列空间 $C(A)$
  • $A$ 的零空间 $N(A)$
  • $A$ 的行空间 $C(A^T)$
  • $A$ 的左零空间 $N(A^T)$

显然,列空间 $C(A)$ 是$A$ 的所有列向量的线性组合,每个列向量为 $m$ 维,所以 $C(A)$ 是 $R^m$ 的子空间;零空间 $N(A)$ 里的向量都是 $n$ 维向量,所以 $N(A)$ 是 $R^n$ 的子空间;行空间 $C(A^T)$ 是所有行的线性组合,每个行向量为 $n$ 维,所以 $C(A^T)$ 是 $R^n$ 的子空间;左零空间 $N(A^T)$ 里的向量都是 $m$ 维向量,所以 $N(A^T)$ 是 $R^m$ 的子空间

我们先来探讨相对简单的维数的问题:

四个子空间的维数分别是什么

  • 列空间 $C(A)$ 的维数是 $r$

  • 零空间 $N(A)$ 的维数是 $n-r$

  • 行空间 $C(A^T)$ 的维数是 $r$

    这里有一个重要的性质:矩阵行空间和列空间的维数是相同的。这在第 7 课中已经提及:

    $A$ 的主元个数 = $A$ 矩阵线性无关的列的个数(也即列空间的维数) = $A^T$ 矩阵线性无关的列的个数(也即行空间的维数) = $A^T$ 的主元个数。

  • 左零空间 $N(A^T)$ 的维数是 $m-r$

四个子空间的基分别是什么?

  • 列空间

    我们已经学会如何通过消元来找出主元从而确定矩阵的主元列,而主元列对应的列向量组应就是列空间 $C(A)$ 的一组基(注意,主元列对应的列向量组必须是消元之前的矩阵的列向量组,因为消元过程中的行变换改变了矩阵的列向量)

  • 零空间

    我们知道零空间由所有特解所组成的向量组生成,通过特定的自由变量值分配策略,我们可以找出所有线性无关的特解,这些特解即零空间 $N(A)$ 的一组基

显然,对于行空间和左零空间,我们可以先讲矩阵转置然后采取相同的方法对其基进行求解,但事实上,行空间和左零空间的基的求解有更便捷的方法

  • 行空间

    在前面的章节我们就已经学习到,消元能够反映出矩阵的行之间和列之间的一些线性相关/无关的信息,这意味着和求列空间的基一样,我们同样可以通过消元来求出行空间的基。但和列空间不同的是,消元会改变矩阵的列,所以消元后的矩阵的列空间可能并不等于消元前的矩阵的列空间,而消元并没有让 $A$ 的行发生本质变化,所以消元后的矩阵的行空间等于消元前的矩阵的行空间。

    那么具体如何求解行空间的基呢?系统的方法是将矩阵 $A$ 消元并化简到 RREF 形式记为矩阵 $R$,那么 RREF 形式下的矩阵 $R$ 的前 $r$ 行(或更直观地非零行)就是矩阵 $A$ 的行空间的基,且这样的基是相对较好的基,因为其形式最为简洁。需要再次强调的是,是矩阵 $R$ 的前 $r$ 行是矩阵 $A$ 的行空间的基而非是矩阵 $A$ 的前 $r$ 行,这是因为在矩阵 $A$ 消元化简的过程中存在出现主元为零从而需要行交换的情况

  • 左零空间

    我们先解释“左零空间”这个取名的由来:我们知道左零空间记为 $N(A^T)$,所以左零空间也就由所有满足 $A^Ty=0$ 的 $y$ 所组成,但我们说的左零空间是针对矩阵 $A$ 而不是矩阵 $A^T$ 来说的,于是我们对 $A^Ty=0$ 两边都进行一次转置,容易得到 $y^TA=0$,其中 $y^T$ 位于 $A$ 的左边,这也即 $A$ 的左零矩阵的由来。

    求解左零空间的基有什么更便捷的方法呢?

    不管是求解列空间,零空间还是行空间,我们在求解其基时都不可避免地进行了消元(消元本身能够反映线性相关情况),到左零空间也是一样的,我们把目光放到矩阵 $A$ 消元化简到 RREF 形式的矩阵 $R$ 的消元过程中,举个例子:

    注意 $R$ 中出现的零行!在第 2 课中我们就已经知道矩阵消元等价于左乘一个行变换矩阵 $E$,而 $R$ 中第三行出现零行,正说明 $E$ 的第三行对 $A$ 的各行的线性组合恰好能够得到一个零行,再结合 $y^TA=0$,这 $E$ 的第三行可不就是 $y^T$ 吗?

    基于这个思路,我们找到了一种求解左零空间的基的便捷的方法:使用高斯-若尔当思想求出使得 $EA=R$ 的 $E$,则 $E$ 中即可得到左零空间的基

    高斯-若尔当消元过程为 $\begin{bmatrix}A_{m\times n}&I_{m\times m}\end{bmatrix}\rightarrow\begin{bmatrix}R_{m\times n}&E_{m\times m}\end{bmatrix}$,其中 $R$ 是 $A$ 的 RREF 形式,从上述过程可以看出,$E_{m\times m}$ 记录了 $A$ 到 $R$ 的所有行变换过程,也即 $E_{m\times m}A_{m\times n}=R_{m\times n}$。对于上面给出的例子容易求得 $E=\begin{bmatrix}-1&2&0\\1&-1&0\\ -1&0&1\end{bmatrix}$ ,注意到 $R$ 中的第三行是零行($0^T$),回顾行的线性组合的观点可知,$E$ 的第三行显然给出了一种对 $A$ 的行进行线性组合得到零行的一种方式,也即 $E$ 的第三行就是我们想要的$y^T$,而注意到 $R$ 中只有第三行一个零行,所以 $E$ 的第三行对应的行向量就是矩阵 $A$ 的左零空间的基。


课程的最后部分我们对向量空间的概念进行了一次扩展:从 $R^n$ 到 $R^{n\times n}$,这将加深我们对于向量空间这个概念的理解。

我们之前介绍的向量空间显然都是 $R^n$ 的,空间里面包括的都是 $n$ 维的向量。现在我们考虑 $R^{n\times n}$ 的向量空间,这也即空间里包括的都是 $n\times n$ 的矩阵。这里的关键在于,把矩阵看作“向量”。

事实上,我们把矩阵看作向量的凭据是:矩阵和向量一样可以进行线性组合。既然如此,那么在矩阵的基础上讨论向量空间就存在可能。但矩阵毕竟还是矩阵,所以我们将这种不一样的向量空间称为矩阵空间。

现在我们讨论这样的矩阵空间:所有的 $3\times 3$ 矩阵,也即 $R^{3\times3}$,为简便记为 $M$。那么显然 $M$ 的基有 $9$ 个,分别为 $9$ 个 $3\times 3$ 的矩阵,每个矩阵在不同的某个位置上取 $1$,其他位置取 $0$(比如 $\begin{bmatrix}1&0&0\\0&0&0\\0&0&0\end{bmatrix}$ 和 $\begin{bmatrix}0&0&1\\0&0&0\\0&0&0\end{bmatrix}$ 等等),所以 $M$ 的维数为 $9$。

容易找出 $M$ 的子空间有:

  • 所有的上三角矩阵

  • 所有的对称矩阵

  • 所有的对角矩阵(可视为所有的上三角矩阵和所有的对称矩阵的交集,子空间的交集当然也是一个子空间)

    所有的对角矩阵这样的子空间维数是 $3$。容易找出该子空间的 $3$ 个基:$\begin{bmatrix}1&0&0\\0&0&0\\0&0&0\end{bmatrix}$,$\begin{bmatrix}0&0&0\\0&1&0\\0&0&0\end{bmatrix}$ 和 $\begin{bmatrix}0&0&0\\0&0&0\\0&0&1\end{bmatrix}$。