본문 바로가기
AI 수학/선형대수

케일리-해밀톤 정리 (Cayley-Hamilton Theorem)

by 깊은대학 2024. 7. 14.

정방 행렬 또는 정사각형 행렬 (square matrix) \(A \in \mathbb{R}^{n \times n}\) 의 특성 다항식(characteristic polynomial)은 다음과 같이 정의된다.

 

\[ \begin{align} \Delta (\lambda)= \det (\lambda I-A)= \lambda^n+c_{n-1} \lambda^{n-1}+ \cdots +c_1 \lambda+c_0 \tag{1} \end{align} \]

 

참고로 특성 방정식 \(\Delta (\lambda)=0\) 의 해는 행렬 A의 고유값(eigenvalue)이다. 행렬 \(A\) 의 특성 다항식은 식 (1)과 계수가 똑같은 행렬 다항식으로서 다음과 같이 정의된다.

 

\[ \begin{align} \Delta (A)= A^n+c_{n-1} A^{n-1}+ \cdots +c_1 A+c_0 I \tag{2} \end{align} \]

 

케일리-해밀톤 정리(Cayley-Hamilton theorem)에 의하면 '모든 정사각형 행렬은 자신의 특성 방정식을 만족한다'. 즉 다음 식이 성립한다.

 

\[ \begin{align} \Delta (A)= A^n+c_{n-1} A^{n-1}+ \cdots +c_1 A+c_0 I = 0 \tag{3} \end{align} \]

 

 

만약 행렬이 대각화가 가능하다면 케일리-해밀톤 정리의 증명은 간단하다. 먼저 행렬 \(A\) 를 고유값 분해(eigen decomposition)로 표현한다.

 

\[ \begin{align} A=V \Lambda V^{-1} \tag{4} \end{align} \]

 

여기서 \(\Lambda\) 는 행렬 \(A\) 의 고유값을 대각 성분으로 하는 대각행렬이고 \(V\) 는 고유벡터를 열(column)로 하는 행렬이다. 식 (4)를 이용하면 식 (2)는 다음과 같이 된다.

 

\[ \begin{align} \Delta (A) &= V \Lambda^n V^{-1}+c_{n-1} V \Lambda^{n-1} V^{-1} + \cdots + c_1 V \Lambda V^{-1}+c_0 I \tag{5} \\ \\ &=V \left[ \Lambda^n+ c_{n-1} \Lambda^{n-1} + \cdots + c_1 \Lambda+c_0 I \right] V^{-1} \end{align} \]

 

위 식에서 대괄호 항은 대각 행렬로서 \((i, i)\) 성분은 다음과 같이 고유값 \(\lambda_i\) 의 다항식인데, 고유값은 특성 방정식의 해이기 때문에 이 값은 \(0\) 이 된다.

 

\[ \begin{align} \lambda_i^n+c_{n-1} \lambda_i^{n-1} + \cdots + c_1 \lambda_i+c_0=0 \tag{6} \end{align} \]

 

따라서 식 (5)의 대괄호 항은 \(0\) 이 되므로 \(\Delta(A)=0\) 임이 증명된다.

 

 

일반적인 경우 케일리-해밀톤 정의의 증명은 다음과 같다. 먼저 행렬 \((\lambda I-A)\) 와 수반행렬(adjoint matrix)과의 관계는 다음과 같다.

 

\[ \begin{align} (\lambda I-A) \mbox{adj} (\lambda I-A)= \det (\lambda I-A) I \tag{7} \end{align} \]

 

행렬 \((\lambda I-A)\) 의 수반행렬의 구성 성분은 \((\lambda I-A)\) 의 행과 열을 삭제하여 얻은 \((n-1) \times (n-1)\) 행렬의 행렬식(determinant)으로 계산되므로 다음과 같이 쓸 수 있다.

 

\[ \begin{align} \mbox{adj} (\lambda I-A) = B_{n-1} \lambda^{n-1}+B_{n-2} \lambda^{n-2} + \cdots + B_1 \lambda+B_0 \tag{8} \end{align} \]

 

