user1343318
user1343318

Reputation: 2141

The ideal SVD implementation?

Ofcourse, ideal is subjective. I am doing some research where I need to implement production level code for SVD computation for a rectangular matrix. So here is what I found out, GraphLab and Mahout use Lanczos Algorithm for implementing SVD, while I have found that other methods include QR decomposition and Jacobi method. My question is what is the most preferred method in computing SVD? And why?

Upvotes: 4

Views: 5008

Answers (2)

Germán Alfaro
Germán Alfaro

Reputation: 600

You can try Eigen library for C++, it has very good performance and is not difficult to use if you're a C++ programmer:

http://eigen.tuxfamily.org/dox/classEigen_1_1JacobiSVD.html

Graphlab uses Eigen for linear algebra, not sure if they use it for SVD.

Upvotes: 0

SolessChong
SolessChong

Reputation: 3407

I find this paper which seems to be helpful.

In section

45.2 Algorithms for the Singular Value Decomposition

different algorithms are being discussed.

The algorithms differ in the way of whether involves iteration, and what the exact output is needed, say if you just want the eigen vector, things would be a little bit different.

Upvotes: 3

Related Questions