寻找最大特征值的时间复杂度

时间:2013-12-10 05:18:49

标签: time-complexity graph-theory eigenvector

我正在试图计算出在一大堆小矩阵中计算最大特征向量的时间复杂度。

每个矩阵是加权无向图中节点的1步邻域的邻接矩阵。所以所有值都是正的,矩阵是对称的。 E.g。

0 2 1 1
2 0 1 0
1 1 0 0
1 0 0 0

我发现Power iteration方法每次迭代应该是O(n^2)复杂度。

这意味着为图中每个节点找到1步邻域的最大特征向量的复杂度为O(n * p ^ 2),其中n是节点数,p是平均度数图(即边数/节点数)?

1 个答案:

答案 0 :(得分:-1)

我认为你最好的选择是使用一种称为功率迭代的迭代随机算法。该算法是迭代的,并找到具有几何收敛的真实最大特征值,其中最大特征值与第二大特征值之比。因此,如果两个最大的特征值相等,则不要使用此方法,否则它的效果非常好。实际上你得到了最大的特征值和各自的特征向量。

但是,如果你的矩阵非常小,你可能也可以执行PCA,因为它不会那么昂贵。我不知道你何时应该在两者之间切换的任何硬阈值。这也取决于你是否愿意接受小的不准确或绝对的真实价值。