여기서 \(B_j\) 는 \(n \times n\) 행렬이다. 식 (8)을 식 (7)의 왼쪽 항에 대입하면 다음과 같이 된다.

 

\[ \begin{align} (\lambda I-A) \mbox{adj} & (\lambda I-A) = B_{n-1} \lambda^n+B_{n-2} \lambda^{n-1}+ \cdots + B_1 \lambda^2+B_0 \lambda \tag{9} \\ \\ & \ \ \ \ \ \ \ -AB_{n-1} \lambda^{n-1}-AB_{n-2} \lambda^{n-2}- \cdots -AB_1 \lambda-AB_0 \\ \\ &= B_{n-1} \lambda^n+(B_{n-2}-AB_{n-1} ) \lambda^{n-1}+(B_{n-3}-AB_{n-2} ) \lambda^{n-2} \\ \\ & \ \ \ \ \ \ \ + \cdots + (B_1-AB_2 ) \lambda^2+(B_0-AB_1 ) \lambda-AB_0 \end{align} \]

 

식 (7)의 오른쪽 항을 전개하면 다음과 같다.

 

\[ \begin{align} \det (\lambda I-A) I = \lambda^n I+c_{n-1} \lambda^{n-1} I + \cdots + c_1 \lambda I+c_0 I \tag{10} \end{align} \]

 

식 (9)와 (10)은 동치이므로 계수끼리 비교하면 다음과 같다.

 

\[ \begin{align} & B_{n-1}=I \tag{11} \\ \\ & B_{n-2}-AB_{n-1}=c_{n-1} I \\ \\ & B_{n-3}-AB_{n-2}=c_{n-2} I \\ \\ & \ \ \ \ \ \vdots \\ \\ & B_0-AB_1=c_1 I \\ \\ & -AB_0=c_0 I \end{align} \]

 

이제 식 (11)의 첫번째 식의 양변에 \(A^n\) 을 곱하고, 두번째 식의 양변에 \(A^{n-1}\) 을 곱하며 비슷한 방법으로 마지막 식까지 모두 곱한 후, 왼쪽 항과 오른쪽 항을 각각 모두 더하면 다음과 같다.

 

\[ \begin{align} & A^n B_{n-1} + A^{n-1} (B_{n-2}-AB_{n-1} )+A^{n-2} (B_{n-3}-AB_{n-2} ) \tag{12} \\ \\ & \ \ \ \ \ \ \ \ + \cdots + A(B_0-AB_1 )-AB_0 =0 \\ \\ & A^n+c_{n-1} A^{n-1}+c_{n-2} A^{n-2}+ \cdots + c_1 A+c_0 I = \Delta (A) \end{align} \]

 

식 (12)에 의하면 \(\Delta (A)=0 \) 이므로 케일리-해밀톤 정리가 증명되었다.

먼저 케일리-해밀톤 정리가 성립하는지 수치 예제로 확인해 보자. 행렬 \(A\) 가 다음과 같이 주어졌을 때,

 

\[ \begin{align} A= \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \end{align} \tag{13} \]

 

특성 다항식은 다음과 같다.

 

\[ \Delta (\lambda)= \lambda^2-5 \lambda-2 \]

 

\(\Delta (A)\) 를 계산하면,

 

\[ \begin{align} \Delta (A) &= A^2-5A-2I \\ \\ &= \begin{bmatrix} 7 & 1 \\ 15 & 22 \end{bmatrix} - 5 \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} - 2 \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} \end{align} \]

 

이 되므로 케일리-해밀톤 정리가 성립함을 알 수 있다.

케일리-해밀톤 정리에 의하면 \(A^n\) 은 \(\left[ A^{n-1}, A^{n-2}, \cdots , A, I \right]\) 의 선형 조합으로 표현할 수 있다. 식 (3)의 양변에 \(A\) 을 곱하면,

 

\[ \begin{align} A^{n+1}+c_{n-1} A^n \cdots ⋯ +c_1 A^2+c_0 A=0 \end{align} \]

 

