Documentation

Mathlib.Analysis.Fourier.Convolution

The Fourier transform of the convolution #

In this file we calculate the Fourier transform of a convolution.

Main definitions #

Main statements #

theorem Real.integrable_prod_sub {π•œ : Type u_1} {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedAddCommGroup F₁] [NormedAddCommGroup Fβ‚‚] [NormedAddCommGroup F₃] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedSpace π•œ F₁] [NormedSpace π•œ Fβ‚‚] [NormedSpace π•œ F₃] (B : F₁ β†’L[π•œ] Fβ‚‚ β†’L[π•œ] F₃) {f₁ : E β†’ F₁} {fβ‚‚ : E β†’ Fβ‚‚} (hf₁ : MeasureTheory.Integrable f₁ MeasureTheory.volume) (hfβ‚‚ : MeasureTheory.Integrable fβ‚‚ MeasureTheory.volume) (hf₁' : Continuous f₁) (hfβ‚‚' : Continuous fβ‚‚) :
theorem Real.fourier_bilin_convolution_eq_integral {π•œ : Type u_1} {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedAddCommGroup F₁] [NormedAddCommGroup Fβ‚‚] [NormedAddCommGroup F₃] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedSpace π•œ F₁] [NormedSpace π•œ Fβ‚‚] [NormedSpace π•œ F₃] [NormedSpace β„‚ F₃] (B : F₁ β†’L[π•œ] Fβ‚‚ β†’L[π•œ] F₃) {f₁ : E β†’ F₁} {fβ‚‚ : E β†’ Fβ‚‚} (hf₁ : MeasureTheory.Integrable f₁ MeasureTheory.volume) (hfβ‚‚ : MeasureTheory.Integrable fβ‚‚ MeasureTheory.volume) (hf₁' : Continuous f₁) (hfβ‚‚' : Continuous fβ‚‚) (ΞΎ : E) :
FourierTransform.fourier (MeasureTheory.convolution f₁ fβ‚‚ B MeasureTheory.volume) ΞΎ = ∫ (y : E) (x : E), fourierChar (-inner ℝ (y + x) ΞΎ) β€’ (B (f₁ x)) (fβ‚‚ y)

Calculate the Fourier transform of the convolution as a symmetric integral.

theorem Real.fourier_bilin_convolution_eq {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [NormedAddCommGroup E] [NormedAddCommGroup F₁] [NormedAddCommGroup Fβ‚‚] [NormedAddCommGroup F₃] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedSpace β„‚ F₃] [CompleteSpace F₁] [CompleteSpace Fβ‚‚] [CompleteSpace F₃] [NormedSpace β„‚ F₁] [NormedSpace β„‚ Fβ‚‚] (B : F₁ β†’L[β„‚] Fβ‚‚ β†’L[β„‚] F₃) {f₁ : E β†’ F₁} {fβ‚‚ : E β†’ Fβ‚‚} (hf₁ : MeasureTheory.Integrable f₁ MeasureTheory.volume) (hfβ‚‚ : MeasureTheory.Integrable fβ‚‚ MeasureTheory.volume) (hf₁' : Continuous f₁) (hfβ‚‚' : Continuous fβ‚‚) (ΞΎ : E) :

The Fourier transform of the convolution is given by the bilinear map applied to the Fourier transform of the individual functions.

theorem Real.fourier_smul_convolution_eq {E : Type u_3} {F₁ : Type u_5} [NormedAddCommGroup E] [NormedAddCommGroup F₁] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [CompleteSpace F₁] [NormedSpace β„‚ F₁] {f₁ : E β†’ β„‚} {fβ‚‚ : E β†’ F₁} (hf₁ : MeasureTheory.Integrable f₁ MeasureTheory.volume) (hfβ‚‚ : MeasureTheory.Integrable fβ‚‚ MeasureTheory.volume) (hf₁' : Continuous f₁) (hfβ‚‚' : Continuous fβ‚‚) (ΞΎ : E) :

The Fourier transform of the convolution is given by the multiplication of the Fourier transform of the individual functions.

Version for scalar multiplication.

The Fourier transform of the convolution is given by the multiplication of the Fourier transform of the individual functions.

Version for multiplication.

