수학/인공지능을 위한 선형대수

18. 대각화 (Diagonalization)

공부중인학생 2021. 12. 29. 01:32

대각화란 주어진 행렬을 대각행렬로 만드는 것을 말합니다. 기본적으로 square matrix를 사용합니다.

 

D=V1AV

 

A라는 matrix에 V와 V의 역행렬을 곱해주어 대각 성분만 남게 만듭니다. 이 방법은 항상 가능한 것이 아니라 상황에 따라 달라집니다. 위에 식을 만족시키는 V를 찾을 수 있는 경우에만 대각화가 가능합니다. V의 shape은 A의 shape과 동일합니다.

 

 

 

 

VD=AV란 식을 얻었습니다. A가 (3, 3) 행렬이라고 할 때 V도 (3, 3) 행렬이 됩니다.

 

 

 

 

AV1=λV1...

 

여기서 V를 Eigenvector λ를 Eigenvalue로 생각해보면 이전에 배웠던 Eigenvalue, Eigenvector가 만족해야 하는 식과 동일해졌습니다.

 

- 대각화는 Eigenvector, Eigenvalue와 연관성이 있다.

- 대각화를 하냐 안 하냐 = 차원 개수만큼의 linear independent 한 Eigen vector을 찾을 수 있느냐

 

 

 

 

다음과 같이 3과 5라는 Eigenvalue를 찾았고 각각의 고유값에 대한 고유벡터가 다음과 같을 때

 

[123] [325]

 

행렬 × 고유벡터 = 고유벡터 × 고유값이 되므로

- AV=VD 

 

V에 해당하는 행렬은 아래와 같이 나오게 됩니다.

[132235] 

 

square matrix에서 inverse matrix가 존재한다는 것을 생각해보면 여기서 추가적으로 1개의 Eigenvector을 구해서 3×3 matrix로 만들어주지 않는 한 inverse matrix가 존재하지 않습니다.

 

- 하지만 matrix에 따라 Eigenvector가 차원만큼 안 나오는 경우도 있습니다. 이런 경우에는 대각화가 불가능합니다.