JAVA中的大型稀疏矩阵特征分解

我正在寻找一个Java中的线性代数库,它可以处理规​​模较大的“稀疏”矩阵(比如说100万),并在矩阵上执行SVD,LU等分解。

我环顾四周,尝试了COLT,但它只能处理矩阵达到固定数量的元素。

EJML网站也提到它将无法处理这个问题。 (http://code.google.com/p/efficient-java-matrix-library/wiki/FAQ)

我知道在C ++中有可以处理这种大小的数据的软件包,但是我不能从Java移动,因为我拥有围绕Java构建的所有其他代码。

有什么想法吗? 任何帮助是极大的赞赏!


试着看看la4j(线性代数为Java)。 它处理稀疏矩阵以及密集矩阵。 所以你可以尝试这样的事情:

Matrix a = new CRSMatrix(...); // Compressed Row Storage format
Matrix vd[] = a.decompose(Matrices.EIGEN_DECOMPOSITOR); // vd[0] = V, vd[1] = D

所以,它适用于稀疏矩阵,但我不确定大小(100万X 100万)。

链接地址: http://www.djcxy.com/p/49105.html

上一篇: Large Sparse Matrix Eigendecomposition in JAVA

下一篇: Colored Pixels Appearing When Trying to Compress Image (pics included)