On 11/30/10 11:11 AM, Richard Fateman wrote:
> On 11/30/2010 6:03 AM, Anton Voropaev wrote:
>> Are there optimized matrix multiplication routines
>> for specific datatypes (like in Maple)?
>>
>> For example, multiplication of two 1000 by 1000 zero
>> matrices takes few minutes in both Maxima and Maple.
>> If we specify the option datatype=float[8] in Maple,
>> multiplication will take only a second.
>>
>> _______________________________________________
>> Maxima mailing list
>> Maxima at math.utexas.edu
>> http://www.math.utexas.edu/mailman/listinfo/maxima
> This sounds like a job for LAPACK, which Raymond Toy has imported into
> Maxima.
> Are those zero matrices double precision? or complex zeros? Is it
> diagonal? :)
>
> I don't see that the variety of matrix multiplication possibilities
> is exposed to the user in Maxima -- you may have to call the routines
> from
> Lisp, which means fussing with the data representation, and prefixing
> the program names with "?".
Yeah, the interface to lapack was based on user requests. Until now,
there was no request for an interface to matrix multiplication.
It won't be too hard to create one, but will take a bit of time. There
is a fair amount of overhead converting maxima matrices into the form
wanted by lapack, but for large enough matrices, it should be much
faster than maxima's general matrix multiplication routine.
As Richard asks, what kind of elements do the matrices have? Is
double-float good enough?
Ray