これがパッケージのバグなのか、他の原因によるものなのかはわかりませんが、これで終わりです。
次のパッケージを使用して、類似度スコアの対称行列 (サイズが 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 ]]
それは大きな問題ではありませんが、コードの不確実性は好きではありません ;-)
よろしくお願いします。
マーティン