CAFE

대학생,일반 수학

케일리-해밀턴 정리를 이용한 행렬의 거듭제곱

작성자밝히리|작성시간11.01.06|조회수2,847 목록 댓글 0

이 글은 "행렬의 실수 제곱은 어떻게 정의할 것인가?"에 대한 개인적인 글입니다.

선형대수 이론에서 정말로 행렬의 실수 제곱을 정의하는 지는 제 지식이 짧아서 잘 모르겠습니다.

 

이 글을 제대로 이해하기 위해서는 케일리-해밀턴 정리 뿐 아니라,

행렬의 고유값, 고유벡터, 행렬의 대각화 등도 알고 있어야 합니다.

간단히 말해서, 대학교에서 배우는 선형대수 지식이 필요합니다.

 

 

일단, 행렬의 표기법 부터 정하겠습니다.

 

( a     b )

( c     d )

 

위와 같은 2 x 2 행렬은 이 글에서 아래와 같이 표기하겠습니다.

 

[a , b ; c , d]

 

그럼 이제 본론으로 들어갑니다.

 

 

1. 행렬의 거듭 제곱

 

n이 자연수 일 때,

행렬의 n제곱은 고등학교 과정에서 배운 그대로 쉽게 정의할 수 있다.

그렇다고 계산과정까지 쉬운 것은 아니다.

행렬의 거듭제곱은 계산이 매우 복잡하다.

하지만, 그 계산을 쉽게 할 수 있는 방법이 있다.

한 가지는 케일리-해밀턴 정리를 이용하는 방법이고

다른 한 가지는 행렬의 대각화를 이용하는 방법이다.

대각행렬은 거듭제곱을 계산하기가 매우 쉽기 때문이다.

깊은 고민을 할 필요가 없이 바로 아래 결과를 얻을 수 있다.

 

[a , 0 ; 0 , b]^n = [a^n , 0 ; 0 , b^n]

 

고딩 과정에서도 잠깐 배우지만,

주어진 행렬을 대각화 할 수만 있다면, 행렬의 거듭제곱 계산은 쉬워진다.

 

eg1)

행렬 A = [-1 , -2 ; 3, 4] 는

행렬 P = [-2 , -1 ; 3 , 1] 와 P의 역행렬인 Q = [ 1, 1 ; -3 , -2] 를

 

 QAP = D         .......... (1)

 

를 통해서 D = (2, 0 ; 0 , 1) 로 대각화 할 수 있다.

식 (1) 의 양변의 왼쪽에 P를, 오른쪽에 Q를 곱하면

 A = PDQ         ......... (2)

를 얻고,

이 식의 양변을 n 제곱하면

 A^n = (PDQ)^n = P(D^n)Q      ...... (3)

를 얻는다.

이를 n 에 관한 식으로 나타내면 아래와 같다.

 

 A^n = [3 - 2^(n+1) , 2 - 2^(n+1) ; -3 + 3*2^n , -2 + 3*2^n]       ...... (4)

- eg1) 끝 -

 

 

2. 행렬의 실수 제곱

 

 

식 (4)에서 n은 분명히 자연수이지만,

n에 실수를 대입해도 계산은 할 수 있다.

그러므로 행렬 A의 실수 제곱을 식 (4)와 같이 정의하자.

 

식 (4)에 n = 0 을 대입하면 정말로 A^0 은 단위행렬과 같아진다.

뿐만 아니라, n = -1 을 대입하면 정말로 A^-1 은 역행렬과 같아진다.

이로써 위와 같은 형태의 실수 제곱은 어느 정도 타당한 정의라는 것을 짐작할 수 있을 것이다.

 

지금까지 이야기를 정리하면,

대각화가 가능한 행렬은, 행렬의 대각화를 이용하여

A^n 에 관한 일반적인 식을 구하고, 그 n 값에 실수를 대입하면 행렬의 실수 제곱을 정의할 수 있다.

 

그런데, 문제는 대각화가 되지 않는 행렬이다.

