Documentation

Mathlib.Geometry.Manifold.SmoothApprox

Approximation of continuous functions by smooth functions #

In this file, we deduce from the existence of smooth partitions of unity that any continuous map from a real σ-compact finite dimensional manifold M to a real normed space F can be approximated uniformly by smooth functions.

More precisely, we strengthen this result in three ways :

Main results #

Implementation notes #

With minor work, we could strenghten the statements in the following ways:

This file depends on the manifold library, which may be annoying if you only need the normed space statements. Please do not let this refrain you from using them if they apply naturally in your context: if this is too much of a problem, you should complain on Zulip, so that we get more data about the need for a non-manifold version of SmoothPartitionOfUnity.

TODO #

theorem Continuous.exists_contMDiff_approx_and_eqOn {E : Type u_1} {F : Type u_2} {H : Type u_3} {M : Type u_4} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] [NormedAddCommGroup F] [NormedSpace F] [TopologicalSpace H] (I : ModelWithCorners E H) [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] [SigmaCompactSpace M] [T2Space M] {f : MF} {ε : M} (n : ℕ∞) (f_cont : Continuous f) (ε_cont : Continuous ε) (ε_pos : ∀ (x : M), 0 < ε x) {S U : Set M} (hS : IsClosed S) (hU : U nhdsSet S) (hfU : ContMDiffOn I (modelWithCornersSelf F) (↑n) f U) :
∃ (g : ContMDiffMap I (modelWithCornersSelf F) M F n), (∀ (x : M), dist (g x) (f x) < ε x) Set.EqOn (⇑g) f S Function.support g Function.support f
theorem Continuous.exists_contMDiff_approx {E : Type u_1} {F : Type u_2} {H : Type u_3} {M : Type u_4} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] [NormedAddCommGroup F] [NormedSpace F] [TopologicalSpace H] (I : ModelWithCorners E H) [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] [SigmaCompactSpace M] [T2Space M] {f : MF} {ε : M} (n : ℕ∞) (f_cont : Continuous f) (ε_cont : Continuous ε) (ε_pos : ∀ (x : M), 0 < ε x) :
∃ (g : ContMDiffMap I (modelWithCornersSelf F) M F n), (∀ (x : M), dist (g x) (f x) < ε x) Function.support g Function.support f
theorem Continuous.exists_contDiff_approx_and_eqOn {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] [NormedAddCommGroup F] [NormedSpace F] {f : EF} {ε : E} (n : ℕ∞) (f_cont : Continuous f) (ε_cont : Continuous ε) (ε_pos : ∀ (x : E), 0 < ε x) {S U : Set E} (hS : IsClosed S) (hU : U nhdsSet S) (hfU : ContDiffOn (↑n) f U) :
∃ (g : EF), ContDiff (↑n) g (∀ (x : E), dist (g x) (f x) < ε x) Set.EqOn g f S Function.support g Function.support f
theorem Continuous.exists_contDiff_approx {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace E] [FiniteDimensional E] [NormedAddCommGroup F] [NormedSpace F] {f : EF} {ε : E} (n : ℕ∞) (f_cont : Continuous f) (ε_cont : Continuous ε) (ε_pos : ∀ (x : E), 0 < ε x) :
∃ (g : EF), ContDiff (↑n) g (∀ (x : E), dist (g x) (f x) < ε x) Function.support g Function.support f