🤾🏽♂️ 저번 시간에 eigenvalue와 eigenvector에 대해 학습했다.
eigenvalue & eigenvector
* intro 🔅 위에서 배운 transform 연산에서 transformation에 영향을 받지 않는 부분, 즉 transform을 해도 방향이 변하지 않는 벡터(값은 변할 수 있음)를 '고유벡터(eigenvector)' (※ 벡터의 차원에서는 transfo
sh-avid-learner.tistory.com
🤾🏽♂️ 이 두 가지 개념을 사용해 eigen decomposition을 간단히 알아보려 함
eigendecomposition이란?
🤾🏽♂️ 정의
$$A = V \Lambda V^{-1}$$
· A: nxn 정사각행렬
· V: A의 고유벡터들을 열로 갖는 행렬
· $\Lambda$: 고유값들을 대각성분으로 갖는 행렬 ($\Lambda = diag(\lambda_1, \lambda_2, ... , \lambda_n$)
🤾🏽♂️ ex) A는 2x2 정사각행렬, eigenvector $v_1$과 $v_2$, 그리고 두 개의 eigenvalue($\lambda_1, \lambda_2)$를 대각성분으로 갖는 $\Lambda$
① $\lambda_1, \lambda_2$는 각각 행렬 A의 eigenvalue이므로
$$Av_1 = \lambda_1v_1, Av_2 = \lambda_2v_2$$
② eigenvector $v_1, v_2$의 집합을 V라고 하면
$$v_1 = \begin{bmatrix}
v_{11} \\ v_{12}
\end{bmatrix},
v_2 = \begin{bmatrix}
v_{21} \\ v_{22}
\end{bmatrix}
V = \begin{bmatrix}
v_{11} & v_{21} \\
v_{12} & v_{22} \\
\end{bmatrix}$$
③ ①과 ②
$$A \begin{bmatrix}
v_1 & v_2 \\
\end{bmatrix}
=
\begin{bmatrix}
\lambda_1v_1 & \lambda_2v_2 \\
\end{bmatrix}
=
\begin{bmatrix}
v_1 & v_2 \\
\end{bmatrix}
\begin{bmatrix}
\lambda_1 & 0 \\
0 & \lambda_2 \\
\end{bmatrix} $$
④ 즉,
$$AV = V\Lambda$$
$v_1$과 $v_2$는 linearly independent하므로 V의 rank는 2, 즉 V는 invertible
$$A = V \Lambda V^{-1}$$
→ 행렬 A를 eigendecomposition 하였다.
$$V^{-1}AV = \Lambda$$
→ 행렬 A가 diagonalizable한 matrix이며, independent eigenvector가 n개 존재 (nxn A matrix)
🤾🏽♂️ 기하학적 의미 (돌리고 - 늘리고 돌리고)
eigendecomposition을 이용한 여러 계산
① 행렬 A의 거듭제곱 계산
$$A^k = V \Lambda V^{-1} V \Lambda V^{-1} ... = V \Lambda^k V^{-1}$$
$$(\Lambda^k = \begin{bmatrix}
\lambda_1^k & 0 \\
0 & \lambda_2^k \\
\end{bmatrix})$$
② 행렬 A의 역행렬 계산
$$A^{-1} = (V \Lambda V^{-1})^{-1} = V \Lambda^{-1} V^{-1}$$
③ 행렬 A의 determinant(det(A)) 계산 (모든 eigenvalue의 곱)
$$det(A)$$
$$= det(V \Lambda V^{-1}) = det(V)det(\Lambda)det(V^{-1})$$
$$= det(\Lambda) = \lambda_1 \lambda_2 \lambda_3 ... = \prod_{i=1}^{n} \lambda_i$$
④ 행렬 A의 대각합 tr(A) 계산 (모든 eigenvalue의 합)
$$tr(A)$$
$$= tr(V\Lambda V^{-1}) = tr(\Lambda V^{-1} V)$$
$$= tr(\Lambda) = \lambda_1 + \lambda_2 + ... = \sum_{i=1}^{n} \lambda_i$$
⑤ rank-deficient한 A는 det(A) = 0 이고 ③에 의해 0인 eigenvalue가 적어도 1개 이상 존재
python code
① $AV = V\Lambda$ 보이기
import numpy as np
A = np.array([[5,1],
[3,3]])
eigVals, V = np.linalg.eig(A)
v1 = V[:, 0]
v2 = V[:, 1]
np.dot(A, v1) #array([4.24264069, 4.24264069])
eigVals[0]*v1 #array([4.24264069, 4.24264069])
np.dot(A, v2) #array([-0.63245553, 1.8973666 ])
eigVals[1]*v2 #array([-0.63245553, 1.8973666 ])
np.linalg.matrix_rank(V) #2 (number of eigenvalues)
② $A = V\Lambda V^{-1}$ 확인
#eigendecomposition
L = np.diag(eigVals)
print(np.dot(np.dot(V,L),np.linalg.inv(V)))
'''
array([[5., 1.],
[3., 3.]])
'''
* 출처1) https://rfriend.tistory.com/183
* 출처2) 혁펜하임 💚 https://youtu.be/PP9VQXKvSCY
'Math & Linear Algebra > Concepts' 카테고리의 다른 글
Probability fundamentals (0) | 2023.02.27 |
---|---|
SVD(Singular Value Decomposition) (0) | 2023.02.20 |
vector similarity (0) | 2023.02.09 |
Linear Equation & Linear System / Rank & det(A) (0) | 2023.02.01 |
Matrix (fundamentals) (0) | 2022.07.31 |
댓글