3

在 scipy 的 ARPACK 绑定中,无法计算矩阵的所有特征值。但是,我发现 eigsh 能够计算 n - 1 个特征值,而 eigs 只能计算 n - 2 个特征值。谁能验证这实际上是 ARPACK 的基本限制,而不是 scipy 中的错误?

这是示例代码:

import scipy.sparse, scipy.sparse.linalg
t = scipy.sparse.eye(3,3).tocsr()
l,v = scipy.sparse.linalg.arpack.eigs(t,k=2)
l,v = scipy.sparse.linalg.arpack.eigsh(t,k=2)
4

1 回答 1

2

这是 ARPACK 限制:

http://forge.scilab.org/index.php/p/arpack-ng/source/tree/master/SRC/dnaupd.f

http://forge.scilab.org/index.php/p/arpack-ng/source/tree/master/SRC/dsaupd.f

弄错这将是一个奇怪的错误...

于 2013-01-15T11:37:25.623 回答