完全な特異値分解の存在証明
📂行列代数完全な特異値分解の存在証明
概要
固有値の対角化 は正方行列であるという制限があったが、特異値分解 (SVD) にはそのような制約はなかった。
このような便利な分解法が全ての行列に通用するか、つまり分解の存在を明らかにすることは非常に重要な問題だと言える。
定理
3つの自然数 m≥n≥r=rankA に対して、行列 A∈Rm×n はSVDを持つ。
証明
任意のベクトル x=0 に対して xTATAx=∣∣Ax∣∣2>0 であるから、ATA の固有値 σi2 は i≤r において正、i>r において 0 である。便宜のため
σ1≥σ2≥⋯≥σr>0=σr+1=⋯=σn
と置き、対角行列 S:=diag(σ1,σ2,⋯,σr) を定義する。互いに直交正規である v1,v2,⋯,vn がそれぞれ σ1,σ2,⋯,σn に対応するとすると
ATAvi=σi2vi
次に
V1:=[v1v2⋯vr]V2:=[vr+1vr+2⋯vn]
を構成すると
V:=[V1V2]
は直交行列である。V1 に対して ATAV1=V1S2 であり、双方に V1T を掛けると
V1TATAV1=V1TV1S2=S2
ここで U1:=AV1S−1 とすると
U1TAV1=(AV1S−1)TAV1=S−1(AV1)TAV1=S−1⋅S2=S
V2 に対して σr+1=⋯=σn=0 であるから
ATAV2=V2O=0
であり、双方に V2T を掛けると
V2TATAV2=∥AV2∥2=0
これで
U:=[U1U2]
が直交行列になるように U2 を定義すると U2TU1=0 であり、AV1=U1S の双方に U2T を掛けると
U2TAV1=U2TU1S=0
一方
U1TU1=(AV1S−1)T(AV1S−1)=SV1TATAVS−1=I
であるから U1∈Rm×r は直交正規ベクトルで構成されている。しかし U1 が直交行列であることを示したわけではないので U1U1T=I は分からず、AV1=U1S をする必要があるのは次のとおり。
⟺AV1=U[SO]=[U1U2][SO]=U1SUTAV1=[U1TU2T]AV1=[U1TAV1U2TAV1]=[SO]
最後に Σ:=[SOOO]∈Rm×m を定義すると、
AV=====A[V1V2][AV1AV2][U1SO][U1U2][SOOO]UΣ
結果として A=UΣVT=U1SV1T、すなわちSVDを得る。
■
一般化
定理の条件は A∈Rm×n だが、実際には A∈Cm×n に一般化可能である。