当然,理想是主观的。我正在做一些研究,我需要为矩形矩阵实现SVD计算的生产级代码。所以这是我发现的,GraphLab和Mahout使用Lanczos算法来实现SVD,而我发现其他方法包括QR分解和Jacobi方法。我的问题是计算SVD最优选的方法是什么?为什么?
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以尝试使用C ++的Eigen库,它具有非常好的性能,如果您是C ++程序员,并不难使用:
http://eigen.tuxfamily.org/dox/classEigen_1_1JacobiSVD.html
Graphlab使用Eigen进行线性代数,不确定它们是否将它用于SVD。