对numpy返回的特征向量感到困惑

时间:2019-10-16 18:37:51

标签: python-3.x numpy

我一直在使用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个本征向量)。

有人可以解释一下这是怎么回事。

0 个答案:

没有答案