避免scipy eigs ArpackNoConvergence错误

时间:2015-04-23 23:22:38

标签: scipy

这个scipy函数中导致ArpackNoConvergence错误的原因是什么?

文档只是说“当未获得所请求的收敛”时,但不提供任何实际含义的信息。

http://docs.scipy.org/doc/scipy-0.15.1/reference/generated/scipy.sparse.linalg.eigs.html

1 个答案:

答案 0 :(得分:0)

无法有效地分析地计算特征向量和特征值。相反,你使用迭代过程来近似它们:你从一些猜测的解决方案开始,并尝试在每次迭代中改进它。

迭代过程本身没有定义停止标准。显然,一旦我们的近似值与实际解决方案非常接近,我们希望它停止。

但有时我们正在非常缓慢地改进我们的近似,并且达到良好近似的步骤数量将是巨大的。我们可能希望定义最大迭代次数,而不是让计算机计算不确定的时间。

我们说如果在最大迭代次数(参见maxiter关键字)之后算法没有收敛,那么当前的近似值与实际解决方案不够接近(参见tol关键字)