Retractions locally preserve distance


Nicolas Boumal


November 20, 2023

The Riemannian distance from \(x\) to \(\Retr_x(v)\) is not much bigger than \(\|v\|_x\) (for small \(v\)).

Let \(\calM\) be a Riemannian manifold. For the exponential map, we have the following property: \[\begin{align} \forall (x, v) \in \dom\Exp, \qquad \dist(x, \Exp_x(v)) \leq \|v\|_x. \end{align}\] A soft and local version of that extends to retractions, as claimed in (Ring and Wirth 2012, Lem. 6). The statement there is a tad technical (and it also argues a lower-bound). This note aims for a simpler statement. See also (Boumal 2023, Lem. 6.32) for a simpler proof when \(\calM\) is compact.

The domain of the retraction, \(\dom \Retr\), need not be the whole tangent bundle for this.

Definition 1 The tangent bundle \(\T\calM\) is the set \(\{ (x, v) : x \in \calM \textrm{ and } v \in \T_x\calM \}\).

Definition 2 The zero section of \(\T\calM\) is the set \(\{ (x, 0) \in \T\calM \}\).

Definition 3 A \(C^1\) retraction \((x, v) \mapsto \Retr_x(v)\) for \(\calM\) is a continuously differentiable map \(\Retr\) from a neighborhood of the zero section of \(\T\calM\) to \(\calM\) such that \(c(0) = x\) and \(c'(0) = v\) for all \((x, v)\) with \(c(t) = \Retr_x(tv)\).

Proposition 1 Let \(\Retr\) be a \(C^1\) retraction on \(\calM\). For all \(\varepsilon > 0\), the set \[ \calV = \{ (x, v) \in \dom\Retr : \dist(x, \Retr_x(v)) \leq (1+\varepsilon) \|v\|_x \} \] is a closed neighborhood of the zero section of \(\T\calM\).

Proof. The set \(\calV\) is closed since the condition is continuous. Fix \(x \in \calM\). We must show that the set \(\calV\) contains an open neighborhood of \((x, 0)\). To this end, for all \(\delta > 0\), define \[ \calK_{\delta} = \{ (x', v') \in \T\calM : \dist(x, x') \leq \delta \textrm{ and } \|v'\|_{x'} \leq \delta \}. \] Further let \[ \varphi(\delta) = \max_{(x', v') \in \calK_{\delta}} \|\D\Retr_{x'}(v')\|, \] where \(\|\D\Retr_{x}(v)\|\) denotes the operator norm for \(\D\Retr_x(v) \colon \T_x\calM \to \T_{\Retr_x(v)}\calM\). Since the injectivity radius function is continuous and positive on \(\calM\), there exists \(\bar\delta > 0\) such that \(\inj(x') > \bar\delta\) for all \(x'\) such that \(\dist(x, x') \leq \bar\delta\). Thus, the domain \(\calK_{\bar\delta}\) is compact in \(\T\calM\). If need be, reduce \(\bar\delta\) (still positive) such that \(\calK_{\bar\delta}\) is also included in the domain of the retraction. This is possible since that domain is a neighborhood of the zero section by definition. The map \((x', v') \mapsto \|\D\Retr_{x'}(v')\|\) is continuous on \(\calK_{\bar\delta}\), hence \(\varphi(\delta)\) is well defined and finite for all \(\delta \in [0, \bar\delta]\). Moreover, \(\varphi(0) = 1\) since \(\calK_0 = \{(x, 0)\}\) and \(\D\Retr_x(0)\) is identity. Owing to the Maximum Theorem (Bergé 1963, p116) (see this post), \(\varphi\) is actually continuous. Thus, there exists \(0 < \hat\delta \leq \bar\delta\) such that \(\varphi(\hat\delta) \leq 1+\varepsilon\). In other words, there exists \(\hat\delta > 0\) such that \[ (x', v') \in \calK_{\hat \delta} \qquad \implies \qquad \|\D\Retr_{x'}(v')\| \leq 1+\varepsilon. \] This allows us to control distance traveled by the retraction. Indeed, for \((x', v') \in \calK_{\hat\delta}\), let \(c(t) = \Retr_{x'}(tv')\). Notice that \((x', tv')\) is in \(\calK_{\hat \delta}\) for all \(t \in [0, 1]\). Therefore, \[\begin{align} \dist(x', \Retr_{x'}(v')) & \leq \int_{0}^{1} \|c'(t)\|_{c(t)} \dt \nonumber\\ & = \int_{0}^{1} \|\D\Retr_{x'}(tv')[v']\|_{c(t)} \dt \nonumber\\ & \leq \int_{0}^{1} (1+\varepsilon) \|v'\|_{x'} \dt = (1+\varepsilon) \|v'\|_{x'}. \end{align}\] As a result, \(\calK_{\hat\delta}\) is included in \(\calV\), and it contains a neighborhood of \((x, 0)\).

The argument above doesn’t actually need continuity: semicontinuity (the right kind) is enough, but since the function is continuous, it’s just simpler to think of it that way. The proof of continuity is detailed in this post about the Maximum Theorem. The assumptions on \(\Gamma\) in that post clearly hold if \(\Gamma(t)\) is (isometric to) a product of two balls of radius \(t\), which is exactly what we need for the proof above. Indeed, since \(\delta < \inj(x)\) we can map \(\calK_\delta\) homeomorphically to a product of two spheres of radius \(\delta\) via the exponential map.


Bergé, C. 1963. Topological Spaces: Including a Treatment of Multi-Valued Functions, Vector Spaces, and Convexity. Oliver; Boyd, Ltd.
Boumal, N. 2023. An Introduction to Optimization on Smooth Manifolds. Cambridge University Press.
Ring, W., and B. Wirth. 2012. “Optimization Methods on Riemannian Manifolds and Their Application to Shape Space.” SIAM Journal on Optimization 22 (2): 596–627.