Documentation

APAP.Prereqs.FourierTransform.Compact

Compact Fourier transform #

This file defines the compact Fourier transform for finite groups and shows the Parseval-Plancherel identity and Fourier inversion formula for it.

noncomputable def cft {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) :

The discrete Fourier transform.

Equations
Instances For
    theorem cft_apply {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) (ψ : AddChar G ) :
    @[simp]
    theorem cft_zero {G : Type u_1} [AddCommGroup G] [Fintype G] :
    cft 0 = 0
    @[simp]
    theorem cft_add {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G) :
    cft (f + g) = cft f + cft g
    @[simp]
    theorem cft_neg {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) :
    cft (-f) = -cft f
    @[simp]
    theorem cft_sub {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G) :
    cft (f - g) = cft f - cft g
    @[simp]
    theorem cft_const {G : Type u_1} [AddCommGroup G] [Fintype G] {ψ : AddChar G } (a : ) ( : ψ 0) :
    cft (Function.const G a) ψ = 0
    @[simp]
    theorem cft_smul {G : Type u_1} [AddCommGroup G] [Fintype G] {𝕝 : Type u_3} [CommSemiring 𝕝] [StarRing 𝕝] [Algebra 𝕝 ] [StarModule 𝕝 ] [IsScalarTower 𝕝 ] (c : 𝕝) (f : G) :
    cft (c f) = c cft f
    @[simp]
    theorem wInner_one_cft {G : Type u_1} [AddCommGroup G] [Fintype G] (f g : G) :

    Parseval-Plancherel identity for the discrete Fourier transform.

    @[simp]

    Parseval-Plancherel identity for the discrete Fourier transform.

    theorem cft_inversion {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) (a : G) :
    ψ : AddChar G , cft f ψ * ψ a = f a

    Fourier inversion for the discrete Fourier transform.

    theorem cft_inversion' {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) :
    ψ : AddChar G , cft f ψ ψ = f

    Fourier inversion for the discrete Fourier transform.

    theorem dft_cft_doubleDualEmb {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) (a : G) :
    theorem cft_dft_doubleDualEmb {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) (a : G) :
    theorem dft_cft {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) :
    theorem cft_dft {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) :
    theorem cft_inv {G : Type u_1} [AddCommGroup G] [Fintype G] {f : G} (ψ : AddChar G ) (hf : IsSelfAdjoint f) :
    cft f ψ⁻¹ = (starRingEnd ) (cft f ψ)
    @[simp]
    theorem cft_conj {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) (ψ : AddChar G ) :
    cft ((starRingEnd (G)) f) ψ = (starRingEnd ) (cft f ψ⁻¹)
    theorem cft_conjneg_apply {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) (ψ : AddChar G ) :
    cft (conjneg f) ψ = (starRingEnd ) (cft f ψ)
    @[simp]
    theorem cft_conjneg {G : Type u_1} [AddCommGroup G] [Fintype G] (f : G) :
    @[simp]
    theorem cft_balance {G : Type u_1} [AddCommGroup G] [Fintype G] {ψ : AddChar G } (f : G) ( : ψ 0) :
    cft (Fintype.balance f) ψ = cft f ψ
    @[simp]
    theorem cft_trivNChar {G : Type u_1} [AddCommGroup G] [Fintype G] [DecidableEq G] :
    @[simp]
    theorem cft_one {G : Type u_1} [AddCommGroup G] [Fintype G] :
    @[simp]
    theorem cft_indicator_one_zero {G : Type u_1} [AddCommGroup G] [Fintype G] (s : Finset G) :
    cft ((↑s).indicator fun (x : G) => 1) 0 = s.dens
    theorem cft_conv_apply {G : Type u_1} [AddCommGroup G] [Fintype G] [DecidableEq G] (f g : G) (ψ : AddChar G ) :
    cft (f g) ψ = cft f ψ * cft g ψ
    theorem cft_dconv_apply {G : Type u_1} [AddCommGroup G] [Fintype G] [DecidableEq G] (f g : G) (ψ : AddChar G ) :
    cft (f g) ψ = cft f ψ * (starRingEnd ) (cft g ψ)
    @[simp]
    theorem cft_conv {G : Type u_1} [AddCommGroup G] [Fintype G] [DecidableEq G] (f g : G) :
    cft (f g) = cft f * cft g
    @[simp]
    theorem cft_dconv {G : Type u_1} [AddCommGroup G] [Fintype G] [DecidableEq G] (f g : G) :
    cft (f g) = cft f * (starRingEnd (AddChar G )) (cft g)
    @[simp]
    theorem cft_iterCConv {G : Type u_1} [AddCommGroup G] [Fintype G] [DecidableEq G] (f : G) (n : ) :
    cft (f ∗^ₙ n) = cft f ^ n
    @[simp]
    theorem cft_iterCConv_apply {G : Type u_1} [AddCommGroup G] [Fintype G] [DecidableEq G] (f : G) (n : ) (ψ : AddChar G ) :
    cft (f ∗^ₙ n) ψ = cft f ψ ^ n