我用numpy得到矩阵的特征值/特征向量。我的矩阵是对称的和正的。
> mat
matrix([[ 1., 1., 0., 0., 0., 0., 0.],
[ 1., 2., 0., 0., 0., 0., 0.],
[ 0., 0., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 2., 1., 1., 0.],
[ 0., 0., 0., 1., 2., 1., 0.],
[ 0., 0., 0., 1., 1., 1., 0.],
[ 0., 0., 0., 0., 0., 0., 1.]])
。
> import numpy.linalg as la
> la.eigh(mat)
(array([ 0.27, 0.38, 1. , 1. , 1. , 2.62, 3.73]),
matrix([[ 0. , -0.85, -0. , 0. , 0. , 0.53, 0. ],
[ 0. , 0.53, -0. , 0. , 0. , 0.85, 0. ],
[ 0. , 0. , -0. , 1. , 0. , 0. , 0. ],
[-0.33, -0. , -0.71, -0. , -0. , -0. , -0.63],
[-0.33, -0. , 0.71, -0. , -0. , -0. , -0.63],
[ 0.89, -0. , -0. , -0. , -0. , -0. , -0.46],
[-0. , -0. , -0. , -0. , 1. , -0. , -0. ]]))
。。。这只是一个精确的错误,还是我遗漏了什么?
?
编辑:这个计算是Hubs and Authorities的一部分,上面的矩阵是A*A^T。hub分数收敛到A*A^T的主特征向量是the original paper (see p.9, p.10)的结果。最终,我们想比较这些hub分数,所以符号实际上很重要。
。
最佳答案
特征向量的符号是任意的。据我所知,在这方面没有对错的答案。
关于python - 多个本征向量不正确的计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21741076/