Efficient Lisp functions -- using results of symbolic calculations numerically
Subject: Efficient Lisp functions -- using results of symbolic calculations numerically
From: Bruno Daniel
Date: Sat, 1 Sep 2007 18:14:55 +0200
> The code generated for h is not so different from the code you
> showed, and it runs just a little bit slower.
Thanks for the clarification, Robert. I didn't know that. So Maxima is already
much better than other computer algebra systems in this respect.
Interfacing to other programs is another topic that seems to be important for
many users if you look at other systems (Mathematica makes a lot of fuss about
MathLink, for example, which is very slow because it involves interprocess
communication and task switches), and it can easily be handled in Maxima by
adding the cffi (or uffi) module to the Lisp installation. As I noticed in my
original mail, Maxima can even be used as a programming library -- impossible
in other systems and being the major goal of the Ginac project:
http://www.ginac.de/ . This could have some implications for the research
topic of partial evaluation (or multi-stage programming) which deals with
making programs more efficient by reoptimizing functions at runtime using
runtime knowledge.
> The Maxima translator has some known bugs, and hasn't received
> much attention lately. Perhaps you would be interested in fixing
> up the translator. That would be useful to many people.
Ok, I'm going to analyze the code. Is there already a collection of unit tests
exposing the known bugs?
Best regards
Bruno Daniel