小编Ant*_*nte的帖子

python scipy eigs:无论收敛容差如何,在最大迭代次数后返回特征向量

我想获得稀疏对称矩阵的特征向量,在给定时间内具有最佳精度。
目前我使用以下内容scipy.sparse.eigsh

evals, evecs = eigsh(MyMatrix, 2,which='LM' ,tol=1.e-15, maxiter=1000000)
Run Code Online (Sandbox Code Playgroud)

如果它没有tol通过迭代收敛到精度maxiter,则会产生一个ArpackNoConvergence错误,其中包含已收敛的特征向量/值,但不包含未收敛的特征向量/值。然而,我更喜欢拥有精确的向量,1.e-141.e-15不是根本没有向量。有没有办法强制返回尚未收敛的特征向量(也许使用另一个库)?
就像在 Matlab 中一样,eigs函数无论如何都会返回特征向量,如果未达到所需的精度,则只会发出额外的警告。

谢谢 !

python scipy sparse-matrix eigenvector arpack

5
推荐指数
1
解决办法
1872
查看次数

标签 统计

arpack ×1

eigenvector ×1

python ×1

scipy ×1

sparse-matrix ×1