Hausdorff measure and metric (outer) measures #
In this file we define the d
-dimensional Hausdorff measure on an (extended) metric space X
and
the Hausdorff dimension of a set in an (extended) metric space. Let μ d δ
be the maximal outer
measure such that μ d δ s ≤ (EMetric.diam s) ^ d
for every set of diameter less than δ
. Then
the Hausdorff measure μH[d] s
of s
is defined as ⨆ δ > 0, μ d δ s
. By Caratheodory theorem
MeasureTheory.OuterMeasure.IsMetric.borel_le_caratheodory
, this is a Borel measure on X
.
The value of μH[d]
, d > 0
, on a set s
(measurable or not) is given by
μH[d] s = ⨆ (r : ℝ≥0∞) (hr : 0 < r), ⨅ (t : ℕ → Set X) (hts : s ⊆ ⋃ n, t n)
(ht : ∀ n, EMetric.diam (t n) ≤ r), ∑' n, EMetric.diam (t n) ^ d
For every set s
for any d < d'
we have either μH[d] s = ∞
or μH[d'] s = 0
, see
MeasureTheory.Measure.hausdorffMeasure_zero_or_top
. In
Mathlib.Topology.MetricSpace.HausdorffDimension
we use this fact to define the Hausdorff dimension
dimH
of a set in an (extended) metric space.
We also define two generalizations of the Hausdorff measure. In one generalization (see
MeasureTheory.Measure.mkMetric
) we take any function m (diam s)
instead of (diam s) ^ d
. In
an even more general definition (see MeasureTheory.Measure.mkMetric'
) we use any function
of m : Set X → ℝ≥0∞
. Some authors start with a partial function m
defined only on some sets
s : Set X
(e.g., only on balls or only on measurable sets). This is equivalent to our definition
applied to MeasureTheory.extend m
.
We also define a predicate MeasureTheory.OuterMeasure.IsMetric
which says that an outer measure
is additive on metric separated pairs of sets: μ (s ∪ t) = μ s + μ t
provided that
⨅ (x ∈ s) (y ∈ t), edist x y ≠ 0
. This is the property required for the Caratheodory theorem
MeasureTheory.OuterMeasure.IsMetric.borel_le_caratheodory
, so we prove this theorem for any
metric outer measure, then prove that outer measures constructed using mkMetric'
are metric outer
measures.
Main definitions #
MeasureTheory.OuterMeasure.IsMetric
: an outer measureμ
is called metric ifμ (s ∪ t) = μ s + μ t
for any two metric separated setss
andt
. A metric outer measure in a Borel extended metric space is guaranteed to satisfy the Caratheodory condition, seeMeasureTheory.OuterMeasure.IsMetric.borel_le_caratheodory
.MeasureTheory.OuterMeasure.mkMetric'
and its particular caseMeasureTheory.OuterMeasure.mkMetric
: a construction of an outer measure that is guaranteed to be metric. Both constructions are generalizations of the Hausdorff measure. The same measures interpreted as Borel measures are calledMeasureTheory.Measure.mkMetric'
andMeasureTheory.Measure.mkMetric
.MeasureTheory.Measure.hausdorffMeasure
a.k.a.μH[d]
: thed
-dimensional Hausdorff measure. There are many definitions of the Hausdorff measure that differ from each other by a multiplicative constant. We putμH[d] s = ⨆ r > 0, ⨅ (t : ℕ → Set X) (hts : s ⊆ ⋃ n, t n) (ht : ∀ n, EMetric.diam (t n) ≤ r), ∑' n, ⨆ (ht : ¬Set.Subsingleton (t n)), (EMetric.diam (t n)) ^ d
, seeMeasureTheory.Measure.hausdorffMeasure_apply
. In the most interesting case0 < d
one can omit the⨆ (ht : ¬Set.Subsingleton (t n))
part.
Main statements #
Basic properties #
MeasureTheory.OuterMeasure.IsMetric.borel_le_caratheodory
: ifμ
is a metric outer measure on an extended metric spaceX
(that is, it is additive on pairs of metric separated sets), then every Borel set is Caratheodory measurable (hence,μ
defines an actualMeasureTheory.Measure
). See alsoMeasureTheory.Measure.mkMetric
.MeasureTheory.Measure.hausdorffMeasure_mono
:μH[d] s
is an antitone function ofd
.MeasureTheory.Measure.hausdorffMeasure_zero_or_top
: ifd₁ < d₂
, then for anys
, eitherμH[d₂] s = 0
orμH[d₁] s = ∞
. Together with the previous lemma, this means thatμH[d] s
is equal to infinity on some ray(-∞, D)
and is equal to zero on(D, +∞)
, whereD
is a possibly infinite number called the Hausdorff dimension ofs
;μH[D] s
can be zero, infinity, or anything in between.MeasureTheory.Measure.noAtoms_hausdorff
: Hausdorff measure has no atoms.
Hausdorff measure in ℝⁿ
#
MeasureTheory.hausdorffMeasure_pi_real
: for a nonemptyι
,μH[card ι]
onι → ℝ
equals Lebesgue measure.
Notations #
We use the following notation localized in MeasureTheory
.
μH[d]
:MeasureTheory.Measure.hausdorffMeasure d
Implementation notes #
There are a few similar constructions called the d
-dimensional Hausdorff measure. E.g., some
sources only allow coverings by balls and use r ^ d
instead of (diam s) ^ d
. While these
construction lead to different Hausdorff measures, they lead to the same notion of the Hausdorff
dimension.
References #
- [Herbert Federer, Geometric Measure Theory, Chapter 2.10][Federer1996]
Tags #
Hausdorff measure, measure, metric measure
Metric outer measures #
In this section we define metric outer measures and prove Caratheodory theorem: a metric outer measure has the Caratheodory property.
We say that an outer measure μ
in an (e)metric space is metric if μ (s ∪ t) = μ s + μ t
for any two metric separated sets s
, t
.
Instances For
A metric outer measure is additive on a finite set of pairwise metric separated sets.
Caratheodory theorem. If m
is a metric outer measure, then every Borel measurable set t
is
Caratheodory measurable: for any (not necessarily measurable) set s
we have
μ (s ∩ t) + μ (s \ t) = μ s
.
Constructors of metric outer measures #
In this section we provide constructors MeasureTheory.OuterMeasure.mkMetric'
and
MeasureTheory.OuterMeasure.mkMetric
and prove that these outer measures are metric outer
measures. We also prove basic lemmas about map
/comap
of these measures.
Auxiliary definition for OuterMeasure.mkMetric'
: given a function on sets
m : Set X → ℝ≥0∞
, returns the maximal outer measure μ
such that μ s ≤ m s
for any set s
of diameter at most r
.
Equations
- MeasureTheory.OuterMeasure.mkMetric'.pre m r = MeasureTheory.OuterMeasure.boundedBy (MeasureTheory.extend fun (s : Set X) (x : EMetric.diam s ≤ r) => m s)
Instances For
Given a function m : Set X → ℝ≥0∞
, mkMetric' m
is the supremum of mkMetric'.pre m r
over r > 0
. Equivalently, it is the limit of mkMetric'.pre m r
as r
tends to zero from
the right.
Equations
- MeasureTheory.OuterMeasure.mkMetric' m = ⨆ (r : ENNReal), ⨆ (_ : r > 0), MeasureTheory.OuterMeasure.mkMetric'.pre m r
Instances For
Given a function m : ℝ≥0∞ → ℝ≥0∞
and r > 0
, let μ r
be the maximal outer measure such that
μ s ≤ m (EMetric.diam s)
whenever EMetric.diam s < r
. Then mkMetric m = ⨆ r > 0, μ r
.
Equations
- MeasureTheory.OuterMeasure.mkMetric m = MeasureTheory.OuterMeasure.mkMetric' fun (s : Set X) => m (EMetric.diam s)
Instances For
MeasureTheory.OuterMeasure.mkMetric'.pre m r
is a trimmed measure provided that
m (closure s) = m s
for any set s
.
An outer measure constructed using OuterMeasure.mkMetric'
is a metric outer measure.
If c ∉ {0, ∞}
and m₁ d ≤ c * m₂ d
for d < ε
for some ε > 0
(we use ≤ᶠ[𝓝[≥] 0]
to state this), then mkMetric m₁ hm₁ ≤ c • mkMetric m₂ hm₂
.
If m₁ d ≤ m₂ d
for d < ε
for some ε > 0
(we use ≤ᶠ[𝓝[≥] 0]
to state this), then
mkMetric m₁ hm₁ ≤ mkMetric m₂ hm₂
.
Metric measures #
In this section we use MeasureTheory.OuterMeasure.toMeasure
and theorems about
MeasureTheory.OuterMeasure.mkMetric'
/MeasureTheory.OuterMeasure.mkMetric
to define
MeasureTheory.Measure.mkMetric'
/MeasureTheory.Measure.mkMetric
. We also restate some lemmas
about metric outer measures for metric measures.
Given a function m : Set X → ℝ≥0∞
, mkMetric' m
is the supremum of μ r
over r > 0
, where μ r
is the maximal outer measure μ
such that μ s ≤ m s
for all s
. While each μ r
is an outer measure, the supremum is a measure.
Equations
- MeasureTheory.Measure.mkMetric' m = (MeasureTheory.OuterMeasure.mkMetric' m).toMeasure ⋯
Instances For
Given a function m : ℝ≥0∞ → ℝ≥0∞
, mkMetric m
is the supremum of μ r
over r > 0
, where
μ r
is the maximal outer measure μ
such that μ s ≤ m s
for all sets s
that contain at least
two points. While each mkMetric'.pre
is an outer measure, the supremum is a measure.
Equations
- MeasureTheory.Measure.mkMetric m = (MeasureTheory.OuterMeasure.mkMetric m).toMeasure ⋯
Instances For
If c ∉ {0, ∞}
and m₁ d ≤ c * m₂ d
for d < ε
for some ε > 0
(we use ≤ᶠ[𝓝[≥] 0]
to state this), then mkMetric m₁ hm₁ ≤ c • mkMetric m₂ hm₂
.
If m₁ d ≤ m₂ d
for d < ε
for some ε > 0
(we use ≤ᶠ[𝓝[≥] 0]
to state this), then
mkMetric m₁ hm₁ ≤ mkMetric m₂ hm₂
.
A formula for MeasureTheory.Measure.mkMetric
.
To bound the Hausdorff measure (or, more generally, for a measure defined using
MeasureTheory.Measure.mkMetric
) of a set, one may use coverings with maximum diameter tending to
0
, indexed by any sequence of countable types.
To bound the Hausdorff measure (or, more generally, for a measure defined using
MeasureTheory.Measure.mkMetric
) of a set, one may use coverings with maximum diameter tending to
0
, indexed by any sequence of finite types.
Hausdorff measure and Hausdorff dimension #
Hausdorff measure on an (e)metric space.
Equations
- MeasureTheory.Measure.hausdorffMeasure d = MeasureTheory.Measure.mkMetric fun (r : ENNReal) => r ^ d
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A formula for μH[d] s
.
To bound the Hausdorff measure of a set, one may use coverings with maximum diameter tending
to 0
, indexed by any sequence of countable types.
To bound the Hausdorff measure of a set, one may use coverings with maximum diameter tending
to 0
, indexed by any sequence of finite types.
If d₁ < d₂
, then for any set s
we have either μH[d₂] s = 0
, or μH[d₁] s = ∞
.
Hausdorff measure μH[d] s
is monotone in d
.
Hausdorff measure, Hausdorff dimension, and Hölder or Lipschitz continuous maps #
If f : X → Y
is Hölder continuous on s
with a positive exponent r
, then
μH[d] (f '' s) ≤ C ^ d * μH[r * d] s
.
If f : X → Y
is K
-Lipschitz on s
, then μH[d] (f '' s) ≤ K ^ d * μH[d] s
.
If f
is a K
-Lipschitz map, then it increases the Hausdorff d
-measures of sets at most
by the factor of K ^ d
.
Antilipschitz maps do not decrease Hausdorff measures and dimension #
Isometries preserve the Hausdorff measure and Hausdorff dimension #
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Hausdorff measure and Lebesgue measure #
In the space ι → ℝ
, the Hausdorff measure coincides exactly with the Lebesgue measure.
In the space ℝ
, the Hausdorff measure coincides exactly with the Lebesgue measure.
In the space ℝ × ℝ
, the Hausdorff measure coincides exactly with the Lebesgue measure.
Geometric results in affine spaces #
Scaling by c
around x
scales the measure by ‖c‖₊ ^ d
.
TODO: prove Measure.map (AffineMap.homothety x c) μH[d] = ‖c‖₊⁻¹ ^ d • μH[d]
, which needs a
more general version of AffineMap.homothety_continuous
.
Mapping a set of reals along a line segment scales the measure by the length of a segment.
This is an auxiliary result used to prove hausdorffMeasure_affineSegment
.
The measure of a segment is the distance between its endpoints.
The measure of a segment is the distance between its endpoints.