Documentation

LeanAPAP.Mathlib.Analysis.Convolution

TODO #

Extra arguments to convolution_zero

theorem MeasureTheory.ConvolutionExists.of_finite {π•œ : Type u_1} {G : Type u_2} {E : Type u_3} {E' : Type u_4} {F : Type u_5} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedAddCommGroup E'] [NormedAddCommGroup F] [NormedSpace π•œ E] [NormedSpace π•œ E'] [NormedSpace π•œ F] {f : G β†’ E} {g : G β†’ E'} {L : E β†’L[π•œ] E' β†’L[π•œ] F} [MeasurableSpace G] {ΞΌ : Measure G} [AddGroup G] [Finite G] [MeasurableSingletonClass G] [IsFiniteMeasure ΞΌ] :
theorem MeasureTheory.convolution_assoc''' {π•œ : Type u_1} {G : Type u_2} {E : Type u_3} {E' : Type u_4} {F : Type u_5} {F' : Type u_6} {F'' : Type u_7} {E'' : Type u_8} [RCLike π•œ] [NormedAddCommGroup E] [NormedAddCommGroup E'] [NormedAddCommGroup E''] [NormedAddCommGroup F] [NormedSpace π•œ E] [NormedSpace π•œ E'] [NormedSpace π•œ E''] [NormedSpace ℝ F] [NormedSpace π•œ F] [MeasurableSpace G] {ΞΌ Ξ½ : Measure G} (L : E β†’L[π•œ] E' β†’L[π•œ] F) [CompleteSpace F] [NormedAddCommGroup F'] [NormedSpace ℝ F'] [NormedSpace π•œ F'] [CompleteSpace F'] [NormedAddCommGroup F''] [NormedSpace ℝ F''] [NormedSpace π•œ F''] [CompleteSpace F''] {k : G β†’ E''} (Lβ‚‚ : F β†’L[π•œ] E'' β†’L[π•œ] F') (L₃ : E β†’L[π•œ] F'' β†’L[π•œ] F') (Lβ‚„ : E' β†’L[π•œ] E'' β†’L[π•œ] F'') [AddGroup G] [SFinite ΞΌ] [SFinite Ξ½] [ΞΌ.IsAddRightInvariant] {f : G β†’ E} {g : G β†’ E'} [MeasurableAddβ‚‚ G] [Ξ½.IsAddRightInvariant] [MeasurableNeg G] (hL : βˆ€ (x : E) (y : E') (z : E''), (Lβ‚‚ ((L x) y)) z = (L₃ x) ((Lβ‚„ y) z)) (hfg : βˆ€α΅ (y : G) βˆ‚ΞΌ, ConvolutionExistsAt f g y L Ξ½) (hgk : βˆ€α΅ (x : G) βˆ‚Ξ½, ConvolutionExistsAt g k x Lβ‚„ ΞΌ) (hi : βˆ€ (xβ‚€ : G), Integrable (Function.uncurry fun (x y : G) => (L₃ (f y)) ((Lβ‚„ (g (x - y))) (k (xβ‚€ - x)))) (ΞΌ.prod Ξ½)) :
convolution (convolution f g L Ξ½) k Lβ‚‚ ΞΌ = convolution f (convolution g k Lβ‚„ ΞΌ) L₃ Ξ½

Convolution is associative. This has a weak but inconvenient integrability condition. See also MeasureTheory.convolution_assoc.

theorem MeasureTheory.convolution_assoc'' {π•œ : Type u_1} {G : Type u_2} {E : Type u_3} {E' : Type u_4} {F : Type u_5} {F' : Type u_6} {F'' : Type u_7} {E'' : Type u_8} [RCLike π•œ] [NormedAddCommGroup E] [NormedAddCommGroup E'] [NormedAddCommGroup E''] [NormedAddCommGroup F] [NormedSpace π•œ E] [NormedSpace π•œ E'] [NormedSpace π•œ E''] [NormedSpace ℝ F] [NormedSpace π•œ F] [MeasurableSpace G] {ΞΌ Ξ½ : Measure G} (L : E β†’L[π•œ] E' β†’L[π•œ] F) [CompleteSpace F] [NormedAddCommGroup F'] [NormedSpace ℝ F'] [NormedSpace π•œ F'] [CompleteSpace F'] [NormedAddCommGroup F''] [NormedSpace ℝ F''] [NormedSpace π•œ F''] [CompleteSpace F''] {k : G β†’ E''} (Lβ‚‚ : F β†’L[π•œ] E'' β†’L[π•œ] F') (L₃ : E β†’L[π•œ] F'' β†’L[π•œ] F') (Lβ‚„ : E' β†’L[π•œ] E'' β†’L[π•œ] F'') [AddGroup G] [SFinite ΞΌ] [SFinite Ξ½] [ΞΌ.IsAddRightInvariant] {f : G β†’ E} {g : G β†’ E'} [MeasurableAddβ‚‚ G] [Ξ½.IsAddRightInvariant] [MeasurableNeg G] (hL : βˆ€ (x : E) (y : E') (z : E''), (Lβ‚‚ ((L x) y)) z = (L₃ x) ((Lβ‚„ y) z)) (hf : AEStronglyMeasurable f Ξ½) (hg : AEStronglyMeasurable g ΞΌ) (hk : AEStronglyMeasurable k ΞΌ) (hfg : βˆ€α΅ (y : G) βˆ‚ΞΌ, ConvolutionExistsAt f g y L Ξ½) (hgk : βˆ€α΅ (x : G) βˆ‚Ξ½, ConvolutionExistsAt (fun (x : G) => β€–g xβ€–) (fun (x : G) => β€–k xβ€–) x (ContinuousLinearMap.mul ℝ ℝ) ΞΌ) (hfgk : ConvolutionExists (fun (x : G) => β€–f xβ€–) (convolution (fun (x : G) => β€–g xβ€–) (fun (x : G) => β€–k xβ€–) (ContinuousLinearMap.mul ℝ ℝ) ΞΌ) (ContinuousLinearMap.mul ℝ ℝ) Ξ½) :
convolution (convolution f g L Ξ½) k Lβ‚‚ ΞΌ = convolution f (convolution g k Lβ‚„ ΞΌ) L₃ Ξ½

Convolution is associative. This requires that

  • all maps are a.e. strongly measurable w.r.t one of the measures
  • f ⋆[L, Ξ½] g exists almost everywhere
  • β€–gβ€– ⋆[ΞΌ] β€–kβ€– exists almost everywhere
  • β€–fβ€– ⋆[Ξ½] (β€–gβ€– ⋆[ΞΌ] β€–kβ€–) exists at xβ‚€
@[simp]
theorem MeasureTheory.convolution_translate {π•œ : Type u_1} {G : Type u_2} {E : Type u_3} {E' : Type u_4} {F : Type u_5} [RCLike π•œ] [NormedAddCommGroup E] [NormedAddCommGroup E'] [NormedAddCommGroup F] [NormedSpace π•œ E] [NormedSpace π•œ E'] [NormedSpace ℝ F] [NormedSpace π•œ F] [MeasurableSpace G] {Ξ½ : Measure G} (L : E β†’L[π•œ] E' β†’L[π•œ] F) [AddCommGroup G] (a : G) (f : G β†’ E) (g : G β†’ E') :
convolution f (translate a g) L Ξ½ = translate a (convolution f g L Ξ½)
@[simp]
theorem MeasureTheory.translate_convolution {π•œ : Type u_1} {G : Type u_2} {E : Type u_3} {E' : Type u_4} {F : Type u_5} [RCLike π•œ] [NormedAddCommGroup E] [NormedAddCommGroup E'] [NormedAddCommGroup F] [NormedSpace π•œ E] [NormedSpace π•œ E'] [NormedSpace ℝ F] [NormedSpace π•œ F] [MeasurableSpace G] {Ξ½ : Measure G} (L : E β†’L[π•œ] E' β†’L[π•œ] F) [AddCommGroup G] [MeasurableAdd G] [Ξ½.IsAddRightInvariant] (a : G) (f : G β†’ E) (g : G β†’ E') :
convolution (translate a f) g L Ξ½ = translate a (convolution f g L Ξ½)