This is the mail archive of the
gsl-discuss@sourceware.cygnus.com
mailing list for the GSL project.
Re: SVD in linalg_simple
- To: gsl-discuss at sourceware dot cygnus dot com
- Subject: Re: SVD in linalg_simple
- From: "Federico Spinazzi" <fspinazzi at hotmail dot com>
- Date: Tue, 19 Oct 1999 04:29:40 PDT
Hi all you here !
As I'm strongly interested in SVD, but I'm not a numerical analyst - matrix
algebra expert - statician - I've spent some of these last three months
evening - nights to build an SVD algorithm working well (in term of
stability and memory usage) both with nrows < ncols and nrows > ncols (when
ncols == nrows it will prompt for my e-mail; joke :-))
I ended up with two functions: dsvdc_ and dsvdctr_. As you have already
understand I twice translated LAPACK dsvdc.f in C, then I hacked the array
subscripts of one translation, modified its calls to blas routines, drink
some wine, whashed dishes, and then I have something I wanted for long.
Maybe it could be interesting for GSL to have an SVD that work efficently
such mine, but, as I don't know what algorithm GSL uses and how it manages
the situation in which ncols > nrows:
- maybe GSL SVD is better than LAPACK one;
- maybe there is a way to transpose IN SITU a 2d matrix pointed in memory by
(type *) pointer (not a (type**)) and I don't know it --> let me know ! so
that my problem t keep low the memory usage derives from my ignorance;
- may be GSL can't use LAPACK code.
Beside my stupidities and lack of knowledge, the question is:
Can such (the one I have produced) a SVD prove useful for GSL ?
If YES, let me know, if NO ... I'll remove the prompt for my e-mail from my
algorithm, sigh !
Thank You All.
Federico Spinazzi.
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com