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

대각화를 위해선 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=PDP−1이고, 결과는 다음과 같다.

- 특성 방정식의 해는 n x n행렬 A에 대해 최소 1개(고유값=0)에서 n개가 될 수 있다. [본문으로]
'study_life' 카테고리의 다른 글
[논문 리뷰] 자연어 처리(이해), 이대로 옳은가? - ACL2020 Best theme paper (0) | 2020.08.11 |
---|---|
[알고리즘] 백준. ATM #11399, 검문 #2981 (0) | 2020.06.28 |
[블로그] 카카오 AdFit(애드핏) 최근 콘텐츠가 부족합니다. (0) | 2020.06.11 |
[선형대수] A의 역행렬이 존재하지 않을 때, AB와 BA의 역행렬이 존재하지 않음을 보이시오. (2) | 2020.05.03 |
[선형대수] 열 랭크(column rank)와 행 랭크(row rank) (0) | 2020.05.03 |
댓글