Documentation

TauCeti.Analysis.Normed.Module.Ball.Retraction

The radial retraction onto a closed ball #

In a real normed space, TauCeti.radialRetraction r scales a vector x by min 1 (r / ‖x‖). When 0 ≤ r, it fixes the closed ball of radius r and pushes everything outside it to the sphere of radius r along the ray through the origin. It is the standard device for turning a map that is only Lipschitz near the origin into a globally Lipschitz map agreeing with it near the origin, and it is used that way to cut off the nonlinearity of a differential equation outside a small ball around an equilibrium.

For 0 ≤ r, the retraction is 2-Lipschitz in any normed space, and 2 is the constant carried by TauCeti.lipschitzWith_radialRetraction; it is not optimal in every space (in a Hilbert space the retraction is the metric projection onto a convex set, hence 1-Lipschitz) but the exact constant never matters for cutting off, where one is free to shrink the radius instead.

Main declarations #

References #

noncomputable def TauCeti.radialRetraction {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (r : ℝ) (x : E) :
E

Scale x by min 1 (r / ‖x‖). When 0 ≤ r, this is the radial retraction onto the closed ball of radius r centred at the origin: vectors of norm at most r are fixed and the others are pulled back along their ray to the sphere of radius r.

Equations
Instances For
    @[simp]

    The radial retraction fixes the closed ball of radius r.

    The radial retraction agrees with the identity on a neighborhood of every point in the open ball.

    Outside the closed ball of radius r the radial retraction scales by r / ‖x‖.

    @[simp]
    theorem TauCeti.norm_radialRetraction {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {r : ℝ} (hr : 0 ≤ r) (x : E) :

    For nonnegative radius, the radial retraction has norm min ‖x‖ r.

    The radial retraction is idempotent for nonnegative radius.

    The radial retraction onto a closed ball is 2-Lipschitz.

    theorem LipschitzOnWith.comp_radialRetraction {E : Type u_1} {F : Type u_2} [NormedAddCommGroup E] [NormedSpace ℝ E] [PseudoEMetricSpace F] {f : E → F} {c : NNReal} {r : ℝ} (hf : LipschitzOnWith c f (Metric.closedBall 0 r)) (hr : 0 ≤ r) :

    Precomposing with the radial retraction turns a map that is Lipschitz on the closed ball of radius r into a globally Lipschitz map, at the cost of doubling the constant. The new map still agrees with the old one on that ball, by TauCeti.radialRetraction_of_norm_le.