LAPACK performance (was: Definitions of LAPACK)



Hi Raymond,

I just got some experience with LAPACK, which I want to share. I used
dgeev to get the eigenvalues of a 200x200 Matrix. Using gcl (Debian
unstable maxima 5.12) it was impossble to do, as it took a day and
crashed. Using sbcl (compiled from 5.11.99rc3) was by a factor of at
least 50 faster (Tested with 50x50 Matrix) and it solved the (200x200)
eigenvector problems.
Just in case, anybody is frustrated with this. 
I was about to write a command line program to calculate the
eigenvectors to be called from maxima, but luckyly I tried sbcl first:-)


At the moment I miss zgeev. Somebody already f2cl'ed it :-)

I would test with big matrices:-)

Thanks a lot
Detlef

Am Mittwoch, den 02.05.2007, 09:02 -0400 schrieb Raymond Toy:
> >>>>> "Detlef" == Detlef Schmicker <d.schmicker at physik.de> writes:
> 
>     Detlef> Am Dienstag, den 01.05.2007, 18:30 -0400 schrieb Raymond Toy:
>     >> Detlef Schmicker wrote:
>     >> > Hello,
>     >> >
>     >> > I read the threads about LAPACK and found it very usefull. I managed to
>     >> > get dgeev working.
>     >> >   
>     >> Was it not already working?
>     Detlef> Sure it was, it was a little difficult to find argument description :-)
> 
> Heh.  Ok.  I will add some documentation.
> 
> I think the names will be the LAPACK names, to make it easier to
> figure out what functions do what.  Hopefully, someone who actually
> uses these routines will either come up with a better interface or a
> better name.
> 
> Could you file a bug report that the lapack routines are not
> documented?
> 
> 
>     Detlef> I wonder, where the fortran source of the funktions are in the tree. If
> 
> share/lapack/blas/fortran and share/lapack/lapack/fortran
> 
>     Detlef> I understood correctly the fortran source is compiled to lisp and you
>     Detlef> integrated this?! Wouldn't it be good to have this process within the
>     Detlef> maxima build process? But maybe I am wrong and it is linked to the libs.
> 
> Yes, the Fortran code is converted to Lisp via f2cl.  This is done
> just once and the Lisp code is checked in.  I guess we do it this way
> so that maxima doesn't need to have f2cl.  The defsystem files that
> perform the actual conversion is, however, checked in, so the Lisp
> files can be recreated at anytime.
> 
> Ray
>