logo

전체 특이값 분해의 존재성 증명 📂행렬대수

전체 특이값 분해의 존재성 증명

개요

고유값 대각화는 적용에 있어서 정방행렬이라는 제한이 있었지만 특이값 분해는 그러한 제약이 없었다.

이렇게 쓸만한 분해법이 모든 행렬에 통하는지, 즉 분해의 존재성을 밝히는 것은 상당히 중요한 문제라고 할 수 있다.

정리

자연수 mnr=rankAm \ge n \ge r = \text{rank} A 에 대해 행렬 ARm×nA \in \mathbb{R}^{m \times n} 는 fSVD를 갖는다.

증명

임의의 벡터 x0\mathbf{x} \ne \mathbb{0} 에 대해 xTATAx=Ax2>0\mathbf{x}^{T} A^{T} A \mathbf{x} = || A \mathbf{x} || ^2 > 0 이므로 ATAA^{T} A 의 고유값 σi2\sigma_{i}^{2}iri \le r 에서 양수, i>ri > r 에서 00이다. 편의를 위해 σ1σ2σr>0=σr+1==σn \sigma_{1} \ge \sigma_{2} \ge \cdots \ge \sigma_{r}>0 = \sigma_{r+1} = \cdots = \sigma_{n} 이라 두고 대각행렬 S:=diag(σ1,σ2,,σr)S := \text{diag} ( \sigma_{1} , \sigma_{2} , \cdots , \sigma_{r}) 을 정의하자. 서로 정규직교인 v1,v2,,vn\mathbf{v}_{1} , \mathbf{v}_{2} , \cdots , \mathbf{v}_{n} 가 각각 σ1,σ2,,σn\sigma_{1} , \sigma_{2} , \cdots , \sigma_{n} 에 해당한다고 하면 ATAvi=σi2vi A^{T} A \mathbf{v}_{i} = \sigma_{i}^2 \mathbf{v}_{i} 이제 V1:=[v1v2vr]V2:=[vr+1vr+2vn] V_1 := \begin{bmatrix} \mathbf{v}_{1} & \mathbf{v}_{2} & \cdots & \mathbf{v}_{r} \end{bmatrix} \\ V_2 := \begin{bmatrix} \mathbf{v}_{r+1} & \mathbf{v}_{r+2} & \cdots & \mathbf{v}_{n} \end{bmatrix} 을 구성하면 V:=[V1V2] V := \begin{bmatrix} V_{1} & V_{2} \end{bmatrix} 직교행렬이다. V1V_{1} 에 대해 ATAV1=V1S2A^{T} A V_{1} = V_{1} S^2 이고 양변에 V1TV_{1}^{T} 를 곱하면 V1TATAV1=V1TV1S2=S2 V_{1}^{T} A^{T} A V_{1} = V_{1}^{T} V_{1} S^2 = S^2 여기서 U1:=AV1S1U_{1} : = A V_{1} S^{-1} 이라고 하면 U1TAV1=(AV1S1)TAV1=S1(AV1)TAV1=S1S2=S U_{1}^{T} A V_{1} = ( A V_{1} S^{-1} )^{T} A V_{1} = S^{-1} (A V_{1})^{T} A V_{1} = S^{-1} \cdot S^2 = S V2V_{2} 에 대해 σr+1==σn=0\sigma_{r+1} = \cdots = \sigma_{n} = 0 이므로 ATAV2=V2O=0 A^{T} A V_{2} = V_{2} O = \mathbb{0} 이고 양변에 V2TV_{2}^{T} 를 곱하면 V2TATAV2=AV22=0 V_{2}^{T} A^{T} A V_{2} = \| A V_{2} \|^2 = 0

이제 U:=[U1U2] U : = \begin{bmatrix} U_{1} & U_{2} \end{bmatrix} 직교행렬이 되도록 U2U_{2} 를 정의하면 U2TU1=0U_{2}^{T} U_{1} = 0 이고, AV1=U1SAV_{1} = U_{1} S 의 양변에 U2TU_{2}^{T} 를 곱하면 U2TAV1=U2TU1S=0 U_{2}^{T} AV_{1} = U_{2}^{T} U_{1} S = 0 한편 U1TU1=(AV1S1)T(AV1S1)=SV1TATAVS1=I U_{1}^{T} U_{1} = ( A V_{1} S^{-1} ) ^{T} ( A V_{1} S^{-1} ) = S V_{1}^{T} A^{T} A V S^{-1} = I 이므로 U1Rm×rU_{1} \in \mathbb{R}^{m \times r} 은 정규직교벡터로 이루어져있다. 하지만 U1U_{1}직교행렬임을 보인 것은 아니므로 U1U1T=IU_{1} U_{1}^{T} = I 임은 알 수 없고 AV1=U1SA V_{1} = U_{1} S 임은 다음과 같은 확인이 필요하다. UTAV1=[U1TU2T]AV1=[U1TAV1U2TAV1]=[SO]    AV1=U[SO]=[U1U2][SO]=U1S \begin{align*} && U^{T} A V_{1} = \begin{bmatrix} U_{1}^{T} \\ U_{2}^{T} \end{bmatrix} A V_{1} = \begin{bmatrix} U_{1}^{T} A V_{1} \\ U_{2}^{T} A V_{1} \end{bmatrix} = \begin{bmatrix} S \\ O \end{bmatrix} \\ \iff & AV_{1} = U \begin{bmatrix} S \\ O \end{bmatrix} = \begin{bmatrix} U_{1} & U_{2} \end{bmatrix} \begin{bmatrix} S \\ O \end{bmatrix} = U_{1} S \end{align*}

이제 마지막으로 Σ:=[SOOO]Rm×m\Sigma : = \begin{bmatrix} S & O \\ O & O \end{bmatrix} \in \mathbb{R}^{m \times m} 을 정의하면 AV=A[V1V2]=[AV1AV2]=[U1SO]=[U1U2][SOOO]=UΣ \begin{align*} AV =& A \begin{bmatrix} V_{1} & V_{2} \end{bmatrix} \\ =& \begin{bmatrix} A V_{1} & A V_{2} \end{bmatrix} \\ =& \begin{bmatrix} U_{1} S & O \end{bmatrix} \\ =& \begin{bmatrix} U_{1} & U_{2} \end{bmatrix} \begin{bmatrix} S & O \\ O & O \end{bmatrix} \\ =& U \Sigma \end{align*} 따라서 A=UΣVT=U1SV1TA = U \Sigma V^{T} = U_{1} S V_{1}^{T}, 즉 fSVD를 얻는다.

일반화

정리의 조건은 ARm×nA \in \mathbb{R}^{m \times n} 이지만 사실 ACm×nA \in \mathbb{C}^{m \times n} 으로 일반화가 가능하다.