Convolution formula for multidimensional cyclic convolution over
ProvedIntMul.HvdH.lemma_2_3_multidimfourier-analysisinteger-multiplication
Convolution formula on . Let and , with . For write
For all and ,
With the normalised DFT this is Harvey–van der Hoeven's Lemma 2.3, , for the tensor product with the standard roots of unity. Step (3) of Proposition 5.4 computes the -dimensional cyclic convolution this way.
Formalization Note is Π i : Fin d, ZMod (s i), and is Mathlib's ZMod.stdAddChar.
Preamble
import Mathlib open ZMod
Formal statement
namespace IntMul.HvdH
theorem lemma_2_3_multidim {d : ℕ} (s : Fin d → ℕ) [∀ i, NeZero (s i)]
(u v : (Π i, ZMod (s i)) → ℂ) (j : Π i, ZMod (s i)) :
∑ k, u k * v (j - k) =
(1 / (Fintype.card (Π i, ZMod (s i)) : ℂ)) *
∑ t : Π i, ZMod (s i), (∏ i, stdAddChar (t i * j i)) *
((∑ k : Π i, ZMod (s i), (∏ i, stdAddChar (-(t i * k i))) * u k) *
(∑ k : Π i, ZMod (s i), (∏ i, stdAddChar (-(t i * k i))) * v k)) := by sorry
end IntMul.HvdHSource
D. Harvey and J. van der Hoeven, Integer multiplication in time O(n log n), Annals of Mathematics 193 (2021), no. 2, 563–617, https://doi.org/10.4007/annals.2021.193.2.4, §2.4 Lemma 2.3 (convolution formula) for R = ⊗_i C^{s_i} with ω the standard roots of unity (§2.4 complex case, §2.3 tensor products); used in §5.3 step (3) and Proposition 5.3