Imports
/- Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith -/ module public import Physlib.SpaceAndTime.Space.Integrals.Basic

The radial angular measure on Space

i. Overview

The normal measure on Space d is r^(d-1) dr dΩ in spherical coordinates, where dΩ is the angular measure on the unit sphere. The radial angular measure is the measure dr dΩ, cancelling the radius contribution from the measure in spherical coordinates.

This file is equivalent to invPowMeasure, which will slowly be deprecated.

ii. Key results

    radialAngularMeasure: The radial angular measure on Space d.

iii. Table of contents

    A. The definition of the radial angular measure

      A.1. Basic equalities

    B. Integrals with respect to radialAngularMeasure

    C. The radialAngularMeasure on balls

    D. Integrability conditions

    E. HasTemperateGrowth of measures

      E.1. Integrability of powers

      E.2. radialAngularMeasure has temperate growth

iv. References

@[expose] public section

A. The definition of the radial angular measure

The measure on Space d weighted by 1 / ‖x‖ ^ (d - 1).

def radialAngularMeasure {d : ℕ} : Measure (Space d) := volume.withDensity (fun x : Space d => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1)))

A.1. Basic equalities

lemma radialAngularMeasure_eq_volume_withDensity {d : ℕ} : radialAngularMeasure = volume.withDensity (fun x : Space d => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1))) := d:ℕ⊢ radialAngularMeasure = volume.withDensity fun x => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1)) All goals completed! 🐙@[simp] lemma radialAngularMeasure_zero_eq_volume : radialAngularMeasure (d := 0) = volume := ⊢ radialAngularMeasure = volume All goals completed! 🐙

A.2. SFinite property

instance (d : ℕ) : SFinite (radialAngularMeasure (d := d)) := 𝕜:TypeE:TypeF:TypeF':Typeinst✝⁵:RCLike 𝕜inst✝⁴:NormedAddCommGroup Einst✝³:NormedAddCommGroup Finst✝²:NormedAddCommGroup F'inst✝¹:NormedSpace ℝ Einst✝:NormedSpace ℝ Fd:ℕ⊢ SFinite radialAngularMeasure 𝕜:TypeE:TypeF:TypeF':Typeinst✝⁵:RCLike 𝕜inst✝⁴:NormedAddCommGroup Einst✝³:NormedAddCommGroup Finst✝²:NormedAddCommGroup F'inst✝¹:NormedSpace ℝ Einst✝:NormedSpace ℝ Fd:ℕ⊢ SFinite (volume.withDensity fun x => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1))) All goals completed! 🐙

B. Integrals with respect to radialAngularMeasure

All goals completed! 🐙d:ℕf:Space d → ENNRealhf:Measurable f⊢ ∫⁻ (a : Space d), ((fun x => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1))) * f) a ∂volume = ∫⁻ (x : Space d), ENNReal.ofReal (1 / ‖x‖ ^ (d - 1)) * f xd:ℕf:Space d → ENNRealhf:Measurable f⊢ Measurable fun x => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1))d:ℕf:Space d → ENNRealhf:Measurable f⊢ Measurable f d:ℕf:Space d → ENNRealhf:Measurable f⊢ Measurable fun x => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1))d:ℕf:Space d → ENNRealhf:Measurable f⊢ Measurable f all_goals All goals completed! 🐙d:ℕinst✝:NeZero df:Space d → ENNRealhf:Measurable f⊢ Measurable fun x => ENNReal.ofReal (1 / ‖x‖ ^ (d - 1)) * f xd:ℕinst✝:NeZero df:Space d → ENNRealhf:Measurable f⊢ Measurable f all_goals All goals completed! 🐙

C. The radialAngularMeasure on balls

All goals completed! 🐙lemma radialAngularMeasure_real_closedBall (r : ℝ) (hr : 0 < r) : radialAngularMeasure.real (Metric.closedBall (0 : Space 3) r) = 4 * π * r := r:ℝhr:0 < r⊢ radialAngularMeasure.real (Metric.closedBall 0 r) = 4 * π * r r:ℝhr:0 < r⊢ (radialAngularMeasure (Metric.closedBall 0 r)).toReal = 4 * π * r r:ℝhr:0 < r⊢ 0 ≤ 4 * π * r All goals completed! 🐙

D. Integrability conditions

All goals completed! 🐙F:Typeinst✝¹:NormedAddCommGroup Fd:ℕinst✝:NeZero df:Space d → Fhae:StronglyMeasurable fhf:Integrable (fun x => f (↑x.2 • ↑x.1)) (volume.toSphere.prod (Measure.volumeIoiPow 0))⊢ HasFiniteIntegral (fun x => f (↑x.2 • ↑x.1)) (volume.toSphere.prod (Measure.volumeIoiPow 0)) All goals completed! 🐙

E. HasTemperateGrowth of measures

E.1. Integrability of powers

All goals completed! 🐙d:ℕdm1:ℕx:↑(Metric.sphere 0 1)y:↑(Set.Ioi 0)hy:0 < ↑y⊢ (1 + ↑y) ^ (-(↑dm1 + 2)) = (1 + ↑y) ^ (-1 + (-1 + -↑dm1)) d:ℕdm1:ℕx:↑(Metric.sphere 0 1)y:↑(Set.Ioi 0)hy:0 < ↑y⊢ -(↑dm1 + 2) = -1 + (-1 + -↑dm1) All goals completed! 🐙

E.2. radialAngularMeasure has temperate growth

instance (d : ℕ) : Measure.HasTemperateGrowth (radialAngularMeasure (d := d)) where exists_integrable := 𝕜:TypeE:TypeF:TypeF':Typeinst✝⁵:RCLike 𝕜inst✝⁴:NormedAddCommGroup Einst✝³:NormedAddCommGroup Finst✝²:NormedAddCommGroup F'inst✝¹:NormedSpace ℝ Einst✝:NormedSpace ℝ Fd:ℕ⊢ ∃ n, Integrable (fun x => (1 + ‖x‖) ^ (-↑n)) radialAngularMeasure 𝕜:TypeE:TypeF:TypeF':Typeinst✝⁵:RCLike 𝕜inst✝⁴:NormedAddCommGroup Einst✝³:NormedAddCommGroup Finst✝²:NormedAddCommGroup F'inst✝¹:NormedSpace ℝ Einst✝:NormedSpace ℝ Fd:ℕ⊢ Integrable (fun x => (1 + ‖x‖) ^ (-↑(d + 1))) radialAngularMeasure All goals completed! 🐙