정사각행렬(square matrix)의 거듭제곱

written by jjycjn   2018.10.02 02:44
정사각행렬(square matrix) $A$에 대하여 행렬의 거듭제곱을 정의할 수 있다. 예를 들어 $3 \times 3$ 행렬 $A$가
\[ A = \left[ \begin{array}{rrr} 1 & 1 & -1 \\ 3 & -1 & 5 \\ 1 & -1 & 3 \end{array} \right] \]
와 같이 주어졌다고 하자. 그러면
\[ A^2 = \left[ \begin{array}{rrr} 1 & 1 & -1 \\ 3 & -1 & 5 \\ 1 & -1 & 3 \end{array} \right] \left[ \begin{array}{rrr} 1 & 1 & -1 \\ 3 & -1 & 5 \\ 1 & -1 & 3 \end{array} \right] = \left[ \begin{array}{rrr} 3 & 1 & 1 \\ 5 & -1 & 7 \\ 1 & -1 & 3 \end{array} \right] \]
와 같이 직접 계산을 통해 구할 수 있다. 하지만 충분히 큰 양의 정수 $n$에 대하여 $A^n$을 직접 구해야 하는 상황이라면 어떻게 해야 할까?

$ $

$A^n$을 구하는 직접적인 방법 중 하나는, 실제로 $A,\, A^2,\, A^3,\, A^4,\, \ldots$를 직접 구해 나가면서 행렬 $A^n$의 원소가 갖는 패턴을 발견해 내는 것이다. 실제로 위 행렬 $A$부터 시작하여 계속 곱해 보면,
\[ \begin{align*} A &= \left[ \begin{array}{rrr} 1 & 1 & -1 \\ 3 & -1 & 5 \\ 1 & -1 & 3 \end{array} \right], \; & A^2 &= \left[ \begin{array}{rrr} 3 & 1 & 1 \\ 5 & -1 & 7 \\ 1 & -1 & 3 \end{array} \right], \; & A^3 &= \left[ \begin{array}{rrr} 7 & 1 & 5 \\ 9 & -1 & 11 \\ 1 & -1 & 3 \end{array} \right], \\[5px] A^4 &= \left[ \begin{array}{rrr} 15 & 1 & 13 \\ 17 & -1 & 19 \\ 1 & -1 & 3 \end{array} \right], \; & A^5 &= \left[ \begin{array}{rrr} 31 & 1 & 29 \\ 33 & -1 & 35 \\ 1 & -1 & 3 \end{array} \right], \; & A^6 &= \left[ \begin{array}{rrr} 63 & 1 & 61 \\ 65 & -1 & 67 \\ 1 & -1 & 3 \end{array} \right] \end{align*} \]
를 얻는다. 따라서 일반적으로 $A^n$은
\[ A^n = \left[ \begin{array}{crc} 2^n-1 & 1 & 2^n-3 \\ 2^n+1 & -1 & 2^n+3 \\ 1 & -1 & 3 \end{array} \right] \tag*{$(\ast)$}\]
이 될 것이라 짐작할 수 있다. 이 사실을 수학적 귀납법을 이용해 증명해 보자. 우선 $n=1$일 때는 자명하고,
\[ \begin{align*} A^{n+1} = A^n A &= \left[ \begin{array}{crc} 2^n-1 & 1 & 2^n-3 \\ 2^n+1 & -1 & 2^n+3 \\ 1 & -1 & 3 \end{array} \right] \left[ \begin{array}{rrr} 1 & 1 & -1 \\ 3 & -1 & 5 \\ 1 & -1 & 3 \end{array} \right] \\[5px] &= \left[ \begin{array}{crc} 2^{n+1}-1 & 1 & 2^{n+1}-3 \\ 2^{n+1}+1 & -1 & 2^{n+1}+3 \\ 1 & -1 & 3 \end{array} \right] \end{align*} \]
이므로 수학적 귀납법에 의해 $(\ast)$가 성립한다.

$ $

