不确定这是包中的错误还是由于其他原因,但我们开始了。
我正在使用以下包在相似度分数的对称矩阵(大小为 10x10)上找到最大的特征值及其对应的特征向量:
scipy.sparse.linalg.eigen.arpack.eigsh
,像这样:
scipy.sparse.linalg.eigen.arpack.eigsh(mymatrix, 1, which='LM')
现在我的问题是,当我多次运行它时(使用相同的矩阵、设置等),有时特征向量中的值是正的,有时是负的(参见运行 3)。
有谁知道这可能是为什么,或者它是一个错误?它似乎没有模式,但它只发生在我运行代码而不在每次迭代后关闭 Python 时(即每次运行后按 F5)。
### Run 1: ###
[[-0.31056873]
[-0.31913092]
[-0.3149287 ]
[-0.32262921]
[-0.32190688]
[-0.31292658]
[-0.32424732]
[-0.31885208]
[-0.31808024]
[-0.298174 ]]
### Run 2: ###
[[-0.31056873]
[-0.31913092]
[-0.3149287 ]
[-0.32262921]
[-0.32190688]
[-0.31292658]
[-0.32424732]
[-0.31885208]
[-0.31808024]
[-0.298174 ]]
### Run 3:###
[[ 0.31056873]
[ 0.31913092]
[ 0.3149287 ]
[ 0.32262921]
[ 0.32190688]
[ 0.31292658]
[ 0.32424732]
[ 0.31885208]
[ 0.31808024]
[ 0.298174 ]]
### Run 4: ###
[[-0.31056873]
[-0.31913092]
[-0.3149287 ]
[-0.32262921]
[-0.32190688]
[-0.31292658]
[-0.32424732]
[-0.31885208]
[-0.31808024]
[-0.298174 ]]
这不是一个大问题,但我不喜欢我的代码中的不确定性 ;-)
提前谢谢了,
马丁