Skip to main content

Section 7.3 특잇값분해: \(A=U\Sigma V^\operatorname T\)

Subsection 7.3.1 \(A^\operatorname TA\)의 고윳값

\(A\)의 열이 선형독립이면 \(A^\operatorname TA\)가 양정부호임을 명제 7.2.8으로 안다. 그리고 양정부호 행렬은 명제 7.2.5에 따르면 모두 고윳값이 양수이다. 일반적인 행렬 \(A\)의 경우는 어떨까?

관찰 7.3.1. \(A^\operatorname TA\)의 고윳값은 음이 아닌 실수.

\(A^\operatorname TA\)는 대칭이므로 명제 7.1.1에 의하여 고윳값은 실수이다. \(\boldsymbol x\)를 고유벡터라 하자. \(A^\operatorname TA\boldsymbol x = \lambda \boldsymbol x\)이면 좌변에 \(\boldsymbol x^\operatorname T\)를 곱하여 \(\boldsymbol x^\operatorname TA^\operatorname TA\boldsymbol x = \lambda \boldsymbol x\)를 얻고, \(\lambda\)에 관하여 정리하면
\begin{equation*} \lambda = \frac{|\!|A\boldsymbol x|\!|}{|\!|\boldsymbol x|\!|} \end{equation*}
를 얻는다. 이로부터 \(\lambda \ge 0\)를 얻는다.
\(A^\operatorname TA\)의 영이 아닌 고윳값의 개수는 중복도를 고려하면 \(A\)의 랭크와 같다. \(A\)의 랭크를 \(r\)이라 하면 크기 순으로 나열한 \(A^\operatorname TA\)의 영 아닌 고윳값을 \(\lambda_1 \ge \cdots \ge \lambda_r >0\)이라 하자. 양수이므로 제곱근을 취해 \(\sigma_i:=\sqrt{\lambda_i}\)라 하면 크기 순서는 유지되어
\begin{equation*} \sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_r > 0 \end{equation*}
이다.

정의 7.3.2.

크기 순으로 나열된 양수 \(\sigma_1,\cdots,\sigma_r\)을 행렬 \(A\)특잇값이라고 한다.

예시 7.3.3. \(2\times 2\)행렬의 특잇값.

\(A=\begin{bmatrix}0 \amp 1 \\ 0 \amp 0\end{bmatrix}\)의 특잇값을 구해보자.

예시 7.3.4. \(2\times 3\)행렬의 특잇값.

\(A=\begin{bmatrix}0 \amp 2 \amp 0 \\ 0 \amp 0 \amp 3 \end{bmatrix}\)의 특잇값을 구해보자.
특잇값을 쉽게 알 수 있는 행렬로는 대각행렬이 있다.
특잇값을 쉽게 알 수 있는 다른 행렬 종류로는 정사영이 있다.

Subsection 7.3.2 특잇값분해

\(A\)를 랭크 \(r\)행렬이라 하고, 특잇값을 성분으로 갖는 대각행렬을
\begin{equation*} \Sigma = \begin{bmatrix}\sigma_1\amp0\amp\cdots\amp0\\ 0\amp\sigma_2\amp\amp\vdots\\ \vdots\amp\amp\ddots\amp 0\\ 0\amp\cdots\amp0\amp\sigma_r\end{bmatrix} \end{equation*}
으로 나타내자.

정의 7.3.7.

정규직교하는 열벡터를 갖는 두 행렬 \(U,V\)에 대하여
\begin{equation*} A=U\Sigma V^\operatorname T \end{equation*}
\(A\)특잇값분해라고 한다.
주어진 행렬의 특잇값분해를 어떻게 찾을까?
\begin{equation*} A=U\Sigma V^\operatorname T \end{equation*}
라면
\begin{equation*} A^\operatorname TA = V \Sigma^\operatorname T U^\operatorname TU\Sigma V^\operatorname T \end{equation*}
인데 특잇값분해의 조건으로부터 \(U\)의 열벡터는 정규직교하므로 \(U^\operatorname TU=I\)이다. 따라서
\begin{equation*} A^\operatorname TA = V \Sigma^2 V^\operatorname T \end{equation*}
이다. 한편, \(V^\operatorname TV=I\)도 성립하므로, 위 식을 변형하면
\begin{equation} A^\operatorname TA V= V\Sigma^2 \tag{7.3.1} \end{equation}
이 된다. 특잇값의 제곱이 \(A^\operatorname TA\)의 고윳값인 것을 정의 7.3.2에서 상기하자.

증명.

(7.3.1)\(k\)열을 읽으면 \(A^\operatorname TA \boldsymbol v_k = \lambda_k \boldsymbol v_k\)이다.
이번에는 \(U\)를 살펴보기 위하여 \(AA^\operatorname T\)를 계산해보자. 비슷한 과정을 통해
\begin{equation} AA^\operatorname TU= U\Sigma^2\tag{7.3.2} \end{equation}
를 얻는다.

