MATLAB research code for the fast direct inversion of nonuniform discrete Fourier transforms (NUDFTs).
Here, the sample points
The numbers of sample points and frequencies are denoted by
Here, the sample points
The numbers of sample points and frequencies are denoted by
Clone the repository:
git clone https://github.com/JingyuLiuMath/InvNUDFT.git
cd InvNUDFTWe strongly recommend using mip to install FINUFFT.
To install mip, run the following command in the MATLAB Command Window:
eval(webread('https://mip.sh/install.txt'))To install FINUFFT, run:
mip install finufftStart MATLAB from the repository root and run:
invnudft_startup();From the repository root, run:
% Test the 2D Type-II problem on a random uniform grid.
run("test/typeII_2d/test_typeII_2d_rand.m");The test has been successfully run on both Windows and Linux with the following software versions:
- MATLAB
R2023b; - mip
1.0.0; - FINUFFT
2.5.1.
The numerical experiments are located in the following directories:
experiments/typeII_2d_rand/— 2D Type-II problem on a random uniform grid;experiments/typeII_2d_polar/— 2D Type-II problem on a modified polar grid.
- Yingzhou Li, School of Mathematical Sciences, Fudan University;
- Jingyu Liu, School of Mathematical Sciences, Fudan University.
- Heather Wilber, Ethan N. Epperly, and Alex H. Barnett, Superfast direct inversion of the nonuniform discrete Fourier transform via hierarchically semiseparable least squares, SIAM Journal on Scientific Computing, 47 (2025), pp. A1702–A1732.
- Yingzhou Li and Jingyu Liu, A superfast direct solver for 2D Type-II inverse nonuniform discrete Fourier transform based on hierarchically semiseparable matrix, arXiv:2607.00928, 2026.