我一直在使用numpy的linalg模块,并希望获取以下矩阵的特征向量:
import numpy as np
matrix = np.array([[4,0,-1],[0,3,0],[1,0,2]])
w,v = np.linalg.eig(matrix)
print(v)
array([[0.70710678, 0.70710678, 0. ],
[0. , 0. , 1. ],
[0.70710678, 0.70710678, 0. ]])
手动计算特征向量仅给出两个向量,分别为[1,0,1]和[0,1,0]。我知道numpy可以将向量归一化,但是问题是当我尝试检查第一列和第二列是否相等时:
v[:,0] == v[:,1]
array([False, True, False])
这给我的印象是,当我已经知道我只会得到两个时,它们是两个不同的向量(所以我现在总共有3个本征向量)。
有人可以解释一下这是怎么回事。