[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [femlisp-user] Integrating Maxima?
From: |
Nicolas Neuss |
Subject: |
Re: [femlisp-user] Integrating Maxima? |
Date: |
25 Sep 2003 14:53:16 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Mario Mommer <address@hidden> writes:
> Hi!
>
> Nicolas Neuss <address@hidden> writes:
> > Hello!
> >
> > I am thinking about improving on polynomial arithmetic and the computation
> > of quadrature rules and shape functions by adding Maxima to the
> > CMUCL/Matlisp/Femlisp system. I have tried a little bit and they have good
> > and fast calculation of roots of Legendre and Jacobi polynomials with
> > arbitrary precision (as much as I can see, I hope the digits are correct).
> > My own code (see algebra;polynom.lisp and discretization;quadrature.lisp)
> > is rather old (ported from Scheme), not that powerful and is probably
> > slower (but note that this is an overhead which is only occuring when first
> > accessing some high-order finite element due to memoization). An
> > improvement of this code would be necessary in any case if we want to
> > handle finite elements of order $p>=6$ seriously.
>
> What are the issues?
Mainly Precision. Femlisp handles polynomials in coefficient
representation which leads to inaccuracies for large degrees. The Maxima
routines are also faster (I think).
> > What do you think? About one year ago I already loaded Maxima into my Lisp
> > session which worked fine. The disadvantage is that it uses another 20MB
> > of memory (or so). An alternative might be an external call to Maxima (or
> > whatever else) to compute the necessary data. On the other hand, it might
> > be quite a selling argument for Femlisp to have immediate access to a CAS.
>
> Well, Maxima is rather big, as you alredy observed.
>
> Wouldn't it be easier to compute these polynomials and their roots up
> to a reasonably high order and to some reasonably good precission, and
> just store them away in a file?
>
> Mario.
This might cover some part, but there are other points where this approach
may fail. E.g. if someone requires evaluation of an FE function at a
certain point. The values of the polynomials at these points probably
cannot be computed in advance. And it will probably be necessary, too
compute them accurately as well.
But I have thought about this again. Probably, we will need both
approaches (i.e. Maxima optional) because
1. Portability. Dependence on Matlisp is already problematic, dependence
on Maxima makes things worse.
2. License. Maxima is under the GPL. If we would be dependent on Maxima,
Femlisp would have to be GPLed, too.
Nicolas.