toon-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Toon-members] TooN GR_SVD.h


From: Georg Klein
Subject: Re: [Toon-members] TooN GR_SVD.h
Date: Mon, 24 Aug 2009 20:10:16 +0100


On 24 Aug 2009, at 19:15, E. Rosten wrote:

On Mon, 24 Aug 2009, Georg Klein wrote:

CVSROOT:        /sources/toon
Module name:    TooN
Changes by:     Georg Klein <georgklein>  09/08/24 17:03:40

Added files:
        .              : GR_SVD.h

Log message:
Added SVD implementation translated from FORTRAN, in turn translated from ALGOL of Golub and Reinsch. This looks very similar to other translations e.g. the one in Numerical Recipes. It doesn't have many of the more modern
        improvements like the underflow-safe sqrt(a*a + b*b) yet.

        Currently only implemented for static-sized matrices.

I think the algorithm is less mo,dern than used by e.g. LAPACK but this here
        is 4x as fast for small matrices.

Any idea at what kind of sizes the LAPACK one is faster?

Timings in microseconds for the decomposition, double precision
Size    GR-lite GR-full LAPACK
4       3.1     3.2     20.1
6       8.6     9.3     38.3
8       14.3    15.9    64.4
36      393     683     1109
100     5108    11107   12303
150     15323   37625   36527
200     35323   86091   75721

GR-lite means only calculating W, not U or V.
So lapack wins after somewhere between 100 and 150.

The above are double precision. Single precision GR-full.
4       2.1646
6       5.59395
8       10.9096
36      474.338
36      483.207
100     8962.8
150     28750.5
200     66072.3

This all on a 2.6GHZ core 2 duo.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]