使用eigen3的稀疏基质的特征值

Eigenvalues of sparse matrix using Eigen3

本文关键字:特征值 eigen3 使用      更新时间:2023-10-16

是否有一种独特而有效的方法来查找真实,对称,非常大的特征值和特征向量,例如1000000x10000,eigen3中的稀疏矩阵?有一个用于密集矩阵的特征值求解器,但这并不能使用矩阵的属性,例如这是对称的。此外,我不想将矩阵存储在密集中。

或者有一个更好的( 更好的记录)库可以做到吗?

假设您正在寻找C 库,请检查Armadillo。

eigs_sym()功能似乎是您想要的。引用文档,IT:

获得有限数量的特征值和稀疏对称真实矩阵x

的特征向量

来自适合您所需矩阵大小的文档的最小示例:

// generate sparse matrix
sp_mat A = sprandu<sp_mat>(10000, 10000, 0.1);
sp_mat B = A.t()*A;
vec eigval;
mat eigvec;
eigs_sym(eigval, eigvec, B, 5);  // find 5 eigenvalues/eigenvectors