고유값분해와 대각화

대각 행렬(diagonal matrix)은 대각선 성분을 제외한 모든 성분의 값이 0인 행렬이다. 즉, 그들은 다음과 같은 형태를 가진다.

$$ D = \begin{bmatrix} c_1 & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & c_n \end{bmatrix} \quad (4.49) $$

대각 행렬은 행렬식, 거듭제곱, 그리고 역행렬의 빠른 계산을 가능하게 한다. 행렬식은 대각 성분들의 곱이고, 행렬의 거듭제곱 $D^k$ 는 각 대각 성분을 $k$ 승 한 것이며, 역행렬 $D^{-1}$ 는 모든 대각 성분이 0이 아닐 때 각 대각 성분의 역수를 취한 것이다.
$\quad$ 이 절에서는 행렬을 대각 형태로 변환하는 방법에 대해 논의할 것이다. 이것은 우리가 2.7.2절에서 논의했던 기저 변경(basis change)과 4.2절의 고유값에 대한 중요한 응용이다.
$\quad$ 두 행렬 $A, D$ 가 어떤 가역 행렬 $P$ 에 대해 $D = P^{-1}AP$ 를 만족한다면, 두 행렬은 서로 닮음(similar)(정의 2.22)이라는 것을 상기하자. 더 구체적으로, 우리는 행렬 $A$ 의 고유값들을 대각선에 포함하는 대각 행렬 $D$ 와 닮음인 행렬 $A$ 를 살펴볼 것이다.

정의 4.19 (대각화 가능). 행렬 $A \in \mathbb{R}^{n \times n}$ 가 대각 행렬과 닮음이라면, 즉 $D = P^{-1}AP$ 를 만족하는 가역 행렬 $P \in \mathbb{R}^{n \times n}$ 가 존재한다면, $A$ 는 대각화 가능(diagonalizable)하다고 한다.

$\quad$ 다음 내용에서, 우리는 행렬 $A \in \mathbb{R}^{n \times n}$ 를 대각화하는 것이 동일한 선형 사상을 표현하되 다른 기저(2.6.1절 참조)에서 표현하는 방법임을 보게 될 것이며, 그 기저는 $A$ 의 고유벡터들로 구성된 기저임이 밝혀질 것이다.
$\quad$ 행렬 $A \in \mathbb{R}^{n \times n}$ 와 스칼라 집합 $\lambda_1, \dots, \lambda_n$ , 그리고 벡터 집합 $p_1, \dots, p_n \in \mathbb{R}^n$ 이 있다고 하자. 우리는 $P := [p_1, \dots, p_n]$ 으로 정의하고, 대각 성분이 $\lambda_1, \dots, \lambda_n$ 인 대각 행렬을 $D \in \mathbb{R}^{n \times n}$ 라고 정의한다. 그러면 우리는 다음이 성립함을 보일 수 있다.

$$ AP = PD \quad (4.50) $$

이 식이 성립할 필요충분조건은 $\lambda_1, \dots, \lambda_n$ 이 $A$ 의 고유값들이고 $p_1, \dots, p_n$ 이 $A$ 의 대응하는 고유벡터들일 때이다.
$\quad$ 우리는 이 명제가 성립함을 다음과 같이 확인할 수 있다.

$$ AP = A[p_1, \dots, p_n] = [Ap_1, \dots, Ap_n] \quad (4.51) $$
$$ PD = [p_1, \dots, p_n] \begin{bmatrix} \lambda_1 & & 0 \\ & \ddots & \\ 0 & & \lambda_n \end{bmatrix} = [\lambda_1 p_1, \dots, \lambda_n p_n] \quad (4.52) $$

따라서, (4.50)은 다음을 의미한다.

$$ Ap_1 = \lambda_1 p_1 $$
$$ \vdots $$
$$ Ap_n = \lambda_n p_n \quad (4.54) $$

