Search

고윳값 분해 (1)

Created at
2018/12/02
Updated at
Tags
Keywords
3 more properties

고윳값 분해

고윳값 분해(eigenvalue decomposition) or 고유 분해(eigen-decomposition)
고윳값과 고유벡터를 찾는 작업을 의미함

고윳값(eigenvalue)과 고유벡터(eigenvector)

정방 행렬 AA에 대해 다음 식을 만족하는 벡터 vv, 실수 λ\lambda 를 찾을 수 있다고 가정
Av=λvAv = \lambda v
벡터를 선형 변환(행렬x벡터)해도 방향이 같은 벡터(실수x벡터)가 된다는 의미
계산의 형태를 생각해보면 다음과 같음
위 식을 만족하는 실수 λ\lambda고윳값, 벡터 vv고유벡터라고 함
고유벡터를 구할 때, 방향이 같은 벡터는 모두 고유벡터가 되므로, 보통은 크기가 1인 단위 벡터가 되도록 unit vector를 이용해 정규화함(벡터의 크기, norm으로 나누어주기)
vv\frac{v}{\Vert v \Vert}

고윳값, 고유벡터 계산하기

먼저 고윳값를 구한 후에 이를 대입해서 고유벡터를 구함
행렬 AA의 고윳값은 다음과 같은 특성방정식(characteristic equation)의 해와 같음
f(λ)=det(AλI)=0 f(\lambda) = det(A -\lambda I) = 0
유도 과정
Av=λvAv=λIv(AλI)v=0det(AλI)=0\begin{aligned} Av & = \lambda v \\ Av & = \lambda I v \\ (A - \lambda I)v & = 0 \\ det(A - \lambda I) & = 0 \\ \end{aligned}
고윳값을 알면 다음 연립 방정식을 풀어 고유벡터를 구함
(AλI)v=0(A - \lambda I)v = 0
e.g. 고윳값 계산하기 (행렬 A=[2321]A = \begin{bmatrix} 2 & 3 \\ 2 & 1 \end{bmatrix}에 대해)
특성방정식
det(AλI)=det([2321][λ00λ]=det[2λ321λ]=(2λ)(1λ)6=λ23λ4=0\begin{aligned} det(A- \lambda I) & = det(\begin{bmatrix} 2 & 3 \\ 2 & 1 \end{bmatrix} - \begin{bmatrix} \lambda & 0 \\ 0 & \lambda \end{bmatrix} \\\\ & = det \begin{bmatrix} 2 - \lambda & 3 \\ 2 & 1 - \lambda \end{bmatrix} \\\\ & = (2 - \lambda)(1 - \lambda) - 6 \\\\ & = \lambda^2 - 3\lambda - 4 = 0 \\ \end{aligned}
고윳값 계산
λ23λ4=(λ4)(λ+1)=0\lambda^2 - 3\lambda - 4 = (\lambda - 4)(\lambda + 1) = 0

고윳값의 갯수

NN차방정식이 항상 NN개의 복소수 해를 가진다는 사실을 이용하면 NN차원 정방행렬의 고윳값의 갯수는 다음과 같음
1.
중복된 고유값을 하나로 생각하고 실수 고윳값만 고려한다면 NN차원 정방행렬의 고윳값은 00개부터 NN개까지 있을 수 있다.
2.
중복된 고윳값을 각각 별개로 생각하고 복소수인 고윳값도 고려한다면 NN차원 정방행렬의 고윳값은 항상 NN개이다.

고윳값과 대각합/행렬식

어떤 행렬의 고윳값이 λ1,λ2,,λN\lambda_1, \lambda_2, \cdots, \lambda_N 이라고 할 때, 모든 고윳값의 곱은 행렬식(determinant)의 값과 같고, 모든 고윳값의 합은 대각합(trace)의 값과 같음
det(A)=i=1Nλidet(A) = \prod_{i=1}^N \lambda_i
tr(A)=i=1Nλitr(A) = \sum_{i=1}^N \lambda_i
참고 자료