[Maxima] A couple of questions
robert.dodier at gmail.com
Wed Mar 11 11:41:12 CDT 2009
On Wed, Mar 11, 2009 at 3:51 AM, Žiga Lenarčič <ziga.lenarcic at gmail.com> wrote:
> 1) I've recently tried to compile Maxima using Armed Bear CL (what a
> cool name!) 0.13. I followed the instructions for compiling from a
> lisp (instead of gnu automake). I got to a point where I could use
> Maxima from ABCL, but I couldn't dump the image as in other lisps. I
> guess this feature is not yet in ABCL or is it?
Correct, there is no capability to dump an image at present.
Although someone is working on an idea based on Java serialization.
> What are chances of seeing maxima run on abcl (in a complete way) in
> the future? Are there any unsolvable problems regarding ABCL that
> prevent from maxima to be fully operational on ABCL (like this image
I think the chances are good. ABCL has several active developers
now and they are making steady progress on various fronts.
> Also has anyone been successful with running maxima in SBCL on
I tried it and it worked OK for me. My understanding of the problem is this:
A basic architectural feature is that SBCL wants to allocate a large block
of memory and then work within that. Because of memory allocation
policies on Windows, that might or might not work. Changing the memory
allocation scheme is probably a lot of work, if I understand correctly.
> 2) Regarding matrix implementation in maxima: Currently matrices are
> lists of lists. As far as my lisp knowledge goes, this means matrices
> are stored via linked lists. I don't know if one can implement
> matrices in a more inefficient way without trying really hard :)) So
> it's kinda funny in that aspect. I've seen that some work has been
> done towards implementing them as lisp arrays (the 'amatrix' package,
> with interesting ideas). What are the reasons they are not
> implemented as arrays? I don't know lisp very well, but I think lisp
> arrays don't have any nasty restrictions that would prevent
> implementation of matrices?
Well, as the author of the amatrix package, I think it works just fine
to implement Maxima matrices via Lisp arrays.
The major roadblock is that many Maxima functions assume they
know the internal representation of a matrix (namely a list of lists).
All that code would have to be changed; that would be tedious, but
not difficult. Aside from that, amatrix isn't quite finished.
> I think maxima data types (lists matrices arrays) need some work in a
> sense that the user is not confused by them. For instance some things
> work with lists, some with arrays, vectors can be either lists or
> matrices ... it's a mess.
Yes, it is a mess, and I would really like to clean it up.
More information about the Maxima