These are the human proofs of Nonuniform FFT, at full length.
The Gaussian NUFFT of types 1 and 2 has error at most ε times the 1-norm of the input, in O(n log n + m log(1/ε)) operations full
This proof shows: correctness, complexity.
Setting. Exact real arithmetic. Let n≥1, 0<ε≤1/2, and M,N,τ as on the page: M=max(2,⌈2π3ln(4/ε)⌉), N the least power of two with N≥max(2n,2M), τ=πM/(N(N−n/2)). Put h=2π/N, s=⌊n/2⌋, R=N/n≥2, G(x)=e−x2/(4τ), and for points tj let xj=2π(tjmod1). Write e(t)=e−2πit and A for the m×n matrix Ajk=e(ktj).
Statement. NUFFT-TYPE-1 returns X~ with ∣X~k−(ATc)k∣≤4e−2πM/3∥c∥1≤ε∥c∥1 for 0≤k<n, and the type 2 procedure of the page returns y~ with ∣y~j−(Af)j∣≤ε∥f∥1. Both use O(NlogN+mM) arithmetic operations and O(mM+n) exponentials.
Lemma 1 (the kernel). The 2π-periodic function gτ(x)=∑p∈ZG(x−2πp) satisfies gτ(x)=∑κ∈Zg^(κ)eiκx for all x, with g^(κ)=τ/πe−τκ2, and the series converges absolutely.
Proof. The sum defining gτ converges uniformly with all derivatives, so gτ is smooth and periodic, and its Fourier series converges to it absolutely. Its coefficients are 2π1∫02π∑pG(x−2πp)e−iκxdx=2π1∫RG(x)e−iκxdx=2π14πτe−τκ2, by the Gaussian integral ∫Re−x2/(4τ)e−iκxdx=4πτe−τκ2. □
Lemma 2 (the spread values). For 0≤j<m let l0=⌊xj/h⌋ and Wj={l0−M+1,…,l0+M}. Since 2M≤N, the elements of Wj are distinct modulo N. Line L5 adds to vl, for l∈[0,N), the amount bj∑L∈Wj,L≡lG(Lh−xj). The full periodic kernel would add bjgτ(lh−xj)=bj∑L≡l(N)G(Lh−xj), since lh−2πp=(l−pN)h. So the omitted amount is bj∑L∈/Wj,L≡lG(Lh−xj), and summed over l its absolute value is at most
Proof of the bounds. Since l0h≤xj<(l0+1)h, the omitted L=l0−M−q (q≥0) have xj−Lh≥(M+q)h, and the omitted L=l0+M+1+q have Lh−xj>(M+q)h. G decreases in ∣x∣, which gives the first inequality. For the second, (M+q)2≥M2+2Mq, so G((M+q)h)≤G(Mh)(e−Mh2/(2τ))q, and the geometric series sums. □
Lemma 3 (aliasing). Let vlfull=∑jbjgτ(lh−xj) and Vrfull=∑l<NvlfullωNlr. Then for every integer κ,
VκmodNfull=Nq∈Z∑g^(κ+qN)j∑bje−i(κ+qN)xj.
Proof. By Lemma 1, vlfull=∑jbj∑pg^(p)eip(lh−xj). With r=κmodN, ωNlr=e−irlh, so Vrfull=∑jbj∑pg^(p)e−ipxj∑l<Nei(p−r)lh, exchanging finite sums with an absolutely convergent one. The inner sum is a geometric sum of N-th roots of unity, equal to N if p≡r≡κ(modN) and 0 otherwise. Writing p=κ+qN gives the claim. □
Type 1. Fix 0≤k<n and κ=k−s, so ∣κ∣≤n/2. Since s is an integer, e(stj)=e−isxj, so bj=cje−isxj (line L4) and ∑jbje−iκxj=∑jcje−ikxj=Xk. Line L6 computes V=DFTN(v) and line L8 sets X~k=VκmodN/(Ng^(κ)), because π/τeτκ2=1/g^(κ). By Lemma 3 and linearity, X~k−Xk=Ealias−Etrunc, where
Aliasing. For q=0, (κ+qN)2−κ2=q2N2+2qκN≥∣q∣N(∣q∣N−n)≥∣q∣N(N−n), using ∣κ∣≤n/2. So g^(κ+qN)/g^(κ)≤ρ∣q∣ with ρ=e−τN(N−n), and ∣Ealias∣≤∥c∥1⋅2ρ/(1−ρ), since ∣bj∣=∣cj∣. Here τN(N−n)=πM(R−1)/(R−21), which increases with R and is 32πM at R=2; so ρ≤e−2πM/3≤e−4π/3<0.016 and ∣Ealias∣≤2.04e−2πM/3∥c∥1.
Truncation.∣(Vfull−V)r∣≤∑l∣vlfull−vl∣, which by Lemma 2 is at most 2∥c∥1G(Mh)/(1−e−Mh2/(2τ)). Now compute with the chosen τ: 4τM2h2=πM(1−2R1), 2τMh2=2π(1−2R1)≥23π, and Ng^(κ)1=τπNeτκ2≤M1−1/(2R)eτn2/4≤21eτn2/4 with 4τn2=4R(R−21)πM. Hence ∣Etrunc∣≤2(1−e−3π/2)2e−β∥c∥1≤1.43e−β∥c∥1, where β=πM(1−2R1−4R(R−1/2)1). The bracket increases with R and equals 43−121=32 at R=2, so e−β≤e−2πM/3.
Total.∣X~k−Xk∣≤(2.04+1.43)e−2πM/3∥c∥1≤4e−2πM/3∥c∥1. Since M≥2π3ln(4/ε), e−2πM/3≤ε/4, so the error is at most ε∥c∥1.
Type 2. Let Φ=diag(e(stj)), let S be the N×m matrix with Slj=∑L∈Wj,L≡lG(Lh−xj), F the DFT matrix of order N, Flr=ωNlr, which is symmetric, and D the n×N matrix with Dk,(k−s)modN=1/(Ng^(k−s)) and zeros elsewhere (the indices (k−s)modN are distinct because n≤N). Type 1 computes Bc with B=DFSΦ, and type 2, as defined on the page, computes ΦSTFDTf=BTf, because Φ is diagonal and F symmetric. Taking c to be the j-th unit vector in the type 1 bound gives ∣Bkj−Ajk∣≤ε for all j,k. Hence ∣(BTf−Af)j∣=∣∑k(Bkj−Ajk)fk∣≤ε∥f∥1.
Operation count. Lines L3 to L5 do, per point, one complex exponential, 2M real exponentials, 2M products of a complex by a real number, 2M complex additions and O(M) real operations for the arguments Lh−x: O(mM) in all. Line L6 is a radix-2 FFT of length N, 2NlgN complex multiplications and NlgN complex additions. Lines L7 and L8 do n exponentials and O(n) multiplications. Type 2 performs the same operations in reverse order. Since M=O(log(1/ε)) and N≤4max(n,M), the total is O(nlogn+mlog(1/ε)+log(1/ε)loglog(1/ε)), and the extra space is the grid of N entries plus the output. ■