고윳값과 고유벡터

고윳값/고유벡터 구하기

예시로 한 행렬을 가져와보겠습니다.

$$ A=\begin{pmatrix} 3 & 2 \\ 1 & 4 \\ \end{pmatrix} $$

여기서 $B=A-\lambda I$의 값은 아래와 같습니다.

$$ B=\begin{pmatrix} 3-\lambda & 2 \\ 1 & 4-\lambda \\ \end{pmatrix} $$

이제 $\lambda$의 값을 구해보겠습니다.

$$ \det{B}=0, \lambda^2 - 7 \lambda + 10 = 0 \\ \therefore \lambda = 2 \lor \lambda = 5 $$

이제 고윳값에 대응되는 고유벡터를 구해보겠습니다.

$$ \begin{aligned} &i)\; \lambda = 2, B=\begin{pmatrix} 1 & 2 \\ 1 & 2 \\ \end{pmatrix} \quad \begin{pmatrix} 1 & 2 \\ 1 & 2 \\ \end{pmatrix}\begin{pmatrix} x_1 \\ x_2 \\ \end{pmatrix} = \mathbf{0} \quad \therefore \mathbf{x}=\begin{pmatrix} 2 \\ -1 \\ \end{pmatrix} \\ &ii)\; \lambda = 5, B=\begin{pmatrix} -2 & 2 \\ 1 & -1 \\ \end{pmatrix} \quad \begin{pmatrix} -2 & 2 \\ 1 & -1 \\ \end{pmatrix}\begin{pmatrix} x_1 \\ x_2 \\ \end{pmatrix} = \mathbf{0} \quad \therefore \mathbf{x}=\begin{pmatrix} 1 \\ 1 \\ \end{pmatrix} \\\end{aligned} $$

A = matrix([[3, 2], [1, 4]])
l = A.eigenvalues()
for l1 in l:
    B = A - l1 * matrix.identity(2)
    print(f"lambda={l1} space={B.right_kernel().basis()}")
lambda=5 space=[(1, 1)]
lambda=2 space=[(1, -1/2)]

코드로 검산해보아도 맞는 결과가 나옵니다.

여기서 중요한 것은, 이 $\mathbf{x}$의 값이 하나만 존재하는 것이 아니라, 가능한 $\mathbf{x}$의 값 중 하나만 꼽은 것이란 것입니다. 따라서 $V_2 = \left\{ t\begin{pmatrix} 2 \\ -1 \\ \end{pmatrix} \mid t \in \R \right\}, V_5 = \left\{ t\begin{pmatrix} 1 \\ 1 \\ \end{pmatrix} \mid t \in \R \right\}$인 것입니다.

고윳값 분해 EVD

  1. $A \mathbf{x} = \lambda \mathbf{x}$