
摘要
Lec17 是正交性从"几何概念"走向"计算工具"的关键一讲。
Strang 的路线:先搞清楚 Q 矩阵的代数性质(QTQ=I 和 QQT 的区别),再给出最重要的计算方法——Gram-Schmidt 正交化,以及它的矩阵形式 QR 分解。这一讲直接为后续的最小二乘快速算法和特征值计算铺路。
- Lec14: 正交的几何基础
- Lec15: 投影
- Lec16: 最小二乘
- Lec17: 正交矩阵、Gram-Schmidt、QR 分解
1. 正交矩阵 Q 的定义
在 Lec17 的语境中,Q 的列是 标准正交向量(orthonormal vectors)。即每一列是单位向量,且列与列之间两两正交:
qiTqj=⎩⎨⎧10i=ji=j
假设 Q 是 m×n 的,它有 n 个列,每个列是 m 维向量。
2. 核心性质:QTQ=I 恒成立
不管 Q 是胖是瘦,只要列是标准正交的,QTQ 就一定是 n×n 单位矩阵。原因:
(QTQ)ij=qiTqj=δij
矩阵乘法 QTQ 的第 (i,j) 个元素,就是 Q 的第 i 列点乘第 j 列。列标准正交,所以结果自然是 In。这是"列标准正交"的等价代数表述,与 Q 是否方阵无关。
3. QQT 为什么通常不等于 I?
QQT 是 m×m 的矩阵。它等于 Im 吗?不一定。两个层面理解:
代数上看秩:
rank(QQT)=rank(Q)=n
单位矩阵 Im 的秩是 m。只有 n=m(方阵)时,QQT 才可能有满秩 m,才可能等于 Im。如果 n<m,QQT 是秩为 n 的 m×m 矩阵,不可能是秩为 m 的单位矩阵。
几何上看投影(Strang 特别强调的视角):
QQT 乘到任意向量 b 上:
QQTb=Q(QTb)
QTb 是 b 在列空间坐标上的系数,再左乘 Q 就是用这些坐标线性组合 Q 的列,得到 b 在 C(Q) 上的 正交投影。
所以 QQT 就是 ==到列空间 C(Q) 的投影矩阵==:
- 方阵 Q(n=m):列空间是整个 Rm,投影到整个空间 = 什么都不做,QQT=I。
- 瘦高 Q(n<m):列空间只是 Rm 的一个子空间,投影会丢失垂直于该子空间的分量,QQT=I。
4. "有标准正交列" ≠ "正交矩阵"
这是一个重要的 术语陷阱,Strang 反复强调:
| 有标准正交列的矩阵 | 正交矩阵 |
|---|
| 形状 | m×n(通常 m≥n) | 必须是方阵 m×m |
| QTQ | =In ✅ | =Im ✅ |
| QQT | = 投影矩阵 | =Im ✅ |
| 逆矩阵 | 不存在(非方阵) | 存在,Q−1=QT |
Strang 把两种都记作 Q,方便但容易混淆。记住:只有方阵才配叫"正交矩阵"。
5. 内积视角 vs 外积视角
QTQ —— 内积视角: 让列向量两两做内积,得到一个"关系表"。只要列标准正交,这个表永远是满分 I。
QQT —— 外积之和视角: QQT 可以展开为:
QQT=q1q1T+q2q2T+⋯+qnqnT
每一项 qiqiT 是一个 秩为 1 的外积,几何意义是"到 qi 这一根轴上的投影矩阵"。n 个投影加起来,就是到列空间的投影。
- 方阵时:n 根互相正交的轴恰好覆盖整个空间,投影之和 =I。
- 瘦高时:轴不够多,只能撑起子空间,投影之和 =I。
6. Hadamard 矩阵
Hadamard 矩阵
元素只有 +1 或 −1 的方阵,且所有行(或列)都互相正交:
HHT=nI
注意 H 的列是正交的但不是标准正交的(长度为 n 而非 1)。n1H 才是标准正交矩阵。
构造方法(西尔维斯特):
H1=[1],H2=[111−1],H2k=[H2k−1H2k−1H2k−1−H2k−1]
行列式:由 HTH=nI,取行列式得 (detH)2=nn,所以 detH=±nn/2。
Hadamard 猜想:阶数 n 必须是 1、2 或 4 的倍数。但反过来,是否对所有 4 的倍数都存在 Hadamard 矩阵,至今未解。
7. Gram-Schmidt 正交化
核心思想: 从一组线性无关的向量开始,通过系统性地“剥掉”新向量在已有向量上的投影,造出一组张成同一空间的正交基。
第一阶段:生成正交基
-
确立第一根轴:直接取 u1=v1。
-
打造第二根垂直轴:把 v2 在 u1 上的投影剥掉,剩下的误差就是第二根轴:
u2=v2−proju1(v2)=v2−u1Tu1u1Tv2u1
-
打造第三根垂直轴:同时剥掉 v3 在 u1 和 u2 上的投影:
u3=v3−proju1(v3)−proju2(v3)
关键:u1 和 u2 已经互相垂直,所以减投影的操作互不干扰。这个"剥干净"保证了 u3 与前面所有轴都垂直。
第二阶段:归一化
qi=∥ui∥ui
直观比喻:整理散漫的队伍
- 第一个人出列,以他为基准站好 → u1
- 第二个人来了,把他身上往第一个人方向的倾斜"推"掉,只留垂直部分 → u2
- 第三个人来了,把他身上往前两个人方向的倾斜都推掉 → u3
- 最后所有人统一站在单位圆环上 → 归一化得到 qi
计算实例:
v1=[20],v2=[11]
- u1=v1=[20]
- proju1(v2)=42×1+0×1[20]=[10]
- u2=v2−proj=[01]
- 归一化:q1=[10],q2=[01]
8. QR 分解
QR 分解就是 Gram-Schmidt 的 矩阵形式。
从 Gram-Schmidt 到矩阵: Gram-Schmidt 过程中,原始向量 ai 可以用新造出的 qj 线性表示:
a1a2a3=r11q1=r12q1+r22q2=r13q1+r23q2+r33q3
其中 rij=qiTaj(投影系数),rjj=∥uj∥(正交分量的长度)。
把这些等式打包成矩阵乘法("列的组合"视角——QR 的每一列都是 Q 的列的线性组合,系数来自 R 的对应列):
A=QR
∣a1∣∣a2∣=∣q1∣∣q2∣[r110r12r22]
- Q:列标准正交矩阵(Gram-Schmidt 的结果)
- R:上三角矩阵(对角线是长度,右上角是投影系数)
计算实例:
a1=200,a2=110
Gram-Schmidt 得到:q1=100,r11=2,r12=1,q2=010,r22=1。
A=200110=Q100010R[2011]
为什么重要? 当 A 满列秩时,R 可逆。将 A=QR 代入正规方程 ATAx^=ATb:
RTIQTQRx^=RTQTb⟹Rx^=QTb
从需要求逆的复杂方程,变成了可以直接 回代法 求解的上三角方程组!
完成
小结
- QTQ=I:列标准正交的代数表述,恒成立。
- QQT=I:要求 Q 是方阵,即列张满整个空间。
- "有标准正交列" ≠ "正交矩阵":后者必须是方阵。
- Gram-Schmidt:减投影 → 正交化 → 归一化。
- A=QR:Gram-Schmidt 的矩阵形式,简化最小二乘计算。