Gaussian RNG?, numerics in general...



>>>>> "Richard" == Richard Fateman <fateman@cs.berkeley.edu> writes:

    Richard> If someone has a program in C or Fortran which takes as input
    Richard> a few integers and/or floats and returns, after some substantial
    Richard> computation,  a float, an integers, or an array of these, then it should
    Richard> be possible to link this to maxima easily via foreign function
    Richard> calls, and not ever worry about lisp's speed.

    Richard> For a random number generator you might even produce an array
    Richard> of a whole bunch of these from one call.

    Richard> An idea which really capitalizes on the fact that we are
    Richard>   using lisp and maxima as open source is that we can patch in
    Richard> any old stuff from a "subset domain".  Thus any numerical
    Richard> code should be simple.  Octave, a Matlab clone, could be
    Richard> swallowed whole, I think.

    Richard> For example, over the weekend I tried out (successfully) loading
    Richard> gmp 3.0  (gnu multiple precision) into a lisp. Interestingly, I
    Richard> did NOT need the source for gmp. I loaded a dll.  All i needed
    Richard> was the documentation for the entry points.


    Richard> Other features which come free from other peoples' lisp libraries
    Richard> include network socket code, html generation.

    Richard> The major hassle in my view in doing this is that other peoples' code
    Richard> may not work on all relevant platforms, or may be subject to random
    Richard> fluctuations.  E.g. incompatible changes in interfaces, legal status,
    Richard> etc.
    Richard> RJF


This is a great idea, but sadly, FFIs are not standard between CL
implementations. 

I would very much like to see GSL (http://sources.redhat.com/gsl/) be
accessible from CL; it seems to have just about everything one could
want in a sci/math library, and is actively being developed.  This
library might well be a useful resource for Maxima to build on.  I
have used this from ACL on a function-by-function basis but the hard
part is building the interface. 

-- 
Liam Healy
Liam.Healy@nrl.navy.mil