그러므로, $P$ 의 열들은 반드시 $A$ 의 고유벡터여야 한다.
$\quad$ 우리의 대각화 정의는 $P \in \mathbb{R}^{n \times n}$ 가 가역적일 것, 즉 $P$ 가 풀 랭크(full rank)일 것을 요구한다(정리 4.3). 이것은 우리가 $n$ 개의 선형 독립인 고유벡터 $p_1, \dots, p_n$ 을 가져야 함을, 즉 $p_i$ 들이 $\mathbb{R}^n$ 의 기저를 형성해야 함을 요구한다.

정리 4.20 (고유값 분해). 정사각 행렬 $A \in \mathbb{R}^{n \times n}$ 는 다음과 같이 분해될 수 있다.

$$ A = PDP^{-1} \quad (4.55) $$

여기서 $P \in \mathbb{R}^{n \times n}$ 이고 $D$ 는 $A$ 의 고유값들을 대각 성분으로 갖는 대각 행렬이다. 이 분해는 $A$ 의 고유벡터들이 $\mathbb{R}^n$ 의 기저를 형성할 때에만(if and only if) 가능하다.

$\quad$ 정리 4.20은 오직 결함이 없는(non-defective) 행렬만이 대각화될 수 있으며, $P$ 의 열들은 $A$ 의 $n$ 개의 고유벡터들임을 의미한다. 대칭 행렬에 대해서는 고유값 분해에 대해 훨씬 더 강력한 결과를 얻을 수 있다.

정리 4.21. 대칭 행렬 $S \in \mathbb{R}^{n \times n}$ 은 항상 대각화 가능하다.

$\quad$ 정리 4.21은 스펙트럴 정리 4.15로부터 직접적으로 따라온다. 게다가 스펙트럴 정리는 우리가 $\mathbb{R}^n$ 의 고유벡터들로 이루어진 정규 직교 기저(ONB)를 찾을 수 있다고 명시한다. 이것은 $P$ 를 직교 행렬로 만들며, 따라서 $D = P^\top A P$ 가 된다.
참고. 행렬의 조르단 표준형(Jordan normal form)은 결함이 있는 행렬에 대해서도 작동하는 분해법을 제공하지만, 이 책의 범위를 벗어난다.

고유값분해의 기하학적 직관

우리는 행렬의 고유값 분해를 다음과 같이 해석할 수 있다(그림 4.7 참조). $A$ 를 표준 기저 $e_i$ (파란색 화살표)에 대한 선형 사상의 변환 행렬이라고 하자. $P^{-1}$ 는 표준 기저로부터 고유 기저(eigenbasis)로의 기저 변경(basis change)을 수행한다. 그런 다음, 대각 행렬 $D$ 는 이 축들을 따라 고유값 $\lambda_i$ 만큼 벡터들을 스케일링(확대/축소)한다. 마지막으로, $P$ 는 이렇게 스케일링 된 벡터들을 다시 표준/정준(canonical) 좌표계로 변환하여 최종적으로 $\lambda_i p_i$ 를 산출한다.
figure 4.7.png
그림 4.7 (고유값 분해를 순차적 변환으로 이해하기)

  • 좌측 상단에서 좌측 하단으로 ( $P^{-1}$ ):표준 기저에서 고유 기저로의 기저 변경을 수행한다. ( $\mathbb{R}^2$ 공간에서 회전과 유사한 연산으로 묘사됨)
  • 좌측 하단에서 우측 하단으로 ( $D$ ): 재매핑된 직교 고유벡터들을 따라 스케일링을 수행한다. 여기서는 원이 타원으로 늘어나는 것으로 묘사된다.
  • 우측 하단에서 우측 상단으로 ( $P$ ): 기저 변경을 되돌리고(역회전으로 묘사됨) 원래의 좌표 프레임으로 복원한다.

예제 4.11 (고유값 분해 계산)

행렬 $A = \frac{1}{2} \begin{bmatrix} 5 & -2 \ -2 & 5 \end{bmatrix}$ 의 고유값 분해를 계산해보자.

1단계: 고유값과 고유벡터 계산. $A$ 의 특성 다항식은 다음과 같다.

