Documentation

LeanAPAP.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.

def cft {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) :
AddChar α

The discrete Fourier transform.

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

    Parseval-Plancherel identity for the discrete Fourier transform.

    @[simp]
    theorem dL2Norm_cft {α : Type u_1} [AddCommGroup α] [Fintype α] [MeasurableSpace α] [DiscreteMeasurableSpace α] (f : α) :

    Parseval-Plancherel identity for the discrete Fourier transform.

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

    Fourier inversion for the discrete Fourier transform.

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

    Fourier inversion for the discrete Fourier transform.

    theorem dft_cft_doubleDualEmb {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) (a : α) :
    theorem cft_dft_doubleDualEmb {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) (a : α) :
    theorem dft_cft {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) :
    theorem cft_dft {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) :
    theorem cft_inv {α : Type u_1} [AddCommGroup α] [Fintype α] {f : α} (ψ : AddChar α ) (hf : IsSelfAdjoint f) :
    cft f ψ⁻¹ = (starRingEnd ) (cft f ψ)
    @[simp]
    theorem cft_conj {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) (ψ : AddChar α ) :
    cft ((starRingEnd (α)) f) ψ = (starRingEnd ) (cft f ψ⁻¹)
    theorem cft_conjneg_apply {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) (ψ : AddChar α ) :
    cft (conjneg f) ψ = (starRingEnd ) (cft f ψ)
    @[simp]
    theorem cft_conjneg {α : Type u_1} [AddCommGroup α] [Fintype α] (f : α) :
    cft (conjneg f) = (starRingEnd (AddChar α )) (cft f)
    @[simp]
    theorem cft_balance {α : Type u_1} [AddCommGroup α] [Fintype α] {ψ : AddChar α } (f : α) ( : ψ 0) :
    cft (Fintype.balance f) ψ = cft f ψ
    @[simp]
    theorem cft_trivNChar {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] :
    @[simp]
    theorem cft_one {α : Type u_1} [AddCommGroup α] [Fintype α] :
    @[simp]
    theorem cft_indicate_zero {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] (s : Finset α) :
    cft (𝟭 s) 0 = s.dens
    theorem cft_cconv_apply {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] (f g : α) (ψ : AddChar α ) :
    cft (f ∗ₙ g) ψ = cft f ψ * cft g ψ
    theorem cft_cdconv_apply {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] (f g : α) (ψ : AddChar α ) :
    cft (f ○ₙ g) ψ = cft f ψ * (starRingEnd ) (cft g ψ)
    @[simp]
    theorem cft_cconv {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] (f g : α) :
    cft (f ∗ₙ g) = cft f * cft g
    @[simp]
    theorem cft_cdconv {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] (f g : α) :
    cft (f ○ₙ g) = cft f * (starRingEnd (AddChar α )) (cft g)
    @[simp]
    theorem cft_iterCconv {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] (f : α) (n : ) :
    cft (f ∗^ₙ n) = cft f ^ n
    @[simp]
    theorem cft_iterCconv_apply {α : Type u_1} [AddCommGroup α] [Fintype α] [DecidableEq α] (f : α) (n : ) (ψ : AddChar α ) :
    cft (f ∗^ₙ n) ψ = cft f ψ ^ n