This is the mail archive of the gsl-discuss@sourceware.cygnus.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: SVD in linalg_simple


Federico,
  I for one would be interested in looking at the code.  In fact,
I'd probably run it side-by-side with the the current GSL (and
with a name-brand competitor) on the Hilbert matrix.
  Your question on transposing is a good one.  I once had a huge
image processing problem in which the most expensive step was
just the dumb transpose!  I didn't follow up completely, but I
did determine that there was a Trans. on Math. Soft. article.
(E.G. Cate and D.W. Twigg, ACM TOMS 3 (1977) pp. 104-110.) This
is an update of an earlier article: S. Laflin and M. A. Brebner,
In-situ Transposition of a Rectangular Matrix, Comm. ACM 13,5
(May 1970) 324. It may be easier (and copyright safer) to read
the article and write from scratch, but if you don't mind
translating fortran (or washing dishes), then you can grab source
from http://www.netlib.org/toms/513
  By the way, according to:
http://math.nist.gov/cgi-bin/gams-serve/list-package-components/LAPACK.html
the LAPACK software is in the public domain, so there shouldn't
be any problem incorporating it into GSL.  But the ACM stuff may
be different.

regards,
jt

On Tue, 19 Oct 1999, Federico Spinazzi wrote:

] 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
] 

---------------------------------------------
James Theiler                     jt@lanl.gov
MS-D436, NIS-2, LANL        tel: 505/665-5682
Los Alamos, NM 87545        fax: 505/665-4414
----- Space and Remote Sensing Sciences -----



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]