Documentation

TauCeti.Analysis.Convolution.Basic

Convolution existence and continuous linear maps #

An essentially bounded function convolves with an integrable function at every point of a measurable additive group with a measure invariant under left translations and negation (MeasureTheory.convolutionExists_of_ae_norm_le_of_integrable and MeasureTheory.convolutionExists_of_integrable_of_ae_norm_le). No topology on the group or sigma-finiteness of the measure is required. For two integrable scalar kernels and an essentially bounded function, convolution is associative at every point; this associativity statement additionally assumes s-finiteness.

A continuous linear map L : F β†’L[π•œ] F' between real or complex Banach spaces commutes with convolution against a scalar kernel ρ : G β†’ π•œ: ρ ⋆ (L ∘ f) = L (ρ ⋆ f) at every point where ρ ⋆ f exists (ContinuousLinearMap.convolution_lsmul_comp_comm). This is the convolution form of ContinuousLinearMap.integral_comp_comm. It lets a mollification be moved through a continuous linear map, for instance to mollify the image of a function in a dual space.

Mollification by a nonnegative real kernel ρ of integral 1 supported in ball 0 R preserves one-sided bounds: a lower (upper) bound on g over ball xβ‚€ R is a lower (upper) bound on (ρ ⋆ g) xβ‚€, and a bound on the norm of a vector-valued f over ball xβ‚€ R bounds the norm of (ρ ⋆ f) xβ‚€. So as the supports of the kernels shrink, the mollifications of a function lower (upper) semicontinuous at xβ‚€ eventually lie almost above (below) its value there, and the minimum (maximum) of the mollification and the function tends to that value.

A convolution (f ⋆ g) x only sees g at the points x - t with t in the support of f, so g may be replaced by its indicator on any set containing them. Consequently, pairing a convolution ρ ⋆ u with a continuous compactly supported ψ only involves u on the compact set tsupport ψ - tsupport ρ, and Fubini moves the kernel outside: ∫ ψ (ρ ⋆ u) = ∫ ρ(t) (∫ ψ(x) u(x - t) dx) dt for u locally integrable near that set.

Against a kernel f of integral zero supported in ball 0 R, the constant g xβ‚€ convolves to zero, so (f ⋆ g) xβ‚€ is bounded by β€–Lβ€– (∫ β€–fβ€–) times the oscillation of g on ball xβ‚€ R.

For a continuous compactly supported kernel ψ and a locally integrable f, writing f x - (ψ ⋆ f) x and (ψ ⋆ f) x - (ψ ⋆ f) y as single integrals bounds them by ψ-weighted integrals of increments of f; when ψ has integral 1, is bounded by M and vanishes off closedBall 0 t, the first is at most M times the integral of β€–f x - f wβ€–β‚‘ over w ∈ closedBall x t.

Main declarations #

