首页 文章

如何计算Fortran中的第一个特征值和特征向量

提问于
浏览
0

我尝试使用ARPACK使用一些例子(here),但我甚至无法弄清楚如何输入我的矩阵 . 从这个question,似乎Python和Matlab中的实现是避免ARPACK复杂性的唯一解决方案 . 是否有一些(基于Fortran)的方法来做到这一点,还避免计算所有的特征值/特征向量?

1 回答

  • 1

    我写了一个包装器,它只需要设置矩阵A和特征值的数量(例如,如果你只需要第一个特征值,则nev = 1) . 代码改编自特定的应用程序,可以找到here . 我的类模块版本只需要设置 matrix Anumber of featuresnumber of eigenvalueswhich 应该采取('LM' - 最大幅度' .

    该代码以Gist here的形式提供 .

    注意:ARPACK与LAPACK不同,因为它通常针对密集矩阵进行优化,而这是针对大型稀疏矩阵进行优化的 .

    ARPACK包用于计算大型稀疏或结构矩阵的一些特征值和相应的特征向量,使用隐式重启Arnoldi方法(IRAM),或者在对称矩阵的情况下,使用Lanczos算法的相应变体 . 许多流行的数值计算环境(如SciPy,Mathematica,GNU Octave和MATLAB)都使用它来提供此功能 . (来源:维基百科)

相关问题