Maxima Lapack is very slow: 7 seconds versus 0.002 seconds in Julia.
Subject: Maxima Lapack is very slow: 7 seconds versus 0.002 seconds in Julia.
From: Richard Fateman
Date: Thu, 10 May 2012 16:40:09 -0700
On 5/7/2012 10:03 PM, Robert Dodier wrote:
> On 2012-05-05, Raymond Toy<toy.raymond at gmail.com> wrote:
>> On 5/5/12 9:00 AM, Manuel Pedrinero rossetil wrote:
>>> Perhaps the efforts in linear algebra of Rosseti, Tamas, Raymond,
>>> Liliam (gsl), Luis Oliveira. (cffi) and others could be ported to maxima
>>> or some interface via cffi between Julia and maxima could be very
>>> interesting. There also some Lispers that use Lisp and R (for example
>>> C. Rhodes) . Improving the numeric capabilities of maxima could appeal
>>> to more people and communities.
>> Let us not lose sight of what maxima is. It is a computer algebra
>> system, not a numerical evaluation system. There are many of those already.
> Well, we don't have to choose one or the other. Ideally Maxima would
> combine symbolic and numerical capabilities. Given the history of the
> project and the people working on it, there's more emphasis on symbolic
> stuff. But there's no reason to rule out expanded numerical functions,
> and in fact we have made good progress over the past several years.
> (Special thanks to you, Ray, for that.)
>
> best
>
> Robert Dodier
>
We've had a discussion of this type repeatedly over the years. There is
a contrary
point of view which is that -- if you are "merely" doing X (say,
numerical computation,) you
are better off using a system that is designed and optimized for X, and
does not include
Y, Z etc.
Reasons:
You do not have to learn about Y, Z, etc.
You do not have to wade through documentation about Y, Z, etc and try
to figure out
if it also affects X.
The programmer of a system can make contextual judgments that pertain to X
but not Y, or Z. (e.g. Is x^0.5 identical to sqrt(x)? Is there a
smallest non-zero
floating-point number? Do all scalar data objects fit in a 64-bit [or
smaller] space?
Are all numerical objects potentially complex? Are all matrix objects
fixed in size
at the time they are created? etc etc).
The X only system can be faster, more portable, more parallelizable,
easier to
document and explain.
I am generally of the opinion that a user of Maxima who wants to use
(say) Lapack,
should have it available.
BUT,
If someone who has no interest or understanding of issues that
come up in symbolic math complains about Maxima's failure to do a purely
numerical task fast enough (like root-finding of a one-variable
floating point
formula or linear equation solving), my reaction is to suggest that
the user use (say) Matlab or a free Matlab clone. This not only solves the
person's problems more expeditiously, it doesn't involve him/her in being
"educated" about symbolic systems by readers and writers to this newsgroup.
RJF