【发布时间】:2013-11-13 15:01:45
【问题描述】:
我想对最好的 2 或 3 个库进行基准测试,以计算截断奇异值分解 (SVD),即仅保留 k 个最大奇异值的 SVD。此外,我有这些限制:
- 必须是 java 库
- 我的矩阵是稀疏的(大约 1% 的非零值)
- 我的矩阵非常大(通常为 10k x 5k)
- 我的矩阵也可以大于高 (5k x 10k)
我遇到过相当多的库,但例如,对于 Colt,我什至不知道 SVD 算法是否考虑到我的矩阵是稀疏的这一事实。此外,我没有找到可以直接计算截断解决方案的单个库(应该更快)。实际上,我最感兴趣的是从截断的 SVD 获得的近似矩阵。
提前感谢您的帮助,
罗曼·拉罗什
【问题讨论】:
-
colt 在我的设置下绝对是太慢了。我打算试试 jama,但从我目前所读到的内容来看,应该不会更好。
-
Colt 太慢了,但更重要的是,它只适用于高于宽度的矩形矩阵。
-
同样的问题@Maveric。我想在稀疏矩阵中运行 SVD,但没有运气。我发现 apache.common.math 有效,但它返回所有矩阵的 NaN 值。
标签: java matrix colt matrix-decomposition