Documentation

Atlas.ProjectionTheory.code.ParsevalFF

theorem FourierFF.conj_dft {p : } [Fact (Nat.Prime p)] {d : } (e : AddChar (ZMod p) ) (g : (Fin dZMod p)) (ξ : Fin dZMod p) :
(starRingEnd ) (dft e g ξ) = y : Fin dZMod p, (starRingEnd ) (g y) * (fourierChar e ξ) y

The complex conjugate of the discrete Fourier transform satisfies $\overline{\hat g(\xi)} = \sum_y \overline{g(y)}\, e_\xi(y)$, swapping the additive character for its complex conjugate.

theorem FourierFF.inv_mul_fourierChar {p : } [Fact (Nat.Prime p)] {d : } (e : AddChar (ZMod p) ) (ξ x y : Fin dZMod p) :
(fourierChar e ξ)⁻¹ x * (fourierChar e ξ) y = (fourierChar e ξ) (y - x)

Multiplicative property of the Fourier character: $e_\xi(x)^{-1} \cdot e_\xi(y) = e_\xi(y - x)$.

theorem FourierFF.fourierChar_swap {p : } [Fact (Nat.Prime p)] {d : } (e : AddChar (ZMod p) ) (a ξ : Fin dZMod p) :
(fourierChar e ξ) a = (fourierChar e a) ξ

Symmetry of the Fourier character in its two arguments: $e_\xi(a) = e_a(\xi)$, a consequence of the symmetric dot product $a \cdot \xi = \xi \cdot a$.

theorem FourierFF.parseval {p : } [Fact (Nat.Prime p)] {d : } (e : AddChar (ZMod p) ) (he : e 0) (f g : (Fin dZMod p)) :
x : Fin dZMod p, f x * (starRingEnd ) (g x) = (↑(Fintype.card (Fin dZMod p)))⁻¹ * ξ : Fin dZMod p, dft e f ξ * (starRingEnd ) (dft e g ξ)

Parseval/Plancherel on $\mathbb{F}_q^d$ (Theorem 2.6). For $f, g : \mathbb{F}_q^d \to \mathbb{C}$ and a non-trivial additive character e, $$\sum_{x \in \mathbb{F}_q^d} f(x)\,\overline{g(x)} = \frac{1}{q^d}\, \sum_{\xi \in \mathbb{F}_q^d} \hat f(\xi)\, \overline{\hat g(\xi)}.$$