Fixed-point power-of-two complex multidimensional DFT (Theorem 3.1)
ProvedIntMul.HvdH.thm_3_1integer-multiplication
Let be even, with for , , and let satisfy . For a fixed-point input array on at precision (entries in the disc of radius , standing for ), the algorithm fftCa (Bluestein's chirp reduction to the convolution of Proposition 3.5, with fixed-point twiddles from Lemma 2.12) returns an array in the disc whose in-range entries satisfy
where is the normalised DFT. This is Theorem 3.1 of Harvey–van der Hoeven with explicit error constants: a complex multidimensional DFT of power-of-two lengths reduces to Gaussian-integer polynomial multiplication with error times the normalisation.
Preamble
import Definitions.Def_IntMul_HvdH_ConvC
Formal statement
namespace IntMul.HvdH
theorem thm_3_1 {d : ℕ} (p r : ℕ) (e : Fin d → ℕ) (hr : 1 ≤ r) (hr2 : Even r) (hrp : 2 * r < 2 ^ p)
(he1 : ∀ i, 1 ≤ e i) (he : ∀ i, 2 ^ e i ∣ r)
(U : (Fin (d + 1) → ℕ) → ℤ × ℤ) (hU : InDisc p U) :
InDisc p (fftCa p r e U) ∧
∀ j : Fin (d + 1) → ℕ, (∀ i : Fin d, j i.castSucc < 2 ^ e i) → j (Fin.last d) < r →
‖gC (fftCa p r e U j) - 2 ^ p * dftC r e (fun x => gC (U x) / 2 ^ p) j‖ ≤
2 ^ (∑ i, e i) * (6 * (∑ i, e i) + 3) + 41 := by sorry
end IntMul.HvdHSource
Harvey, van der Hoeven, Integer multiplication in time O(n log n), Annals of Math. 193 (2021), https://hal.science/hal-02070778, Theorem 3.1