행렬 대각화
정사각행렬 $ A $ 와 어떤 가역행렬 $ P $ 에 대하여 $ P^{-1}AP $ 가 대각행렬이 된다면 $ A $ 를 대각화 가능한 행렬(diagonalizalble matrix)이라 하고, $ P $ 는 $ A $ 를 대각화하는 행렬이라 한다.
만약 $ A $ 가 대각행렬이라면 $ P $ 를 $ I $ 로 둠으로써 대각화 가능하다.
이러한 대각화가 가능할 필요충분조건은 $ n $ 차 정사각행렬 $ A $ 가 $ n $ 개의 일차독립인 고유벡터를 갖는 것이다. 이때 $ A $ 는 고윳값 $ \lambda_1, \lambda_2, \cdots, \lambda_n $ 을 주대각성분으로 갖는 대각행렬 $ D $ 와 닮은 행렬이다.
$ A $ 개 대각화 가능한 $ n $ 차 정사각행렬이라할 때 $ P^{-1} A P $ 를 대각행렬로 만드는 가역행렬 $ P $ 를 다음과 같다 가정하자.
$ P = \begin{bmatrix} p_{11} & p_{12} & \cdots & p_{1n} \\ p_{21} & p_{22} & \cdots & p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ p_{n1} & p_{n2} & \cdots & p_{nn} \end{bmatrix} $
또한 이렇게 만들어진 $ P^{-1}AP = D $ 를 다음과 같다고 가정하자.
$ D = \begin{bmatrix} d_1 & 0 & \cdots & 0 \\ d_{21} & d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_n \end{bmatrix} $
그렇다면 $ AP = PD $ 이므로 다음과 같다.
$ AP = \begin{bmatrix} p_{11} & p_{12} & \cdots & p_{1n} \\ p_{21} & p_{22} & \cdots & p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ p_{n1} & p_{n2} & \cdots & p_{nn} \end{bmatrix} \begin{bmatrix} d_1 & 0 & \cdots & 0 \\ d_{21} & d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_n \end{bmatrix} = \begin{bmatrix} d_1 p_{11} & d_2 p_{12} & \cdots & d_n p_{1n} \\ d_1 p_{21} & d_2 p_{22} & \cdots & d_n p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ d_1 p_{n1} & d_2 p_{n2} & \cdots & d_n p_{nn} \end{bmatrix} $
만약 $ P$ 의 열벡터를 $ \mathbf{p_1}, \mathbf{p_2}, \cdots, \mathbf{p_n} $ 이라 하면 $ AP $ 의 열벡터는 $ d_1 \mathbf{p_1}, d_2 \mathbf{p_2}, \cdots, d_n \mathbf{p_n} $ 이므로 다음이 성립한다.
$ A \mathbf{p_1} = d_1 \mathbf{p_1} , A \mathbf{p_2} = d_2 \mathbf{p_2} , \cdots, A\mathbf{p_n} = d_n \mathbf{p_n} $
즉 $ d_1, d_2, \cdots, d_n $ 은 고윳값이고, $ \mathbf{p_1}, \mathbf{p_2}, \cdots, \mathbf{p_n} $ 은 각 $ d_1, d_2, \cdots, d_n $ 에 대응하는 $ A $ 의 고유벡터이다. 그런데 $ P $ 가 가역이어야 하므로 이러한 $ n $ 개의 고유벡터는 일차독립이다. 이때 $ d_1, d_2, \cdots, d_n $ 은 고유값이므로 $ \lambda_1, \lambda_2, \cdots, \lambda_n $ 으로 나타낼 수 있다.
반면 $ A $ 의 고윳값 $ \lambda_1, \lambda_2, \cdots, \lambda_n $ 에 대응하는 일차독립인 고유벡터를 $ \mathbf{p_1}, \mathbf{p_2}, \cdots, \mathbf{p_n} $ 이라 하고 이를 열벡터로 갖는 행렬을 다음과 같이 나타낼 수 있다.
$ P = \begin{bmatrix} \mathbf{p_1} & \mathbf{p_2} & \cdots & \mathbf{p_n} \end{bmatrix} = \begin{bmatrix} p_{11} & p_{12} & \cdots & p_{1n} \\ p_{21} & p_{22} & \cdots & p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ p_{n1} & p_{n2} & \cdots & p_{nn} \end{bmatrix} $
그렇다면 $ AP $ 는 $ \begin{bmatrix} A \mathbf{p_1} &A \mathbf{p_2} & \cdots & A \mathbf{p_n} \end{bmatrix} $ 이므로 다음과 같다.
$ AP = \begin{bmatrix} \lambda_1 \mathbf{p_1} & \lambda_2 \mathbf{p_2} & \cdots & \lambda_n \mathbf{p_n} \end{bmatrix} = \begin{bmatrix} \mathbf{p_1} & \mathbf{p_2} & \cdots & \mathbf{p_n} \end{bmatrix} \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix} = PD $
이때 $ D $ 는 $ A $ 의 고윳값 $ \lambda_1, \lambda_2, \cdots, \lambda_n $ 을 주대각성분으로 갖는 대각행렬이고, $ P $ 의 열벡터는 일차독립이므로 $ P $ 는 가역이다. 즉 다음이 성립하고, $ A $ 의 대각화가 가능하다.
$ P^{-1} A P = D $
대각화는 가능한 $ n $ 차 정사각행렬 $ A $ 에 대한 대각화는 먼저 $ A $ 의 $ n $ 개의 일차독립인 고유벡터 $ \mathbf{p_1}, \mathbf{p_2} , \cdots, \mathbf{p_n} $ 을 구하고, 이 고유벡터를 열벡터로 가지는 행렬 $ P $ 를 만든다. 이 행렬 $ P $ 의 열벡터가 독립이기 때문에 $ P $ 는 가역행렬이다. 그렇다면 $ P ^{-1} A P $ 는 $ A $ 의 고윳값 $ \lambda_1, \lambda_2, \cdots, \lambda_n $ 을 주대각성분으로 하는 대각행렬 $ D $ 이다.
만약 $ A $ 가 서로다른 고윳값이 $ n $ 개를 가진다면 이 서로다른 고윳값의 고유벡터가 일차독립이므로 무조건 대각화 가능한 행렬이고, 서로 다른 고윳값이 $ n $ 개 미만이라면 일차독립인 고유벡터의 개수를 확인해야 한다. $ A $ 의 특성다항식은 $ \lambda_i $ $(i = 1, 2, \dots, k) $ 가 $ A $ 의 고윳값일 때 $ (\lambda - \lambda_i )$로 나타낼 수 있으므로 다음과 같다.
$$ | \lambda I_n - A | = (\lambda - \lambda_1)^m_1 (\lambda - \lambda_2)^m_2 \cdots (\lambda - \lambda_k)^m_k $$
이때 $ m_1, m_2, \cdots, m_k $ 의 합은 $ n $ 이고, $ m_i $ 를 $ \lambda_i $ 의 중복도(multiplicity)라 한다.
만약 하나의 고윳값의 고유벡터 두개가 서로 독립이고, 이를 통해서 행렬을 대각화했다면 그 고윳값의 중복도는 $ 2 $ 일 것이다.
행렬의 거듭제곱
어떤 행렬의 거듭제곱을 구할 때 그 행렬이 대각화 가능한 행렬이라면 효율적으로 거듭제곱을 계산할 수 있다.
만약 $ A $ 가 $ n $ 차 정사각행렬이고 대각화 가능한 행렬이고, 고윳값 $ \lambda_1, \lambda_2, \cdots, \lambda_n $ 에 대응하면 고유벡터 $ \mathbf{p_1}, \mathbf{p_2}, \cdots, \mathbf{p_n} $ 을 가진다면 이 고유벡터를 열벡터로 하는 가역행렬 $ P $ 를 사용하여 $ P^{-1}AP = D $ 를 만들 수 있고, 이때 $ D = \operatorname{diag} \{ \lambda_1, \lambda_2, \cdots , \lambda_n \} $ 이고, $ A = PDP^{-1} $ 이다. 즉 다음이 성립한다.
$$ \begin{align} A^k & = (PDP^{-1})^k \\ \\ &= (PDP^{-1}) (PDP^{-1}) \cdots (PDP^{-1}) \\ \\ &= PD(P^{-1}P) D (P^{-1}P) D (P^{-1} \cdots P) D (P^{-1}P) D P^{-1} \\ \\ & = PD^k P^{-1} \end{align} $$
이떄 $ D^k = \operatorname{diag} \{ \lambda_1^k, \lambda_2^k, \cdots , \lambda_n^k \} $ 이므로 $ A^k $ 를 효율적으로 계산할 수 있다.