繁体   English   中英

大型稀疏矩阵SVD

[英]large sparse matrix, svd

我想计算SVD,但是我没有为此找到好的Java库。 现在,我将数据存储在hashmap中,因为由于大小大约为40万X 10 000,并且其中大多数为0,因此矩阵无法容纳到内存中。我尝试了MTJ,JBLAS,Jama等,但是其中大多数不支持稀疏矩阵或速度太慢。 我需要在最多2-3分钟内完成此计算。 有人可以推荐我一些东西吗? 我还阅读了有关R中的irbla的信息,但是可以将数据从Java发送到R,进行计算并将其发送回我的Java程序吗?

在尝试将非负矩阵分解(NNMF)和概率潜在语义分析应用于大型稀疏术语文档矩阵时,我遇到了类似的问题。 我尝试了Jblas 1和Jama 2,但最终使用了Matlab。 而且因为我用Java编写了整个应用程序,所以最终通过Matlab Runtime Compiler(MRC)用Java调用Matlab。

该怎么办:
Matlab具有称为Matlab Builder JA的功能。 使用此工具生成一个.jar文件,其中包含您的Matlab代码,然后可以由Java程序调用。 该.jar需要MRC才能工作。

1 Jblas比Jama快得多,但我遇到了问题,无法使其在64位的jdk上运行。
2 Jama使用了doube[][] ,这导致了内存问题。
也许上面的内容已经更改,因为我要追溯到2012年7月,并且现在还没有清晰的图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM