이 글은 "행렬의 실수 제곱은 어떻게 정의할 것인가?"에 대한 개인적인 글입니다.
선형대수 이론에서 정말로 행렬의 실수 제곱을 정의하는 지는 제 지식이 짧아서 잘 모르겠습니다.
이 글을 제대로 이해하기 위해서는 케일리-해밀턴 정리 뿐 아니라,
행렬의 고유값, 고유벡터, 행렬의 대각화 등도 알고 있어야 합니다.
간단히 말해서, 대학교에서 배우는 선형대수 지식이 필요합니다.
일단, 행렬의 표기법 부터 정하겠습니다.
( 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 가 되는 행렬은 겁내 많을 것이다.
그런데, 행렬의 실수 제곱으로는 오직 하나만 구할 수 있다.
이런 것들을 모두 구할 수 있는 일반적인 방법은 없을까??