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/

相关文章:

c++ - 在 Amazon EC2 上安装测试应用程序

matlab - 如何在 Matlab 中获取科学记数法的指数

c++ - 性能:Matlab 与 C++ 矩阵 vector 乘法

python - 如何找出与矩阵的特定特征值对应的特征向量?

c++ - 将 if 中的一个值复制到另一部分

c++ - 垫类型转换和访问单个像素的问题

android - 如何使用 Matrix 确定图像在 ImageView 中的实际位置?

numpy - numpy/scipy 特征分解的不稳定结果

arrays - Julia:大稀疏矩阵的所有特征值

c++ - visual studio 2012 中 Eigen 类型 vector 的自动向量化表现不佳