5

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

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

有一个很好的解决方案吗?它可以在 matlab 函数中或在另一种技术中计算这种乘法的最大特征值。

谢谢。

4

1 回答 1

3

如果 A 是稀疏的,请参阅此线程和本文档中的一些讨论(基本上是逐部分进行)以获取转置它的方法等。

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

然后在你得到之后B=A'*A,使用eigs

eigs(B,1)

以获得最大量级特征值。

于 2013-01-02T21:59:14.510 回答