Smooth cutoffs for compact subsets #
This module provides smooth, compactly supported cutoffs for compact subsets of a
finite-dimensional real normed space. The cutoff is equal to one on a neighborhood of the compact
set and has topological support in a prescribed open set, which is the localization step used for
compact exhaustions in domain arguments. Taking differences of consecutive cutoffs along a compact
exhaustion gives a decomposition of unity (not necessarily nonnegative) of an open set by
compactly supported smooth functions, together with cutoffs equal to one on their supports which
are locally finite in the open set (IsOpen.exists_contDiff_decomposition_cutoff); this is the
gluing device for global approximation on a domain. Locally finite sums of smooth functions are
smooth (contDiffAt_tsum_of_eventually_eq_zero).
It also provides radial cutoffs between two concentric closed balls of radii r < R whose
gradient is at most c / (R - r) for a universal constant c, the quantitative form needed by
iteration arguments over families of balls with shrinking gaps.
References #
- L. C. Evans, Partial Differential Equations, §5.2.
A compact set contained in an open set admits a smooth cutoff equal to one on a neighborhood of the compact set.
The cutoff takes values in [0, 1], has compact support, and its topological support is contained
in the prescribed open set.
A compact set contained in an open set admits a smooth cutoff whose value and gradient are bounded by a common nonnegative constant.
A compactly supported C¹ function and its gradient are bounded by a common nonnegative
constant.
A compact-exhaustion term in an open set admits a smooth cutoff supported in the interior of the next term.
A smooth decomposition of unity of an open set, with cutoffs. Every open set U of a
finite-dimensional real normed space carries smooth compactly supported functions ζ j and
χ j, j : ℕ, with topological supports in U, such that χ j = 1 on the topological support
of ζ j, and every point of U has a neighbourhood on which χ j vanishes and
∑ j ∈ Finset.range N, ζ j = 1 for all large j and N.
So (ζ j) is a decomposition of unity of U by test functions on U, and the cutoffs χ j form
a family which is locally finite in U. Neither family is locally finite at the frontier of U.
The functions ζ j are differences of consecutive cutoffs along a compact exhaustion of U, and
need not be nonnegative.
A sum of functions which are smooth at x is smooth at x if, on a neighbourhood of x,
all but finitely many of them vanish. This makes the locally finite sums built from
IsOpen.exists_contDiff_decomposition_cutoff smooth on the open set.
Radial cutoffs with a quantitative gradient bound. There is a universal constant c such
that for every centre x₀ and radii 0 < r < R, some smooth ψ with values in [0, 1] equals
one on closedBall x₀ r, has topological support in closedBall x₀ R, and satisfies
‖∇ψ x‖ ≤ c / (R - r) for every x.
The inverse dependence on the gap R - r is what iteration arguments over families of balls with
geometrically shrinking gaps need. The cutoff is Real.smoothTransition ((R - ‖x - x₀‖) / (R - r)),
and c is a Lipschitz constant of Real.smoothTransition.