speeding up linear algebra



----- Original Message ----- 
From: "Barton Willis" <willisb at unk.edu>
To: "Richard Fateman" <fateman at cs.berkeley.edu>
Cc: <maxima at math.utexas.edu>
Sent: Sunday, January 22, 2006 9:14 AM
Subject: Re: [Maxima] speeding up linear algebra

> It seems that if I followed your suggestions, I'd need to write
> a separate LU function for doubles, one for complex doubles, and one for
> any other
> type I'd like to speed up.

Not really.  All other types would not be sped up by special code; the
compiler can only do a good job for a subset of the built-in numeric
types.  So it might pay to do
single-float
double-float
   and complex versions of that.  Total of 4 versions here

I doubt that it would pay to do bignums, bigfloats, rationals, etc 
specially...
they could be done by the same generic code.  Writing better
code would be only 10% faster if that..
So,  One more version here.

The right division of responsibility may be already figured out by
the BLAS.  I'm not sure why lists should be converted to arrays:
the right thing might be to convert to arrays way earlier.

I do not know how much benefit you get from compiling with
declarations in GCL or CLISP.  I assume that SBCL makes
good use of declarations, as does Allegro CL, which is
what I tested.


I was trying to avoid doing that
> (and I doubt that I would try to do that). I could extract the spendy
> parts of the LU function and specialize that code for a few different
> types.
> Maybe there is no simple solution.
>
> Barton
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>