noncomputable def SchwartzMap.convolution {π•œ : Type u_1} {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [RCLike π•œ] [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedAddCommGroup F₁] [NormedSpace β„‚ F₁] [NormedSpace π•œ F₁] [SMulCommClass β„‚ π•œ F₁] [NormedAddCommGroup Fβ‚‚] [NormedSpace β„‚ Fβ‚‚] [NormedSpace π•œ Fβ‚‚] [SMulCommClass β„‚ π•œ Fβ‚‚] [NormedAddCommGroup F₃] [NormedSpace β„‚ F₃] [NormedSpace π•œ F₃] [SMulCommClass β„‚ π•œ F₃] (B : F₁ β†’L[π•œ] Fβ‚‚ β†’L[π•œ] F₃) :
SchwartzMap E F₁ β†’β‚—[π•œ] SchwartzMap E Fβ‚‚ β†’L[π•œ] SchwartzMap E F₃

The bilinear convolution of Schwartz functions.

The continuity in the left argument is provided in SchwartzMap.convolution_continuous_left.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem SchwartzMap.convolution_flip {π•œ : Type u_1} {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [RCLike π•œ] [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedAddCommGroup F₁] [NormedSpace β„‚ F₁] [NormedSpace π•œ F₁] [SMulCommClass β„‚ π•œ F₁] [NormedAddCommGroup Fβ‚‚] [NormedSpace β„‚ Fβ‚‚] [NormedSpace π•œ Fβ‚‚] [SMulCommClass β„‚ π•œ Fβ‚‚] [NormedAddCommGroup F₃] [NormedSpace β„‚ F₃] [NormedSpace π•œ F₃] [SMulCommClass β„‚ π•œ F₃] (B : F₁ β†’L[π•œ] Fβ‚‚ β†’L[π•œ] F₃) (f : SchwartzMap E F₁) (g : SchwartzMap E Fβ‚‚) :
    ((convolution B.flip) g) f = ((convolution B) f) g
    theorem SchwartzMap.convolution_continuous_left {π•œ : Type u_1} {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [RCLike π•œ] [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedAddCommGroup F₁] [NormedSpace β„‚ F₁] [NormedSpace π•œ F₁] [SMulCommClass β„‚ π•œ F₁] [NormedAddCommGroup Fβ‚‚] [NormedSpace β„‚ Fβ‚‚] [NormedSpace π•œ Fβ‚‚] [SMulCommClass β„‚ π•œ Fβ‚‚] [NormedAddCommGroup F₃] [NormedSpace β„‚ F₃] [NormedSpace π•œ F₃] [SMulCommClass β„‚ π•œ F₃] (B : F₁ β†’L[π•œ] Fβ‚‚ β†’L[π•œ] F₃) (g : SchwartzMap E Fβ‚‚) :
    Continuous fun (x : SchwartzMap E F₁) => ((convolution B) x) g

    The convolution is continuous in the left argument.

    Note that since 𝓒(E, F) is not a normed space, uncurried and curried continuity do not coincide.

    theorem SchwartzMap.fourier_convolution {π•œ : Type u_1} {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [RCLike π•œ] [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedAddCommGroup F₁] [NormedSpace β„‚ F₁] [NormedSpace π•œ F₁] [SMulCommClass β„‚ π•œ F₁] [NormedAddCommGroup Fβ‚‚] [NormedSpace β„‚ Fβ‚‚] [NormedSpace π•œ Fβ‚‚] [SMulCommClass β„‚ π•œ Fβ‚‚] [NormedAddCommGroup F₃] [NormedSpace β„‚ F₃] [NormedSpace π•œ F₃] [SMulCommClass β„‚ π•œ F₃] [CompleteSpace F₃] (B : F₁ β†’L[π•œ] Fβ‚‚ β†’L[π•œ] F₃) (f : SchwartzMap E F₁) (g : SchwartzMap E Fβ‚‚) :
    theorem SchwartzMap.fourier_convolution_apply {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedAddCommGroup F₁] [NormedSpace β„‚ F₁] [NormedAddCommGroup Fβ‚‚] [NormedSpace β„‚ Fβ‚‚] [NormedAddCommGroup F₃] [NormedSpace β„‚ F₃] [CompleteSpace F₃] [CompleteSpace F₁] [CompleteSpace Fβ‚‚] (B : F₁ β†’L[β„‚] Fβ‚‚ β†’L[β„‚] F₃) (f : SchwartzMap E F₁) (g : SchwartzMap E Fβ‚‚) (x : E) :
    theorem SchwartzMap.convolution_apply {E : Type u_3} {F₁ : Type u_5} {Fβ‚‚ : Type u_6} {F₃ : Type u_7} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [FiniteDimensional ℝ E] [MeasurableSpace E] [BorelSpace E] [NormedAddCommGroup F₁] [NormedSpace β„‚ F₁] [NormedAddCommGroup Fβ‚‚] [NormedSpace β„‚ Fβ‚‚] [NormedAddCommGroup F₃] [NormedSpace β„‚ F₃] [CompleteSpace F₃] [CompleteSpace F₁] [CompleteSpace Fβ‚‚] (B : F₁ β†’L[β„‚] Fβ‚‚ β†’L[β„‚] F₃) (f : SchwartzMap E F₁) (g : SchwartzMap E Fβ‚‚) (x : E) :
    (((convolution B) f) g) x = MeasureTheory.convolution (⇑f) (⇑g) B MeasureTheory.volume x

    The convolution on Schwartz functions is equal to the convolution on functions.