Twisting by with turns cyclic into negacyclic convolution
ProvedIntMul.HvdH.twist_negacyclicinteger-multiplication
Let be a commutative ring, , and with . For put and . Then the negacyclic convolution of is the twist of the cyclic convolution of : for every ,
This is the coefficientwise form of the ring isomorphism , , in Proposition 3.5 of Harvey–van der Hoeven.
Preamble
import Mathlib
Formal statement
namespace IntMul.HvdH
theorem twist_negacyclic {A : Type*} [CommRing A] (r : ℕ) [NeZero r] (ζ : A) (hζ : ζ ^ r = -1)
(u v : ZMod r → A) (j : ZMod r) :
∑ k, (ζ ^ k.val * u k) * (ζ ^ (j - k).val * v (j - k)) * (if k.val ≤ j.val then 1 else -1) =
ζ ^ j.val * ∑ k, u k * v (j - 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, Sections 2.3 and 3.2 (Proposition 3.5, map S)