Lipschitz continuous functions #
A map f : α → β
between two (extended) metric spaces is called Lipschitz continuous
with constant K ≥ 0
if for all x, y
we have edist (f x) (f y) ≤ K * edist x y
.
For a metric space, the latter inequality is equivalent to dist (f x) (f y) ≤ K * dist x y
.
There is also a version asserting this inequality only for x
and y
in some set s
.
Finally, f : α → β
is called locally Lipschitz continuous if each x : α
has a neighbourhood
on which f
is Lipschitz continuous (with some constant).
In this file we specialize various facts about Lipschitz continuous maps to the case of (pseudo) metric spaces.
Implementation notes #
The parameter K
has type ℝ≥0
. This way we avoid conjunction in the definition and have
coercions both to ℝ
and ℝ≥0∞
. Constructors whose names end with '
take K : ℝ
as an
argument, and return LipschitzWith (Real.toNNReal K) f
.
Alias of the reverse direction of lipschitzWith_iff_dist_le_mul
.
Alias of the forward direction of lipschitzWith_iff_dist_le_mul
.
Alias of the forward direction of lipschitzOnWith_iff_dist_le_mul
.
Alias of the reverse direction of lipschitzOnWith_iff_dist_le_mul
.
For functions to ℝ
, it suffices to prove f x ≤ f y + K * dist x y
; this version
doesn't assume 0≤K
.
For functions to ℝ
, it suffices to prove f x ≤ f y + K * dist x y
; this version
assumes 0≤K
.
A Lipschitz continuous map is a locally bounded map.
Equations
- LipschitzWith.toLocallyBoundedMap f hf = LocallyBoundedMap.ofMapBounded f (_ : ∀ (_s : Set α), Bornology.IsBounded _s → Bornology.IsBounded (f '' _s))
Instances For
The image of a bounded set under a Lipschitz map is bounded.
For functions to ℝ
, it suffices to prove f x ≤ f y + K * dist x y
; this version
doesn't assume 0≤K
.
For functions to ℝ
, it suffices to prove f x ≤ f y + K * dist x y
; this version
assumes 0≤K
.
The minimum of locally Lipschitz functions is locally Lipschitz.
The maximum of locally Lipschitz functions is locally Lipschitz.
If a function is locally Lipschitz around a point, then it is continuous at this point.
A function f : α → ℝ
which is K
-Lipschitz on a subset s
admits a K
-Lipschitz extension
to the whole space.
A function f : α → (ι → ℝ)
which is K
-Lipschitz on a subset s
admits a K
-Lipschitz
extension to the whole space. The same result for the space ℓ^∞ (ι, ℝ)
over a possibly infinite
type ι
is implemented in LipschitzOnWith.extend_lp_infty
.