인프런 커뮤니티 질문&답변
고유벡터 고유값 차이 질문
작성
·
442
답변 1
0
조범희 (타블렛깎는노인)
지식공유자
안녕하세요.
답변이 많이 늦어져서 죄송합니다.
코드상으론 이상이 없어보이는데 뭔가 구버전의 문제일지도 모른다는 생각이 듭니다.
아래 코드를 사용했을때, 결과는 아래와 같이 정상적으로 출력됩니다. (numerical error내에서)
[-4.4408921e-16+0.j 6.0000000e+00+0.j 0.0000000e+00+0.j]
[-0.66666667 0.66666667 0.33333333]
[0.40824829 0.81649658 0.40824829]
[ 0. -0.89442719 0.4472136 ]
참고로 방금 제가 테스트한 버전은 intel numpy는 아닙니다. 제가 사용한 버전은 아래와 같습니다.
요약하자면, 버전문제인것으로 예측됩니다. (특정버전에 특정오류가 충분히 발생할거라 생각합니다.)
numpy == 1.19.5
scipy == 1.5.4
python == 3.6.8
import numpy as np
from scipy import linalg
a = np.array([[2,1,2],[4,2,4],[2,1,2]], dtype=np.float64)
vals, vecs = linalg.eig(a)
print(vals)
print(vecs[:,0])
print(vecs[:,1])
print(vecs[:,2])





