본문 바로가기

Python/AI 수학 with Python

[Python] 고윳값과 고유벡터 구현

numpy의 linalg.eig() 함수를 통해 고윳값과 고유벡터를 동시에 구할 수 있다.

[In]

# 고윳값과 고유벡터
import numpy as np
A = np.array([[3,1],
              [2,4]])

ev = np.linalg.eig(A) # 고유값과 고유벡터 동시계산

print('고유값 : ', ev[0])
print()
print('고유벡터 :\n', ev[1])

[Out]

고유값 :  [2. 5.]

고유벡터 :
 [[-0.70710678 -0.4472136 ]
 [ 0.70710678 -0.89442719]]

linalg.eig() 함수의 첫번째 반환값은 고윳값이고, 두번째 반환값은 고유벡터이다. 이 때, 각각의 열은 각 고유벡터를 나타내고, 이 고유벡터의 L2놈은 1이 되는 것을 확인할 수 있다.

이렇게 L2놈이 1인벡터를 단위벡터라고 한다.