위 행렬 $A$의 경우, 상대적으로 $A^n$의 각 원소가 가지는 패턴을 발견하기 쉬웠지만, 일반적인 경우 패턴을 발견하는게 간단한 일은 아니다. 하지만 만약 행렬 $A$가 대각화 가능 행렬(diagonalizable matrix)이라면, $A$를 먼저 대각화 한 후에 행렬의 연산 법칙을 이용하여 $A^n$을 비교적 쉽게 구할 수 있다.

$ $

예제 1. 위의 행렬 $A$에 대하여 생각해 보자. $A$는 서로 다른 고윳값(eigenvalue) $0, 1, 2$를 가지므로 대각화 가능하다. 실제로 $A$를 대각화 해보면
\[ A = PDP^{-1}, \qquad \text{where} \quad P = \left[ \begin{array}{rrr} 1 & -1 & 1 \\ -2 & 1 & 1 \\ -1 & 1 & 0 \end{array} \right], \; D = \left[ \begin{array}{rrr} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{array} \right] \]
를 얻는다. 그러므로
\[ \begin{align*} A^n = (PDP^{-1})^n &= PD^nP^{-1} \\[5px] &= \left[ \begin{array}{rrr} 1 & -1 & 1 \\ -2 & 1 & 1 \\ -1 & 1 & 0 \end{array} \right] \left[ \begin{array}{rrr} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2^n \end{array} \right] \left[ \begin{array}{rrr} 1 & -1 & 2 \\ 1 & -1 & 3 \\ 1 & 0 & 1 \end{array} \right] \\[5px] &= \left[ \begin{array}{crc} 2^n-1 & 1 & 2^n-3 \\ 2^n+1 & -1 & 2^n+3 \\ 1 & -1 & 3 \end{array} \right] \end{align*} \]
따라서 $A^n$을 얻는다..

$ $

위 방법은 주어진 행렬이 대각화 가능하지 않으면 적용이 불가능하다. 일반적으로 $n \times n$ 행렬이 서로 다른 $n$개의 고윳값을 가지지 않는다면, 그 행렬은 대각화 가능하지 않을 수도 있다. (물론 서로 다른 $n$개의 고윳값을 가지지 않는다고 해서 언제나 대각화가 불가능 한 것은 아니다.) 하지만, 만약 주어진 행렬이 단 하나의 서로 다른 고윳값을 갖는 경우, 멱영행렬(nilpotent matrix)의 성질을 이용하여 행렬의 거듭제곱을 구할 수 있는 방법이 있다. 자세한 내용은 다음 링크에서 확인할 수 있다.

$ $

$ $

위 사실을 바탕으로 다음 예를 살펴보자.

$ $

예제 2. $3 \times 3$ 행렬 $B$를 다음과 같이 정의하자.
\[ B = \left[ \begin{array}{crc} 2 & -1 & 2 \\ -1 & 4 & -5 \\ 0 & 1 & 0 \end{array} \right] \]
위 행렬 $B$의 경우 $2$를 유일한 고윳값으로 갖는다. 따라서 $B - 2I$는 멱영행렬이고 특히 $(B - 2I)^3 = O$이 성립한다. 따라서
\[ \begin{align*} B^n &= (2I + B - 2I)^n \\[5px] &= 2^{n}I + n 2^{n-1}(B - 2I) + \frac{n(n-1)}{2}2^{n-2}(B - 2I)^2 + \underbrace{(B - 2I)^3 X}_{=\,O} \\ &= 2^{n} \left[ \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right] + n 2^{n-1} \left[ \begin{array}{rrr} 0 & -1 & 2 \\ -1 & 2 & -5 \\ 0 & 1 & -2 \end{array} \right] + \frac{n(n-1)}{2}2^{n-2} \left[ \begin{array}{rrr} 1 & 0 & 1 \\ -2 & 0 & -2 \\ -1 & 0 & -1 \end{array} \right] \\[5px] &= \left[ \begin{array}{ccc} 2^n + n(n-1)2^{n-3} & - n2^{n-1} & 2n2^{n-1} + n(n-1)2^{n-3} \\ -n2^{n-1} - 2n(n-1)2^{n-3} & 2^n + 2n2^{n-1} & -5n2^{n-1} - 2n(n-1)2^{n-3} \\ - n(n-1)2^{n-3} & n2^{n-1} & 2^n - 2n2^{n-1} - n(n-1)2^{n-3} \end{array} \right] \end{align*} \]
를 얻는다. (위에 주어진 $B^n$의 형태를 보면 알 수 있듯이, $B^n$을 각각의 원소의 패턴을 발견하여 구하는 것은 거의 불가능에 가까울 것이다.).

