【问题标题】:Matlab - calculating max eigenvalue of a big sparse (A'*A) matrixMatlab - 计算大稀疏(A'*A)矩阵的最大特征值
【发布时间】:2012-12-17 05:43:27
【问题描述】:

我有一个大的 (400K*400K) 稀疏矩阵,我需要计算 A'*A 的最大特征值。

问题是由于内存问题,Matlab 甚至无法计算 A'。
我还尝试了[a,b,c] = find(A),然后通过创建转置稀疏矩阵进行转置,但尽管find() 有效,但创建 sprase 却没有。

有没有很好的解决方案?它可以在 matlab 函数中,也可以在其他技术中计算这种乘法的最大特征值。

谢谢。

【问题讨论】:

    标签: matlab sparse-matrix


    【解决方案1】:

    如果 A 是稀疏的,请参阅此 threadthis documentation 中的一些讨论(基本上是逐个进行)以了解转置它的方法等。

    但是现在你需要计算B=A'*A。问题是,它仍然稀疏吗?假设是这样,使用链接中提到的先前技术应该没有问题。

    那么在你获得B=A'*A之后,使用eigs

    eigs(B,1)
    

    求最大量级特征值。

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 1970-01-01
      • 2015-11-18
      • 2015-11-28
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 2012-02-23
      相关资源
      最近更新 更多