고유 벡터(eigenvector)
- 벡터에 선형 변환했을 때, 방향은 변하지 않고 크기만 변하는 벡터
- 선형 변환 이후 변환 크기
$Ax = \lambda x$
→ 좌변은 벡터 $x$에 선형 변환 $A$를 취함
→ 우변은 기존 벡터 $x$의 방향은 변하지 않고 길이가 $\lambda$만큼 변했다는 것을 의미
- $\lambda$ : 스칼라인 고윳값(eigenvalue)에 해당
- $\lambda$ 값이 클수록 기존 벡터 $x$의 길이가 길어짐을 의미
- $\lambda$의 값이 작을수록 기존 벡터 $x$의 길이가 짧아짐을 의미
- 고유값이 2라면 (\lambda=2), 기존 벡터 x의 길이가 2배 길어짐
- $\lambda$ ≤-1 : 기존 벡터의 길이가 길어지고 방향이 기존 벡터의 반대인 벡터로 변환
- -1≤$\lambda$≤0 : 기존 벡터의 길이보다 짧고 방향이 반대인 벡터로 변환
- 0≤$\lambda$≤1 : 기본 벡터보다 길이가 짧고 방향이 동일한 벡터로 변환
- $\lambda$≥1 : 기존 벡터보다 길고 방향이 동일한 벡터로 변환
→ 고윳값의 부호를 보면 고유 벡터의 방향을 알수 있고, 고유값의 크기를 보면 고유 벡터의 길이를 알 수 있음.
고유값과 고유 벡터 계산
11.2.1 2x2 행렬의 고유값과 고유 벡터 구하기
$Ax = \lambda x$
$Ax - \lambda x = 0$
$(A - \lambda I)x =0$
→ $det(A - \lambda I) = 0$
- 위와 같은 식을 특성 방정식(characteristic equation)이라고 함.
- 고윳값을 구한다는 말 : 특성 방정식을 만족하는 $\lambda$를 찾는다는 말
고유값 구하기 예제
$A = \begin{pmatrix}3&0\\8&-1\\ \end{pmatrix}$ 의 고유값 구하기
- $A-\lambda I$ 행렬 구하기
$A-\lambda I = \begin{pmatrix}3&0\\8&-1\\ \end{pmatrix} - \begin{pmatrix}\lambda&0\\0&\lambda\\ \end{pmatrix} = \begin{pmatrix}3-\lambda&0\\8&-1-\lambda\\ \end{pmatrix}$
- $det(A-\lambda I)$ 구하기
$det(A-\lambda I) = \begin{vmatrix}3-\lambda&0\\8&-1-\lambda\\ \end{vmatrix}$
$= (3-\lambda)(-1-\lambda) - 0\times8$
$= -3 -3\lambda + \lambda +\lambda^2$
$= \lambda^2 - 2\lambda-3$
$= (\lambda-3)(\lambda+1)$
$\therefore \lambda=3,$ $\lambda=-1$
1. $\lambda$ = 3 인 경우
- $\lambda =3$을 대입
$A-3I = \begin{pmatrix}3&0\\8&-1\\ \end{pmatrix} - \begin{pmatrix}3&0\\0&3\\ \end{pmatrix} = \begin{pmatrix}3-3&0\\8&-1-3\\\end{pmatrix} = \begin{pmatrix}0&0\\8&-4\end{pmatrix}$
- 고유벡터 구하기
$(A-3I)x = 0$
$\begin{pmatrix}0&0\\8&-4\end{pmatrix}\begin{pmatrix}x_1\\x_2\end{pmatrix} = \begin{pmatrix}0\\0\end{pmatrix}$
→ $8x_1-4x_2 = 0$ 에서 $x_1$과 $x_2$
- $x_1=s$라고 가정
$x_1 = s$
$8s-4x_2=0$
$8s=4x_2$
$x_2=2s$
$\therefore x_1=s,$ $x_2=2s$
→ $\lambda=3$일 때 고유벡터
$x = \begin{pmatrix}x_1\\x_2\end{pmatrix} = \begin{pmatrix}s\\2s\end{pmatrix} = \begin{pmatrix}1\\2\end{pmatrix}s$
$x = \begin{pmatrix}1\\2\end{pmatrix}$
$x = \begin{pmatrix}1/\sqrt{5}\\2/\sqrt{5}\end{pmatrix}$ → 고유 벡터의 길이가 1이 되게금 정규화
2. $\lambda$ = -1 인 경우
$A-3I = \begin{pmatrix}3&0\\8&-1\\ \end{pmatrix} - \begin{pmatrix}-1&0\\0&-1\\ \end{pmatrix} = \begin{pmatrix}3+1&0\\8&-1+1\\\end{pmatrix} = \begin{pmatrix}4&0\\8&0\end{pmatrix}$
$\begin{pmatrix}4&0\\8&0\end{pmatrix}\begin{pmatrix}x_1\\x_2\end{pmatrix} = \begin{pmatrix}0\\0\end{pmatrix}$
$4x_1 =0$, $8x_2=0$
$x_1=0$ → $x_2$에 관한 식이 없으므로 $x_2=s$라고 가정
$x_1 =0$, $x_2=s$
$x = \begin{pmatrix}x_1\\x_2\end{pmatrix} = \begin{pmatrix}0\\s\end{pmatrix} = \begin{pmatrix}0\\1\end{pmatrix}s$
$x = \begin{pmatrix}0\\1\end{pmatrix}$
11.2.2 3x3 행렬의 고윳값과 고유 벡터 구하기
$A = \begin{pmatrix}4&0&1\\-2&1&0\\-2&0&1\\ \end{pmatrix}$ 의 고유값 구하기
문제 : [$\lambda$ 구해보기]
$A-\lambda I = \begin{pmatrix}4&0&1\\-2&1&0\\-2&0&1\\ \end{pmatrix} - \begin{pmatrix}\lambda &0&0\\0 &\lambda&0\\0&0&\lambda\\ \end{pmatrix} = \begin{pmatrix}4-\lambda&0&1\\-2&1-\lambda&0\\-2&0&1-\lambda\\ \end{pmatrix}$
$det(A-\lambda I) = \begin{vmatrix}4-\lambda&0&1\\-2&1-\lambda-&0\\-2&0&1-\lambda\\ \end{vmatrix}$
$=(4-\lambda)\begin{vmatrix}1-\lambda&0\\0&1-\lambda\\ \end{vmatrix} - 0\begin{vmatrix}-2&0\\-2&1-\lambda\\ \end{vmatrix} + 1\times\begin{vmatrix}-2&1-\lambda\\-2&0\\ \end{vmatrix}$
$=(4-\lambda)(1-\lambda)^2 -0+2(1-\lambda)$
=$(1-\lambda)((4-\lambda)(1-\lambda)+2)$
$=(1-\lambda)(\lambda^2-5\lambda+6)$
$=(1-\lambda)(\lambda-2)(\lambda-3)$
$\therefore \lambda=1,$ $\lambda=2,$ $\lambda=3$
11.2.3 QR분해를 이용한 방법
$A=QR$
→ 행렬 A를 행렬 Q와 행렬 R로 분해한다고 하면,
→ Q는 직교(orthogonal matrix), 행렬 R은 상 삼각 행렬(upper triangular matrix)
→ 행렬 Q는 직교 행렬이므로 $Q^{-1} = Q^T$를 만족 (행렬 Q의 역행렬이 행렬 Q의 전치 행렬과 동일하다는 의미)
<QR 분해를 이용해 고윳값, 고유 벡터를 구하는 과정>
- QR 분해할 행렬를 A라고 함.
- 반복 수행할 행렬의 초기 행렬 $A_0$를 $A$라고 설정
- $A_0 = A$
- 초기 행렬 $A_0$에 대해 QR분해 수행
- $A_0 = Q_0R_0$ → 행렬 $A_0$를 QR분해한 행렬을 각각 $Q_0, R_0$라고 가정
- 앞서 구한 행렬 $Q_0, R_0$를 바탕으로 행렬 $A_1$를 구함.
- $A_1 = R_0Q_0$ → 행렬 $A_1$은 $A_k$에서 $k=1$일 때인 행렬을 의미. 행렬 $A_1$은 $R_0$와 $Q_0$의 행렬 곱으로 구할 수 있음.
- 앞서 구한 행렬 $A_1$을 다시 QR분해함.
- $A_1 = Q_1R_1$ → 행렬 $A_1$을 분해함으로써 $Q_1$과 $R_1$을 구할 수 있음
- $Q_1, R_1$을 이용해 행렬 $A_2$를 구함
- $A_2 = R_1Q_1$ → 행렬 $A_2$을 분해함으로써 $R_1$과 $Q_1$을 구할 수 있음
- 위의 과정을 $k$번째 행렬 $A_k$는 다음과 같이 QR분해
- $A_k = Q_kR_k$ → 행렬 $A_k$는 QR분해를 통해 $Q_k$와 $R_k$로 분해할 수 있음
- 앞의 과정을 반복하면 $k+1$번째 행렬 $A_{k+1}$은 앞서 구한 행렬 $Q_k$와 $R_k$를 이용해 구할 수 있음.
- $A_{k+1} = R_kQ_k$ → $k+1$번째 행렬 $A_{k+1}$은 $R_k$와 $Q_k$의 행렬 곱을 통해 구할 수 있음
QR분해를 반복하 것과 고윳값, 고유 벡터를 구하는 것의 관계
$A_{k+1} = R_kQ_k$
$= Q_k^{-1}Q_kR_kQ_k$
$=Q_k^{-1}A_kQ_k$
$= Q_k^TA_kQ_k$
$=Q_k^T(Q_{k-1}^TA_{k-1}Q_{k-1})Q_k$
$= \dots$
$=(Q_K^TQ_{k-1}^T \dots Q_1^TQ_0^T)A_0(Q_0Q_1 \dots Q_{k-1}Q_k)$
$=(Q_0Q_1 \dots Q_{k-1}Q_k)^TA_0(Q_0Q_1 \dots Q_{k-1}Q_k)$
$k+1$번째 행렬 $A_{k+1}$은 초기 행렬 $A_0$와 QR분해를 통해 구한 행렬 $Q_0, Q_1, \dots, Q_{k-1}, Q_k$를 구할 수 있음
$A_0(Q_0Q_1 \dots Q_{k-1}Q_k) = A_{k+1}(Q_0Q_1 \dots Q_{k-1}Q_k)$ → 위의 수식 변형
→ QR 분해가 반복될수록 $A_k$는 삼각 행렬 형태로 수렴하게 되는데 바로 이 삼각 행렬을 이용해 고윳값을 구할 수 있음.
(삼각 행렬의 고윳값은 대각 원소의 곱)
$\therefore$ 삼각 행렬 $A_k$의 대각 원소를 모두 곱함으로써 행렬 $A$의 고윳값을 구할 수 있음
고유 벡터를 구해보면 ($A_x = \lambda_x)$
$A_0(Q_0Q_1 \dots Q_{k-1}Q_k) = A_{k+1}(Q_0Q_1 \dots Q_{k-1}Q_k)$
여기에서 $(Q_0Q_1 \dots Q_{k-1}Q_k)$가 고유벡터에 해당함.
→ QR분해를 통해 행렬의 고유값과 고유 벡터를 구할 수 있음
'ETC' 카테고리의 다른 글
[Notion] 맥북에서 노션 무한로딩으로 안열릴 때 (0) | 2025.02.04 |
---|---|
[주피터 노트북] - 셀에서 회색이 나타나는 경우 (셀 버그) (0) | 2025.01.14 |
[Slack] Slack-Github 연동 오류 해결하기 (2) | 2024.11.14 |