$$ \det(A - \lambda I) = \det\left( \begin{bmatrix} \frac{5}{2} - \lambda & -1 \\ -1 & \frac{5}{2} - \lambda \end{bmatrix} \right) \quad (4.56a) $$
$$ = (\frac{5}{2} - \lambda)^2 - 1 = \lambda^2 - 5\lambda + \frac{21}{4} = (\lambda - \frac{7}{2})(\lambda - \frac{3}{2}) \quad (4.56b) $$

따라서 $A$ 의 고유값은 $\lambda_1 = \frac{7}{2}$ 와 $\lambda_2 = \frac{3}{2}$ 이다(특성 다항식의 해). 연관된 (정규화된) 고유벡터는 다음과 같이 얻을 수 있다.

$$ Ap_1 = \frac{7}{2}p_1, \quad Ap_2 = \frac{3}{2}p_2 \quad (4.57) $$

이것은 다음을 산출한다.( $\to$ 식 (4.57)을 전부 좌변으로 이항하여 동차방정식 $(A-\lambda_i I)p_i=0$ 을 만족하는 $p_i$ 를 구하고 정규화한다.)

$$ p_1 = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ -1 \end{bmatrix}, \quad p_2 = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 1 \end{bmatrix} \quad (4.58) $$

2단계: 존재 여부 확인. 고유벡터 $p_1, p_2$ 는 $\mathbb{R}^2$ 의 기저를 형성한다. 따라서 $A$ 는 대각화 가능하다.

3단계: $A$ 를 대각화하는 행렬 $P$ 구성. 우리는 $A$ 의 고유벡터들을 $P$ 에 모은다.

$$ P = [p_1, p_2] = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ -1 & 1 \end{bmatrix} \quad (4.59) $$

그러면 우리는 다음을 얻는다.

$$ P^{-1}AP = \begin{bmatrix} \frac{7}{2} & 0 \\ 0 & \frac{3}{2} \end{bmatrix} = D \quad (4.60) $$

동등하게, 우리는 다음을 얻는다. (이 예제에서 고유벡터 $p_1, p_2$ 가 정규 직교 기저(ONB)를 형성하므로 $P^{-1} = P^\top$ 임을 이용).

$$ \underbrace{\frac{1}{2} \begin{bmatrix} 5 & -2 \\ -2 & 5 \end{bmatrix}}_{A} = \underbrace{\frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ -1 & 1 \end{bmatrix}}_{P} \underbrace{\begin{bmatrix} \frac{7}{2} & 0 \\ 0 & \frac{3}{2} \end{bmatrix}}_{D} \underbrace{\frac{1}{\sqrt{2}} \begin{bmatrix} 1 & -1 \\ 1 & 1 \end{bmatrix}}_{P^{-1}} \quad (4.61) $$

$\to$ 그림 4.7은 $A$ 의 고유값 분해를 일련의 선형 변환으로 시각화한다.

  • 대각 행렬 $D$ 는 거듭제곱을 효율적으로 할 수 있다. 따라서 우리는 고유값 분해(존재한다면)를 통해 행렬 $A \in \mathbb{R}^{n \times n}$ 의 거듭제곱을 다음과 같이 찾을 수 있다.
$$ A^k = (PDP^{-1})^k = PD^k P^{-1} \quad (4.62) $$
 $D^k$ 를 계산하는 것은 효율적인데, 왜냐하면 우리는 이 연산을 대각 성분들에 개별적으로 적용하기 때문이다.   - 고유값 분해  $A = PDP^{-1}$ 가 존재한다고 가정하자. 그러면,
$$ \det(A) = \det(PDP^{-1}) = \det(P)\det(D)\det(P^{-1}) \quad (4.63a) $$
$$ = \det(D) = \prod_i d_{ii} \quad (4.63b) $$
이것은  $A$ 의 행렬식에 대한 효율적인 계산을 가능하게 한다.    $\quad$  고유값 분해는 정사각 행렬을 요구한다. 일반적인 행렬에 대해서도 분해를 수행하는 것은 유용할 것이다. 다음 절에서 우리는 더 일반적인 행렬 분해 기법인 특이값 분해(singular value decomposition)를 소개한다.