c++ - 计算矩阵最大特征值的最佳小型 C++ 包是什么?

标签 c++ matrix eigenvalue

<分区>

我需要计算(稀疏)矩阵的最大特征值。我实现了幂迭代法,但是收敛太慢,所以我想用一个包。有人有推荐吗?

最好的 C++ 特征值计算包是什么?最好是一个小且易于编译的。

最佳答案

我无法向您提供任何细节,因为我自己没有使用过它,但我认为 ARPACK 可能会有帮助,尤其是 ARPACK++,它是 C++ 的改编版,因为原始包在 Fortran77 中。我认为 MATLAB 函数 eigs() 使用它来找到最大的特征值(和相应的特征向量)。据我所知,它也应该能够与 STL 交互。

MATLAB 使用 Fortran77 例程 DSAUPD、DSEUPD、DNAUPD、DNEUPD、ZNAUPD 和 ZNEUPD。它们似乎是要在 ARPACK++ 中寻找的对象。

Check it out here.

关于c++ - 计算矩阵最大特征值的最佳小型 C++ 包是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3125543/

相关文章:

sql - 计算 postgresql 矩阵中列的组合

r - 如何最好地在 R 的数据框中将一个因素的不同级别相互划分?

matlab - 仅搜索矩阵的第一个(一对)特征值和特征向量 - MATLAB

c++ - 使用 LAPACK 计算无限带状矩阵的特征值

c++ - 字符串的连接

c++ - Firefox 扩展的多平台部署

c++ - 正确访问 const 一行特征矩阵

python - pandas 行的特征值

c++ - 如何使用 Strtok 对 Const char* 进行标记?

c++ - 以编程方式在 Windows 中获取本地化的用户友好组策略名称