[SciPy-User] [OT] looking for fft

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[SciPy-User] [OT] looking for fft

Neal Becker
I'm looking for some fft code that has:

1. commercial-friendly license
2. seperates construction (which involves costly trig functions) from repeated
use (which should use only multiply-add)

An example of (2) is fftw, but that doesn't meet (1).

I've seen plenty of examples that have (1) but not (2) - these use fft as a
function, which has no state.  fft should be written as a class, where in the
constructor all the trig functions are determined.

_______________________________________________
SciPy-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/scipy-user
Reply | Threaded
Open this post in threaded view
|

Re: [OT] looking for fft

Matthieu Brucher-2
And even FFTW has not a real 2 anymore with the 3.0 API. Although the construction is only really costly the first time you build a plan, you have to create them with the actual input and output array pointers!

Matthieu


2013/4/17 Neal Becker <[hidden email]>
I'm looking for some fft code that has:

1. commercial-friendly license
2. seperates construction (which involves costly trig functions) from repeated
use (which should use only multiply-add)

An example of (2) is fftw, but that doesn't meet (1).

I've seen plenty of examples that have (1) but not (2) - these use fft as a
function, which has no state.  fft should be written as a class, where in the
constructor all the trig functions are determined.

_______________________________________________
SciPy-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/scipy-user



--
Information System Engineer, Ph.D.
Blog: http://matt.eifelle.com
LinkedIn: http://www.linkedin.com/in/matthieubrucher
Music band: http://liliejay.com/

_______________________________________________
SciPy-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/scipy-user
Reply | Threaded
Open this post in threaded view
|

Re: [OT] looking for fft

Jonathan Helmus
In reply to this post by Neal Becker
On 04/17/2013 09:08 AM, Neal Becker wrote:

> I'm looking for some fft code that has:
>
> 1. commercial-friendly license
> 2. seperates construction (which involves costly trig functions) from repeated
> use (which should use only multiply-add)
>
> An example of (2) is fftw, but that doesn't meet (1).
>
> I've seen plenty of examples that have (1) but not (2) - these use fft as a
> function, which has no state.  fft should be written as a class, where in the
> constructor all the trig functions are determined.
>
> _______________________________________________
> SciPy-User mailing list
> [hidden email]
> http://mail.scipy.org/mailman/listinfo/scipy-user
FFTPACK has initialization functions and is public domain. If that
doesn't meet your need the FFTW folks maintain an quite extensive list
of FFT implementations, http://www.fftw.org/benchfft/ffts.html and
http://www.fftw.org/benchfft/ffts.html.  One of those may be what you
are looking for.  Also, FFTW can be licensed for commercial use for a
fee, http://web.mit.edu/tlo/www/industry/fftw-1.html.

     - Jonathan Helmus
_______________________________________________
SciPy-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/scipy-user
Reply | Threaded
Open this post in threaded view
|

Re: [OT] looking for fft

Matt Newville
In reply to this post by Neal Becker
Hi Neal,

On Wed, Apr 17, 2013 at 9:08 AM, Neal Becker <[hidden email]> wrote:

> I'm looking for some fft code that has:
>
> 1. commercial-friendly license
> 2. seperates construction (which involves costly trig functions) from repeated
> use (which should use only multiply-add)
>
> An example of (2) is fftw, but that doesn't meet (1).
>
> I've seen plenty of examples that have (1) but not (2) - these use fft as a
> function, which has no state.  fft should be written as a class, where in the
> constructor all the trig functions are determined.

I believe the code in the numpy.fft module sort of does this -- uses
fftpack, and automatically calls the initialization routine (cfftfi)
and caches the result for subsequent calls with the same array length.

You don't actually need to make an explicit call to cfftfi(), as you
would with C/Fortran, but this routine is only called once (per array
length).  See
    https://github.com/numpy/numpy/blob/master/numpy/fft/fftpack.py#L55

--Matt Newville <newville at cars.uchicago.edu>
_______________________________________________
SciPy-User mailing list
[hidden email]
http://mail.scipy.org/mailman/listinfo/scipy-user