我有一个大但非常稀疏的矩阵,我想对角化。不过,我自己的 Lanczos 实现和 scipy 内置的 ARPACK 都无法正确收敛。我知道我的 Lanczos 代码本身是正确的,ARPACK 实现也应该是正确的。
我注意到我的矩阵的一件事是-th 行长得像. 这会导致问题吗?特别是因为 - 由于物理原因 - 我预计与最小(代数)特征值相关的特征向量在这些指数上的权重很小。
编辑:如果我从一个完全非随机的起始向量开始,该向量在第一个元素中的权重为 1,并且在其他任何地方都为零,那么我自己的 Lanczos 和 ARPACK 都会收敛到正确的(LAPACK 密集矩阵对角化)解决方案。在我还没有一些物理直觉的一般环境中,我正在寻找什么特征向量,可以做些什么来对抗大型矩阵元素(对角线和非对角线)?