在 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)