【发布时间】:2010-10-17 08:46:26
【问题描述】:
计算矩阵的特征值有多昂贵?
最佳算法的复杂度是多少?
如果我有一个 1000 x 1000 的矩阵,实际需要多长时间?我认为如果矩阵稀疏会有帮助?
是否存在特征值计算不会终止的情况?
在R 中,我可以计算特征值,如下面的玩具示例:
m<-matrix( c(13,2, 5,4), ncol=2, nrow=2 )
eigen(m, only.values=1)
$values
[1] 14 3
有人知道它使用什么算法吗?
还有其他计算特征值的(开源)包吗?
【问题讨论】:
-
如果我没记错的话,Google PageRank 的魔力是(至少部分)巨大的特征值计算。很高兴看到他们是如何做到的。我们在数值分析课程中使用 MATLAB 进行幂迭代或 QR 分解。
-
Google Pagerank 计算对应于一个非常具体的特征值问题:计算与随机矩阵的主要单位特征值相关的特征向量。在这种情况下,会使用一种专门的算法(可能基于幂方法的一些变体)。
标签: r matrix linear-algebra sparse-matrix eigenvalue