0

我以压缩稀疏行格式 (CSR) 存储稀疏矩阵 A。我想计算 A 的 LU 分解。常见算法效率不高,因为它们必须循环矩阵的所有系数。是否有利用 CSR 格式计算 LU 分解的有效算法?谢谢您的帮助!

4

1 回答 1

0

我是la4j(Java 的线性代数)库的作者。la4j 支持 CRS 格式以及 LU 分解。因此,您可以尝试使用它。但是,la4j (0.4.0) 在执行分解时并没有真正处理具体的格式细节。但这就是我计划在下一个版本中做的事情。您可以订阅更新或尝试自己实现此类算法并向 la4j 发送拉取请求。

如何使用 LU 分解器:

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);
于 2013-06-07T05:06:18.157 回答