증명.

명제 7.3.9명제 7.3.8에서 \(U\)\(V\)의 열벡터를 고유벡터로 해석하였다. 사실 두 행렬 중 하나를 알면 다른 하나를 알 수 있다. 그 이유는 \(V^\operatorname TV=I\)에서
\begin{equation*} A=U\Sigma V^\operatorname T \Rightarrow AV=U \Sigma \end{equation*}
를 얻고, \(\Sigma\)가 가역이므로 역행렬을 곱하면
\begin{equation*} AV\Sigma^{-1}=U \end{equation*}
이기 때문이다.

예시 7.3.10. \(2 \times 2\) 특잇값분해.

행렬 \(\begin{bmatrix}0 \amp 1 \\ 0 \amp 0\end{bmatrix}\)의 특잇값분해는
\begin{equation*} \begin{bmatrix}0 \amp 1 \\ 0 \amp 0\end{bmatrix} = \begin{bmatrix}1 \\ 0\end{bmatrix} \begin{bmatrix}1 \end{bmatrix} \begin{bmatrix}0 \amp 1\end{bmatrix} \end{equation*}
이다.

예시 7.3.11. \(2 \times 3\) 특잇값분해.

행렬 \(\begin{bmatrix}1 \amp 1 \amp 0 \\ 0 \amp 0\amp 1\end{bmatrix}\) 의 특잇값분해는
\begin{equation*} \begin{bmatrix}1 \amp 1 \amp 0 \\ 0 \amp 0\amp 1\end{bmatrix} = \begin{bmatrix}1 \amp 0 \\ 0 \amp 1\end{bmatrix} \begin{bmatrix} \sqrt 2 \amp 0 \\ 0 \amp 1 \end{bmatrix} \begin{bmatrix}1/\sqrt 2 \amp 1 / \sqrt 2 \amp 0 \\ 0 \amp 0 \amp 1\end{bmatrix} \end{equation*}
이다.

예시 7.3.12. \(3 \times 2\) 특잇값분해.

행렬 \(\begin{bmatrix}1 \amp 0 \\ 0 \amp 1 \\1 \amp 1\end{bmatrix}\) 의 특잇값분해는
\begin{equation*} \begin{bmatrix}1 \amp 0 \\ 0 \amp 1 \\1 \amp 1\end{bmatrix} = \begin{bmatrix}1/\sqrt 6 \amp 1/\sqrt 2 \\ 1/\sqrt 6 \amp -1/\sqrt 2\\ 2 / \sqrt 6 \amp 0\end{bmatrix} \begin{bmatrix} \sqrt 3 \amp 0 \\ 0 \amp 1 \end{bmatrix} \left(\frac{1}{\sqrt 2}\begin{bmatrix}1 \amp 1 \\ 1 \amp -1\end{bmatrix}\right) \end{equation*}

예시 7.3.13. \(4 \times 3\) 특잇값분해.

행렬 \(\begin{bmatrix}0 \amp 0 \amp 1 \\ 0 \amp 0 \amp 0 \\ 0 \amp 0 \amp 0 \\ 1 \amp 0 \amp 0\end{bmatrix}\) 의 특잇값분해는
\begin{equation*} \begin{bmatrix}0 \amp 0 \amp 1 \\ 0 \amp 0 \amp 0 \\ 0 \amp 0 \amp 0 \\ 1 \amp 0 \amp 0\end{bmatrix} = \begin{bmatrix}0 \amp 1 \\ 0 \amp 0 \\ 0 \amp 0 \\ 1 \amp 0\end{bmatrix} \begin{bmatrix} 1\amp 0 \\ 0 \amp 1 \end{bmatrix} \begin{bmatrix}0\amp 0 \amp 1\\ 1 \amp 0 \amp 0\end{bmatrix} \end{equation*}
이다. 이 경우, 특잇값분해는 유일하지 않으며 일반적으로 적당한 각 \(\theta\)에 대하여
\begin{equation*} \begin{bmatrix}0 \amp 0 \amp 1 \\ 0 \amp 0 \amp 0 \\ 0 \amp 0 \amp 0 \\ 1 \amp 0 \amp 0\end{bmatrix} = \begin{bmatrix}-\cos \theta \amp \sin \theta \\ 0 \amp 0 \\ 0 \amp 0 \\ \sin \theta \amp \cos \theta \end{bmatrix} \begin{bmatrix} 1\amp 0 \\ 0 \amp 1 \end{bmatrix} \begin{bmatrix} \sin \theta \amp 0 \amp \cos \theta \\ -\cos \theta \amp 0 \amp \sin \theta \end{bmatrix} \end{equation*}
도 주어진 행렬의 특잇값분해이다.

정의 7.3.14.

