java jama数组问题

时间:2010-01-30 20:16:29

标签: java math svd jama

之前我问了一个问题,但是duffymo说不清楚,所以我将在这里再次发布。 我正在使用Jama api进行SVD​​计算。我对jama和SVD非常了解。 如果您的专栏超过行,Jama不起作用。我有这种情况。我该怎么办??任何帮助? 我也不能转置矩阵,因为它会产生错误的结果。 感谢。

P.S:我在jama的帮助下计算LSI。我想要列(docs)和行(术语)

4 个答案:

答案 0 :(得分:1)

如果我理解正确,你试图计算一个非方形矩阵的SVD,你有没有只适用于方形矩阵的JAMA库?如果我理解正确,那么您的问题的答案显而易见:获取一个为非方形矩阵计算SVD的库。如果我没记错,Numerical Recipes包含这样的算法,我希望你可以在谷歌找到许多其他资源。

答案 1 :(得分:1)

为什么不使用转置?如果X = USV',那么X'= VS'U'。正确?

转置你的矩阵。获取U,S和V.转移所有内容。

答案 2 :(得分:0)

由于您正在使用LSI,因此可以使用SVDLIBJ,它是SVDLIBC的Java等价物,它是可自由使用的最具扩展性的SVD实现之一。 S-Space包已经设置了command-line tool for SVDLIBJ。此外,如果能够更好地满足您的需求,您可以使用他们的Matrix库并避免使用命令行。

答案 3 :(得分:0)

我现在回复得非常晚。但我认为它迟到总比没有好。

但我知道jblas以有效的方式执行svd。