第一步:构造 V
由于 ATA 是实对称矩阵,存在 n 阶正交矩阵 V=(v1,…,vn) 使得
VT(ATA)V=diag(λ1,…,λn)
其中 λ1≥⋯≥λr>0,而 λr+1=⋯=λn=0。
此时 {v1,…,vn} 是 Rn 的一组正交归一基。
第二步:观察 Avi 的正交性
对于 i=j,计算向量 Avi 与 Avj 的内积:
⟨Avi,Avj⟩=(Avi)T(Avj)=viTATAvj=viT(λjvj)=λjviTvj=0(因 vi⊥vj)
这说明 {Av1,…,Avn} 是一组正交向量。
第三步:计算模长与归一化
∥Avi∥2=⟨Avi,Avi⟩=λi=σi2
对于 1≤i≤r,σi>0,定义单位向量
ui:=σi1Avi
此时 {u1,…,ur} 是 Rm 中的一组正交归一向量。
对于 i>r,∥Avi∥2=0⟹Avi=0。
第四步:扩充 U
利用 Gram-Schmidt 方法将 {u1,…,ur} 扩充为 Rm 的正交归一基 {u1,…,ur,ur+1,…,um}。
构造正交矩阵 U=(u1…um)。
第五步:验证分解
计算 UTAV 的元素 (UTAV)ij=uiTAvj。
- 当 1≤j≤r 时:Avj=σjuj。
uiT(σjuj)=σjδij。
即只有对角元 (i,i) 为 σi。
- 当 j>r 时:Avj=0。
uiT0=0。
综上,UTAV=Σ,即 A=UΣVT。
□