이 되므로 \(A^{n+1} \) 은 \(\left[ A^n, A^{n-1}, \cdots , A^2, A \right]\) 의 선형 조합으로 표현할 수 있으며, 이는 다시 \(\left[ A^{n-1}, A^{n-2}, \cdots , A, I \right] \) 의 선형 조합으로 표현할 수 있다. 이런 식으로 계속하게 되면 행렬 \(A\) 에 관한 \(n\) 차 이상의 다항식은 항상\(\left[ A^{n-1}, A^{n-2}, \cdots , A, I \right] \) 의 선형 조합으로 표현할 수 있다.

케일리-해밀톤 정리를 이용하면 역행렬도 계산할 수 있다.

행렬 \(A \in \mathbb{R}^{n \times n}\) 의 역행렬이 존재한다면, 식 (3)의 양변에 \(A^{-1}\) 을 곱할 수 있다.

 

\[ \begin{align} A^{n-1}+c_{n-1} A^{n-2}+c_{n-2} A^{n-3} + \cdots + c_1 I+c_0 A^{-1}=0 \end{align} \]

 

따라서 \(A^{-1}\) 을 행렬 \(A\) 의 다항식으로 표현할 수 있다.

 

\[ \begin{align} A^{-1}= - \frac{1}{c_0} \left[ A^{n-1}+c_{n-1} A^{n-2}+c_{n-2} A^{n-3} + \cdots + c_1 I \right] \tag{14} \end{align} \]

 

예를 들어서 식 (13)의 행렬이 주어졌다면 역행렬은 다음과 같이 계산할 수 있다.

 

\[ \begin{align} A^{-1} &= -\frac{1}{c_0} \left[ A+c_1 I \right] \\ \\ &= \frac{1}{2} \left( \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} -5 \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \right) = \begin{bmatrix} -2 & 1 \\ 3/2 & -1/2 \end{bmatrix} \end{align} \]

 

 

 

이제 \(f(\lambda)\) 를 차수 \(m\) 의 스칼라 다항식이라고 하고, \(p(\lambda)\) 를 차수 \(n\) 의 또 다른 다항식으로 하자 (여기서 \(n \lt m\)). 그러면 \(f(\lambda)\) 를 \(p(\lambda)\) 로 나누면 \(f(\lambda)=q(\lambda)p(\lambda)+r(\lambda)\) 로 쓸 수 있는데, \(q(\lambda)\) 는 차수 \(m-n\) 의 다항식이고 나머지 \(r(\lambda)\) 는 차수 \(n-1\) 이하의 다항식이다. 여기서 \(p(\lambda)\) 대신에 특성 다항식 \(\Delta (\lambda)\) 를 선택하면,

 

\[ \begin{align} f(\lambda)=q(\lambda) \Delta (\lambda)+r(\lambda) \tag{15} \end{align} \]

 

이 된다. 이제 식 (15)를 행렬 \(A\) 에 관한 다항식으로 바꾸면

 

\[ \begin{align} f(A) &=q(A) \Delta(A)+r(A) \tag{16} \\ \\ &=r(A) \end{align} \]

 

이 되어서 \(f(A)\) 를 차수 \(n-1\) 이하의 다항식인 \(r(A)\) 로 변환할 수 있다. \(r(\lambda)\) 를 다음과 같이 정의하고,

 

\[ \begin{align} r(\lambda)= \beta_{n-1} \lambda^{n-1}+ \beta_{n-2} \lambda^{n-2} + \cdots + \beta_1 \lambda + \beta_0 \tag{17} \end{align} \]

 

식 (15)와 (17)에 행렬 \(A\) 의 고유값 \(\lambda_i\) 를 대입하면,

 

\[ \begin{align} f(\lambda_i )=q(\lambda_i ) \Delta ( \lambda_i )+r(\lambda_i )=r(\lambda_i ) \tag{18} \end{align} \]

 

가 되므로 다항식 \(f(\lambda)\) 가 주어졌다면 식 (18)을 이용하여 \(n\) 개의 고유값으로 \(n\) 개의 계수 \(\beta_j\) 를 계산할 수 있다. 계수 \(\beta_j\) 가 계산되면 \(f(A)\) 의 계산을 \(r(A)\) 를 통하여 수행할 수 있게 되는 것이다.

