While FFTW is great, it is a GPL-licensed C library. R, Mathematica, Python’s Scipy, etc have their own FFT library. Should we finally have our own FFT library? A pure Julia FFT may provide several advantages such as being extensible via the Julia compiler extensions, operating on different array types, etc. Implementing FFT also comes with the benefit of putting Julia’s ecosystem to the test.
I have made one for the use of myself.
Are you proposing to write this yourself?
I might as well at some point if I’m done with my current project. There are many algorithms out there and developing the best approach will take time. I’ve written FFT in C++ before. Writing a fast FFT, however, is complicated. Maybe I will create and participate in a fun contest.
Good idea, maybe I’ll learn much more about FFT with it.
The fastest FFT approach I’m aware of is Spiral.
I know that one.
There is FFTA.jl: Fastest Fourier Transform in my Apartment
It’s pure julia.
I would like to have a FFT.jl package in pure Julia with detailed documentation .
FFFTW is great, if you’re of with GPL and its size. You have some good points for pure Julia, but for most wrapping an existing library is likely best as a JLL (if you can do away with Float64, Float32 types, I didn’t check if it has Float16):