Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
我正在寻找使用C,C++或Java的快速svd库。最终,我使用Java,但是使用jna包装C++非常舒服,例如http://github.com/hughperkins/jeigen
我正在寻找可以处理稀疏矩阵的快速svd库。为了保持这一目标,以便使问题不会被标记为过于主观,我们说:
与news20.binary一起使用,例如来自http://mldata.org/repository/data/viewslug/news20binary/ 运行需要多长时间? ,例如,对于大小为6或20的S矩阵,保留了多少方差?
我环顾了几个图书馆,发现:
matlab: super 快,大约10秒,但实际上并不是一个“库”。平均平方投影误差:0.93 redsvd:超快,运行大约1秒钟,有6个功能,但平均平方投影误差为0.97,这是非常高的 Eigen的svd都很慢,并且仅适用于密集矩阵 svdlibc:在停止它之前跑了28分钟;我想它是在计算完整的S,而不是仅仅计算前6个特征
基本上,我正在寻找一个与Matlab具有相同的速度和平均平方投影误差的库,或者至少具有某种可比性。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
我正在寻找使用C,C++或Java的快速svd库。最终,我使用Java,但是使用jna包装C++非常舒服,例如http://github.com/hughperkins/jeigen
我正在寻找可以处理稀疏矩阵的快速svd库。为了保持这一目标,以便使问题不会被标记为过于主观,我们说:
我环顾了几个图书馆,发现:
基本上,我正在寻找一个与Matlab具有相同的速度和平均平方投影误差的库,或者至少具有某种可比性。
最佳答案
根据我的经验,svdlibc是这些选项中最好的库。我之前已经研究过它的代码,而且我不相信它正在计算完整的S矩阵(即,它是真正的“thin svd”)。如果您可以控制磁盘上的矩阵表示形式,则在使用稀疏二进制输入格式时,svdlibc的执行速度会更快,这是因为I / O开销大大降低了。
S-Space软件包在SVDLIBC的SVDLIBJ java端口周围提供了executable jar。但是,他们发现对于某些输入解决方案,其结果与SVDLIBC不同。
关于java - 快速准确的稀疏svd库? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12776415/
10-09 06:21