$ $

사실 $n \times n$ 정사각행렬들 중 대부분이 대각화 가능하기 때문에 (좀 더 자세히 설명하자면, $n \times n$ 정사각 행렬들의 집합 $M_n(\C)$에 대하여, 대각화가 불가능한 $n \times n$ 행렬들의 부분집합은 르벡 측도(Legesgue measure) $0$을 갖는다.) 대부분의 경우는 예제 1과 같이 주어진 행렬의 대각화를 통해서 행렬의 거듭제곱을 간단히 구할 수 있다. 하지만 예외적인 경우로 주어진 $n \times n$ 행렬 $A$의 대각화가 불가능한 경우를 생각해 보자. 이 경우에는, 어떤 정사각행렬이든지 (복소수 범위에서) 적어도 조르당 분해(Jordan decomposition)가 가능하다는 사실을 이용하여, 여전히 행렬의 거듭제곱을 구하는 것이 가능하다.

$ $

이제 $A = PJP^{-1}$가 $A$의 조르당 분해라 가정하자. 즉, $J$는 $A$의 조르당 표준형(Jordan normal form)이고 $P$는 가역행렬이다. 그러면 $A$의 거듭제곱은
\[ A^k = (PJP^{-1})^k = P J^k P^{-1} \]
과 같으므로, $J^k$을 계산할 수 있으면 $A^k$ 또한 어렵지 않게 계산할 수 있다. 먼저 임의의 조르당 행렬(Jordan matrix) $J$에 대하여 $J^k$를 구하는 방법에 대해 살펴 보자.

$ $

$n \times n$ 행렬 $J$가 다음과 같이 블록 대각행렬(block diagonal matrix)의 형태로 주어질 때, $J$를 조르당 행렬이라 한다.
\[ J = J_{n_1}(\lambda_1) \oplus J_{n_2}(\lambda_2) \oplus \cdots \oplus J_{n_m}(\lambda_m) \]
이 때, 각각의 $i = 1,\, 2,\, \ldots,\, m$에 대하여 $J_{n_i}(\lambda_i)$를 $\lambda_i$에 대한 조르당 블록(Jordan block)이라 부르는데, 이는 다음과 같이 주어지는 $n_i \times n_i$ 상삼각행렬(upper triangular matrix)이다.
\[ J_i(\lambda_i) = \left[ \begin{array}{ccccc} \lambda_i & 1 & 0 & \cdots & 0 \\ 0 & \lambda_i & 1 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & \lambda_i \end{array} \right] \]
단, $n_1 + n_2 + \cdots + n_m = n$이고, 모든 $i \neq j$에 대하여 $\lambda_i \neq \lambda_j$가 성립한다.

$ $

보조정리. $n\times n$ 조르당 블록 $J_n(\lambda)$와 임의의 양의 정수 $k$에 대하여 다음이 성립한다.
\[ J_n(\lambda)^k = \left[ \begin{array}{ccccc} \binom{k}{0}\lambda^k & \binom{k}{1}\lambda^{k-1} & \binom{k}{2}\lambda^{k-2} & \cdots & \binom{k}{n-1}\lambda^{k-n+1} \\ 0 & \binom{k}{0}\lambda^k & \binom{k}{1}\lambda^{k-1} & \cdots & \binom{k}{n-2}\lambda_k^{k-n+2} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & \binom{k}{0}\lambda^k \end{array} \right] \]

$ $

증명. $k$에 대한 수학적 귀납법을 이용하여 보일 수 있다..

$ $

