@HighPerformanceMark在注释中是正确的,因为numpy背后的算法(LAPACK等)是一些最好的,但可能不是最先进的数字算法,用于对角化整个矩阵。但是,如果您具有以下条件,则可以
大大 加快操作速度:
稀疏矩阵
如果您的矩阵是稀疏的,即填充条目的数量为k,
k<<N**2则应查看
scipy.sparse。
带状矩阵
有许多算法可用于处理特定带状结构的矩阵。在中签出求解器
scipy.linalg.solve.banded。
最大特征值
大多数时候,您实际上并不 需要
所有的特征值。实际上,大多数物理信息来自最大的特征值,其余的仅仅是高频振荡,只是瞬时的。在这种情况下,您应该研究能够快速收敛到最大特征值/向量的特征值解,例如Lanczos算法。



