
摘要
这节课是一个精彩的枢纽,用三句话来总结:
- 它拓宽了“向量”的边界,这与 3B1B 的《线性代数的本质》第一课呼应:在抽象向量空间里,只要一类对象定义了满足公理的加法和数乘,就可以把它们当作“向量”。函数和矩阵都是典型例子。
- 它通过具体的矩阵空间(如对称矩阵、上三角矩阵),直接验证线性无关、基、维数这些抽象公理是如何在这些新空间里落地的,并提到了维数公式的普适性。
- 它引出来了一个关键思想——“秩一矩阵是矩阵世界的积木”,任何矩阵都可以拆成秩一矩阵之和,这个思想直接指向后续的 SVD、数据压缩和主成分分析。
矩阵空间这个概念,初看确实会有点“卡住”,因为它要求我们把“矩阵”本身当成“向量”来看待。国内线性代数课确实很少强调这一点,但它是从“向量空间”迈向“线性变换”的很自然的一步。
1. 核心转变:矩阵也是向量(概念的扩展)
在 lec11里,我们把所有的 3×3 矩阵构成的集合,记作 M。它构成一个向量空间,因为:
- 两个 3×3 矩阵相加,还是 3×3 矩阵。
- 一个数乘上一个 3×3 矩阵,还是 3×3 矩阵。
- 这里存在“零向量”,就是零矩阵。
所以,每个具体的 3×3 矩阵,就是这个空间 M 里的一个“向量”。
2. 第一个疑惑点:对称矩阵子空间的维数为什么是6?
对称矩阵空间是 M 的一个子空间,记作 S。一个矩阵是对称的,意味着它转置后等于自身:
A=AT
对于 3×3 的对称矩阵,它的形式必须是:
adedbfefc
这里,主对角线上的元素 a,b,c 是完全自由的,而对称位置上的元素必须相等 d,e,f。
求维数就是找基
空间 S 的维数,就是它的一组基里包含多少个矩阵。我们可以自然地找到6个矩阵,它们线性无关,并且能张成所有 3×3 对称矩阵:
- 三个“对角线”基矩阵(对应 a,b,c):
100000000,000010000,000000001
- 三个“对称对”基矩阵(对应 d,e,f):
010100000,001000100,000001010
这6个矩阵就是 S 的一组基。它们显然线性无关,而且任何一个对称矩阵都可以写成它们的线性组合:
adedbfefc=a⋅基1+b⋅基2+c⋅基3+d⋅基4+e⋅基5+f⋅基6
因为基里有6个矩阵,所以 S 的维数是6。
3. 第二个疑惑点:上三角矩阵子空间的维数为什么是6?
对于 n×n 的上三角矩阵空间,它的基就是那些只在 主对角线及其上方的一个位置 为 1,其余位置全为 0 的矩阵。
这里以 3×3 为例,上三角矩阵的形式为:
U=a00db0efc
它有 6 个自由度(a,b,c,d,e,f),因此维数是 6。它的基由下面这 6 个矩阵构成:
1. 对角线上的基矩阵(对应 a,b,c):
100000000,000010000,000000001
2. 严格上三角部分的基矩阵(对应 d,e,f):
000100000,000000100,000000010
4. 维数公式
所有 3×3 矩阵构成的空间 M 是 9 维的。它的两个子空间:对称矩阵空间 S 和上三角矩阵空间 U 各是 6 维,它们的交集对角矩阵空间 D 是 3 维。这些例子验证了线性代数中核心的维数公式:
dim(S)+dim(U)=dim(S∩U)+dim(S+U)
6+6=3+9
注意:这里的 S+U 不是指并集,而是向量加法,并集的结果无法组成向量空间
接下来是 Gilbert Strang 教授很有洞察力的一个比喻:秩一矩阵是矩阵世界的“积木”。这个思想也是后续 SVD 和数据压缩的基础。
5. “秩一矩阵是矩阵世界的积木”?
这个比喻的核心是:任何秩为 r 的非零矩阵,都可以写成 r 个秩一矩阵的和。这种分解一般并不唯一,SVD 会给出其中一种结构特别好的分解。
秩一矩阵,顾名思义,就是秩为1的矩阵。它的列空间是一条直线,行空间也是一条直线。最简单的构造方法是用一个列向量 u 和一个行向量 vT 相乘(外积):
uvT=∣u∣(—vT—)
以高斯消元(LU 分解)为例
假设有一个 3×3 矩阵 A,它可以被分解为 A=LU。
关键来了,矩阵乘法 LU 可以按“列×行”的方式展开。这是你之前可能不太熟悉的视角。
把 L 按列看,把 U 按行看:
设 L 的列为 ℓ1,ℓ2,ℓ3,U 的行为 u1T,u2T,u3T。那么:
A=LU=ℓ1u1T+ℓ2u2T+ℓ3u3T
这里的每一项 ℓiuiT,都是一个列向量乘以一个行向量,结果的秩至多为 1;在两个向量都非零时,它就是秩一矩阵。
你看,一个秩为3的矩阵 A,就这样被拆成了3个秩一矩阵的和。
一个更直观的例子
让我们看一个更简单的 2×2 矩阵:
A=(1326)
这个矩阵的秩是1(因为第二列是第一列的2倍)。
我们可以轻松地把它写成一个列向量 (13) 和一个行向量 (12) 的乘积:
A=(13)(12)=(1×13×11×23×2)=(1326)
对于这个秩一矩阵,它本身就是一块“积木”。
如果是一个秩为2的矩阵,比如:
B=(1324)
你可以把它分解成两个秩一矩阵的和。比如:
B=(1324)=(13)(12)+(01)(0−2)
验证一下:
- 第一块:(13)(12)=(1326)
- 第二块:(01)(0−2)=(000−2)
- 相加:(1326)+(000−2)=(1324)=B
总结
任何矩阵 A 都可以通过 SVD 写成一组秩一矩阵的和:
A=σ1u1v1T+σ2u2v2T+⋯+σrurvrT
这里的每一项 σiuiviT 都是一个秩一矩阵,它们按照奇异值 σi 从大到小排列。奇异值固定,但当奇异值重复时,对应的奇异向量并不唯一,因此不能笼统地说整个分解“唯一”。
这就是积木思想最完美的体现:
构建基础:秩一矩阵是最简单的“积木”。
按重要性排序:SVD告诉我们哪块“积木”最重要(σ1 最大)。
信息压缩:我们只保留前 k 个最重要的“积木”,就能很好地近似原矩阵,这就是主成分分析(PCA)、图像压缩和推荐系统的数学核心。