Processing math: 100%
본문 바로가기
study_life

[선형대수] 대각 행렬

by skyjwoo 2020. 6. 13.
728x90
반응형

다음 행렬을 대각화 해보자.

 

대각화를 위해선 eigen value(고유값)을 구해야 한다.

Ax = λx \lambda$를 구해보자.

우변을 좌변으로 옮긴 후, x로 묶어준다. 

(AλI)x = 0 에서 0이 아닌 x(non-trivial solution, x=0인 경우는 항상 성립함)를 구하기 위해선 (AλI)x 가 역행렬이 존재하지 않아야 한다. 이는 (AλI)의 determinant(행렬식) 값이 0이라는 뜻이다. 이를 이용해서 λ를 구할 수 있다. 

 

(AλI)의 행렬식을 charateristic determinant, characteristic polynomial(특성 행렬식, 특성 방정식) [각주:1] 이라 하는데, 이를 구해보면 다음과 같다. 

 

즉 고유값은 -1, -6이다. 이 고유값을 이용해서 고유 벡터를 구할 수 있다. 

먼저 고유값이 -1일 때 고유 벡터를 구해보자. 

 

λ에 -1을 대입해 준다. 

 

* G.E는 가우스 소거법(Gauss elimination이다)

 

다음은 λ에 -6을 대입해 준다. 

 

python 의 numpy package를 이용해서도 한 번 구해 보았다. 

import numpy as np

A = np.matrix('-5 2; 2 -2')

eigval, eigvec = np.linalg.eig(A)
print("고유값: ", eigval)
print("고유 벡터: ", eigvec)

고유 벡터가 이상하게 보일 수도 있는데, 여러 고유 벡터 중 하나를 반환하는 방식이라 그런 것 같고, 고유 벡터를 정규화 하는 과정에서 소숫점처럼 나온 것 같다. 즉, 고유 벡터를 고유 벡터의 노름으로 나눠준 것 같다. 

*다시 보니, 비례로 따지면 맞는 거 같긴 한데, 뭔가 순서가 달라서 그런지 어색하다.. 좀 더 확인해 볼 필요가 있을 듯하다.

 

이렇게 고유 값과 고유 벡터를 구했으니 대각화를 진행할 수 있다. 

 

대각화는 다음의 원리에 기반한다. 

 

AP=PD, D는 대각행렬, P는 역행렬이 존재한다. 

 

$v_{1}, v_{2}$은 고유 벡터로 선형 독립이다. 

위에서 구한 고유 벡터와 고유 값을 다음과 같이 적용해 볼 수 있다. 결국, 행렬 P와 D를 구하기 위해 고유 벡터, 고유 값을 구한 것이고 고유 값, 고유 벡터의 정의가 다음과 같이 쓰였음을 알 수 있다.

이제 A를 대각화 해보면, 

 

A=PDP1이고, 결과는 다음과 같다. 

 

행렬 A의 대각화

 

  1. 특성 방정식의 해는 n x n행렬 A에 대해 최소 1개(고유값=0)에서 n개가 될 수 있다. [본문으로]
728x90
반응형

댓글