3.4 奇异值分解
奇异值分解 (Singular Value Decomposition, SVD) 分解是矩阵计算中非常有用的工具之一, 在图像处理、机器学习、数据科学等领域有着非常重要的应用.
3.4.1 奇异值,奇异向量和奇异值分解
设 A∈Cm×n ( m≥n ), 则 A∗A∈Cn×n 和 AA∗∈Cm×m 都是Hermite半正定矩阵, 且它们具有相同的非零特征值 (都是正实数).
定理3.12 (SVD) [57] 设 A∈Cm×n ( m≥n ), 则存在酉矩阵 U∈Cm×m 和 V∈Cn×n 使得
U∗AV=[Σ0]或A=U[Σ0]V∗,(3.11) 其中 Σ=diag(σ1,σ2,…,σn)∈Rn×n , 且 σ1≥σ2≥⋯≥σn≥0 . 分解 (3.11) 称为 A 的奇异值分解 (SVD), 而 σ1,σ2,…,σn 则称为 A 的奇异值. (板书)
证明. 首先假设 A=0 , 否则只需令 Σ=0 即可, U 和 V 可以是任意酉矩阵.
下面我们对 m 和 n 用归纳法来证明
当 n=1,m≥1 时, 我们取 Σ=∥A∥2,V=1,U∈Cm×m 是第一列为 u1=A/∥A∥2 的酉矩阵, 于是
A=U[Σ0]V∗ 即为 A 的奇异值分解
假设 C(m−1)×(n−1) 中的矩阵都存在奇异值分解, 下面证明 A∈Cm×n 也存在有奇异值分解.由2-范数的定义可知, 存在向量 v∈Cn 满足 ∥v∥2=1 使得 ∥A∥2=∥Av∥2. 令
u=σ1Av∈Cm,其 中σ=∥A∥2, 则 ∥u∥2=1 .我们将 v 和 u 都扩充成酉矩阵,即存在 U~∈Cm×(m−1) 和 V~∈Cn×(n−1) ,使得 [u,U~]∈Cm×m 和 [v,V~]∈Cn×n 都是酉矩阵.于是
U~∗Av=U~∗(σu)=0,u∗Av=u∗(σu)=σ. 所以
A~≜[u,U~]∗A[v,V~]=[u∗AvU~∗Avu∗AV~U~∗AV~]=[σ0u∗AV~U~∗AV~]. 又
σ=∥A∥2=A~2=A~∗2≥A~∗e12=[σ,u∗AV~]∗2=σ2+∥u∗AV~∥22, 所以 ∥u∗AV~∥2=0 ,即 u∗AV~=0. 于是
[u,U~]∗A[v,V~]=[σ00A1], 其中 A1=U~∗AV~∈C(m−1)×(n−1) .由归纳假设可知, A1 存在奇异值分解,设为
A1=U1[Σ10]V1∗, 其中 U1∈C(m−1)×(m−1) 和 V1∈C(n−1)×(n−1) 都是酉矩阵, Σ1∈R(n−1)×(n−1) 是对角矩阵,且其对角线元素按降序排列.令
U=[u,U~][100U1],V=[v,V~][100V1], 则 U∈Cm×m 和 V∈Cn×n 都是酉矩阵, 且
U∗AV=[100U1]∗[u,U~]∗A[v,V~][100V1]=[100U1]∗[σ00A1][100V1]=[σ00U1∗A1V1]=[Σ0],(3.12) 其中 Σ=[σ00Σ1] . 又
σ2=∥A∥22=∥U∗AV∥22=[Σ0]22=ρ([σ200Σ12]), 所以 σ 不小于 Σ1 中的所有对角线元素, 即 Σ 的对角线元素也是按降序排列. 因此, (??) 这就是 A 的奇异值分解.
由归纳法可知, 定理的结论成立.
该定理也可以通过Hermite半正定矩阵的特征值分解来证明
如果 A∈Rm×n 是实矩阵,则 U,V 也都可以是实矩阵[73].
由(3.11)可知,
A∗A=VΣ∗ΣV∗,AA∗=U[ΣΣ∗000]U∗. 所以 σ12,σ22,…,σn2 是 A∗A 和 AA∗ 的特征值. 因此, A 的奇异值就是 A∗A 的特征值的平方根.
奇异向量
由SVD(3.11)可知
Avi=σiui,i=1,2,…,n, A∗ui=σivi,i=1,2,…,n, A∗ui=0,i=n+1,n+2,…,m. 我们称 U=[u1,u2,…,um] 和 V=[v1,v2,…,vn] 的列向量分别称为 A 的左奇异向量和右奇
异向量.
细SVD(降阶SVD)
由定理3.12可知
A=U[Σ0]V∗=σ1u1v1∗+σ2u2v2∗+⋯+σnunvn∗=i=1∑nσiuivi∗. 记 Un=[u1,u2,…,un]∈Cm×n ,则 Un 是单位列正交矩阵(即 Un∗Un=In×n) ,且
A=UnΣV∗.(3.13) 这就是所谓的细SVD(或瘦SVD,thinSVD,skinnySVD)[57]或降阶SVD(reducedSVD)[125],有的文献将(3.12)称为奇异值分解.
压缩SVD
设 r≜rank(A)≤n , 则有
σ1≥σ2≥⋯≥σr>0,σr+1=⋯=σn=0. 我们称
Ar=i=1∑rσiuivi∗ 为 A 的压缩SVD (condensedSVD).
截断SVD
设 k<n ,我们称
Ak=σ1u1v1∗+σ2u2v2∗+⋯+σkukvk∗=i=1∑kσiuivi∗ 为 A 的截断SVD (truncated SVD).
由于压缩SVD和截断SVD在计算和存储方面存在优势,因此实际应用中经常使用的是压缩SVD或截断SVD.
奇异值的应用
SVD 可用来计算矩阵的低秩逼近, 矩阵行空间和列空间的一组正交基, 以及矩阵的秩.
矩阵计算:矩阵范数,矩阵条件数,最小二乘问题,广义逆,矩阵和张量的低秩分解,等等.
工程应用: 信号处理, 图像压缩, 机器学习, 主成分分析, 数据降维, 等等.
Six Great Theorems of Linear Algebra
Dimension Theorem: All bases for a vector space have the same number of vectors.
Counting Theorem: Dimension of column space + dimension of nullspace = number of columns.
Rank Theorem: Dimension of column space = dimension of rowspace. This is the rank.
Fundamental Theorem: The row space and nullspace of A are orthogonal complements in Rn .
SVD: There are orthonormal bases ( v 's and u 's for the row and column spaces) so that Avi=σiui .
Spectral Theorem: If AT=A there are orthonormal q 's so that Aqi=λiqi and A=QΛQT .
— Introduction to Linear Algebra, 5th, G. Strang, 2016.
3.4.2 奇异值基本性质
下面是关于奇异值的一些基本性质:
定理3.13 设 A=U[Σ0]V∗ 是 A∈Cm×n ( m≥n ) 的奇异值分解, 则下面结论成立:
(1) A∗A 的特征值是 σi2 , 对应的特征向量是 vi,i=1,2,…,n ;
(2) AA∗ 的特征值是 σi2 和 m−n 个零, 对应的特征向量是 ui,i=1,2,…,m ;
(3) ∥A∥2=σ1 ∥A∥F=σ12+σ22+⋯+σn2;
(4) 若 rank(A)=r≤n , 则
Ran(A)=span{u1,u2,…,ur},Ker(A)=span{vr+1,vr+2,…,vn}; (5) 设 x∈Cn 且 ∥x∥2=1 , 则 σn≤∥Ax∥2≤σ1 ;
(事实上有 σ1=max∥x∥2=1∥Ax∥2,σn=min∥x∥2=1∥Ax∥2)
(6) (酉不变性) 设 X∈Cm×m 和 Y∈Cn×n 是酉矩阵, 则 σi(X∗AY)=σi(A) .
(留作练习)
性质 (4) 可以用来计算矩阵的像空间和零空间.
定理3.14 设 A=UΣV∗ 是 A∈Cn×n 的奇异值分解, 则下面结论成立:
(1) ∣det(A)∣=σ1σ2⋯σn;
(2) 若 A 非奇异, 则 ∥A−1∥2=σn−1,κ2(A)=σ1/σn ;
(3) 若 A 是Hermite的, 且 A=UΛU∗ 是 A 的酉特征值分解, 即 U∗U=I,Λ=diag(λ1,λ2,…,λn) . 设 ∣λ1∣≥∣λ2∣≥⋯≥∣λn∣ , 则 A=UΣV 是 A 的奇异值分解, 其中 σi=∣λi∣ , vi=sign(λi)ui , 若 λi=0 , 则取 vi=ui ;
(4) 矩阵 H=[0AA∗0] 的特征值是 ±σi , 对应的单位特征向量为 21[vi±ui] . ( A∈Cm×n 时也有类似结论)
(留作练习)
例3.5 由奇异值的性质可知, 矩阵的谱条件数取决于最大奇异值和最小奇异值的比值, 如果最大奇异值与最小奇异值比较接近, 则谱条件数就比较小. 那么, 谱条件数与特征值有没有直接关系? 我们知道, 如果矩阵 A 对称正定, 则其谱条件数就是最大特征值与最小特征值的比值. 但是,对于一般的矩阵, 则没有这个性质. 如下面的矩阵:
A=1−211…⋱⋱−21⋮−211∈Rn×n, 即对角线全是1, 严格上三角部分全是 −21 , 其它为0. 易知 A 的所有特征值都是1, 但其谱条件数却随着矩阵规模的增长而快速变大, 见下表:
另外,通过直接计算可知
A−1=121121.521121.5221.5⋱⋱…⋱⋱21121.5n−2⋮21.5221.5211. 因此, κ1(A) 和 κ∞(A) 都是矩阵维数 n 的幂函数
3.4.3 奇异值更多性质
下面是关于矩阵 A 的一个低秩逼近
定理3.15 设 A=UnΣV∗ 是 A∈Cm×n 的细奇异值分解, 令 Ak=∑i=1kσiuivi∗ , 则 Ak 是
B∈Cm×n,rank(B)=kmin∥A−B∥2(3.14) 的一个解,且
∥A−Ak∥2=σk+1. 此时,我们称 Ak 是 A 的一个秩 k 逼近
(板书)
证明. 设 B∈Cm×n 且 rank(B)=k , 则
dim(Ker(B))+dim(span{Vk+1})=(n−k)+(k+1)=n+1>n, 其中 Vk+1=[v1,v2,…,vk+1]∈Cn×(k+1) .所以 Ker(B) 与 span{Vk+1} 有非零公共元素.令 0= x∈Ker(B)∩span{Vk+1} ,不失一般性,我们假设 ∥x∥2=1 .故存在 y∈Ck+1 满足 ∥y∥2=1 使得
x=Vk+1y. 于是
∥A−B∥22≥∥(A−B)x∥22=∥Ax∥22=∥UnΣV∗Vk+1y∥22=Σ[Ik+10]y22=Σ[y0]22=∑i=1k+1σi2∣yi∣2≥σk+12, 其中 Σ1=diag(σ1,σ2,…,σk+1) .这里我们利用了性质 ∑i=1k+1∣yi∣2=∥y∥22=1. 所以
B∈Cm×n,rank(B)=kmin∥A−B∥2≥σk+1. 又 rank(Ak)=k , 且
∥A−Ak∥2=i=k+1∑nσiuivi∗2=Un0⋱0σk+1⋱σnV∗2=σk+1, 所以
B∈Cm×n,rank(B)=kmin∥A−B∥2=σk+1, 且 Ak 是问题(3.13)的一个解

