【问题标题】:LU decomposition of a CSR matrixCSR矩阵的LU分解
【发布时间】:2013-05-11 09:34:05
【问题描述】:

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

【问题讨论】:

  • 您是在询问该算法是否存在,或者是否在您正在使用的某个库中实现? (答案是肯定的,几乎可以肯定)。
  • 我在问是否存在算法,因为 LU 分解的幼稚版本不适用于 CSR 存储。所以我想知道我是否能找到一种方法来保持我的 CSR 格式并找到一个很好的 LU 分解算法......

标签: sparse-matrix


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    相关资源
    最近更新 更多