大型稀疏矩阵奇异值分解的Java实现

大型稀疏矩阵奇异值分解的Java实现,java,text-mining,large-data-volumes,large-data,Java,Text Mining,Large Data Volumes,Large Data,我只是想知道是否有人知道大型稀疏矩阵的奇异值分解(SVD)的java实现?我需要这个潜在语义分析(LSA)的实现 我尝试了UJMP和JAMA的包,但当行数>=1000和列数>=500时,它们会阻塞。如果有人能给我指出psuedocode或其他东西,我将不胜感激 有一个。NIST库非常好,不幸的是,它不处理稀疏矩阵。我对其他的包裹不太熟悉。你可以看看,;它还具有相当高的质量,可以处理一些操作的稀疏矩阵;我不知道SVD,虽然我想它知道。我还听说这也值得一看 编辑:很抱歉听到UJMP不能处理您的问题。

我只是想知道是否有人知道大型稀疏矩阵的奇异值分解(SVD)的java实现?我需要这个潜在语义分析(LSA)的实现

我尝试了UJMP和JAMA的包,但当行数>=1000和列数>=500时,它们会阻塞。如果有人能给我指出psuedocode或其他东西,我将不胜感激

有一个。NIST库非常好,不幸的是,它不处理稀疏矩阵。我对其他的包裹不太熟悉。你可以看看,;它还具有相当高的质量,可以处理一些操作的稀疏矩阵;我不知道SVD,虽然我想它知道。我还听说这也值得一看


编辑:很抱歉听到UJMP不能处理您的问题。我听说它值得一看。

答案几乎相同,那就是尝试。好吧,Colt和JAMA中的类SingularValueDecomposition的代码几乎相同。此外,该代码仅适用于m>n(行数大于列数)时。此外,我认为这些算法没有针对稀疏矩阵进行优化。m>n条件并没有真正困扰我。事实上,对我来说,99.99%的时间,m>n,总是这样(行代表单词,列代表文档)。只是这个约束没有明确的文档记录。当m=2810,n=2809时,使用colt需要25分钟。不错,看看la4j。也许会有帮助,谢谢。这张单子很有帮助。如果有人感兴趣,apachecommons数学包确实有一个SVD实现。它只迭代30次,并引发异常。在代码中再深入一点,我们不知道如何增加它(因为类中的类中有类),它在后面使用Jama-svd。