定理中的(3.13)式也可以改写为
B∈Cm×n,rank(B)≤kmin∥A−B∥2(3.15) 对于 Frobenius 范数, 我们有类似的结论, 见习题 3.13.
定理3.16 (Weyl) [119] 设 A,B∈Cm×n ( m≥n ), 且 rank(B)=k , 则有
x∈Ker(B),∥x∥2=1max∥Ax∥2≥σk+1(A),(3.16) 和
x∈Ker(B),∥x∥2=1min∥Ax∥2≤σn−k(A).(3.17) 因此,
σ1(A−B)≥σk+1(A),σn(A−B)≤σn−k(A).(3.18) (板书)
证明. 不等式 (3.15) 的证明与定理 3.15 的证明类似, 不再赘述.
下面证明结论 (3.16). 令 V~k+1=[vn−k,vn−k+1,…,vn]∈Cn×(k+1) . 类似地, 存在向量 y∈Ck+1 满足 ∥y∥2=1 , 使得 x=V~k+1y∈Ker(B) . 于是
∥Ax∥22=∥UnΣV∗V~k+1y∥22=[0Ik+1]y22=Σ[0y]22=i=1∑k+1σn−k−1+i2(A)∣yi∣2≤σn−k2(A). 
所以
x∈Ker(B),∥x∥2=1min∥Ax∥2≤σn−k(A). 根据定理3.13中的性质5,以及(3.15)和(3.16)可得
σ1(A−B)=max∥x∥2=1∥(A−B)x∥2≥maxx∈Ker(B),∥x∥2=1∥(A−B)x∥2=maxx∈Ker(B),∥x∥2=1∥Ax∥2≥σk+1(A), σn(A−B)≤min∥x∥2=1∥(A−B)x∥2≤minx∈Ker(B),∥x∥2=1∥(A−B)x∥2=minx∈Ker(B),∥x∥2=1∥Ax∥2≤σn−k(A). 因此不等式 (3.17) 成立

不等式(3.15)和(3.16)也可以写为:设 L 是 Cn 中的任意一个 n−k 维子空间,则有
x∈L,∥x∥2=1max∥Ax∥2≥σk+1(A),x∈L,∥x∥2=1min∥Ax∥2≤σn−k(A). 特别地, 当 k=0 时 L=Rn , 因此
∥x∥2=1max∥Ax∥2≥σ1(A),∥x∥2=1min∥Ax∥2≤σn(A). 事实上, 我们有 (第一个等式就是 2-范数的定义, 第二个等式留作自行练习)
∥x∥2=1max∥Ax∥2=σ1(A),∥x∥2=1min∥Ax∥2=σn(A). 从该结论可知, 如果通过对 A 进行秩 k(1≤k≤2n) 修正来改善其谱条件数, 则最佳情况是降低到 σk+1σn−k(A) .
定理3.17 [119] 设 A,B∈Cm×n ( m≥n ), 则有
σi+j−1(A+B)≤σi(A)+σj(B),i=1,2,…,n,j=1,2,…,n−i+1.(3.19) (板书)
证明. 首先证明 i=j=1 时结论成立. 事实上, 我们有
σ1(A+B)=∥A+B∥2≤∥A∥2+∥B∥2=σ1(A)+σ1(B). 设 Ai−1 和 Bj−1 分别是 A 和 B 的秩 i−1 和秩 j−1 逼近, 则由定理3.15可知
∥A−Ai−1∥2=σi(A),∥B−Bj−1∥2=σj(B). 所以
σi(A)+σj(B)=∥A−Ai−1∥2+∥B−Bj−1∥2≥∥A+B−(Ai−1+Bj−1)∥2. 又 rank(Ai−1+Bj−1)≤i+j−2 , 所以由不等式 (3.17) 可知
σi(A)+σj(B)≥∥A+B−(Ai−1+Bj−1)∥2≥σi+j−1(A+B). 
令 A=X−Y,B=Y ,则该结论也可以描述为
σi(X−Y)≥σi+j−1(X)−σj(Y),i=1,2,…,n,j=1,2,…,n−i+1. 根据定理3.16, 我们可以得到矩阵奇异值的最小最大定理
定理3.18 设 σ1≥σ2≥⋯≥σn≥0 是矩阵 A∈Cm×n ( m≥n ) 的奇异值, 则
σk(A)=dim(L)=n−k+1minx∈L,∥x∥2=1max∥Ax∥2,k=1,2,…,n 和
σk(A)=dim(L)=kmaxx∈L,∥x∥2=1min∥Ax∥2,k=1,2,…,n, 其中 L 表示 Cn 的一个子空间
(留作练习)
引理3.19(交错不等式)[74]设 A∈Cm×n , Ar 是由 A 去除 r 列 (或 r 行)后得到的子矩阵,则
σi(A)≥σi(Ar)≥σi+r(A),i=1,2,…,min{m,n}. 这里, 当下标 k 大于矩阵的维数时, 我们令 σk=0 . 进一步, 如果 B∈C(m−r)×(n−s) 是 A 的子矩阵, 则
σi(A)≥σi(B)≥σi+r+s(A). (留作课外自习)
证明. 只需证明 r=1 的情形, 其余情形可以通过递推实现
假设 A1 是由 A 中去除第 k 列后的子矩阵. 令 ek∈Cn 为单位矩阵的第 k 列, 即第 k 个元素是 1, 其它均为 0. 由定理 3.18 可知
σk(A)=dim(L)=n−k+1minx∈L,∥x∥2=1max∥Ax∥2≥dim(L)=n−k+1minx∈L,∥x∥2=1,x⊥ekmax∥Ax∥2. 如果 x⊥ek , 则 xk=0 , 所以
Ax=A1x~, 其中 x~=[x1,…,xk−1,xk+1,…,xn]⊤∈Cn−1 故条件“ x∈L , ∥x∥2=1 , x⊥ek ”就等价于 x∈L~,∥x~∥2=1" ,其中 L~⊂Cn−1 是由 L 中的向量去除第 k 个分量后组成的集合.因此 dim(L~)=dim(L)=n−k+1 或 dim(L~)=dim(L)−1=n−k. 于是
dim(L)=n−k+1minx∈L,∥x∥2=1,x⊥ekmax∥Ax∥2≥dim(L~)=n−k+1或dim(L~)=n−kminx~∈L~,∥x~∥2=1max∥A1x~∥2. 又
dim(L~)=n−k+1minx~∈L~,∥x~∥2=1max∥A1x~∥2≥dim(L~)=n−kminx~∈L~,∥x~∥2=1max∥A1x~∥2, 且 A1∈Cm×(n−1) ,所以
σk(A)≥mindim(L)=n−k+1maxx∈L,∥x∥2=1,x⊥ek∥Ax∥2≥mindim(L~)=(n−1)−k+1maxx~∈L~,∥x~∥2=1∥A1x~∥2=σk(A1). 同理可得
σk+1(A)=maxdim(L)=k+1minx∈L,∥x∥2=1∥Ax∥2≤maxdim(L)=k+1minx∈L,∥x∥2=1,x⊥ek∥Ax∥2≤maxdim(L~)=kminx~∈L~,∥x~∥2=1∥A1x~∥2=σk(A1). 我们注意到, 在前面的证明中, 并没有要求 m≥n . 因此对于 m<n 的情形, 上面的结论仍然成立.
如果 A1 是由 A 中去除第 k 行后的子矩阵. 由于 A∗ 与 A 具有相同的奇异值, 因此只需将上面的讨论运用到 A∗ 上即可. □
引理3.20 [74] 设 A∈Cn×n,1≤k≤n, 则对任意的单位列正交矩阵 Uk∈Cn×k 和 Vk∈Cn×k , 有
σi(Uk∗AVk)≤σi(A),i=1,2,…,k.(3.20) 因此,
∣det(Uk∗AVk)∣≤σ1(A)σ2(A)…σk(A).(3.21) (板书)
证明. 我们将 Uk 和 Vk 都扩充成酉矩阵 U∈Cm×m 和 V∈Cn×n , 则 Uk∗AVk 是 U∗AV 的子矩阵. 由引理3.19可知,
σi(Uk∗AVk)≤σi(U∗AV). 又 U∗AV 与 A 有相同的奇异值, 故结论 (3.19) 成立
利用定理3.14中的性质1,即可得到不等式(3.20).
定理3.21 (Weyl不等式, 1949) [74] 设 A∈Cn×n , 其奇异值和特征值分别为 σ1≥σ2≥⋯≥σn≥0 和 ∣λ1∣≥∣λ2∣≥⋯≥∣λn∣ , 则
∣λ1λ2…λk∣≤σ1σ2…σk,k=1,2,…,n 且当 k=n 时,等号成立.
(板书)
证明. 设 A=URU∗ 是 A 的 Schur 分解, 其中 U∈Cn×n 是酉矩阵, R∈Cn×n 是上三角矩阵, 且其对角线元素依次为 λ1,λ2,…,λn . 取 U 的前 k 列组成一个单位列正交矩阵 Uk , 则 Rk≜Uk∗AUk 为 U∗AU=R 的 k 阶顺序主子矩阵, 即 Rk 也是上三角矩阵, 且其对角线元素依次为 λ1,λ2,…,λk . 所以由引理 3.20 可得
∣λ1λ2…λk∣=∣det(Rk)∣=∣det(Uk∗AUk)∣≤σ1σ2…σk. 当 k=n 时,
∣λ1λ2…λn∣=∣det(A)∣=σ1σ2…σn. 
3.4.4 奇异值扰动分析
下面的定理是关于奇异值的一个扰动性质.
定理3.22 [119] 设 A,E∈Cm×n(m≥n) , 则
∣σi(A+E)−σi(A)∣≤∥E∥2,i=1,2,…,n. (留作练习, 可直接利用不等式 (3.18))