algorithm - 求小一般复矩阵最大特征对的高效算法

标签 algorithm linear-algebra lapack

我正在寻找一种有效的算法来找到大小为 m x n 的小型通用(非正方形、非稀疏、非对称)复矩阵 A 的最大特征对。我所说的小是指 m 和 n 通常在 4 到 64 之间,通常在 16 左右,但 m 不等于 n。 这个问题可以直接用一般的 LAPACK SVD 算法解决,即 gesvd 或 gesdd。然而,由于我要解决数百万个这样的问题并且只需要最大的特征对,所以我正在寻找一种更有效的算法。此外,在我的应用程序中,所有情况下的特征向量通常都是相似的。这促使我研究基于 Arnoldi 迭代的方法,但我既没有找到适用于我的小型通用复杂矩阵的好的库也没有算法。是否有合适的算法和/或库?

最佳答案

Rayleigh 迭代具有三次收敛性。您可能还想实现幂方法并查看它们的比较方式,因为您需要对矩阵进行 LU 或 QR 分解。

http://en.wikipedia.org/wiki/Rayleigh_quotient_iteration

按照@rchilton 的评论,您可以将其应用于 A* A。

关于algorithm - 求小一般复矩阵最大特征对的高效算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9891023/

相关文章:

java - Java 中的模块化数学(环绕的数字线)

c++ - LAPACK 函数在第一次迭代后变慢

c++ - 如何在元组上使用 boost::algorithm::join?

algorithm - 大 Ө 符号到底代表什么?

nlp - 在潜在语义分析中,如何在截断奇异值后重新组合分解矩阵?

lm - 对 `log2f@GLIBC_2.27' 的 undefined reference 对 `logf@GLIBC_2.27' 的 undefined reference

c++ - Armadillo C++ 和 BLAS 和 ATLAS 在 mingw32 下找不到 lapack blas

algorithm - 计算器遵循什么样的算法来计算正弦值?

algorithm - 平衡三元搜索树

java - 特征脸的相关矩阵 - Java