python – 最大的特征向量和可能的Scipy古怪
发布时间:2020-12-20 11:25:19 所属栏目:Python 来源:网络整理
导读:不确定这是否是包中的错误或由于其他原因,但我们继续. 我正在使用以下包在相似度得分的对称矩阵(大小为10×10)上找到最大的特征值及其对应的特征向量: scipy.sparse.linalg.eigen.arpack.eigsh ,像这样: scipy.sparse.linalg.eigen.arpack.eigsh(mymatrix,
不确定这是否是包中的错误或由于其他原因,但我们继续.
我正在使用以下包在相似度得分的对称矩阵(大小为10×10)上找到最大的特征值及其对应的特征向量: 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 ]] 这不是一个主要问题,但我不喜欢我的代码中的不确定性;-) 提前谢谢了, 马丁 解决方法
这实际上是一个数学问题.
但原因是当你计算特征向量时会有一个任意阶段.你正在为x解决Ax = bx.该方程在(可能是ocmplex)相位的乘法下是不变的. 至于为什么它以(看似)随机的方式发生,我不知道.但我很确定这不是一个错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |