java中稀疏矩阵的实现和运算

发布于 2024-12-01 15:35:52 字数 160 浏览 1 评论 0原文

我必须实现稀疏矩阵并对其进行一些分解,例如 Cholesky 分解、LU 分解、QR 分解。

实际上我找到了一个名为 JAMA 的库,它能够对密集矩阵执行此操作。

但我必须实现稀疏矩阵。

任何人都可以分享他们实现稀疏矩阵的经验吗?或者是否有任何库可以实现它。

I have to implement sparse matrix and do some decompositions like Cholesky Decomposition, LU Decomposition, QR Decomposition on it.

Actually I found a library called JAMA which is capable of doing this for dense matrix.

But I have to implement sparse matrix.

Can any one share their experience implementing sparse matrix or is there any library to implement it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乙白 2024-12-08 15:35:52

您是否看过 ColtMatrix-Toolkits-Java?这些可能会帮助你。

Have you had a look at Colt or Matrix-Toolkits-Java? These may help you out.

吻风 2024-12-08 15:35:52

有一个 la4j(Java 线性代数)库支持稀疏矩阵。 la4j 使用最常见和有效的稀疏表示,例如 CRS(压缩行存储)CCS(压缩列存储)。以下是 la4j 中相应的类: CRSMatrixCCSMatrix。因此,您可以查看源代码或直接使用 la4j 的稀疏矩阵进行上述分解。

这是一个简短的例子:

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

Matrix[] qr = a.decompose(Matrices.QR_DECOMPOSITOR); // qr[0] = Q, qr[1] = R

Matrix[] u = a.decompose(Matrices.CHOLESKY_DECOMPOSITOR); // u[0] = U

There is a la4j (Linear Algebra for Java) library that supports sparse matrices. The la4j uses the most common and effective sparse representaions sush as CRS (Compressed Row Storage) and CCS (Compressed Column Storage). Here is the corresponding classes in la4j: CRSMatrix and CCSMatrix. So, you can look into sources or use la4j's sparse matrices directly with mentioned decompositions.

Here is the brief example:

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

Matrix[] qr = a.decompose(Matrices.QR_DECOMPOSITOR); // qr[0] = Q, qr[1] = R

Matrix[] u = a.decompose(Matrices.CHOLESKY_DECOMPOSITOR); // u[0] = U
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文