본문 바로가기
프로그래머를 위한 선형대수/고윳값, 대각화, 요르단 표준형 - 폭주 위험

4.4.2 좋은 변환을 구하는 방법

by 지식광부키우기 2019. 9. 3.

$P^{-1}AP$가 대각이란 P가 잘 만들어질까?

 

대부분의 정방행렬 A라면 만들 수 있다!

 

P를 종벡터로 분해하여 생각해본다.

 

$P=(\mathbf{p_1},...,\mathbf{p_n})$

 

'n차원의 종벡터를 n개 나열한 것'

 

목적

 

$P^{-1}AP\equiv \Lambda = diag(\lambda _{1}, ..., \lambda _{n})$

 

와 같이 대각이 되는 좋은 P를 발견하는 것. 이 식을 조금 변형하면 $AP = P\Lambda$, 즉

 

$A(\mathbf{p_1},...,\mathbf{p_n}) = (\mathbf{p_1},...,\mathbf{p_n})\begin{bmatrix}
\\\lambda _{1} &  & \\ 
 &  \ddots & \\ 
 &  & \lambda _{n}
\end{bmatrix}$ (빈칸은 0)

 

이 됩니다. 블록행렬이라 생각하고, 좌변도 우변도 계산하면

 

$(\mathbf{Ap_1},...,\mathbf{Ap_n}) = (\mathbf{\lambda _{1}p_1},...,\mathbf{\lambda _{n}p_n})$

 

이 식을 열별로 보면

 

$A\textbf{p}_{1} = \lambda _{1}\textbf{p}_{1}$ 
             $\vdots$  
$A\textbf{p}_{n} = \lambda _{n}\textbf{p}_{n}$ 

 

이런 좋은 벡터 $\mathbf{p_1},...,\mathbf{p_n}$과 수 $\lambda _{1}, ..., \lambda _{n}$을 구하면 해결

 

$A\textbf{p} = \lambda \textbf{p} $

$\textbf{p} = \textbf{0}$

 

를 만족시키는 수 $\lambda$, 벡터 $\textbf{p}$를 각각 '고윳값, '고유벡터'라고 부릅니다. 

 

좋은 P를 구하기 위해서는 

 

1. A의 고윳값 $\lambda _{1}, ..., \lambda _{n}$과 대응하는 고유벡터 $\textbf{p}_{1}, ...,\textbf{p}_{n}$을 구한다. 

2. 고유벡터를 나열하여 P = $(\textbf{p}_{1}, ...,\textbf{p}_{n})$으로 둔다.

 

와 같이 하면

 

$P^{-1}AP = diag(\lambda_{1}, ..., \lambda _{n})$

 

이 됩니다. '고윳값, 고유벡터란 어떻게 구하는 건가?'가 남았지만 그 문제는 나중에 설명하곘습니다.

 

중요한 것은 '고윳값, 고유벡터를 구하면 폭주 여부를 판정할 수 있다'입니다. 

댓글