From: Frederik S. <fs...@sy...> - 2002-11-22 00:16:06
|
On Thu, 21 Nov 2002, Andrew Fitzgibbon wrote: > > Maybe someone could look into getting another SVD from somewhere. > > Is the LAPACK one better? One would think so, since the stated purpose of LAPACK was to make LINPACK and EISPACK more efficient and both the FAQs for these two libraries say they have been made mostly obsolete by LAPACK. It can be obtained from www.netlib.org as a 4.8Mb gzipped tarfile of code, with unoptimized BLAS and tests. It makes heavy use of BLAS so vendor-supplied versions of that should make LAPACK faster. In addition it has a C version (CLAPACK) that is essentially the result of running f2c and then manually tweaking the result, which sounds familiar. That would be useful for systems that don't have a FORTRAN compiler, but otherwise I see no reason to not just compile the FORTRAN out of the box. I think the maximum number of iterations used by the LAPACK SVD iteration ([SDCZ]BDSQR) is 6N^2 where N is the smallest dimension of the matrix to be decomposed (the iteration is applied to a bidiagonal matrix with only 2N-1 non-zero entries). Maybe LAPACK is better. Someone should try it out. Not me. |