2013-05-11 159 views
0

我以壓縮稀疏行格式(CSR)存儲稀疏矩陣A.我想計算A的LU分解。通用算法效率不高,因爲它們必須在矩陣的所有係數上循環。有沒有一種有效的算法可以利用CSR格式來計算LU分解? 謝謝你的幫助!CSR矩陣的LU分解

+0

您或問,如果該算法存在,如果它在一些圖書館實現了您正在使用? (答案肯定而且幾乎肯定)。 – jorgeca 2013-05-11 09:55:46

+0

我在問是否存在算法,因爲LU分解的天真版本不適用於CSR存儲。所以我想知道如果我能找到一種方法來保持我的CSR格式並找到一個好的LU分解算法...... – user2372521 2013-05-31 17:47:51

回答

0

我是la4j(Linear Algebra for Java)庫的作者。 la4j支持CRS格式以及LU分解。所以,你可以嘗試使用它。但是,la4j(0.4.0)在處理分解時並不真正處理結構體格式細節。但是這正是我計劃在下一次發佈中做的。您可以subscribe更新或嘗試自行實施此類算法,並向la4j發送拉取請求。

如何使用LU decompositor:

Matrix a = new CRSMatrix(new double[][]{ 
    {1.0, 2.0}, 
    {3.0, 4.0} 
}); 

// lu[0] - L, lu[1] - U 
Matrix[][] lu = a.decompose(Matrices.LU_DECOMPOSITOR);