skoro v0.0.0

Retractions and tangent charts

A retraction moves a point of a manifold along a tangent vector; it makes each tangent space a chart around its point, and gives the operations ⊕ and ⊖.

Updated 2026-10-12 · 3 min read

Estimation moves points. On Rd\R^\dimension a step is an addition, x+v\point + \tangent; on a curved manifold, such as the rotations or the unit sphere, there is no addition, and a retraction takes its place. This note defines it, shows how it turns every tangent space into a chart, and introduces the notation ⊕\oplus and ⊖\ominus used throughout these notes.

The definition#

Let X\manifold be a smooth manifold of dimension d\dimension. In computation, a tangent space TxX\T_\point\manifold is never handled abstractly: each is identified with Rd\R^\dimension by a basis chosen smoothly in x\point, and a tangent vector is a column of d\dimension numbers. We assume such an identification throughout. Some manifolds have none that is smooth everywhere: by the hairy ball theorem, no smooth choice of tangent bases covers the whole sphere S2S^2. There the identification is smooth on an open part of the manifold, and a computation stays inside it.

Definition 1(Retraction).

A retraction on a manifold X\manifold of dimension d\dimension is a smooth map R:TX→XR : \T\manifold \to \manifold, written (x,v)↦Rx(v)(\point, \tangent) \mapsto R_\point(\tangent), such that for every x∈X\point \in \manifold, with TxX\T_\point\manifold identified with Rd\R^\dimension,

  1. Rx(0)=xR_\point(0) = \point, and
  2. the derivative of RxR_\point at 00 is the identity: DRx(0)=Id\D R_\point(0) = I_\dimension.

The definition is the one used in optimization on manifolds, where retractions replace the exponential map of a Riemannian manifold. The exponential map is a retraction, but so is any map that agrees with it to first order, which is usually cheaper. Nothing here needs a metric.

Two examples. On Rd\R^\dimension, Rx(v)=x+vR_\point(\tangent) = \point + \tangent. On the positive reals, with Tx(0,∞)\T_\point(0, \infty) identified with R\R by measuring relative change, Rx(v)=x evR_\point(\tangent) = \point\,e^{\tangent}: it is defined for every v\tangent, never leaves the positive reals, and satisfies ddvxev∣0=x\frac{\dd}{\dd\tangent} \point e^\tangent \big|_{0} = \point, which is the identity in the chosen identification (a tangent at x\point of coordinate 11 is the velocity x\point).

Tangent charts#

Because DRx(0)\D R_\point(0) is invertible, the inverse function theorem makes RxR_\point a diffeomorphism from a neighbourhood of 0∈Rd0 \in \R^\dimension onto a neighbourhood of x\point. So RxR_\point is a chart of X\manifold around x\point, the tangent chart at x\point, and every point near x\point has coordinates in it. As is common in robotics, we write

x⊕v≔Rx(v),y⊖x≔Rx−1(y),(2) \point \oplus \tangent \defeq R_\point(\tangent), \qquad \otherPoint \ominus \point \defeq R_\point^{-1}(\otherPoint), \tag{2}
(2)

the second for y\otherPoint in the neighbourhood where RxR_\point is invertible. In words, y⊖x\otherPoint \ominus \point is where y\otherPoint sits in the chart at x\point. By construction,

(x⊕v)⊖x=v(3) (\point \oplus \tangent) \ominus \point = \tangent \tag{3}
(3)

for every v\tangent in the chart’s domain, and x⊕(y⊖x)=y\point \oplus (\otherPoint \ominus \point) = \otherPoint for every y\otherPoint in its image. On Rd\R^\dimension, ⊕\oplus and ⊖\ominus are addition and subtraction; on the positive reals above, y⊖x=log⁡(y/x)\otherPoint \ominus \point = \log(\otherPoint / \point).

The mirror identity#

On Rd\R^\dimension, x⊖(x⊕v)=−v\point \ominus (\point \oplus \tangent) = -\tangent as well: the step back from x⊕v\point \oplus \tangent to x\point is the reverse of the step forward. On a curved manifold it generally is not, because the left side is measured in the chart at the moved point x⊕v\point \oplus \tangent, not at x\point.

Lemma 4(The mirror identity holds to first order).

For v\tangent small enough, x⊖(x⊕v)=−v+O(∥v∥2)\point \ominus (\point \oplus \tangent) = -\tangent + O(\lVert\tangent\rVert^2).

Proof.

Write y=x⊕v\otherPoint = \point \oplus \tangent and φ(v,c)=Rx−1(Rx⊕v(c))\varphi(\tangent, c) = R_\point^{-1}(R_{\point \oplus \tangent}(c)), the chart at y\otherPoint read in the chart at x\point. It is smooth near (0,0)(0, 0), with φ(v,0)=v\varphi(\tangent, 0) = \tangent and, since Rx⊕0=RxR_{\point \oplus 0} = R_\point, φ(0,c)=c\varphi(0, c) = c. Hence φ(v,c)=v+c+O(∥v∥ ∥c∥)\varphi(\tangent, c) = \tangent + c + O(\lVert\tangent\rVert\,\lVert c\rVert). The coordinate c=x⊖yc = \point \ominus \otherPoint is the one with φ(v,c)=Rx−1(x)=0\varphi(\tangent, c) = R_\point^{-1}(\point) = 0, so c=−v+O(∥v∥ ∥c∥)c = -\tangent + O(\lVert\tangent\rVert\,\lVert c\rVert), and ∥c∥=O(∥v∥)\lVert c \rVert = O(\lVert\tangent\rVert) gives the claim.

∎

The identity holds exactly in some cases: on Rd\R^\dimension, on the positive reals above, and on any Lie group whose retraction is Rx(v)=xExp⁡(v)R_\point(\tangent) = \point \operatorname{Exp}(\tangent), since then x⊖(x⊕v)=Log⁡(Exp⁡(v)−1)=−v\point \ominus (\point \oplus \tangent) = \operatorname{Log}(\operatorname{Exp}(\tangent)^{-1}) = -\tangent. It fails at second order for other retractions, and a computation that needs “the point whose coordinate is −v-\tangent” must not assume it.

A manifold whose retraction is x+v\point + \tangent, so that both identities hold exactly and every chart is the same affine chart, is called flat in these notes.

Built on by