Re: [eigen] How to speed up svd?

[ Thread Index | Date Index | More Archives ]

On 05.10.2012 14:25, Hugh Perkins wrote:

I run SVD on a 500*1000 dense double matrix of random number, with
thin U and V, and it takes about 26 seconds.  The code looks like:

     JacobiSVD<MatrixXd,HouseholderQRPreconditioner> svd(In,
ComputeThinU | ComputeThinV);

On matlab it takes about 1.1 seconds, though admittedly the solution
doesn't seem terribly accurate.

What are possible reasons for this disparity, and is there anything I
can do to improve the situation?

At the moment, Eigen only supports a slow but stable SVD decomposer.
You can somehow use an external fast but instable SVD decomposer. I think Gael wrote a mail about this once, but I can't find it right now.


Dipl.-Inf. Christoph Hertzberg
Cartesium 0.049
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen

Tel: +49 (421) 218-64252

Mail converted by MHonArc 2.6.19+