logo

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

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

개요

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

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

정리

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

증명

임의의 벡터 $\mathbf{x} \ne \mathbb{0}$ 에 대해 $\mathbf{x}^{T} A^{T} A \mathbf{x} = || A \mathbf{x} || ^2 > 0$ 이므로 $A^{T} A$ 의 고유값 $\sigma_{i}^{2}$ 은 $i \le r$ 에서 양수, $i > r$ 에서 $0$이다. 편의를 위해 $$ \sigma_{1} \ge \sigma_{2} \ge \cdots \ge \sigma_{r}>0 = \sigma_{r+1} = \cdots = \sigma_{n} $$ 이라 두고 대각행렬 $S := \text{diag} ( \sigma_{1} , \sigma_{2} , \cdots , \sigma_{r})$ 을 정의하자. 서로 정규직교인 $\mathbf{v}_{1} , \mathbf{v}_{2} , \cdots , \mathbf{v}_{n}$ 가 각각 $\sigma_{1} , \sigma_{2} , \cdots , \sigma_{n}$ 에 해당한다고 하면 $$ A^{T} A \mathbf{v}_{i} = \sigma_{i}^2 \mathbf{v}_{i} $$ 이제 $$ 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 := \begin{bmatrix} V_{1} & V_{2} \end{bmatrix} $$ 은 직교행렬이다. $V_{1}$ 에 대해 $A^{T} A V_{1} = V_{1} S^2$ 이고 양변에 $V_{1}^{T}$ 를 곱하면 $$ V_{1}^{T} A^{T} A V_{1} = V_{1}^{T} V_{1} S^2 = S^2 $$ 여기서 $U_{1} : = A V_{1} S^{-1}$ 이라고 하면 $$ 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 $$ $V_{2}$ 에 대해 $\sigma_{r+1} = \cdots = \sigma_{n} = 0$ 이므로 $$ A^{T} A V_{2} = V_{2} O = \mathbb{0} $$ 이고 양변에 $V_{2}^{T}$ 를 곱하면 $$ V_{2}^{T} A^{T} A V_{2} = \| A V_{2} \|^2 = 0 $$

이제 $$ U : = \begin{bmatrix} U_{1} & U_{2} \end{bmatrix} $$ 가 직교행렬이 되도록 $U_{2}$ 를 정의하면 $U_{2}^{T} U_{1} = 0$ 이고, $AV_{1} = U_{1} S$ 의 양변에 $U_{2}^{T}$ 를 곱하면 $$ U_{2}^{T} AV_{1} = U_{2}^{T} U_{1} S = 0 $$ 한편 $$ 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 $$ 이므로 $U_{1} \in \mathbb{R}^{m \times r}$ 은 정규직교벡터로 이루어져있다. 하지만 $U_{1}$ 이 직교행렬임을 보인 것은 아니므로 $U_{1} U_{1}^{T} = I$ 임은 알 수 없고 $A V_{1} = U_{1} S$ 임은 다음과 같은 확인이 필요하다. $$ \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*} $$

이제 마지막으로 $\Sigma : = \begin{bmatrix} S & O \\ O & O \end{bmatrix} \in \mathbb{R}^{m \times m}$ 을 정의하면 $$ \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 \Sigma V^{T} = U_{1} S V_{1}^{T}$, 즉 fSVD를 얻는다.

일반화

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