Writing a new module ?



>>> although Matlisp comes close.
> Are you saying that NumPy is efficient?  Or that you like its user 
> interface? Or its scope? The efficiency of numerical calculations
> in Lisp is heavily dependent on the particular implementation.
> CMU-CL  or SBCL, among the free lisps, should be pretty good.
Yes, SBCL is quite fast by the looks of it, CCL not quite (maybe
because it was interpreted ?); having numerics in Lisp kind of
ties one down to an interpreter.

For me it had been mostly the NumPy/SciPy/Matplotlib/Mayavi ecosystem.
NumPy/SciPy doesn't look as fast as MATLAB or Octave even, at certain
tasks, but python is a much nicer language.

What excites me with Lisp, is that I can - in theory - do symbolic,
numerical computation seamlessly, and at the end of prototyping,
compile the code :)

>> creating equivalents of NumPy working with sbcl.
> There is some attempt, CFFI, which I have not used myself, to 
> standardize foreign function interfaces. My understanding is the
> GCL doesn't allow this. If SBCL truly runs on Windows, (for which
> there seems to be some issues), that would help.  I personally
> solve these issues by not using "several Common Lisp variants" but
> only one.
> 
>>> Ray and I have been incorporating new stuff into Matlisp
>>> though, hopefully that will mature into something that I'd be
>>> happy using.
> Great!  I'm a fan of Matlisp, at least in principle; I haven't used
> it myself :)
:)

If anyone is interested in having a go at the code,
the bleeding-edge branch of Matlisp is here:
git://matlisp.git.sourceforge.net/gitroot/matlisp/matlisp matlisp-cffi

The basic datastructure has been tweaked so as to be able to handle
matrix slices and row/col-major matrices seamlessly.

Things like:
--------------------------------------------------
(defvar e (make-complex-matrix '((#c(1 2) #c(2 6)) (#c(3 1) #c(4 5)))))
(defvar out (make-complex-matrix 2 2))
(gemm! 1d0 (realpart! e) (imagpart! e) 0d0 out)
--------------------------------------------------
can be done without ever having to copy the store.

Not everything works, and SBCL throws up an error about row-stride
midway, but if you just accept that and fool lisp into believing
everything is hunky-dory; the above example should work.

Akshay

> 
> _______________________________________________ Maxima mailing
> list Maxima at math.utexas.edu 
> http://www.math.utexas.edu/mailman/listinfo/maxima