1

我正在研究一個涉及計算一個非常大的稀疏矩陣的特徵向量的項目。 更具體地說,我有一個矩陣,它是一個大圖的拉普拉斯算子,我有興趣找到與第二小特徵值相關的特徵向量。 當然Matlab需要很長時間來計算特徵向量,即使它計算了所有的特徵向量。 有什麼建議嗎? 非常感謝您 安德烈稀疏矩陣的特徵向量的快速計算

+1

使用'eigs'? ... – bla 2014-09-05 22:37:42

+0

eigs返回aigenvalues,而不是特徵向量 – MagoNick 2014-09-05 22:38:28

+0

'[V,D] = eigs(A)'同時返回,只需閱讀文檔http://www.mathworks.com/help/matlab/ref/eigs.html – bla 2014-09-05 22:38:58

回答

3

您是否嘗試過這種用法的eigs

[v,c]=eigs(A,2,'sm'); 

例如:

A = delsq(numgrid('C',256)); 
[v,c]=eigs(A,2,'sm'); 

生成〜50K X 50K稀疏矩陣和發現它的2個smallerst特徵值並在我的舊筆記本電腦中約1秒的特徵向量...

+1

完美的作品!從文檔我明白,這是不可能的 – MagoNick 2014-09-05 22:58:41

+0

是的,有時需要閱讀文檔,直到結束:) – bla 2014-09-05 23:00:23

+0

完成,非常感謝你 – MagoNick 2014-09-05 23:01:43