Documentation

Mathlib.MeasureTheory.Integral.CircleAverage

Circle Averages #

For a function f on the complex plane, this file introduces the definition Real.circleAverage f c R as a shorthand for the average of f on the circle with center c and radius R, equipped with the rotation-invariant measure of total volume one. Like IntervalAverage, this notion exists as a convenience. It avoids notationally inconvenient compositions of f with circleMap and avoids the need to manually elemininate 2 * π every time an average is computed.

Note: Like the interval average defined in Mathlib.MeasureTheory.Integral.IntervalAverage, the circleAverage defined here is a purely measure-theoretic average. It should not be confused with circleIntegral, which is the path integral over the circle path. The relevant integrability property circleAverage is CircleIntegrable, as defined in Mathlib.MeasureTheory.Integral.CircleIntegral.

Implementation Note: Like circleMap, circleAverages are defined for negative radii. The theorem circleAverage_congr_negRadius shows that the average is independent of the radius' sign.

Definition #

noncomputable def Real.circleAverage {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (f : E) (c : ) (R : ) :
E

Define circleAverage f c R as the average value of f on the circle with center c and radius R. This is a real notion, which should not be confused with the complex path integral notion defined in circleIntegral (integrating with respect to dz).

Equations
Instances For
    theorem Real.circleAverage_def {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {c : } {R : } :
    circleAverage f c R = (2 * Real.pi)⁻¹ (θ : ) in 0 ..2 * Real.pi, f (circleMap c R θ)
    theorem Real.circleAverage_eq_intervalAverage {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {c : } {R : } :
    circleAverage f c R = (θ : ) in 0 ..2 * Real.pi, f (circleMap c R θ)

    Expression of `circleAverage´ in terms of interval averages.

    @[simp]
    theorem Real.circleAverage_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {c : } [CompleteSpace E] :
    circleAverage f c 0 = f c

    Interval averages for zero radii equal values at the center point.

    theorem Real.circleAverage_fun_add {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {c : } {R : } :
    circleAverage (fun (z : ) => f (z + c)) 0 R = circleAverage f c R

    Expression of circleAverage´ with arbitrary center in terms of circleAverage` with center zero.

    Congruence Lemmata #

    theorem Real.circleAverage_eq_integral_add {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {c : } {R : } (η : ) :
    circleAverage f c R = (2 * Real.pi)⁻¹ (θ : ) in 0 ..2 * Real.pi, f (circleMap c R (θ + η))

    Circle averages do not change when shifting the angle.

    @[simp]
    theorem Real.circleAverage_neg_radius {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {c : } {R : } :

    Circle averages do not change when replacing the radius by its negative.

    @[simp]
    theorem Real.circleAverage_abs_radius {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {c : } {R : } :

    Circle averages do not change when replacing the radius by its absolute value.

    theorem Real.circleAverage_congr_codiscreteWithin {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f₁ f₂ : E} {c : } {R : } (hf : f₁ =ᶠ[Filter.codiscreteWithin (Metric.sphere c |R|)] f₂) (hR : R 0) :
    circleAverage f₁ c R = circleAverage f₂ c R

    If two functions agree outside of a discrete set in the circle, then their averages agree.

    Behaviour with Respect to Arithmetic Operations #

    theorem Real.circleAverage_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {𝕜 : Type u_2} [NontriviallyNormedField 𝕜] [NormedSpace 𝕜 E] [SMulCommClass 𝕜 E] {f : E} {c : } {R : } {a : 𝕜} :
    circleAverage (a f) c R = a circleAverage f c R

    Circle averages commute with scalar multiplication.

    theorem Real.circleAverage_fun_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {𝕜 : Type u_2} [NontriviallyNormedField 𝕜] [NormedSpace 𝕜 E] [SMulCommClass 𝕜 E] {f : E} {c : } {R : } {a : 𝕜} :
    circleAverage (fun (z : ) => a f z) c R = a circleAverage f c R

    Circle averages commute with scalar multiplication.

    theorem Real.circleAverage_add {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f₁ f₂ : E} {c : } {R : } (hf₁ : CircleIntegrable f₁ c R) (hf₂ : CircleIntegrable f₂ c R) :
    circleAverage (f₁ + f₂) c R = circleAverage f₁ c R + circleAverage f₂ c R

    Circle averages commute with addition.

    theorem Real.circleAverage_sum {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {c : } {R : } {ι : Type u_3} {s : Finset ι} {f : ιE} (h : is, CircleIntegrable (f i) c R) :
    circleAverage (∑ is, f i) c R = is, circleAverage (f i) c R

    Circle averages commute with sums.