Alex H. Barnett and Jeremy F. Magland, with additional code by Ludvig af Klinteberg and Yu-hsuan "Melody" Shih.
This is a lightweight library to compute the three standard types of nonuniform FFT to a specified precision, in one, two, or three dimensions. It is written in C++ with interfaces to C, Fortran, MATLAB/octave, and python. A julia interface also exists.
Please see the online documentation, or its equivalent, the user manual.
You will also want to see example codes in the directories
examples, test, fortran, matlab, and python_tests.
If you cannot compile, try our precompiled binaries.
If you prefer to read text files, the source to generate the above documentation is in human-readable (mostly .rst) files as follows:
docs/install.rst: installation and compilation instructionsdocs/math.rst: mathematical definitionsdocs/dirs.rst: explanation of directories and files in the packagedocs/usage.rst: interfaces from C++, C and Fortran, notes on parametersdocs/matlabhelp.raw: MATLAB/octave interfacesfinufftpy/_interfaces.py: python interface docstringsdocs/related.rst: packages using FINUFFTdocs/issues.rst: known issues and bug reportsdocs/refs.rst: journal article referencesdocs/ackn.rst: acknowledgments
If you find FINUFFT useful in your work, please cite this code and the forthcoming paper (see references).

