Documentation

Mathlib.Analysis.LConvolution

Convolution of functions using the Lebesgue integral #

In this file we define and prove properties about the convolution of two functions using the Lebesgue integral.

Design Decisions #

We define the convolution of two functions using the Lebesgue integral (in the additive case) by the formula (f ⋆ₗ[μ] g) x = ∫⁻ y, (f y) * (g (-y + x)) ∂μ. This does not agree with the formula used by MeasureTheory.convolution for convolution of two functions, however it does agree when the domain of f and g is a commutative group. The main reason for this is so that (under sufficient conditions) if {μ ν π : Measure G} {f g : G → ℝ≥0∞} are such that μ = π.withDensity f, ν = π.withDensity g where π is left-invariant then (μ ∗ ν) = π.withDensity (f ⋆ₗ[π] g). If the formula in MeasureTheory.convolution was used the order of the densities would be flipped.

Main Definitions #

noncomputable def MeasureTheory.mlconvolution {G : Type u_1} {mG : MeasurableSpace G} [Mul G] [Inv G] (f g : GENNReal) (μ : Measure G) :
GENNReal

Multiplicative convolution of functions.

Instances For
    noncomputable def MeasureTheory.lconvolution {G : Type u_1} {mG : MeasurableSpace G} [Add G] [Neg G] (f g : GENNReal) (μ : Measure G) :
    GENNReal

    Additive convolution of functions

    Instances For
      def MeasureTheory.«term_⋆ₘₗ[_]_» :
      Lean.TrailingParserDescr

      Scoped notation for the multiplicative convolution of functions with respect to a measure μ.

      Instances For
        def MeasureTheory.«term_⋆ₘₗ_» :
        Lean.TrailingParserDescr

        Scoped notation for the multiplicative convolution of functions with respect to volume.

        Instances For
          def MeasureTheory.«term_⋆ₗ[_]_» :
          Lean.TrailingParserDescr

          Scoped notation for the additive convolution of functions with respect to a measure μ.

          Instances For
            def MeasureTheory.«term_⋆ₗ_» :
            Lean.TrailingParserDescr

            Scoped notation for the additive convolution of functions with respect to volume.

            Instances For
              theorem MeasureTheory.mlconvolution_def {G : Type u_1} {mG : MeasurableSpace G} [Mul G] [Inv G] {f g : GENNReal} {μ : Measure G} {x : G} :
              mlconvolution f g μ x = ∫⁻ (y : G), f y * g (y⁻¹ * x) μ
              theorem MeasureTheory.lconvolution_def {G : Type u_1} {mG : MeasurableSpace G} [Add G] [Neg G] {f g : GENNReal} {μ : Measure G} {x : G} :
              lconvolution f g μ x = ∫⁻ (y : G), f y * g (-y + x) μ

              The definition of additive convolution of functions.

              @[simp]
              theorem MeasureTheory.zero_mlconvolution {G : Type u_1} {mG : MeasurableSpace G} [Mul G] [Inv G] (f : GENNReal) (μ : Measure G) :
              mlconvolution 0 f μ = 0

              Convolution of the zero function with a function returns the zero function.

              @[simp]
              theorem MeasureTheory.zero_lconvolution {G : Type u_1} {mG : MeasurableSpace G} [Add G] [Neg G] (f : GENNReal) (μ : Measure G) :
              lconvolution 0 f μ = 0

              Convolution of the zero function with a function returns the zero function.

              @[simp]
              theorem MeasureTheory.mlconvolution_zero {G : Type u_1} {mG : MeasurableSpace G} [Mul G] [Inv G] (f : GENNReal) (μ : Measure G) :
              mlconvolution f 0 μ = 0

              Convolution of a function with the zero function returns the zero function.

              @[simp]
              theorem MeasureTheory.lconvolution_zero {G : Type u_1} {mG : MeasurableSpace G} [Add G] [Neg G] (f : GENNReal) (μ : Measure G) :
              lconvolution f 0 μ = 0

              Convolution of a function with the zero function returns the zero function.

              theorem MeasureTheory.measurable_mlconvolution {G : Type u_1} {mG : MeasurableSpace G} [Mul G] [Inv G] [MeasurableMul₂ G] [MeasurableInv G] {f g : GENNReal} (μ : Measure G) [SFinite μ] (hf : Measurable f) (hg : Measurable g) :

              The convolution of measurable functions is measurable.

              theorem MeasureTheory.measurable_lconvolution {G : Type u_1} {mG : MeasurableSpace G} [Add G] [Neg G] [MeasurableAdd₂ G] [MeasurableNeg G] {f g : GENNReal} (μ : Measure G) [SFinite μ] (hf : Measurable f) (hg : Measurable g) :

              The convolution of measurable functions is measurable.

              theorem MeasureTheory.aemeasurable_mlconvolution {G : Type u_1} {mG : MeasurableSpace G} [Group G] [MeasurableMul₂ G] [MeasurableInv G] {μ : Measure G} [μ.IsMulLeftInvariant] [SFinite μ] {f g : GENNReal} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) :

              The convolution of AEMeasurable functions is AEMeasurable.

              theorem MeasureTheory.aemeasurable_lconvolution {G : Type u_1} {mG : MeasurableSpace G} [AddGroup G] [MeasurableAdd₂ G] [MeasurableNeg G] {μ : Measure G} [μ.IsAddLeftInvariant] [SFinite μ] {f g : GENNReal} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) :

              The convolution of AEMeasurable functions is AEMeasurable.

              theorem MeasureTheory.mlconvolution_assoc₀ {G : Type u_1} {mG : MeasurableSpace G} [Group G] [MeasurableMul₂ G] [MeasurableInv G] {μ : Measure G} [μ.IsMulLeftInvariant] [SFinite μ] {f g k : GENNReal} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) (hk : AEMeasurable k μ) :
              theorem MeasureTheory.lconvolution_assoc₀ {G : Type u_1} {mG : MeasurableSpace G} [AddGroup G] [MeasurableAdd₂ G] [MeasurableNeg G] {μ : Measure G} [μ.IsAddLeftInvariant] [SFinite μ] {f g k : GENNReal} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) (hk : AEMeasurable k μ) :
              lconvolution f (lconvolution g k μ) μ = lconvolution (lconvolution f g μ) k μ
              theorem MeasureTheory.lconvolution_assoc {G : Type u_1} {mG : MeasurableSpace G} [AddGroup G] [MeasurableAdd₂ G] [MeasurableNeg G] {μ : Measure G} [μ.IsAddLeftInvariant] [SFinite μ] {f g k : GENNReal} (hf : Measurable f) (hg : Measurable g) (hk : Measurable k) :
              lconvolution f (lconvolution g k μ) μ = lconvolution (lconvolution f g μ) k μ

              Convolution is associative.

              Convolution is commutative when the group is commutative.

              Convolution is commutative when the group is commutative.