等距与矩阵分解 #
这讲讲什么:先刻画「完全不改变长度和角度」的线性映射(等距),再把任意算子拆成「一个等距 × 一个纯拉伸」(极分解),最后把同一件事落到矩阵上,得到 QR 分解。
前置:23 讲(规范正交基与 Gram–Schmidt)、25 讲(自伴算子)、26 讲(谱定理)、27 讲(正算子与 T)
一句话:任意线性映射 = 一个「不改变形状」的等距 × 一个「只沿正交方向各自拉伸」的正算子。
一、为什么需要它 #
到 27 讲为止,我们已经攒下三类「行为良好」的算子:自伴算子(⟨Tv,v⟩ 总是实数)、正规算子(T 与 T∗ 可交换)、正算子(⟨Tv,v⟩≥0,因而有唯一的平方根)。
但还有一个方向没堵上:哪些算子一点都不改变形状?
这不是个好奇心的产物。想想你做过的所有「换基」操作。换到一组新基之后,矩阵变了,但如果新基是规范正交的,你会希望长度、角度、内积这些几何量一个都没被破坏——否则「正交投影」「最小二乘」这些在旧坐标下算出来的结论,换到新坐标就没法用了。能让换基前后内积完全不变的,只能是一类特殊的算子。它必须有名字,因为后面所有「坐标可以随便换」的说法,都靠它兜底。
反方向的问题更实际:一个乱七八糟的算子,能不能拆成几块能看懂的?
能。而且拆法只有两步。你早就见过它的标量版:
z=∣z∣z⋅∣z∣
任何非零复数都是一个「模长为 1 的因子」乘一个「非负实数」。前者只负责转,后者只负责伸缩。矩阵也有完全一样的拆法:
T=ST∗T
这里 T∗T 是正算子(只拉伸,方向不变),S 是等距(只转不拉伸)。这一手叫极分解。名字里的「极」就是复数的极坐标那个「极」。
拆完之后还有个副产品。把 T 写成矩阵 A,极分解对应的是 A=QP(Q 正交/幺正,P 正定)。如果把 P 再拆一次——用 Cholesky 的思路拆成 R∗R——得到的是 A=QR。这就是 QR 分解:把一个矩阵写成一个「保持形状」的矩阵 Q 和一个上三角矩阵 R 的乘积。
QR 有三个立刻能兑现的用处:
- 解 Ax=b 时先化成 Rx=Q∗b,R 上三角,从下往上回代,不用做高斯消元;
- Q 不放大误差(它保范数),所以数值上比消元法稳;
- 反复做 A=QR、RQ=Q∗AQ 再分解,就是 QR 迭代——今天求特征值最常用的算法之一。
读完这一讲你应该能回答:
- 「保范数」和「保内积」为什么是同一件事?
- 等距的矩阵长什么样?为什么「行列式为 ±1」不够?
- 极分解怎么手算一个 2×2?S 什么时候唯一?
- Gram–Schmidt 和 QR 分解到底是什么关系?
二、定义与最小例子 #
2.1 等距映射 #
定义:设 S∈L(V,W)。若
∥Sv∥=∥v∥对每个 v∈V
则称 S 是等距映射(isometry)。
「isometry」的字面意思是「度量相等」:isos 相等,metron 度量。所以它要求:进去多长,出来还多长。
2.2 三个最小例子 #
例 1(恒等):Iv=v,显然 ∥Iv∥=∥v∥。
例 2(旋转):R2 上逆时针转 θ 弧度,矩阵是
Rθ=(cosθsinθ−sinθcosθ)
它的两列是 (cosθ,sinθ) 与 (−sinθ,cosθ):长度都是 1,内积是 −cosθsinθ+sinθcosθ=0。第一列正是「(1,0) 转到哪」,第二列是「(0,1) 转到哪」——两个单位正交的箭头,转完还是两个单位正交的箭头,长度当然没变。
例 3(带符号的置换):
(01−10)
它把 (x,y) 送到 (−y,x),长度平方 −y 与 x 的平方和不变。这个矩阵就是 θ=90∘ 的旋转。
不是等距的例子:S=(1011)。取 v=(0,1),∥v∥=1,但 Sv=(1,1),∥Sv∥=2。长度被拉长了 2 倍——它剪切了,不是等距。
2.3 定义里每个字都在干什么 #
「线性」不是装饰。 保范数的映射如果不必线性,等距的定义会立刻废掉。比如 R 上的 f(x)=∣x∣:它保范数,但把 1 和 −1 都送到 1,正交性全毁了(⟨1,−1⟩=−1,而 ⟨1,1⟩=1)。所以定义里必须先把线性写死,等距才有后面那些好性质。
只要求保范数,不要求保角。 妙就妙在:只要线性 + 保范数,保角是自动的。这条不是定义的一部分,是要证的(第三节 3.1)。
一个立刻能得的好处:等距必是单射。若 Sv=0,则 ∥v∥=∥Sv∥=∥0∥=0,于是 v=0。
这推出一个常被忽略的结论:若 S:V→W 是等距,则 dimV≤dimW。因为单射线性映射把 V 的基映成 W 中长度相同的线性无关组。所以「把 R3 等距地塞进 R2」是不可能的——没有这种映射存在,不是你没找到。
2.4 幺正算子与幺正矩阵 #
讨论完「到别的空间去」,我们把镜头收回到自身:S∈L(V)。
定义:算子 S∈L(V) 称为幺正的(unitary),如果 S 是可逆的等距映射。
有限维空间上,单射算子自动可逆(08 讲:dimV=dimnullT+dimrangeT,单射给 dimnullT=0,于是 dimrangeT=dimV)。
所以本讲范围内「可逆」是多余的词,删掉不改变含义。保留它,是为了让定义在无限维也成立。
于是有限维里可以干脆说:V 上的等距就是幺正算子。但要注意「V 上」这三个字——等距可以是 V→W,幺正必须是 V→V。
实空间的情形,幺正算子/矩阵有个更常用的名字:正交(orthogonal)。
矩阵版定义:n×n 矩阵 Q 称为幺正的,如果它的列形成 Fn 中的规范正交组(n 列、n 维,所以其实是规范正交基)。
等价地,用共轭转置写:Q∗Q=QQ∗=I。实情形下 Q∗=QT,条件就是 QTQ=QQT=I。
三、几个必须自己算一遍的结论 #
3.1 等距 ⟺ 保内积 #
这是本讲的核心等价。两个方向里,一个平凡、一个要动笔。
保内积 ⟹ 保范数:取 u=v,⟨Sv,Sv⟩=⟨v,v⟩ 就是 ∥Sv∥=∥v∥。一行。
保范数 ⟹ 保内积:用「把范数平方展开」这一招。设 ∥Sw∥=∥w∥ 对所有 w 成立。取 w=u+v:
∥S(u+v)∥2=∥u+v∥2
左边展开:
∥S(u+v)∥2=∥Su+Sv∥2=∥Su∥2+∥Sv∥2+2Re⟨Su,Sv⟩=∥u∥2+∥v∥2+2Re⟨Su,Sv⟩
右边展开:
∥u+v∥2=∥u∥2+∥v∥2+2Re⟨u,v⟩
两边一减:
Re⟨Su,Sv⟩=Re⟨u,v⟩(3.1)
实空间到这里就完了(内积是实数,实部就是全部)。复空间还差虚部。技巧是把 v 换成 iv 再来一遍,因为 S 线性:
Re⟨Su,S(iv)⟩=Re⟨u,iv⟩
而 S(iv)=iSv,于是左边等于 Re(i⟨Su,Sv⟩)=Re(−i⟨Su,Sv⟩)=Im⟨Su,Sv⟩;右边同理等于 Im⟨u,v⟩。虚部也对上了,故
⟨Su,Sv⟩=⟨u,v⟩(3.2)
只有实部,你只能确定内积的「投影分量」;虚部要另外逼出来。而 iv 是唯一能白拿到虚部的工具——这是在复空间里处理内积的通用手法,不止等距这一处用得上。
这也顺手说明:为什么复内积空间里「保范数」的线性映射自动是 C-线性的等距,而像共轭 z↦zˉ 这种只保范数、不保内积的映射是 R-线性的但不是 C-线性的。
3.2 等距 ⟺ 把规范正交基送到规范正交组 #
这条是「怎么检验」的答案,也是 QR 分解的入口。
设 e1,…,en 是 V 的规范正交基。
(⟸) 假设 Se1,…,Sen 是 W 中的规范正交组。任取 v∈V,由 23 讲,v 在规范正交基下有坐标:
v=⟨v,e1⟩e1+⋯+⟨v,en⟩en
作用 S(线性):
Sv=⟨v,e1⟩Se1+⋯+⟨v,en⟩Sen
因为 Se1,…,Sen 是规范正交组,用 23 讲那条「规范正交组的范数平方等于系数模方和」(勾股定理的推广):
∥Sv∥2=∣⟨v,e1⟩∣2+⋯+∣⟨v,en⟩∣2
而右边正是 ∥v∥2。所以 ∥Sv∥=∥v∥。
(⟹) 假设 S 是等距。由 3.1,S 保内积,于是
⟨Sej,Sek⟩=⟨ej,ek⟩={1,0,j=kj=k
所以 Se1,…,Sen 是规范正交组。□
不用对所有 v 验 ∥Sv∥=∥v∥,只验一组规范正交基的像是规范正交的就行。
更进一步:由于「等距」这件事与基的选择无关,某个规范正交基被送成规范正交组,就等价于每一个规范正交基都被送成规范正交组。
顺带一条算子语言的说法,它在推导里非常好用:
S 是等距⟺S∗S=I(3.3)
为什么?S 是等距时,⟨(I−S∗S)v,v⟩=∥v∥2−⟨S∗Sv,v⟩=∥v∥2−∥Sv∥2=0 对一切 v 成立。矩阵 I−S∗S 自伴(25 讲),而自伴算子若 ⟨Tv,v⟩ 恒为 0 只能是零算子,故 S∗S=I。反过来,S∗S=I 时
⟨Su,Sv⟩=⟨S∗Su,v⟩=⟨u,v⟩
即 S 保内积。
3.3 矩阵语言:列规范正交 #
设 S:V→W,V 取规范正交基 e1,…,en、W 取规范正交基 f1,…,fm,矩阵 A=M(S)。A 的第 k 列就是 Sek 关于 f 的坐标。于是
A∗A=I(即 A 的列规范正交)
具体地,A 的第 j 行第 k 列记作 Ajk,则 (A∗A)kr=∑jAjkAjr=⟨Sek,Ser⟩,所以「列规范正交」与「S 是等距」是同一句话。
只对 A∗A 立规矩,AA∗ 是另一回事 当 m>n(长方形矩阵)时,A∗A=In 成立,但 AA∗=Im。取 A=(10):A∗A=1,而 AA∗=(1000)。
什么时候两者都成立?只有方阵、且 S 是幺正算子时。这一点在第五节展开。
方阵版:n×n 的 Q 幺正,等价于下列每条:
- 列规范正交;
- 行也规范正交(因为 QQ∗=I,转置回去就是同一件事);
- ∥Qx∥=∥x∥ 对每个 x∈Fn 成立;
- Q∗Q=QQ∗=I,即 Q−1=Q∗。
最后一条值得单说:正交/幺正矩阵的逆,就是共轭转置。 求逆本来是 O(n3),取转置是免钱的。
3.4 极分解:2×2 完整手算 #
定理(极分解):设 T∈L(V)。则存在幺正算子 S∈L(V),使得
T=ST∗T(3.4)
为什么这个式子合理:T∗T 是正算子(对任意 v,⟨T∗Tv,v⟩=∥Tv∥2≥0),所以它有唯一的正平方根 T∗T(27 讲)。正算子只沿自己的特征方向各自伸缩,不转动;S 是等距,只转不伸缩。于是 T 的「动作」被拆成了「先沿正交方向拉,再整体转一下」。
把 T 写成矩阵 A,这个式子就变成 A=QP,Q 正交、P 正定。
手算例。取
A=(−13−31)
第一步:算 A∗A。
ATA=(−1−331)(−13−31)=(1+93+33+39+1)=(106610)
第二步:求特征值与特征向量。 特征多项式
10−λ6610−λ=(10−λ)2−36=0
即 10−λ=±6,λ=16 或 λ=4。对应的单位特征向量:
u1=21(11) (λ=16),u2=21(1−1) (λ=4)
第三步:开根号 = 特征值开根号、特征向量不动(这就是正算子求平方根的全部内容):
P=ATA=4u1u1T+2u2u2T
注意 u1u1T=21(1111),u2u2T=21(1−1−11),于是
P=2(1111)+1(1−1−11)=(3113)
第四步:验一下 P2=ATA:
(3113)2=(9+13+33+31+9)=(106610) ✓
P 的特征值是 4,2 都为正,所以它确实是那个正平方根。
第五步:求 S=AP−1。 detP=9−1=8,故
P−1=81(3−1−13)
S=AP−1=81(−13−31)(3−1−13)=81(−3+39−11−9−3+3)=81(08−80)=(01−10)
第六步:验。 S 的两列 (0,1)、(−1,0) 长度都是 1、内积为 0,所以 S 是等距(其实是逆时针转 90∘)。再验乘积:
SP=(01−10)(3113)=(−13−31)=A ✓
读这个结果:A 的动作是「先沿 (1,1) 方向拉 4 倍、沿 (1,−1) 方向拉 2 倍,再整体逆时针转 90∘」。
三个自检,都能免算验证:
- detA=−1−(−9)=8,而 detP=8,detS=1。一般地 ∣detA∣=detA∗A,因为等距的行列式模为 1。
- ∥T∗Tv∥=∥Tv∥。这条恒等式一句话就能验:∥T∗Tv∥2=⟨T∗Tv,v⟩=∥Tv∥2。它说明 P 与 T 的「拉伸力度」完全一致,S 一步没有多拉。
- 若 A 本身是正算子,则 ATA=A2,P=A,S=I。极分解退化为平凡分解——这跟「正数 z=∣z∣ 时 z/∣z∣=1」是同一个现象。
补全:极分解的证明 #
上面只解释了「这个式子为什么合理」,还没证它一定存在。完整的证明要用到奇异值分解——而 SVD 在 29 讲才正式建立。这里先给出证明,读的时候把「SVD」当作 29 讲会给的工具;等读完 29 讲再回来看这一节最顺。
设已知(29 讲):存在 V 的两组规范正交基 e1,…,en 与 f1,…,fn,使得
Tv=k=1∑nsk⟨v,ek⟩fk,sk≥0
构造 S。 直接把 ek 送到 fk:
Sek=fk,k=1,…,n
因为 {ek} 与 {fk} 都是规范正交基,把一组基送到另一组基唯一决定一个线性映射,且这个映射保长度(∥Sek∥=∥fk∥=1,基上保长度即处处保长度)——所以 S 是等距(复情形即幺正)。
验证 T=ST∗T。 先算 T∗T 在 ek 上的作用。由 SVD 的表达式,
T∗w=k=1∑nsk⟨w,fk⟩ek
于是 T∗Tek=skT∗fk=sk⋅skek=sk2ek。所以 ek 是 T∗T 的特征向量、特征值 sk2,因而
T∗Tek=skek
(这一步用正平方根在特征向量上的作用,27 讲。)两边同时作用 S:
ST∗Tek=S(skek)=skfk
而由 SVD 的表达式,Tek=skfk。两组基上作用相同,故两个算子相等:
T=ST∗T■
S 就是把「SVD 的左基 fk」对应到「右基 ek」的那个等距——不是随便找的。
这也解释了 3.5 为什么有「S 不唯一」:SVD 在 sk=0 时,对应的 fk 可以任意选,
于是 S 在那个方向上就有自由度。
3.5 S 什么时候唯一 #
极分解里 P=T∗T 永远唯一(正平方根唯一,27 讲)。但 S 不一定。
- T 可逆时,S 唯一:此时 P 也可逆(3.4 那条恒等式给出 nullP=nullT={0}),于是 S=TP−1 被逼死。
- T 不可逆时,S 有无穷多个:P 在 nullT 上作用为 0,那些方向上 S 取什么都不影响 SP。例如
A=(2000),P=(2000)
而 S1=(1001) 与 S2=(100−1) 都是等距,且 S1P=S2P=A。两个不同的极分解,同一个 A。
所以「极分解的 S 是唯一的」这句话,必须加条件。
3.6 QR 分解:2×2 完整手算 #
定理(QR 分解):设 A 是各列线性无关的方阵。则存在唯一一对矩阵 Q,R,其中 Q 幺正、R 上三角且对角线上全为正数,使
A=QR(3.5)
证明的思路就一句话:对 A 的列做 Gram–Schmidt,得到规范正交基 e1,…,en,且满足
span(v1,…,vk)=span(e1,…,ek)k=1,…,n(3.6)
把 Q 取成以 e1,…,en 为列,R 取成 Rjk=⟨vk,ej⟩。两个关键观察:
- R 上三角:若 j>k,由 (3.6) 有 vk∈span(e1,…,ek),而 ej 与前面这些全都正交,所以 ⟨vk,ej⟩=0。这正是「第 k 列在第 k 行以下全是 0」。
- 对角为正:Gram–Schmidt 里 vk 等于 ek 的正倍数加上 e1,…,ek−1 的组合,所以 ⟨vk,ek⟩>0。
而 QR 的第 k 列是 Q 各列按 R 第 k 列系数组合,即
⟨vk,e1⟩e1+⋯+⟨vk,ek⟩ek=vk
正好是 A 的第 k 列。唯一性由「满足 (3.6) 与正对角条件的规范正交组唯一」给出。
手算例。取
A=(3411)
第一步:取列。 v1=(3,4),v2=(1,1)。
第二步:归一化 v1。 ∥v1∥=9+16=5,所以
e1=(53,54)
第三步:把 v2 沿 e1 的分量减掉。
⟨v2,e1⟩=53+54=57
v2−57e1=(1,1)−(2521,2528)=(254,−253)
第四步:归一化。 范数 62516+6259=255=51,于是
e2=(54,−53)
第五步:组装。
Q=(535454−53),R=(505751)
第六步:验 QR=A。 逐元素:
- 左上:53⋅5+54⋅0=3 ✓
- 右上:53⋅57+54⋅51=2521+254=1 ✓
- 左下:54⋅5+(−53)⋅0=4 ✓
- 右下:54⋅57+(−53)⋅51=2528−253=1 ✓
再看两个行列式:detQ=−259−2516=−1(这是一个反射),detR=5⋅51=1,detA=3−4=−1。吻合。
这个分解怎么用来解方程。设要解 Ax=b,b=(1,1)。由 A=QR:
QRx=b ⟹ Rx=Q∗b
(左乘 Q∗,用 Q∗Q=I。)算 Q∗b=QTb:
QTb=(535454−53)(11)=(5751)
回代 Rx=QTb:
51x2=51⇒x2=1;5x1+57x2=57⇒x1=0
Ax=(1,1) 正好是第二列,答案 x=(0,1) 对得上。
为什么 R 长这样,一句话说清:R 的第 k 列是 vk 在新正交基下的坐标,而 vk 只用到 e1,…,ek——所以这一列从第 k+1 行往下全是 0。上三角不是巧合,它是「第 k 列不碰后面的新基」这件事的记账方式。而 R 的对角元 ⟨vk,ek⟩,就是「把前 k−1 个方向减干净之后,vk 还剩多长」。
四、几何直观 / 记忆钩子 #
4.1 等距 = 刚体运动 #
等距不改变任何两点间的距离(∥Su−Sv∥=∥u−v∥),也不改变任何夹角。用物理的话说:它是刚体运动——整体平移、旋转、翻面,但绝不拉伸、不剪切。
在 Rn 里,正交矩阵正好对应这些动作:detQ=1 是纯旋转,detQ=−1 是旋转叠一次镜面反射。这也是为什么三维空间里「任何转动都能看成绕某根轴转一个角」——正交矩阵的不动方向给出那根轴。
4.2 极分解 = 先拉后转 #
记住这个式子:
T=只转S只拉T∗T
阅读顺序是从右往左(矩阵作用在向量上):先被 T∗T 沿一组正交方向各自拉伸,再被 S 整体转一下。
这个顺序不能反。你能把任意矩阵拆成「先转后拉」,但那要用 TT∗ 挂在左边(T=TT∗S′),而且 S′ 与 S 一般不是同一个算子。
对照复数极坐标:
| 复数 |
矩阵/算子 |
| z |
T |
| ∣z∣ |
T∗T(正算子,只伸缩) |
| z/∣z∣(在单位圆上) |
S(幺正算子,只转) |
| ∣z∣=1 |
S∗S=I |
| zˉ |
T∗ |
| z=zˉ(实数) |
自伴算子 |
这张表是 25、26 讲就埋下的类比,到极分解这里才真正用上:「任意复数 = 单位圆上的点 × 非负实数」这条中学知识,就是极分解的模型。
4.3 QR = Gram–Schmidt 的账本 #
别把 QR 当新东西。它就是 Gram–Schmidt 的矩阵写法:
- Q 记录的是过程的结果(把原基扶正后的那组规范正交基);
- R 记录的是过程的过程(每一步减掉了多少、剩下了多长)。
R 的上三角结构,等价于那一串嵌套的等式
span(v1)⊂span(v1,v2)⊂⋯⊂span(v1,…,vn)
「第 k 步只用前 k 个向量」——因果性。看到上三角,就该想到「有先后顺序」。
- 等距:长度不变,角度白送。
- 极分解:先拉后转,别倒过来。
- QR:Q 是扶正后的基,R 是施密特的账本;上三角 = 层层嵌套,对角正 = 每步的余量。
五、常见误区 #
误区 1:把 T∗T 当成逐元素开平方 反例就在第三节:ATA=(106610),逐元素开方得 (106610)。它的平方是 (1626026016)=(106610)。
矩阵开方是谱意义下的:特征值开方、特征方向不动。只有对角矩阵,两者才碰巧一致。
误区 2:detQ=±1 就以为 Q 正交 取 Q=(1011),detQ=1,但它不是等距(它把 (0,1) 送到 (1,1),长度从 1 变 2)。
正确判据只有一条:列(或行)是否规范正交。行列式是「体积缩放」,±1 只说明体积没变,剪切照样保持体积。
误区 3:把 A∗A=I 与 AA∗=I 混为一谈 长方形矩阵上两者不等价。A=(10) 满足 A∗A=1 但不满足 AA∗=I。
前者说「单射且保范数」,后者说「满射且保范数」。要两个都拿,必须方阵。
R 上 f(x)=∣x∣ 保范数,但 ⟨f(1),f(−1)⟩=1=−1=⟨1,−1⟩,把正交变成不正交。
「线性」是等距定义里不可省的成分。去掉它,等距就退化成「距离保持映射」,理论完全是另一套(可以是非线性的,甚至不连续)。
T 可逆时才唯一。T=(2000) 时,S=diag(1,1) 与 S=diag(1,−1) 给出同一个 T。
原因是 P 在 nullT 上作用为 0,那些方向上 S 随便取。写「极分解唯一」是错话;P 唯一,S 在 T 可逆时唯一。
误区 6:以为 A=QR 里的 Q,R 随便配 若 A=QR,那么 A=(−Q)(−R) 也成立,−Q 照样幺正、−R 照样上三角——但 −R 的对角线是负的。
正是「对角线上只有正数」这条附加条件把符号自由度锁死,唯一性才成立。做题时若算出 R 的对角有负数,说明某一步可以整体取反。
另外,定理要求各列线性无关;列相关时 R 会出现零对角元,分解存在但不唯一。
六、拓展(可跳过) #
(1)幺正算子的特征值都在单位圆上。 若 Sv=λv、v=0,则
∣λ∣∥v∥=∥λv∥=∥Sv∥=∥v∥
所以 ∣λ∣=1。这与「z/∣z∣ 模长为 1」完全对应。在复空间上还能更进一步:幺正算子有一组由特征向量组成的规范正交基,特征值全在单位圆上——也就是说,它在某个正交坐标系下就是一堆「各自转一个角」。这条是 26 讲复谱定理的直接推论(幺正算子是正规算子)。
(2)实正交矩阵的「旋转 + 反射」结构。 实正交矩阵的特征值只能是 ±1 或成对的 e±iθ。每个共轭对对应一个二维不变平面上的旋转 θ,每个 −1 对应一次镜面翻面。三维特殊情形就是欧拉定理:任何转动都是绕某根轴转一个角。(这条是从特征值性质外推的,本讲不展开。)
(3)Cholesky 分解靠 QR 证。 若 B 正定,则存在唯一的上三角 R(对角为正)使
B=R∗R
证明只有三行:先把 B 写成 B=A∗A(A 可逆),对 A 做 QR 得 A=QR,于是 B=A∗A=R∗Q∗QR=R∗R——Q 幺正把 Q∗Q 吃掉,只剩 R∗R。这正是「等距不改变形状」在代数上的兑现方式。
(4)数值上的意义。 解 Ax=b 走 Rx=Q∗b,误差不被 Q 放大(∥Q∗y∥=∥y∥),而高斯消元里的消元因子可能放大误差;这就是 QR 在数值线性代数里地位比消元法高的原因。QR 迭代(反复 Ak=QkRk,Ak+1=RkQk)则是求特征值的实用算法,也是「QR 分解为什么值得单列一节」的真正理由。
(5)奇异值的前奏。 极分解里那个 P=T∗T,它的特征值是 s1,…,sn——这就是奇异值(T∗T 特征值的非负平方根,降序排列)。有了它,本讲所有结论都能改写成一句更锋利的话:
S 是等距⟺S 的所有奇异值都等于 1
因为 S∗S=I 时 S∗S 的特征值全是 1。反过来,奇异值全为 1 意味着 ∥Sv∥=∥v∥。于是「等距」在奇异值的语言里就是「放大倍数全部为 1」——29 讲会把这张图完整画出来(单位圆被映成椭圆,椭圆半轴长就是奇异值)。
七、自测(先做,再看答案) #
1. Q=(1011) 是正交矩阵吗?detQ 是多少?由此说明什么。
2. 求 A=(0−120) 的极分解 A=SP。
3. 设 S:V→W 是等距。证明 dimV≤dimW,并举一例说明 S 不必是满射。
4. 求 A=(221−1) 的 QR 分解,并解释为什么这里的 R 是对角矩阵。
5. 用第 4 题的分解解 Ax=b,其中 b=(1,1)。
答案(点开)
1. 不是。两列 (1,0) 与 (1,1):内积为 1=0,长度分别是 1 与 2。而 detQ=1。
说明「行列式为 ±1」对正交性只是必要不充分——它只管体积,不管剪切。
2. 先算
ATA=(02−10)(0−120)=(1004)
已是正对角,特征值 1,4,特征方向就是标准基。故 P=diag(1,2),P−1=diag(1,21)。
S=AP−1=(0−120)(10021)=(0−110)
验:S 的两列 (0,−1)、(1,0) 规范正交 ✓;SP=(0−110)(1002)=(0−120)=A ✓。
(S 是顺时针 90∘ 旋转,与 detA=2、detP=2 相符。)
3. S 是等距 ⟹ S 单射。取 V 的一组基 v1,…,vn,单射线性映射把线性无关组映成线性无关组,故 Sv1,…,Svn 在 W 中线性无关,长度 n≤dimW。
不必满射的例子:S(x,y)=(x,y,0),V=R2、W=R3,像只是 xy 平面,dimV=2<3=dimW。
4. v1=(2,2),∥v1∥=22,e1=(21,21)。
v2=(1,−1),⟨v2,e1⟩=21−21=0——已经正交,不用减。
∥v2∥=2,e2=(21,−21)。于是
Q=(212121−21),R=(22002)
R 是对角阵,因为 v2 在 e1 上的分量为 0——即原始两列已经正交,Gram–Schmidt 没有「减」的动作,非对角元自然消失。
(验:Q 右乘 R,第一列 22⋅e1=(2,2) ✓,第二列 2⋅e2=(1,−1) ✓。)
5. Rx=QTb:
QTb=(212121−21)(11)=(20)
回代:2x2=0⇒x2=0;22x1=2⇒x1=21。
验:A(21,0)=(1,1)=b ✓。
八、复习卡 #
| 项 |
内容 |
| 等距定义 |
∥Sv∥=∥v∥ 对一切 v∈V(L(V,W)) |
| 立即可得 |
等距必单射;故 dimV≤dimW |
| 核心等价 |
保范数 ⟺ 保内积 ⟺S∗S=I ⟺ 把规范正交基送到规范正交组 |
| 保内积的推导 |
展开 ∥S(u+v)∥2 得实部;把 v 换成 iv 得虚部 |
| 幺正算子 |
可逆的等距(V→V);有限维下「可逆」可删 |
| 幺正矩阵 |
列(等价地:行)规范正交;Q∗Q=QQ∗=I;Q−1=Q∗ |
| 实情形别名 |
正交算子 / 正交矩阵(QTQ=I) |
| 矩形矩阵 |
A∗A=I(单射保范)与 AA∗=I(满射保范)不等价 |
| 极分解 |
T=ST∗T;S 幺正,T∗T 正 |
| 极分解的来源 |
复数 z=(z/∣z∣)∣z∣ 的矩阵版 |
| P 唯一吗 |
唯一(正平方根唯一);S 在 T 可逆时唯一,T 奇异时有无穷多 |
| 恒等式 |
∥T∗Tv∥=∥Tv∥;∣detT∣=detT∗T |
| QR 分解 |
列线性无关时 A=QR 唯一;Q 幺正,R 上三角、对角为正 |
| QR 怎么算 |
对 A 的列做 Gram–Schmidt;Q 的列 = 结果,Rjk=⟨vk,ej⟩ |
| R 为什么上三角 |
span(v1..vk)=span(e1..ek),故 j>k 时 ⟨vk,ej⟩=0 |
| QR 解方程 |
Ax=b⇒Rx=Q∗b,再回代 |
| 对角为正的作用 |
锁住符号自由度(排除 (−Q)(−R)),保证唯一 |
| 向前看 |
T∗T 的特征值 = 奇异值;等距 ⟺ 全部奇异值 =1(见 29 讲) |
九、出处与延伸(可选,不影响阅读) #
- 本讲主体:等距映射的定义与五条等价刻画、幺正算子与幺正矩阵、QR 分解及其 3×3 算例,见《线性代数应该这样学》(第四版,吴俊达、何阳译)第 7 章 7D 节,印刷页码 p214–222。
- 极分解:同一部书 7F 节「极分解」,印刷页码 p237–238(定义 7.93)。它的证明借助奇异值分解,与历史顺序相反——极分解更早被提出,现在反过来当推论。
- 奇异值的定义与例:7E 节,印刷页码 p224–226(定义 7.65,等距由「所有奇异值等于 1」刻画在 p226 前后)。
- Cholesky 分解:7D 节末,印刷页码 p220–222(定理 7.63),证明确实依赖 QR 的唯一性。
- 术语别名:等距映射 = isometry;幺正算子 = unitary operator,实情形常称正交变换/正交算子;幺正矩阵 = unitary matrix,实情形常称正交矩阵;极分解 = polar decomposition;QR 分解 = QR factorization(有的书写 QL、RQ,方向不同,内容同类);Cholesky 分解 = 平方根法。
- 想深挖:数值线性代数教材(Golub & Van Loan 一类)会讲 QR 的 Householder / Givens 实现,与 Gram–Schmidt 的数值稳定性差别很明显(经典 Gram–Schmidt 会丢失正交性,需要修正版或 Householder 反射)。这一层本讲不涉及。
- 历史注记:Cholesky 分解由 André-Louis Cholesky(1875–1918)发现,他去世后于 1924 年发表;QR 分解的现代数值形式则与 1950 年代电子计算机上的特征值计算需求直接相关。
本讲所有例子都取实数域,但等距、幺正、极分解、QR 在复内积空间上一字不改地成立——只需把转置换成共轭转置 ∗。若你在复空间里算出「内积不是实数」,先检查是不是漏了共轭。