특잇값분해 \(U^\operatorname TAV=\Sigma \)에서 \(U\)의 열벡터를 좌특이벡터, \(V\)의 열벡터를 우특이벡터라 한다.

Subsection 7.3.3 첫 특잇값 \(\sigma_1\)

레일레이몫이란 영 아닌 벡터 \(\boldsymbol x\)에 대응하는 몫
\begin{equation*} \frac{|\!|A \boldsymbol x|\!|}{|\!|\boldsymbol x|\!|} \end{equation*}
을 말한다.

증명.

첫 우특이벡터를 \(\boldsymbol v_1\)이라 하자. 대응되는 레일레이몫을 계산해보자. \(\boldsymbol v_1\)\(A^\operatorname T A\)의 고유벡터로 고윳값은 \(\sigma_1^2\)이므로
\begin{equation*} |\!|A\boldsymbol v_1 |\!|^2 = |\!|\boldsymbol v_1 ^\operatorname T A^\operatorname T A \boldsymbol v_1|\!|= \sigma_1^2 \end{equation*}
이다. 따라서,
\begin{equation*} \frac{|\!|A\boldsymbol v_1 |\!|}{|\!| \boldsymbol v_1|\!|}=\sigma_1 \end{equation*}
이다.
\(\sigma_1\)이 최댓값임을 보이자. 임의의 \(\boldsymbol x\)에 대해
\begin{equation*} |\!| A\boldsymbol x |\!|^2 \le \sigma_1^2 |\!|\boldsymbol x |\!|^2 \end{equation*}
를 보이면 충분하다. \(\boldsymbol x\)\(\operatorname C(A^\operatorname TA)\)로 정사영한 것을 \(\boldsymbol v\)라 하고
\begin{equation*} \boldsymbol x = \boldsymbol v + \boldsymbol n \end{equation*}
으로 분해하자. 이 때 \(\boldsymbol n\)\(\ker (A)\)의 원소이다.
\begin{equation*} A\boldsymbol x = A\boldsymbol v \end{equation*}
이고
\begin{equation*} |\!|\boldsymbol v |\!|^2 \le |\!|\boldsymbol x |\!|^2 \end{equation*}
이므로
\begin{equation} |\!| A\boldsymbol v |\!|^2 \le \sigma_1^2 |\!|\boldsymbol v |\!|^2\tag{7.3.3} \end{equation}
를 보이자. \(\boldsymbol v\)를 특이벡터의 선형결합으로
\begin{equation*} \boldsymbol v = a_1 \boldsymbol v_1 + \cdots + a_r \boldsymbol v_r \end{equation*}
로 표현하자. 특이벡터의 정의로부터
\begin{equation*} A^\operatorname TA \boldsymbol v = a_1 \sigma_1^2 \boldsymbol v_1 + \cdots + a_r \sigma_r^2 \boldsymbol v_r \end{equation*}
를 얻고, 특이벡터들이 정규직교하는 성질로부터
\begin{equation*} \boldsymbol v^\operatorname TA^\operatorname TA \boldsymbol v = (a_1\sigma_1)^2+\cdots+(a_r\sigma_r)^2 \end{equation*}
를 얻는다. 원하는 부등식 (7.3.3)
\begin{equation*} (a_1\sigma_1)^2+\cdots+(a_r\sigma_r)^2 \le \sigma_1^2(a_1^2+\cdots+a_r^2) \end{equation*}
과 동치인데, 이는 \(\sigma_1\ge \sigma_2 \ge \cdots \ge \sigma_r\)이므로 성립한다.

Subsection 7.3.4 특잇값과 고윳값

증명.

\(A\boldsymbol x = \lambda \boldsymbol x\)이면 \(\boldsymbol x\)의 레일레이몫은 \(|\lambda|\)이다. 명제 7.3.15에 의하여 \(|\lambda|\le\sigma_1\)이다.

Subsection 7.3.5 특잇값분해의 기하학적 의의

가역행렬의 특잇값분해는 직교행렬-대각행렬-직교행렬 형태이다. 직교행렬은 등장변환을 나타냄을 상기하자.

보조설명 7.3.17. 일반적인 행렬의 경우.

일반적인 행렬의 특잇값분해는 정사영-대각행렬-등장변환 분해이다.

Subsection 7.3.6 준정부호

정의 7.3.18.

양의 준정부호 행렬이란 다음 조건을 만족하는 행렬 \(S\)를 말한다.
  • \(S\)는 대칭
  • 임의의 \(\boldsymbol x\)에 대하여 \(\boldsymbol x^\operatorname TS\boldsymbol x \ge 0\)

Subsection 7.3.7 완전특잇값분해

\(A^\operatorname TA\)의 정규직교하는 고유벡터를 모두 사용해 \(A\)를 분해할 수도 있다. 이렇게 얻은 분해를 완전특잇값분해라고 한다.