theorem MeasureTheory.convolution_eq_zero_of_not_completeSpace {G : Type u_1} {E : Type u_2} {E' : Type u_3} {F : Type u_4} {f : G β†’ E} {g : G β†’ E'} {π•œ : Type u_5} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [Sub G] [MeasurableSpace G] {ΞΌ : Measure G} {L : E β†’L[π•œ] E' β†’L[π•œ] F} (hF : Β¬CompleteSpace F) :
convolution f g L ΞΌ = 0

Without completeness of the target F, every Bochner integral valued in F is 0, so every convolution valued in F is the zero function.

theorem MeasureTheory.convolutionExists_of_ae_norm_le_of_integrable {G : Type u_1} {E : Type u_2} {E' : Type u_3} {F : Type u_4} {f : G β†’ E} {g : G β†’ E'} {M : ℝ} {π•œ : Type u_5} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] [NormedAddCommGroup F] [NormedSpace π•œ F] [AddGroup G] [MeasurableSpace G] [MeasurableAdd G] [MeasurableNeg G] {ΞΌ : Measure G} [ΞΌ.IsAddLeftInvariant] [ΞΌ.IsNegInvariant] (L : E β†’L[π•œ] E' β†’L[π•œ] F) (hf : AEStronglyMeasurable f ΞΌ) (hfM : βˆ€α΅ (t : G) βˆ‚ΞΌ, β€–f tβ€– ≀ M) (hg : Integrable g ΞΌ) :

An essentially bounded function convolves with an integrable function at every point.

theorem MeasureTheory.convolutionExists_of_integrable_of_ae_norm_le {G : Type u_1} {E : Type u_2} {E' : Type u_3} {F : Type u_4} {f : G β†’ E} {g : G β†’ E'} {M : ℝ} {π•œ : Type u_5} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] [NormedAddCommGroup F] [NormedSpace π•œ F] [AddGroup G] [MeasurableSpace G] [MeasurableAdd G] [MeasurableNeg G] {ΞΌ : Measure G} [ΞΌ.IsAddLeftInvariant] [ΞΌ.IsNegInvariant] (L : E β†’L[π•œ] E' β†’L[π•œ] F) (hf : Integrable f ΞΌ) (hg : AEStronglyMeasurable g ΞΌ) (hgM : βˆ€α΅ (t : G) βˆ‚ΞΌ, β€–g tβ€– ≀ M) :

An integrable function convolves with an essentially bounded function at every point.

theorem MeasureTheory.convolution_lsmul_assoc_of_integrable_of_ae_norm_le {π•œ : Type u_6} {G : Type u_7} {F : Type u_8} [RCLike π•œ] [AddCommGroup G] [MeasurableSpace G] [MeasurableAddβ‚‚ G] [MeasurableNeg G] {ΞΌ : Measure G} [SFinite ΞΌ] [ΞΌ.IsAddLeftInvariant] [ΞΌ.IsNegInvariant] [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedSpace π•œ F] [CompleteSpace F] {f g : G β†’ π•œ} {h : G β†’ F} {M : ℝ} (hf : Integrable f ΞΌ) (hg : Integrable g ΞΌ) (hh : AEStronglyMeasurable h ΞΌ) (hM : βˆ€α΅ (x : G) βˆ‚ΞΌ, β€–h xβ€– ≀ M) :
convolution (convolution f g (ContinuousLinearMap.lsmul π•œ π•œ) ΞΌ) h (ContinuousLinearMap.lsmul π•œ π•œ) ΞΌ = convolution f (convolution g h (ContinuousLinearMap.lsmul π•œ π•œ) ΞΌ) (ContinuousLinearMap.lsmul π•œ π•œ) ΞΌ

Convolution of two integrable scalar kernels with an essentially bounded function is associative at every point, not just almost everywhere.

theorem ContinuousLinearMap.convolution_lsmul_comp_comm {π•œ : Type u_1} {G : Type u_2} {F : Type u_3} {F' : Type u_4} [RCLike π•œ] [Sub G] [MeasurableSpace G] {ΞΌ : MeasureTheory.Measure G} [NormedAddCommGroup F] [NormedSpace π•œ F] [NormedSpace ℝ F] [CompleteSpace F] [NormedAddCommGroup F'] [NormedSpace π•œ F'] [NormedSpace ℝ F'] [CompleteSpace F'] (L : F β†’L[π•œ] F') {ρ : G β†’ π•œ} {f : G β†’ F} {x : G} (h : MeasureTheory.ConvolutionExistsAt ρ f x (lsmul π•œ π•œ) ΞΌ) :
MeasureTheory.convolution ρ (fun (y : G) => L (f y)) (lsmul π•œ π•œ) ΞΌ x = L (MeasureTheory.convolution ρ f (lsmul π•œ π•œ) ΞΌ x)

A continuous linear map commutes with convolution against a scalar kernel, at every point where the convolution exists.

theorem MeasureTheory.le_convolution_lsmul_of_forall_le {G : Type u_1} [SeminormedAddCommGroup G] [MeasurableSpace G] {ΞΌ : Measure G} {ρ g : G β†’ ℝ} {xβ‚€ : G} {R c : ℝ} (hρs : Function.support ρ βŠ† Metric.ball 0 R) (hρ0 : βˆ€ (y : G), 0 ≀ ρ y) (hρ1 : ∫ (y : G), ρ y βˆ‚ΞΌ = 1) (hg : ConvolutionExistsAt ρ g xβ‚€ (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ) (h : βˆ€ y ∈ Metric.ball xβ‚€ R, c ≀ g y) :

Lower bounds survive mollification. If ρ is a nonnegative kernel of integral 1 supported in ball 0 R and c ≀ g on ball xβ‚€ R, then c ≀ (ρ ⋆ g) xβ‚€.

theorem MeasureTheory.convolution_lsmul_le_of_forall_le {G : Type u_1} [SeminormedAddCommGroup G] [MeasurableSpace G] {ΞΌ : Measure G} {ρ g : G β†’ ℝ} {xβ‚€ : G} {R c : ℝ} (hρs : Function.support ρ βŠ† Metric.ball 0 R) (hρ0 : βˆ€ (y : G), 0 ≀ ρ y) (hρ1 : ∫ (y : G), ρ y βˆ‚ΞΌ = 1) (hg : ConvolutionExistsAt ρ g xβ‚€ (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ) (h : βˆ€ y ∈ Metric.ball xβ‚€ R, g y ≀ c) :

Upper bounds survive mollification. If ρ is a nonnegative kernel of integral 1 supported in ball 0 R and g ≀ c on ball xβ‚€ R, then (ρ ⋆ g) xβ‚€ ≀ c.

theorem MeasureTheory.norm_convolution_lsmul_le_of_forall_norm_le {G : Type u_1} [SeminormedAddCommGroup G] [MeasurableSpace G] {ΞΌ : Measure G} {ρ : G β†’ ℝ} {xβ‚€ : G} {R : ℝ} {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace ℝ E'] {f : G β†’ E'} {M : ℝ} (hρs : Function.support ρ βŠ† Metric.ball 0 R) (hρ0 : βˆ€ (y : G), 0 ≀ ρ y) (hρ1 : ∫ (y : G), ρ y βˆ‚ΞΌ = 1) (h : βˆ€ y ∈ Metric.ball xβ‚€ R, β€–f yβ€– ≀ M) :

Sup-norm bounds survive mollification. If ρ is a nonnegative kernel of integral 1 supported in ball 0 R and β€–fβ€– ≀ M on ball xβ‚€ R, then β€–(ρ ⋆ f) xβ‚€β€– ≀ M.

theorem MeasureTheory.eventually_lt_convolution_lsmul_of_lowerSemicontinuousAt {G : Type u_1} [SeminormedAddCommGroup G] [MeasurableSpace G] {ΞΌ : Measure G} {g : G β†’ ℝ} {xβ‚€ : G} {c : ℝ} {ΞΉ : Type u_2} {l : Filter ΞΉ} {ρ : ΞΉ β†’ G β†’ ℝ} (hρ0 : βˆ€αΆ  (i : ΞΉ) in l, βˆ€ (y : G), 0 ≀ ρ i y) (hρ1 : βˆ€αΆ  (i : ΞΉ) in l, ∫ (y : G), ρ i y βˆ‚ΞΌ = 1) (hρs : Filter.Tendsto (fun (i : ΞΉ) => Function.support (ρ i)) l (nhds 0).smallSets) (hg : βˆ€αΆ  (i : ΞΉ) in l, ConvolutionExistsAt (ρ i) g xβ‚€ (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ) (hgx : LowerSemicontinuousAt g xβ‚€) (hc : c < g xβ‚€) :
βˆ€αΆ  (i : ΞΉ) in l, c < convolution (ρ i) g (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ xβ‚€

Mollification and lower semicontinuity. Let ρ i be nonnegative kernels of integral 1 whose supports shrink to 0. If g is lower semicontinuous at xβ‚€, then every c < g xβ‚€ is eventually below (ρ i ⋆ g) xβ‚€.

theorem MeasureTheory.eventually_convolution_lsmul_lt_of_upperSemicontinuousAt {G : Type u_1} [SeminormedAddCommGroup G] [MeasurableSpace G] {ΞΌ : Measure G} {g : G β†’ ℝ} {xβ‚€ : G} {c : ℝ} {ΞΉ : Type u_2} {l : Filter ΞΉ} {ρ : ΞΉ β†’ G β†’ ℝ} (hρ0 : βˆ€αΆ  (i : ΞΉ) in l, βˆ€ (y : G), 0 ≀ ρ i y) (hρ1 : βˆ€αΆ  (i : ΞΉ) in l, ∫ (y : G), ρ i y βˆ‚ΞΌ = 1) (hρs : Filter.Tendsto (fun (i : ΞΉ) => Function.support (ρ i)) l (nhds 0).smallSets) (hg : βˆ€αΆ  (i : ΞΉ) in l, ConvolutionExistsAt (ρ i) g xβ‚€ (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ) (hgx : UpperSemicontinuousAt g xβ‚€) (hc : g xβ‚€ < c) :
βˆ€αΆ  (i : ΞΉ) in l, convolution (ρ i) g (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ xβ‚€ < c

Mollification and upper semicontinuity. Let ρ i be nonnegative kernels of integral 1 whose supports shrink to 0. If g is upper semicontinuous at xβ‚€, then every c > g xβ‚€ is eventually above (ρ i ⋆ g) xβ‚€.

theorem MeasureTheory.tendsto_min_convolution_lsmul_of_lowerSemicontinuousAt {G : Type u_1} [SeminormedAddCommGroup G] [MeasurableSpace G] {ΞΌ : Measure G} {g : G β†’ ℝ} {xβ‚€ : G} {ΞΉ : Type u_2} {l : Filter ΞΉ} {ρ : ΞΉ β†’ G β†’ ℝ} (hρ0 : βˆ€αΆ  (i : ΞΉ) in l, βˆ€ (y : G), 0 ≀ ρ i y) (hρ1 : βˆ€αΆ  (i : ΞΉ) in l, ∫ (y : G), ρ i y βˆ‚ΞΌ = 1) (hρs : Filter.Tendsto (fun (i : ΞΉ) => Function.support (ρ i)) l (nhds 0).smallSets) (hg : βˆ€αΆ  (i : ΞΉ) in l, ConvolutionExistsAt (ρ i) g xβ‚€ (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ) (hgx : LowerSemicontinuousAt g xβ‚€) :
Filter.Tendsto (fun (i : ΞΉ) => min (convolution (ρ i) g (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ xβ‚€) (g xβ‚€)) l (nhds (g xβ‚€))

Mollification and lower semicontinuity, in the limit. Let ρ i be nonnegative kernels of integral 1 whose supports shrink to 0. If g is lower semicontinuous at xβ‚€, then min ((ρ i ⋆ g) xβ‚€) (g xβ‚€) tends to g xβ‚€.

theorem MeasureTheory.tendsto_max_convolution_lsmul_of_upperSemicontinuousAt {G : Type u_1} [SeminormedAddCommGroup G] [MeasurableSpace G] {ΞΌ : Measure G} {g : G β†’ ℝ} {xβ‚€ : G} {ΞΉ : Type u_2} {l : Filter ΞΉ} {ρ : ΞΉ β†’ G β†’ ℝ} (hρ0 : βˆ€αΆ  (i : ΞΉ) in l, βˆ€ (y : G), 0 ≀ ρ i y) (hρ1 : βˆ€αΆ  (i : ΞΉ) in l, ∫ (y : G), ρ i y βˆ‚ΞΌ = 1) (hρs : Filter.Tendsto (fun (i : ΞΉ) => Function.support (ρ i)) l (nhds 0).smallSets) (hg : βˆ€αΆ  (i : ΞΉ) in l, ConvolutionExistsAt (ρ i) g xβ‚€ (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ) (hgx : UpperSemicontinuousAt g xβ‚€) :
Filter.Tendsto (fun (i : ΞΉ) => max (convolution (ρ i) g (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ xβ‚€) (g xβ‚€)) l (nhds (g xβ‚€))

Mollification and upper semicontinuity, in the limit. Let ρ i be nonnegative kernels of integral 1 whose supports shrink to 0. If g is upper semicontinuous at xβ‚€, then max ((ρ i ⋆ g) xβ‚€) (g xβ‚€) tends to g xβ‚€.

theorem MeasureTheory.convolution_indicator_eq_of_forall_sub_mem {π•œ : Type u_1} {G : Type u_2} {E : Type u_3} {E' : Type u_4} {F : Type u_5} [NontriviallyNormedField π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] [NormedAddCommGroup F] [NormedSpace π•œ F] [NormedSpace ℝ F] [Sub G] [MeasurableSpace G] {ΞΌ : Measure G} (L : E β†’L[π•œ] E' β†’L[π•œ] F) {f : G β†’ E} {g : G β†’ E'} {s : Set G} {x : G} (h : βˆ€ t ∈ Function.support f, x - t ∈ s) :
convolution f (s.indicator g) L ΞΌ x = convolution f g L ΞΌ x

A convolution at x sees g only at the points x - t with t in the support of the kernel f, so g may be replaced by its indicator on any set containing all of them.

theorem MeasureTheory.integral_mul_convolution_eq_integral_mul_integral_comp_sub {G : Type u_1} [NormedAddCommGroup G] [MeasurableSpace G] [BorelSpace G] [SecondCountableTopology G] {ΞΌ : Measure G} [SFinite ΞΌ] [ΞΌ.IsAddRightInvariant] {ψ ρ u : G β†’ ℝ} {s : Set G} (hψ : Continuous ψ) (hψc : HasCompactSupport ψ) (hρ : Integrable ρ ΞΌ) (hρc : HasCompactSupport ρ) (hu : LocallyIntegrableOn u s ΞΌ) (hs : βˆ€ t ∈ tsupport ρ, βˆ€ x ∈ tsupport ψ, x - t ∈ s) :
∫ (x : G), ψ x * convolution ρ u (ContinuousLinearMap.lsmul ℝ ℝ) ΞΌ x βˆ‚ΞΌ = ∫ (t : G), ρ t * ∫ (x : G), ψ x * u (x - t) βˆ‚ΞΌ βˆ‚ΞΌ

Pairing a convolution with a test function. For a continuous compactly supported ψ, an integrable compactly supported kernel ρ and a function u locally integrable on a set s containing tsupport ψ - tsupport ρ, Fubini gives ∫ ψ (ρ ⋆ u) = ∫ ρ(t) (∫ ψ(x) u(x - t) dx) dt.

theorem MeasureTheory.norm_convolution_le_of_integral_eq_zero {π•œ : Type u_1} {G : Type u_2} {E : Type u_3} {E' : Type u_4} {F : Type u_5} [RCLike π•œ] [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedSpace ℝ E] [CompleteSpace E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] [NormedAddCommGroup F] [NormedSpace π•œ F] [NormedSpace ℝ F] [SeminormedAddCommGroup G] [MeasurableSpace G] [BorelSpace G] [SecondCountableTopology G] {ΞΌ : Measure G} [ΞΌ.IsAddLeftInvariant] [SFinite ΞΌ] (L : E β†’L[π•œ] E' β†’L[π•œ] F) {f : G β†’ E} {g : G β†’ E'} {xβ‚€ : G} {R w : ℝ} (hw : 0 ≀ w) (hif : Integrable f ΞΌ) (hf0 : ∫ (t : G), f t βˆ‚ΞΌ = 0) (hf : Function.support f βŠ† Metric.ball 0 R) (hmg : AEStronglyMeasurable g ΞΌ) (hg : βˆ€ x ∈ Metric.ball xβ‚€ R, dist (g x) (g xβ‚€) ≀ w) :
β€–convolution f g L ΞΌ xβ‚€β€– ≀ (β€–Lβ€– * ∫ (t : G), β€–f tβ€– βˆ‚ΞΌ) * w

Convolution with a kernel of integral zero. If f is integrable with ∫ f = 0 and supported in ball 0 R, and g stays within w of g xβ‚€ on ball xβ‚€ R, then β€–(f ⋆ g) xβ‚€β€– ≀ β€–Lβ€– (∫ β€–fβ€–) w. Only the oscillation of g near xβ‚€ enters, not its size: applied to the derivatives of a mollifier, this bounds the derivatives of a mollification by the local oscillation of the mollified function.

theorem MeasureTheory.enorm_sub_convolution_lsmul_le {G : Type u_1} {F : Type u_2} [NormedAddCommGroup G] [MeasurableSpace G] [BorelSpace G] {ΞΌ : Measure G} [ΞΌ.IsAddLeftInvariant] [ΞΌ.IsNegInvariant] [NormedAddCommGroup F] [NormedSpace ℝ F] {ψ : G β†’ ℝ} {f : G β†’ F} [CompleteSpace F] (hψ : Continuous ψ) (hψc : HasCompactSupport ψ) (hψ1 : ∫ (x : G), ψ x βˆ‚ΞΌ = 1) (hf : LocallyIntegrable f ΞΌ) (x : G) :

Mollification moves a function by a weighted average of its increments. If ψ is a continuous compactly supported kernel of integral 1 and f is locally integrable, then β€–f x - (ψ ⋆ f) xβ€–β‚‘ is at most the β€–Οˆ (x - Β·)β€–β‚‘-weighted integral of β€–f x - f wβ€–β‚‘.

Increments of a mollification. For a continuous compactly supported kernel ψ and a locally integrable f, the increments of ψ ⋆ f are bounded by the β€–Οˆβ€–β‚‘-weighted integral of the increments of the translates of f.

theorem MeasureTheory.enorm_sub_convolution_lsmul_le_mul_lintegral {G : Type u_1} {F : Type u_2} [NormedAddCommGroup G] [MeasurableSpace G] [BorelSpace G] {ΞΌ : Measure G} [ΞΌ.IsAddLeftInvariant] [ΞΌ.IsNegInvariant] [NormedAddCommGroup F] [NormedSpace ℝ F] {ψ : G β†’ ℝ} {f : G β†’ F} [CompleteSpace F] (hψ : Continuous ψ) (hψc : HasCompactSupport ψ) (hψ1 : ∫ (x : G), ψ x βˆ‚ΞΌ = 1) {t : ℝ} (hψt : Function.support ψ βŠ† Metric.closedBall 0 t) {M : ℝ} (hψM : βˆ€ (x : G), β€–Οˆ xβ€– ≀ M) (hf : LocallyIntegrable f ΞΌ) (x : G) :

Mollification by a bounded kernel of small support. If ψ is a continuous kernel of integral 1 with β€–Οˆβ€– ≀ M, vanishing off closedBall 0 t, and f is locally integrable, then β€–f x - (ψ ⋆ f) xβ€–β‚‘ is at most M times the integral of β€–f x - f wβ€–β‚‘ over w ∈ closedBall x t.