From: Norbert_Paul on
Was sort of a premature post :)
Sorry

Norbert_Paul wrote:

> Just a hint:
>
> In the maxima source tree there is a translation of lapack and blas
> into LISP:
From: Raymond Toy on
On 4/11/10 9:24 AM, Norbert_Paul wrote:
> Was sort of a premature post :)
> Sorry

No sgemm because maxima doesn't really want to work with
single-precision floats. Maxima wants double-precision, and, in that
case, dgemm is available, as is zgemm (double precision complex).

>
> Norbert_Paul wrote:
>
>> Just a hint:
>>
>> In the maxima source tree there is a translation of lapack and blas
>> into LISP:

The translation was done as a proof of concept and as a test suite for
f2cl. In the context of maxima, it's ok, since speed isn't the most
important part. But if speed is very important and matrices are
reasonably large, I would say you should probably use an FFI interface
to lapack (or, even better, Atlas). Why? Most lisp compilers can't
compile the translation all that well. Pretty good, but not quite as
good as a Fortran compiler will usually do on the original Fortran code.

Ray
From: Norbert_Paul on
Raymond Toy wrote:
> The translation was done as a proof of concept and as a test suite for
> f2cl. In the context of maxima, it's ok, since speed isn't the most
> important part. But if speed is very important and matrices are
> reasonably large, I would say you should probably use an FFI interface
> to lapack (or, even better, Atlas). Why? Most lisp compilers can't
> compile the translation all that well. Pretty good, but not quite as
> good as a Fortran compiler will usually do on the original Fortran code.

Pretty good is good enough for now.

Are there benchmarks available?
Bout two weeks ago I made a simple test comparing LISP to Java with two
equivalent short programs and found that at least sbcl was faster than
Java.

Norbert
From: Raymond Toy on
On 4/14/10 4:55 AM, Norbert_Paul wrote:
> Raymond Toy wrote:
>> The translation was done as a proof of concept and as a test suite for
>> f2cl. In the context of maxima, it's ok, since speed isn't the most
>> important part. But if speed is very important and matrices are
>> reasonably large, I would say you should probably use an FFI interface
>> to lapack (or, even better, Atlas). Why? Most lisp compilers can't
>> compile the translation all that well. Pretty good, but not quite as
>> good as a Fortran compiler will usually do on the original Fortran code.
>
> Pretty good is good enough for now.
>
> Are there benchmarks available?

I don't know of any. If I were motivated enough I could do some since I
do have matlisp and maxima lying around. :-)

Ray