참고. 위 보조정리는 다음과 같이 확장할 수 있다: $f : \R \to \R$가 실해석함수(real analytic function)이라 하자. 그러면 임의의 $n \times n$ 조르당 블록 $J_n(\lambda)$에 대하여 다음이 성립한다.
\[ f(J_n(\lambda)) = \left[ \begin{array}{ccccc} \frac{f(\lambda)}{0!} & \frac{f'(\lambda)}{1!} & \frac{f''(\lambda)}{2!} & \cdots & \frac{f^{(n-1)}(\lambda)}{(n-1)!} \\ 0 & \frac{f(\lambda)}{0!} & \frac{f'(\lambda)}{1!} & \cdots & \frac{f^{(n-2)}\,(\lambda)}{(n-2)!} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & \frac{f(\lambda)}{0!} \end{array} \right] \]
그러면 위 보조정리는 $f(x) = x^k$인 특수한 경우임 또한 확인할 수 있다.

$ $

정리. $n \times n$ 조르당 행렬 $J$가
\[ J = J_{n_1}(\lambda_1) \oplus J_{n_2}(\lambda_2) \oplus \cdots \oplus J_{n_m}(\lambda_m) \]
와 같이 주어졌다고 하자. 그러면 임의의 양의 정수 $k$에 대하여 다음이 성립한다.
\[ J^k = J_{n_1}(\lambda_1)^k \oplus J_{n_2}(\lambda_2)^k \oplus \cdots \oplus J_{n_m}(\lambda_m)^k \]

$ $

증명. 블록 대각 행렬의 성질과 보조정리에 의해 성립한다..

$ $

위 정리를 이용하여, 실제로 주어진 행렬이 대각화가 불가능한 경우, 조르당 분해를 이용하여 그 행렬의 거듭제곱을 구하는 방법을 살펴보면 다음과 같다.

$ $

예제 3. $3 \times 3$ 행렬 $C$를 다음과 같이 정의하자.
\[ B = \left[ \begin{array}{crc} 2 & -1 & 2 \\ -3 & 4 & -7 \\ -1 & 1 & -1 \end{array} \right] \]
위 행렬 $C$는 $2$와 $1$을 고윳값으로 가지며, 이 때, 고윳값 $2$의 대수적 중복도(algebraic multiplicity)는 $2$인 반면, 기하적 중복도(geometric multiplicity)는 $1$이므로 $C$는 대각화가 불가능하다. 대신 $C$의 조르당 분해를 구해보면
\[ C = PJP^{-1}, \qquad \text{where} \quad P = \left[ \begin{array}{rrr} 1 & -1 & 1 \\ -2 & 1 & 1 \\ -1 & 1 & 0 \end{array} \right], \; J = \left[ \begin{array}{rrr} 2 & 1 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 1 \end{array} \right] \]
를 얻는다. 한 편, $J^n$은
\[ J^n = \left[ \begin{array}{rrr} 2^n & n2^{n-1} & 0 \\ 0 & 2^n & 0 \\ 0 & 0 & 1 \end{array} \right] \]
로 주어짐을 알 수 있다. 따라서
\[ \begin{align*} C^n = (PJP^{-1})^n &= PJ^nP^{-1} \\[5px] &= \left[ \begin{array}{rrr} 1 & -1 & 1 \\ -2 & 1 & 1 \\ -1 & 1 & 0 \end{array} \right] \left[ \begin{array}{rrr} 2^n & n2^{n-1} & 0 \\ 0 & 2^n & 0 \\ 0 & 0 & 1 \end{array} \right] \left[ \begin{array}{rrr} 1 & -1 & 2 \\ 1 & -1 & 3 \\ 1 & 0 & 1 \end{array} \right] \\[5px] &= \left[ \begin{array}{crc} 1 + n2^{n-1} & -n2^{n-1} & 1 + (3n-2)2^{n-1} \\ 1 - (n+1)2^n & (n+1)2^n & 1 - (3n+1)2^n \\ -n2^{n-1} & n2^{n-1} & -(3n-2)2^{n-1} \end{array} \right] \end{align*} \]
따라서 $C^n$을 얻는다..  


  • 공유하기  ::