Inverse NFFT in 1D
This module computes an inverse nonequispaced fast Fourier transform (iNFFT), i.e., approximates the Fourier coefficients in sums of the form where the nodes and function values are given as well as an inverse adjoint nonequispaced fast Fourier transform (adjoint iNFFT), i.e., approximates the function values in sums of the form where the nodes and the Fourier coefficients are given.
For this purpose new direct methods are incorporated, which differ depending on the relation between the number of nodes and the number of unknown Fourier coefficients. In general, the number of nodes is independent from the number of Fourier coefficients and therefore the nonequispaced Fourier matrix which we would have to invert, is rectangular in most cases.
Quadratic setting : The computation of an iNFFT is reduced to the computation of some needed coefficients and the application of an FFT afterwards. The fast iNFFT algorithm of complexity utilizes Lagrange interpolation and the fast summation.
Rectangular setting : An iNFFT is obtained by performing only one adjoint NFFT with a specific optimized matrix. This optimization is done in a precomputational step according to the given nodes . All in all, we have precomputational algorithms of complexity and for the overdetermined and underdetermined case, respectively, whereas the algorithms for the inversion require only arithmetic operations.
Additional approach for the setting : An iNFFT is obtained by exactly solving the normal equations. This is possible since is a Toeplitz matrix. Therefore, can be inverted exactly by means of the Gohberg-Semencul formula.
It must be pointed out that the algorithms only work in the one-dimensional setting.
The Matlab algorithms are implemented by Melanie Kircheis in ./matlab/infft1d
. For more details, see