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

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

by 깊은대학 2024. 7. 14.

정방 행렬 또는 정사각형 행렬 (square matrix) ARn×n 의 특성 다항식(characteristic polynomial)은 다음과 같이 정의된다.

 

(1)Δ(λ)=det(λIA)=λn+cn1λn1++c1λ+c0

 

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

 

(2)Δ(A)=An+cn1An1++c1A+c0I

 

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

 

(3)Δ(A)=An+cn1An1++c1A+c0I=0

 

 

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

 

(4)A=VΛV1

 

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

 

(5)Δ(A)=VΛnV1+cn1VΛn1V1++c1VΛV1+c0I=V[Λn+cn1Λn1++c1Λ+c0I]V1

 

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

 

(6)λin+cn1λin1++c1λi+c0=0

 

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

 

 

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

 

(7)(λIA)adj(λIA)=det(λIA)I

 

행렬 (λIA) 의 수반행렬의 구성 성분은 (λIA) 의 행과 열을 삭제하여 얻은 (n1)×(n1) 행렬의 행렬식(determinant)으로 계산되므로 다음과 같이 쓸 수 있다.

 

(8)adj(λIA)=Bn1λn1+Bn2λn2++B1λ+B0

 

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

 

(9)(λIA)adj(λIA)=Bn1λn+Bn2λn1++B1λ2+B0λ       ABn1λn1ABn2λn2AB1λAB0=Bn1λn+(Bn2ABn1)λn1+(Bn3ABn2)λn2       ++(B1AB2)λ2+(B0AB1)λAB0

 

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

 

(10)det(λIA)I=λnI+cn1λn1I++c1λI+c0I

 

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

 

(11)Bn1=IBn2ABn1=cn1IBn3ABn2=cn2I     B0AB1=c1IAB0=c0I

 

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

 

(12)AnBn1+An1(Bn2ABn1)+An2(Bn3ABn2)        ++A(B0AB1)AB0=0An+cn1An1+cn2An2++c1A+c0I=Δ(A)

 

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

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

 

(13)A=[1234]

 

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

 

Δ(λ)=λ25λ2

 

Δ(A) 를 계산하면,

 

Δ(A)=A25A2I=[711522]5[1234]2[1001]=[0000]

 

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

케일리-해밀톤 정리에 의하면 An[An1,An2,,A,I] 의 선형 조합으로 표현할 수 있다. 식 (3)의 양변에 A 을 곱하면,

 

An+1+cn1An+c1A2+c0A=0

 

이 되므로 An+1[An,An1,,A2,A] 의 선형 조합으로 표현할 수 있으며, 이는 다시 [An1,An2,,A,I] 의 선형 조합으로 표현할 수 있다. 이런 식으로 계속하게 되면 행렬 A 에 관한 n 차 이상의 다항식은 항상[An1,An2,,A,I] 의 선형 조합으로 표현할 수 있다.

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

행렬 ARn×n 의 역행렬이 존재한다면, 식 (3)의 양변에 A1 을 곱할 수 있다.

 

An1+cn1An2+cn2An3++c1I+c0A1=0

 

따라서 A1 을 행렬 A 의 다항식으로 표현할 수 있다.

 

(14)A1=1c0[An1+cn1An2+cn2An3++c1I]

 

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

 

A1=1c0[A+c1I]=12([1234]5[1001])=[213/21/2]

 

 

 

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

 

(15)f(λ)=q(λ)Δ(λ)+r(λ)

 

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

 

(16)f(A)=q(A)Δ(A)+r(A)=r(A)

 

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

 

(17)r(λ)=βn1λn1+βn2λn2++β1λ+β0

 

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

 

(18)f(λi)=q(λi)Δ(λi)+r(λi)=r(λi)

 

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

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

 

(19)dlf(λ)dλl|λi=dlr(λ)dλl|λi,   l=0,1,2,...,ni1

 

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

다음과 같이 행렬 A 가 주어졌을 때 A100 을 계산하려고 한다.

 

A=[0112]

 

행렬 A 의 고유값은 1 로 중근이다. 다항식은 f(λ)=λ100, r(λ)=β1λ+β0 로 둔다. 식 (18)에 의하면 두 다항식에 고유값을 대입하면 같으므로,

 

f(1)=r(1): (1)100=β1(1)+β0f(1)=r(1): 100(1)99=β1

 

이 되므로 β1=100, β0=99 를 얻을 수 있다. 따라서 다항식은 r(λ)=100λ99 가 되므로

 

A100=100A99I=100[0112]99[1001]=[99100100101]

 

로 계산된다.

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

 

A=[0110]

 

행렬 A 의 고유값은 ±j 로 허근이다. 이제 f(λ)=eλt, r(λ)=β1λ+β0 로 둔다. 식 (18)에 의하면 두 다항식에 고유값을 대입하면 같으므로,

 

f(+j)=r(+j): e+jt=β1(+j)+β0f(j)=r(j): ejt=β1(j)+β0

 

이 되므로 β0=ejtejt2=cost, β1=sint 를 얻을 수 있다. 따라서 다항식은 r(λ)=λsint+cost 가 되므로

 

eAt=Asint+Icost=sint[0110]+cost[1001]=[costsintsintcost]

 

로 계산된다.

댓글