From: Johann Hibschman
Subject: CL numeric code repositories?
Date: 
Message-ID: <mtd8dwgu6t.fsf@physics.berkeley.edu>
Hello,

Does anyone know of any public repositories for numeric code in Common
Lisp, other than the CMU AI archive?  I am looking for:

  1) Generic numeric methods.  (ODEs, integrators, splines)
  2) Special functions (Bessel K functions, etc.) (Other than those
       found in the clmath package.)
  3) Macro systems
     a) read-macro packages other than Mark Kantrowitz's infix
        package.
     b) array macros to do efficient array operations
	(similar to the C++ expression template idea, where
	   (array-setf x (+ y x (* z 2.0)))
	might expand into something like:
	   (dotimes (i (array-total-size x))
	     (setf (row-major-aref x i)
		   (+ (row-major-aref y i) (row-major-aref x i)
		      (* 2.0 (row-major-aref z i)))))

I'm starting to write my own array packages, but it would be foolish
to duplicate already-done work.

I am aware of Raymond Toy's version of f2cl, but I've had some trouble
with it.  One of these days I'll figure out what's making it fail and
fix it...

Thanks,

- Johann

From: Raymond Toy
Subject: Re: CL numeric code repositories?
Date: 
Message-ID: <4nvhrmi1xl.fsf@rtp.ericsson.se>
Johann Hibschman <······@physics.berkeley.edu> writes:

> Hello,
> 
> Does anyone know of any public repositories for numeric code in Common
> Lisp, other than the CMU AI archive?  I am looking for:
> 
>   1) Generic numeric methods.  (ODEs, integrators, splines)
>   2) Special functions (Bessel K functions, etc.) (Other than those
>        found in the clmath package.)

I have converted all of the special functions from TOMS 715 (EI, J0,
J1, I0, I1, Y0, Y1, K0, K1, ERF, EI, GAMMA, PSI, and some others) to
lisp using f2cl and made a few other minor modifications.  They appear
to work correctly, except it fails on one test.  However, the Fortran
version also fails the same test, so the conversion isn't to
blame. :-) 

I've also tried converting some ODEs, splines etc. from some TOMS
algorithms but most seem to use common blocks, which aren't really
supported by f2cl.

I also have lisp version of QUADPACK, also converted by f2cl.

I'll upload these somewhere useful and let you know where they went.
> 
> I am aware of Raymond Toy's version of f2cl, but I've had some trouble
> with it.  One of these days I'll figure out what's making it fail and
> fix it...

If you have a small example, I'll try take a look at it.

Ray
From: Raymond Toy
Subject: Re: CL numeric code repositories?
Date: 
Message-ID: <4nn2cwjvnv.fsf@rtp.ericsson.se>
Raymond Toy <···@rtp.ericsson.se> writes:

> I have converted all of the special functions from TOMS 715 (EI, J0,
> J1, I0, I1, Y0, Y1, K0, K1, ERF, EI, GAMMA, PSI, and some others) to
> lisp using f2cl and made a few other minor modifications.  They appear
> to work correctly, except it fails on one test.  However, the Fortran
> version also fails the same test, so the conversion isn't to
> blame. :-) 
> 
> I've also tried converting some ODEs, splines etc. from some TOMS
> algorithms but most seem to use common blocks, which aren't really
> supported by f2cl.
> 
> I also have lisp version of QUADPACK, also converted by f2cl.
> 
> I'll upload these somewhere useful and let you know where they went.

I've uploaded my Lisp version of TOMS 715 and QUADPACK.  You can find
it at

http://www.mindspring.com/~rtoy/software/lisp-math/

You will need a copy of f2cl (available there) for these to work.  A
copy of mkant's defsystem (see CMU Lisp archives) is probably also
needed to build everything.

Hope this is useful to someone.

Ray

P.S.  If you use this, I'd appreciate a short note in case I
update/change the stuff.