참고
1. 행렬의 고유값과 고유벡터란?
- 고유벡터(eigen vector) : n×n 정방행렬(고유값, 고유벡터는 정방 행렬에 대해서만 정의됨) A에 대해서 Av=λv를 만족하는 0이 아닌 벡터
- 고유값(eigen value) : 상수 λ
- 행렬에서 고유값과 고유 벡터가 존재할 때 고유값과 고유 벡터는 1개 이상일 수 있다.
2. 고유값과 고유벡터의 기하학적 의미
- 고유 벡터 : 선형변환 A에 의해 방향은 그대로고 스케일만 변환되는 방향벡터
- 고유값 : 고유벡터가 변화되는 스케일
3. 고유값 분해를 이용한 대각화(eigen-decomposition)
행렬의 대각화는 행렬을 고유벡터(eigen vector)와 고유값(eigen value)만으로 표현하는 것을 말하며 이 때의 고유값은 대각 행렬(diagonal matrix)로 표현된다.
행렬의 대각화를 이용해서 행렬의 제곱같은 복잡한 행렬 연산을 이해하기 쉽고 간단한 계산으로 가능하게 하여 문제의 복잡도를 줄여준다.
행렬 A의 고유값, 고유 벡터를 λi,vi,i=1,2,3,...n 이라고 할 때,(행렬의 고유값과 고유벡터는 여러개가 나올 수 있다.)
Av1=λ1v1Av2=λ2v2...Avn=λnvn
이를 다시 표현하면,
A[v1v2...vn]=[λ1v1λ2v2...λnvn]=[v1v2...vn]⎣⎢⎢⎢⎢⎡λ10⋮00λ2⋮0......⋱000⋮λn⎦⎥⎥⎥⎥⎤
행렬 A의 고유벡터들을 열벡터로 하는 행렬을 P, 고유값들을 대각원소로 하는 대각 행렬을 Λ라고 하면 다음 식이 성립한다.
AP=PΛ
A=PΛP−1
이와 같이 행렬 A는 자신의 고유벡터(고유벡터를 열벡터로 하는 행렬 P)와 고유값(고유값을 대각원소로 하는 대각행렬 Λ)의 곱으로 나타낼 수 있고 이를 고유값 분해를 이용한 대각화(eigen-decomposition)라고 한다.
예로서 다음 행렬을 고유값 분해를 이용한 대각화를 시켜보았다.
⎣⎢⎡100120013⎦⎥⎤=⎣⎢⎡100110122⎦⎥⎤⎣⎢⎡100020003⎦⎥⎤⎣⎢⎡100110122⎦⎥⎤−1
4. 고유값 분해를 이용한 행렬의 대각화(eigen-decomposition) 활용
4.1 행렬식(determinant) 구하기
det(A)=det(PΛP−1)=det(P)det(Λ)det(P−1)=det(P)det(Λ)det(P)1=det(Λ)=λ1λ2...λn
행렬 A의 행렬식(determinant)는 고유값들의 곱과 같다.
(대각행렬의 행렬식은 대각원소의 곱이고 이의 증명은 여기를 참조하면 된다.)
4.2 행렬 A의 거듭제곱
Ak=(PΛP−1)k=(PΛP−1)(PΛP−1)...(PΛP−1)=PΛkP−1=Pdiag(λ1k,λ2k,...,λnk)P−1
행렬 A의 거듭제곱은 P와 Λ의 곱으로 나타내어 진다.
4.3 역행렬(inverse matrix)
A−1=(PΛP−1)−1=PΛ−1P−1=Pdiag(λ11,λ21,...,λn1)P−1
행렬 A의 역행렬은 P와 Λ의 곱으로 나타내어 진다.
4.4 대각합(trace)
tr(A)=tr(PΛP−1)=tr(ΛP−1P)(∵tr(AB)=tr(BA))=tr(Λ)=λ1+λ2+...+λn
행렬 A의 대각합은 고유값의 합과 같다.
4.5 행렬의 다항식
f(x)=a0+a1x+...+anxn이라고하면f(A)=a0I+a1A+...+anAn=a0PP−1+a1PΛP−1+...+anPΛnP−1=P(a0P−1+a1ΛP−1+...+anΛnP−1)=P(a0I+a1Λ+...+anΛn)P−1=Pdiag(f(λ1),f(λ2),...,f(λn))P−1
행렬의 다항식은 고유값과 고유벡터를 이용하여 간략하게 표현할 수 있다.
5. 대칭 행렬과 고유값
대칭 행렬(symmetric matrix)는 고유값과 고유벡터관련 다음의 성질을 가진다.
참고자료
5.1 모든 대칭 행렬은 고유값 분해로 행렬의 대각화가 가능하다.
증명은 매우 어렵다.(여기를 보고 잘 정리해보도록 하자!)
5.2 실수 대칭 행렬에서, 고유값은 모두 실수이다.
TheeignevaluesareReal.
- 먼저 복소 켤레(complex conjugate)는 복소수에서 허수 부분의 부호를 바꾼 것이다. (예, z=2+3i,zˉ=2−3i)
- 고유값이 복소수인 경우 고유값과 고유벡터는 서로 켤레(conjugate)관계인 쌍(pair)으로 존재한다.(증명은 생략)
WhenAisrealsymmetricmatrix:
AxAˉxˉxˉTAˉTxˉTA=λx⋯(1)↓complexconjugated!=λˉxˉ⋯(2)↓transpose!=xˉTλˉT⋯(3)=xˉTλˉ⋯(4)↓becauseAisrealsymmetric=xˉTλˉ⋯(5)
(2)에서 고유값이 복소수일 경우, 고유값과 고유벡터와 그 켤레(conjugate)값이 각각 쌍으로 존재한다. 따라서 원래 고유값과 고유벡터의 켤레값도 행렬 A의 고유값과 고유벡터이다.
(4)에서 λ는 대칭행렬이라 λT=λ이다.
AxxˉTAx=λx⋯(1)↓multiplyxˉT=λxˉTx⋯(6)
----------------------------------------------------
xˉTAxˉTAx=xˉTλˉ⋯(5)↓multiplyx=xˉTλˉx⋯(7)
----------------------------------------------------
from (6), (7), 좌변이 둘 다 같으므로 우변도 같아야 한다.
λxˉTx=λˉxˉTx⋯(8)
λ와 λˉ 가 같으려면 허수부가 0이어야만 하므로 λ는 실수이다.
따라서, 실수 대칭 행렬에서 고유값은 모두 실수이다.
5.3 실수 대칭 행렬에서, 고유벡터는 서로 직교한다.
TheeigenvectorsarePerpendicular.
대칭 행렬의 고유 벡터들은 서로 수직(perpendicular)하며 크기가 1인 방향 성분만을 나타내는 단위 벡터(unit vector)로 만들 수 있다. 이를 정규직교벡터(orthonormal vector)라고 한다. 그리고 이 정규직교벡터들을 모아서 행렬을 만든 것을 정규직교행렬(orthogonal matrix)이라고 한다.
(Proof)
고유벡터들이 서로 직교한다고 가정했을 때, 행렬 A가 대칭행렬이라는 것을 증명하면 된다.
A=PΛP−1=PΛPT (행렬 P의 고유벡터들이 서로 직교한다고 가정, 즉 정규직교행렬이라고 가정)
AT=(PΛPT)T=PΛTPT=PΛPT
Λ는 대각 행렬이라 Λ=ΛT
따라서 고유 벡터들이 서로 직교할 때 행렬 A와 A의 전치행렬(AT)가 같기 때문에 행렬 A는 대칭행렬이다.