만약 행렬 \(A\) 의 고유값 중 \(n_i\) 개 만큼 반복해 (중근, 삼중근 등)가 존재한다면 다음과 같이 식 (18)을 미분하여 수식을 더 만들면 된다.

 

\[ \begin{align} \left. \frac{ d^l f(\lambda) }{d \lambda^l } \right|_{\lambda_i } = \left. \frac{ d^l r(\lambda) }{d \lambda^l } \right|_{\lambda_i }, \ \ \ l=0, 1, 2, ..., n_i-1 \tag{19} \end{align} \]

 

수치 예제를 통해 자세히 알아보자.

다음과 같이 행렬 \(A\) 가 주어졌을 때 \(A^{100}\) 을 계산하려고 한다.

 

\[ \begin{align} A= \begin{bmatrix} 0 & 1 \\ -1 & -2 \end{bmatrix} \end{align} \]

 

행렬 \(A\) 의 고유값은 \(-1\) 로 중근이다. 다항식은 \(f(\lambda)=\lambda^{100}\), \(r(\lambda)= \beta_1 \lambda + \beta_0\) 로 둔다. 식 (18)에 의하면 두 다항식에 고유값을 대입하면 같으므로,

 

\[ \begin{align} & f(-1)=r(-1): \ (-1)^{100}= \beta_1 (-1)+ \beta_0 \\ \\ & f^\prime (-1)=r^\prime (-1): \ 100(-1)^{99}= \beta_1 \end{align} \]

 

이 되므로 \(\beta_1=-100, \ \beta_0=-99\) 를 얻을 수 있다. 따라서 다항식은 \(r(\lambda)=-100 \lambda-99\) 가 되므로

 

\[ \begin{align} A^{100} &= -100 A-99I =-100 \begin{bmatrix} 0 & 1 \\ -1 & -2 \end{bmatrix} -99 \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \\ \\ &= \begin{bmatrix} -99 & -100 \\ 100 & 101 \end{bmatrix} \end{align} \]

 

로 계산된다.

식 (18)에서 \(f(\lambda)\) 가 꼭 다항식일 필요는 없고 어떤 함수라도 상관없다. 왜냐하면 임의의 함수 \(f(\lambda)\) 를 무한급수로 표현할 수 있기 때문이다. 예를 들어서 다음과 같이 행렬 \(A\) 가 주어졌을 때 \(e^{At}\) 를 계산하려고 한다.

 

\[ \begin{align} A= \begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix} \end{align} \]

 

행렬 \(A\) 의 고유값은 \(\pm j \) 로 허근이다. 이제 \(f(\lambda)=e^{\lambda t}, \ r(\lambda)=\beta_1 \lambda + \beta_0\) 로 둔다. 식 (18)에 의하면 두 다항식에 고유값을 대입하면 같으므로,

 

\[ \begin{align} & f(+j)=r(+j): \ e^{+jt}= \beta_1 (+j)+ \beta_0 \\ \\ & f(-j)=r(-j): \ e^{-jt}= \beta_1 (-j)+ \beta_0 \end{align} \]

 

이 되므로 \(\beta_0= \frac{e^{jt}-e^{-jt}}{2}= \cos ⁡t, \ \beta_1= \sin t\) 를 얻을 수 있다. 따라서 다항식은 \(r( \lambda)= \lambda \sin t+ \cos t\) 가 되므로

 

\[ \begin{align} e^{At} &= A \sin t+I \cos t= \sin t \begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix} + \cos t \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \\ \\ &= \begin{bmatrix} \cos t & \sin t \\ -\sin t & \cos t \end{bmatrix} \end{align} \]

 

로 계산된다.

'AI 수학 > 선형대수' 카테고리의 다른 글

벡터 항등식과 벡터 미분 항등식  (0) 2024.09.05
플롭 (Flop)  (0) 2023.11.09
심플렉틱 행렬 (Symplectic Matrix)  (0) 2023.07.01
좌(왼쪽) 고유벡터 (left eigenvector)  (0) 2023.02.10
Frobenius Norm 최소화 문제  (0) 2022.11.03

댓글