대각화가 되지 않는 행렬에서도

식 (4)와 같은 식을 구할 수만 있다면 행렬의 실수 제곱을 정의 할 수 있을 것이다.

 

이 식을 얻기 위해서는 케일리-해밀턴 정리를 이용할 수 있어야 한다.

 

 

 

3. 케일리-해밀턴 정리를 이용한 행렬의 거듭 제곱 계산

 

계산하기 쉽게 2 x 2 행렬에 대해서만 생각해 보자.

행렬 A = [a , b ; c , d]에 대해서 아래 식을 특성다항식이라고 한다.

 

f(x) = x^2 - (a+d)x - (ad-bc)*1    ......... (5)

 

위 식에서 f(x) = 0 이 되게 하는 x, 다시 말해서 아래의 특성방정식

x^2 - (a+d)x - (ad-bc) = 0    ......... (6)

을 만족하는 이차방정식의 두 근 λ, μ을 고유값(eigenvalue) 이라고 한다.

다시 말하면, 식 (5)는 아래와 같이 인수분해가 가능하다.

 

f(x) = (x-λ)(x-μ)    ........ (7)

 

케일리-해밀턴 정리는 식 (6) 에서 x 대신 행렬 A를 대입해도 등식이 성립한다는 정리이다.

f(A) = A^2 - (a+d)A - (ad-bc)E = O    ........... (8)

(단, 좌변의 상수항에는 단위행렬인 E 를 곱하고, 우변의 0 대신 영행렬인 O를 대입해야 한다.)

x^n 을 f(x)로 나눈 몫을 Q(x), 나머지를 αx + β 라 하면 아래 등식이 성립한다.

 

x^n = Q(x)*f(x) + αx + β      ............ (9)

x^n = Q(x)*(x-λ)(x-μ) + αx + β   ....... (10)

 

위 식에서 α, β 값을 구하기 위해서 식 (10)에 x=λ와 x=μ 를 대입하면 아래 두 식을 얻는다.

 

λ^n = λα + β    ........ (11)

μ^n = μα + β    ........ (12)

 

위의 두 식을 연립해서 풀면 아래와 같은 결과를 얻는다.

 

α = (λ^n - μ^n)/(λ - μ)      ......... (13)

β = -(μ λ^n - λ μ^n)/(λ - μ)        ......... (14)

 

식 (9)의 x 대신 A를 대입하면

A^n = Q(A)*f(A) + αA + βE    ......... (15)

를 얻고 f(A) = O 이므로

A^n = αA + βE = {(λ^n - μ^n)/(λ - μ)}A - {(μ λ^n - λ μ^n)/(λ - μ)}E   .......... (16)

을 얻는다.

 

eg2)

식 (16) 과 eg1)의 결과를 을 비교하시오.

 

sol)행렬 A = [-1 , -2 ; 3, 4] 의 특성 방정식은

x^2 - 3x + 2 = 0

이 되고, 이 이차방정식을 풀면 x = 2 or 1 을 얻어서 고유값을 구했다.

 

α = 2^n - 1

β = 2 - 2^n

 

이므로 이 결과를 식 (16)에 대입하여 계산하면 식 (4)를 얻는다.

**참고..... A^n = [3 - 2^(n+1) , 2 - 2^(n+1) ; -3 + 3*2^n , -2 + 3*2^n]       ...... (4)

- eg2) 끝 -

 

요약하면, 두가지 방법 모두 같은 결과를 얻는다.

차이점은 대각화를 하면 식 (4)를 일반적인 공식으로 나타내기가 어렵지만,

케일리-해밀턴 정리를 이용하면 식 (16)을  공식으로 나타내는게 그나마 쉽다.

 

 

 

4. 대각화가 불가능 할 때 행렬의 거듭 제곱

 

행렬의 대각화가 가능하기 위한 필요충분조건은 아래와 같다.

