fast fourier transform



Rupert Swarbrick wrote:
> Richard Fateman <fateman at cs.berkeley.edu> writes:
>   
>> 4. if you need random size ffts and very fast, I have, quite by
>> coincidence, set up links between the FFTW package
>> and Lisp.  This allows any size and may be 20X faster than Maxima's.
>> Downside: I've only debugged the
>> code for Allegro common lisp (free), and someone else will have to
>> duplicate the foreign-function interface
>> (about 1/2 page?) for any other lisp.
>>  http://www.cs.berkeley.edu/~fateman/cheby/fftw.lisp
>>     
>
> If you want to use any lisp other than Allegro, maybe it would be more
> sensible to use a binding based on a cross-platform FFI lib.
I agree. Unfortunately the other lisp I use, which is GCL  (with Maxima) 
apparently doesn't support such a thing.
>  I notice
> that Kevin Rosenberg wrote one, which you can find at
> http://files.b9.com/cl-fftw3/. 
I tried one by Cyrus Harmon, and was unsuccessful.  I did not try this 
one, which I believe is different.

> There's even a Debian package!
>   
I try to get programs to run under Windows, since (last I looked), that 
was the most common system,
and also the one I use.

But your point is generally correct.  It is another reason for the 
standard Windows version of Maxima to
move to some other lisp.  I gather that there are still some important 
issues that make this difficult.
(It would be even better if there were a revision of CL standard to 
include such items as web /net /multiprocess/ ffi/ ...
which most have but not in the exactly same form.)

RJF