Re: [eigen] How to speed up svd? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] How to speed up svd?
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Fri, 5 Oct 2012 11:44:56 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=PMeLzyc3ACOlD/MdR0K3rYZaU2hJcYtBHD14h4+9oSY=; b=ZStnZuPrFeqFp2Sqe4MBMOM7S0yapRvyedhrhf+3KNNxQ2JmYkTxM1ue/DxoOL89qy sLff4IYzYFFhfedn0QvJSx8UXE0g1Fub7YFXFRm7pJObOaVsNG40T9d0sDarB+JRz/R4 ihDvg1aq6/nr5cG7WLvhjiQi9TBBUzicA/17rYnBXh0V4J3HiduwoSbb/ucQoXoGKYJg iOe2Mv0/WuJjDVOhMGcp9ZSx2zR3f1DsXlrQPouQOP2ElUad3elW5eadRbPIAd9alvgA nmOAeklM+JeqSiUKxk57Y2fkF/Phf6HrPbOEKU1T7jvBVRkIggdwCOCkLLe75/oemj2f w0Aw==
What Christoph said. We should implement a fast,
pivoting-bidiagonalization-followed-by-divide-and-conquer SVD, see
http://eigen.tuxfamily.org/bz/show_bug.cgi?id=67
At some point I wanted to do it, but never got around to doing it, so
this bug needs a taker. It's not too heaving on
eigen-template-metaprogramming and other existing decomposition
classes can be used to give the skeleton.
Benoit
2012/10/5 Christoph Hertzberg <chtz@xxxxxxxxxxxxxxxxxxxxxxxx>:
> On 05.10.2012 14:25, Hugh Perkins wrote:
>>
>> Hi,
>>
>> 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.
>
> Christoph
>
>
>
> --
> ----------------------------------------------
> Dipl.-Inf. Christoph Hertzberg
> Cartesium 0.049
> Universität Bremen
> Enrique-Schmidt-Straße 5
> 28359 Bremen
>
> Tel: +49 (421) 218-64252
> ----------------------------------------------
>
>