四个基本子空间⚓︎
约 1885 个字 预计阅读时间 6 分钟
概要
- 基本认识
- 列空间、零空间、行空间、左零空间
- 子空间的维数与基
基本认识和纠正一个错误⚓︎
上一节课讲 空间的时候,我们曾经用 表示一个基。但是如果对这三个向量进行处理,会发现它们并不是线性无关的。 这个矩阵不是可逆的。
四个基本子空间⚓︎
这个部分是线性代数的核心内容。
- 矩阵 的列空间,记作 , 就是矩阵 的列向量的线性组合构成的;
- 矩阵 的零空间,记作 ,就是 的所有解 的线性组合构成的线性空间;
- 与列空间对应,矩阵 的所有行向量的线性组合,构成了矩阵的行空间
(row space)
。它们不一定就是基,但我们希望用类似列向量的方式对它进行处理,所以我们对矩阵 进行转置,也就是 的转置的列空间,写作 - 同样地我们可以给出“左零空间”的计算方法,也就是 的转置所对应的零空间, 。
我们可以用如下的示意图反映它们之间的关系
_________________ __________
| | | |
| row space | | Column |
| | | space |
|_________________|___________ | |
| | | |
| | |__________|__________
| null | | |
| space | | |
| | | left |
|___________| | Null |
| space |
| |
|__________|
如果 A 是 矩阵,那么这些子空间分别在哪些空间中?
: 空间的一个子空间; : 空间的一个子空间; : 空间的一个子空间; : 空间的一个子空间;
对基本子空间的进一步理解⚓︎
首先我们从矩阵入手。当 是的可逆矩阵时,可逆意味着满秩,显然,列空间与行空间都是构成了 , 而且两个零空间只是包含0向量而已。
那么,我们怎么为这些子空间分别求一组基呢?如何确定它们各自的维数?
对于列空间
,列空间的维数就是矩阵的秩,矩阵的主列构成了C(A) 的一组基;
对于行空间
,行空间的维数也是矩阵的秩,主元所在的行向量,构成了 的一组基;
矩阵的列空间和行空间的维数是相同的。
对上述情况的解释
考虑矩阵 ,主元已经标注在图中,所以,其行空间的基是:,列空间的基是 .
当 是 的矩阵,秩为 时,列空间与行空间都是 空间中的一个 的子空间,但是两者不是一个空间。比如 空间里,, 表示列空间与行空间分别是2个平面,这两个平面可能差别很大。
我们再看这个矩阵的行简化梯形矩阵:,很明显 R 和 A的列空间是不同的。但是它们具有相同的行空间。因为不管 的行向量怎么线性组合,总能通过 的行向量线性组合表示出来,换句话说,只需要做从 到 矩阵的逆运算,就可以直接从 变成 。一言以蔽之就是: 行变换对行空间没有影响,但是列空间发生了变化。
我们同样可以得出结论,矩阵 A 行空间的基,就是 R 的前 r 行的向量。(first r rows of R)
对于零空间
,也就是自由变量的数量。可以想到,如果列不满秩,我们对自由变量任意取值,总能找到特殊解,满足。
零空间的基是特殊解们。
对于左零空间
,推导过程类似:因为是对原来矩阵做了转置,所以维数等于行数减去秩。
解答疑问:为什么是“左零空间”这个叫法:
原来应该写作A^Ty = 0,y 在 N(A^T) 中。现在我们希望把 y 放到左边来,用 A 来代替 (回忆:矩阵左乘向量表示行变换),有 ,y^T 左乘 A 得到 0,原来的零空间是 , 是A 右乘一个向量,现在乘到左边来了。
如何求左零空间的基
在之前从A到R的简化过程中,也包含了左零空间的一些信息。这不是显而易见的,但的确如此。
我们利用Gauss-Jordan Elimination,进行计算。回忆从 A 到 R 的过程。
,在这里如果把中间所有的行变换累积起来用 E 表示,我们有,。在之前讲逆矩阵求法的时候,我们知道一个可逆矩阵的,此时边上的 就是最终的 。现在我们换一个视角,A不是可逆的情况下, 下面有一些0行,而能够使得这些行为0的行变换,其实早就已经存储在了矩阵中。
举个例子:
这里我们想知道是什么变换导致了 最后一行的零向量,这恰恰对应了, 矩阵中 行以后的所有行向量,(,加红的这一行,也就是左零空间的基。
所以,结论如下:
- 左零空间的维数是 ,m是矩阵行数,r是矩阵的秩;
- 通过 Gauss-Jordan Elimination,我们不仅可以直接求得左零空间的基,还可以求得左零空间本身;
对零空间、左零空间的一个小总结:
- 求零空间,实际上是在找一个产生零的列向量的线性组合;
- 求左零空间,实际上是在找一个产生零的行向量的线性组合;
一个延伸⚓︎
我们之前的讨论集中在向量空间上;现在我们把视野拓宽到矩阵维度上,把矩阵看作一个向量(遵守向量的运算法则),我们通过一个矩阵,可以想到哪些它的子空间:
- 所有上三角矩阵组成的子空间;
- 所有对称矩阵组成的子空间;
- 对角矩阵的子空间;
对于第三个,一个 的对角矩阵的子空间,其维数为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} $
这里主要讲的就是,把 的概念拓展到