我尝试通过一些示例(此处)使用 ARPACK,但我什至无法弄清楚如何输入我的矩阵。从这个问题看来,Python 和 Matlab 中的实现似乎是避免 ARPACK 复杂性的唯一解决方案。是否有一些(基于 Fortran 的)方法可以做到这一点,同时避免计算所有特征值/特征向量?
问问题
1616 次
1 回答
1
我写了一个包装器,它只需要设置矩阵 A 和特征值的数量(例如,如果你只需要第一个特征值,则 nev = 1)。该代码改编自可在此处找到的特定应用程序。我的模块式版本只需要设置矩阵 A、特征数量、特征值数量以及应该采用哪些('LM' - 最大数量级'.
该代码可在此处作为 Gist 获得。
注意:ARPACK 与 LAPACK 不同,因为它通常针对密集矩阵进行优化,而针对大型稀疏矩阵进行优化。
ARPACK 包旨在计算大型稀疏或结构化矩阵的一些特征值和相应的特征向量,使用隐式重启 Arnoldi 方法 (IRAM),或者在对称矩阵的情况下,使用 Lanczos 算法的相应变体。许多流行的数值计算环境(如 SciPy、Mathematica、GNU Octave 和 MATLAB)使用它来提供此功能。(来源:维基百科)
于 2017-08-17T16:39:27.900 回答