고유값 분해와 대각화
Chapter 4 : Eigendecomposition and Diagonalization
대각화
대각행렬(Diagonal matrix)은 행렬의 대각성분이 아닌 성분이 모두 0인 행렬이다.
\[D=\left[\begin{array}{lll} c_1 & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & c_n \end{array}\right]\]대각행렬은 행렬식, 제곱, 역행렬 등의 계산이 용이하다.
\[det(D) = \sum_{i=1}^{n} c_i\] \[D^k = D=\left[\begin{array}{lll} c_1^k & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & c_n^k \end{array}\right]\] \[D^{-1} = D=\left[\begin{array}{lll} \frac{1}{c_1} & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & \frac{1}{c_n} \end{array}\right]\]대각행렬의 성질을 사용하기 위해 어떤 행렬을 대각화(diagonalization)할 수 있다.
\[D = P^{-1}AP\]행렬이 대각화가 가능(Diagonalizable)하기 위해서는
- 행렬 $A$가 정사각행렬이다.
- 행렬 $A$에 대해 $D=P^{-1}AP$ 꼴을 만족하는 가역행렬(Invertible matrix) $P$가 존재한다.
$P$ is invertible == $P$ has full rank == $ \boldsymbol{ {p_i} }$ form a basis of $R^n$
대각화의 계산 과정을 살펴보자.
대각행렬 $D$와 가역행렬 $P$에 대해서
\[P = \left[\begin{array}{lll} \mid & & \mid \\ \bold{p_1} & \ldots & \bold{p_n} \\ \mid & & \mid \end{array}\right]\] \[D = \left[\begin{array}{lll} \lambda_1 & & 0 \\ & \ddots & \\ 0 & & \lambda_n \end{array}\right]\]대각화의 계산식은 아래와 같다.
\[AP = PD \\ A\left[\begin{array}{lll} p_1 & \ldots & p_n \end{array}\right] = \left[\begin{array}{lll} p_1 & \ldots & p_n \end{array}\right] \left[\begin{array}{lll} \lambda_1 & & 0 \\ & \ddots & \\ 0 & & \lambda_n \end{array}\right] \\ \left[\begin{array}{lll} Ap_1 & \ldots & Ap_n \end{array}\right] = \left[\begin{array}{lll} \lambda_1 p_1 & \ldots & \lambda_np_n \end{array}\right]\]즉 $P$의 모든 열벡터 $\bold{p_i}$와 대각행렬의 원소 $\lambda_i$에 대해 아래 식을 만족한다.
\[A\bold{p_i} = \lambda_i\bold{p_i}\]이 등식은 이전 장에서 살펴보았던 고유방적식과 동일함을 알 수 있다.
따라서 행렬 $A$의 고유벡터를 열벡터로 하는 행렬 $P$, 고유값을 대각원소로 하는 대각행렬 $D$를 통해 대각화 과정이 이루어짐을 알 수 있다.
행렬 $A$에 대각화를 적용하여 분해하는 방식을 고유값분해(eigendecomposition)이라고 하는 이유가 여기에 있다.
고유값분해 역시 위의 대각화 가능 조건에서처럼 행렬의 eigenvector를 열벡터로 갖는 행렬 $P$가 가역행렬이어야한다.
\[A = PDP^{-1}\]구하는 법
- 행렬 $A$의 고유값과 고유벡터를 구한다.
- 고유벡터를 열벡터로 하는 행렬 $P$의 계수를 확인하여 행렬 $A$가 대각화 가능한지 확인한다.
- 대각행렬 $D$를 구하여 A를 고유값분해한다.
기하학적 해석
$A=PDP^{-1}$
행렬(선형변환) $A$를 diagonalizing 하는 것 = 다른 basis로 선형변환을 표현 하는 것 ($A$의 eigenvector를 basis로 하는 …)
- 선형변환 A
- P : eigenbasis to standard basis
- D : scaling