java稀疏矩阵问题

时间:2010-02-22 18:26:36

标签: java performance math sparse-matrix

我有二维矩阵。我的矩阵很稀疏。我正面临性能问题。任何人都可以回答我在java中可以使用的api或类来处理稀疏矩阵以提高我的程序性能。

例如我想要

it take 100x100 matrix
handle sparse stuff
do the multiplication
return me my matrix same as 100x100 with 0 ( mean sparse matrix )

4 个答案:

答案 0 :(得分:6)

Jama对于大型稀疏矩阵非常糟糕。

查看Colt线性代数库。


稀疏线性代数的另一种可能性是the apache commons库。可能比Colt轻一点,但与Jama的外观和感觉的差别可能会大一些。

答案 1 :(得分:1)

SuanShu实现了大量稀疏矩阵。您只需使用它们而不是自己编写。

他们目前支持以下格式:CSR,DOK,LIL

答案 2 :(得分:0)

您是否尝试使用Jama? http://math.nist.gov/javanumerics/jama/ - 它们不直接支持稀疏矩阵,但它是一个广泛使用的包。

另外,princeton似乎有一个稀疏矩阵实现,你可以看看http://www.cs.princeton.edu/introcs/44st/SparseMatrix.java.html

答案 3 :(得分:0)

您可以查看la4j(线性代数for Java)。 la4j支持稀疏矩阵和密集矩阵。以下是支持的矩阵类型列表:1D阵列(密集),2D阵列(密集),CRS - 压缩行存储(稀疏),CCS - 压缩列存储(稀疏)。