n차 정사각 행렬이 1차 독립인 n개의 고유벡터(eigenvector)를 갖으면 그 행렬은 대각화가 가능하다.

 

2차 정사각 행렬에서는 고유값이 중근을 가지면, 고유벡터가 독립이 아니기 때문에 대각화가 불가능하다.

그러면 별 수 없이 케일리-해밀턴 정리를 이용한 식 (9)를 이용해야 하는데,

*** 참고 ....... x^n = Q(x)*f(x) + αx + β      ............ (9)

문제는 고유값이 중근 λ를 갖는 경우 식(9)를 이용해서 α, β를 구하기가 쉽지 않다는 것이다.

 

x^n = Q(x)*(x-λ)^2 + αx + β    .......... (17)

 

위 식에 x = λ 를 대입하면

λ^n = λα + β     ........... (18)

을 얻는데, α, β 를 구하려면 어떻게 하던지 식을 하나 더 만들어야만 한다.

 

이걸로 무척 고민을 했는데,

결국은 미분을 통해서 그 대답을 얻었다. 식 (17)을 x 에 관해서 미분하면

 

n x^(n-1) = Q'(x)*(x-λ)^2 + Q(x)*2(x-λ) + α  ........ (19)

 

위 식에 x = λ 를 대입하면,

α = n λ^(n-1)   ......... (20)

을 얻고, 이 결과를 식 (18)에 대입하면

β = -(n-1) λ^n  ......... (21)

을 얻는다.

 

식 (17) 에 x = A 를 대입하면

 

A^n = Q(A)*(A - λE)^2 + αA + βE

A^n = n λ^(n-1) A - (n-1) λ^n E    ............. (22)

 

을 얻고, 이 식의 n 에 실수를 대입한 것을 행렬의 실수 제곱으로 정의 할 수 있다.

 

 

eg3)

B = [-1 , -2 ; 2 , 3 ] 일 때, B^n  을 구하고, B^(1/2) 과 B^(1/3)을 구하시오.

 

특성 방정식은 x^2 - 2x + 1 = 0 이 되므로 고유값은 1을 중근으로 갖는다.

그러므로 대각화로는 구할 수 없고, 케일리-해밀턴 정리로 구해야 한다.

λ=1 을 식 (22)에 대입하면

B^n = nB - (n-1)E = [ 1-2n , -2n ; 2n , 2n+1 ]    ..... (23)

을 얻는다.

 

B^(1/2) = [ 0 , -1 ; 1 , 2 ]

를 얻고, 실제로 이 행렬을 제곱하면 B가 나온다.

 

B^(1/3) = [ 1/3 , -2/3 ; 2/3 , 5/3]

를 얻고, 실제로 이 행렬을 세제곱하면 B가 나온다.

- eg3) 끝 -

 

 

 

5. 이러한 정의의 한계점

 

X^2 = E     ...... (24)

를 만족하는 행렬 X 는 몇개 있을 까?

 

이차방정식 x^2 = 1 의 근이 ±1 두개가 있으므로

식 (24)를 만족하는 X는 ±E 두개만 있을까?

 

결론부터 말하면, 이러한 행렬은 겁내 많다.

X = [ cos x , sin x ; sin x , -cos x ]

라 할 때, 이 행렬을 제곱하면 x 값에 관계 없이 단위행렬이 나온다.

X = [ x , 1+x ; 1-x , -x ]

라 할 때, 이 행렬을 제곱해도 x 값에 관계 없이 단위행렬이 나온다.

 

이 행렬들을 모두 E^(1/2) 이라고 할 수 있을 것이다.

그런데, 위에서 정의한 행렬의 실수 제곱으로는 위의 것들을 모두 구할 수 없다.

 

eg3) 에서의 B에 관해서도 제곱해서 B 가 되는 행렬은 겁내 많을 것이다.

그런데, 행렬의 실수 제곱으로는 오직 하나만 구할 수 있다.

 

 

이런 것들을 모두 구할 수 있는 일반적인 방법은 없을까??

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