Fixed-point complex multidimensional convolution via twisting (Proposition 3.5)
ProvedIntMul.HvdH.prop_3_5integer-multiplication
Let , with for , and let satisfy . Arrays on are represented in fixed point at precision (an array of Gaussian integers stands for , with every entry in the closed disc of radius ). Let denote the cyclic convolution over in all axes and put . The fixed-point algorithm convCa, which twists by () along the last axis, convolves over via synthetic FFTs (Proposition 3.4), and untwists, returns an array in the disc whose in-range entries satisfy
This is Proposition 3.5 of Harvey–van der Hoeven (with explicit constants), the step from negacyclic to cyclic convolution in the last variable.
Preamble
import Definitions.Def_IntMul_HvdH_ConvC
Formal statement
namespace IntMul.HvdH
theorem prop_3_5 {d : ℕ} (p r : ℕ) (e : Fin d → ℕ) (hr : 1 ≤ r) (hrp : 2 * r < 2 ^ p)
(he1 : ∀ i, 1 ≤ e i) (he : ∀ i, 2 ^ e i ∣ 2 * r)
(U V : (Fin (d + 1) → ℕ) → ℤ × ℤ) (hU : InDisc p U) (hV : InDisc p V) :
InDisc p (convCa p r e U V) ∧
∀ j : Fin (d + 1) → ℕ, (∀ i : Fin d, j i.castSucc < 2 ^ e i) → j (Fin.last d) < r →
‖gC (convCa p r e U V j) - 2 ^ p *
convC r e (fun x => gC (U x) / 2 ^ p) (fun x => gC (V x) / 2 ^ p) j‖ ≤
2 ^ (∑ i, e i) * (6 * (∑ i, e i) + 3) + 23 := 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, Proposition 3.5