sparse-matrix - 寻找大矩阵的 k 个最小特征值及其对应的特征向量

标签 sparse-matrix eigenvalue eigenvector

对于大小为 300,000*300,000 的对称稀疏方阵,在任何语言或软件包中,在一小时左右找到 10 个最小特征值及其相应特征向量的最佳方法是什么。

最佳答案

Lanczos 算法在 Hermitian 矩阵上运行,是查找最小和最大特征值以及相应特征向量的一种好方法。请注意,根据定义,实对称矩阵是 Hermitian 矩阵。 Lanczos 需要 O(N) 存储以及大约 O(N) 时间来评估极端特征值/特征向量。这与需要 O(N^2) 存储和 O(N^3) 运行时间的强力对角化形成对比。因此,Lanczos 算法使得许多以前在计算上无法实现的问题的近似解成为可能。

Here is a useful link访问加州大学戴维斯分校网站,其中列出了 Lanczos 在多种语言/包中的实现,包括 FORTRAN、C/C++ 和 MATLAB。

关于sparse-matrix - 寻找大矩阵的 k 个最小特征值及其对应的特征向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55379347/

相关文章:

c++ - 低 RAM 消耗 C++ 特征求解器

Julia : eigs() function returning different values after every evaluation

c++ - 只允许修改稀疏矩阵的非零元素

python - 在python中计算非常大的稀疏矩阵的特征值

python - 如何在 tensorflow 中进行稀疏张量和稠密张量之间的元素乘法?

octave - 使用 eig() 得到 Octave 的特征值

python - numpy.linalg.eig 如何决定返回特征值的顺序?

sorting - 使用特征向量矩阵对特征值矩阵进行排序

c++ - 列和行交换的最佳稀疏矩阵表示

python - 大型稀疏线性系统求解,重新排序和预处理器会变得更糟吗?