HvdH Thm 4.1: (multidimensional Gaussian resampling)
ProvedIntMul.HvdH.thm_4_1fourier-analysisinteger-multiplication
Multidimensional Gaussian resampling (Harvey–van der Hoeven, Theorem 4.1).
Let , let and be positive integers with and , and let be an integer with for every . For write for the normalised -dimensional DFT on (functions on ):
Then there are linear maps and , both of norm at most for the sup norm, with
So a DFT of awkward (for example prime) dimensions is reduced, at the cost of bits of precision, to a DFT of convenient dimensions (powers of two in the paper). This is the step that lets the algorithm of Harvey–van der Hoeven use the synthetic FFT in Section 5.
Formalization note. and are tensor products of the one-dimensional maps of IntMul.HvdH.prop_4_7_i.
Preamble
import Mathlib
Formal statement
namespace IntMul.HvdH
theorem thm_4_1 {d : ℕ} (s t : Fin d → ℕ) [∀ i, NeZero (s i)]
[∀ i, NeZero (t i)] (α : ℕ)
(hst : ∀ i, s i < t i) (hcop : ∀ i, Nat.Coprime (s i) (t i)) (hα : 2 ≤ α)
(hθ : ∀ i, 1 ≤ (α : ℝ) ^ 2 * ((t i : ℝ) / s i - 1)) :
∃ (A : (((i : Fin d) → ZMod (s i)) → ℂ) →L[ℂ] (((i : Fin d) → ZMod (t i)) → ℂ))
(B : (((i : Fin d) → ZMod (t i)) → ℂ) →L[ℂ] (((i : Fin d) → ZMod (s i)) → ℂ)),
‖A‖ ≤ 1 ∧ ‖B‖ ≤ 1 ∧
∀ u k, (∏ i, (s i : ℂ))⁻¹ * ∑ j, (∏ i, (ZMod.stdAddChar (-(j i * k i)) : ℂ)) * u j =
(2 : ℂ) ^ (2 * d * α ^ 2) * B (fun k' => (∏ i, (t i : ℂ))⁻¹ *
∑ l, (∏ i, (ZMod.stdAddChar (-(l i * k' i)) : ℂ)) * A u l) k := 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, Section 4.1, Theorem 4.1 (alpha taken integral, constant 2^{2 d alpha^2})