Cookie Consent by Free Privacy Policy Generator Appendix A1 — Lie Groups, Lie Algebras, and the Exponential Map of SE(2) | Igor Moiseev
Part A1 of the "Geometry of Seeing" series

Appendix A1 — Lie Groups, Lie Algebras, and the Exponential Map of SE(2)

What "left-invariant vector field" really means, why the Lie bracket of two vector fields is the same thing as the matrix commutator, and why $\exp(tX)$ generates a 1-parameter subgroup. Everything Part 1 used about SE(2), derived from scratch.

By Igor Moiseev · 1 May 2026 · arXiv:0807.4731 · with Yu. L. Sachkov
Geometry of Seeing
  1. The Visual Cortex as a Contact Manifold (draft)
  2. Euler's Elastica and Jacobi Elliptic Functions (draft)
  3. Maxwell Strata: When Optimal Paths Fork
  4. The Open Problem: Exact Cut Time on SE(2)
Appendices — Theory Background
  1. A1. Lie Groups, Lie Algebras, and the Exponential Map of SE(2) ← you are here
  2. A2. Distributions, Frobenius, and Contact Geometry (draft)
  3. A3. Calculus of Variations and the Pontryagin Maximum Principle (draft)
  4. A4. Jacobi Elliptic Functions, Elliptic Integrals, and the AGM (draft)
  5. A5. The Sub-Riemannian Exponential Map of SE(2) (draft)
What this appendix is for
Part 1 of the series uses the language of Lie groups and Lie algebras as if it were standard furniture: $\mathrm{SE}(2)$, $\mathfrak{se}(2)$, left-invariant vector fields $X_1 = \cos\theta\,\partial_x + \sin\theta\,\partial_y$, the bracket $[X_1, X_2] = X_3$, the exponential map. This appendix builds those objects from scratch. Read it once and Part 1 becomes a calmer text. All three figures below are powered by the same $\mathrm{SE}(2)$ matrix exponential routine that the elliptic project uses to draw the Dubins-car parking trajectories.

A Lie group is a smooth manifold that is also a group

A Lie group $G$ is a set carrying two compatible structures:

Compatibility means: multiplication $(g, h) \mapsto gh$ and inversion $g \mapsto g^{-1}$ are smooth maps. That is the whole definition.

Examples that come up in the series:

$G$ Description Dim
$(\mathbb R, +)$ additive line 1
$S^1 \cong \mathrm{SO}(2)$ unit complex numbers, rotations of the plane 1
$\mathrm{SO}(3)$ rotations of $\mathbb R^3$ 3
$\mathrm{SE}(2) = \mathbb R^2 \rtimes \mathrm{SO}(2)$ rigid motions of the plane 3
$\mathrm{GL}_n(\mathbb R)$ invertible $n\times n$ matrices $n^2$

Two facts you can take for granted in what follows: every closed subgroup of $\mathrm{GL}_n(\mathbb R)$ is automatically a smooth manifold (Cartan), and all the Lie groups we meet in the series sit inside some $\mathrm{GL}_n$ as matrices. So “Lie group” means matrix group for our purposes, and every abstract construction has a concrete matrix incarnation.

SE(2) as a $3\times 3$ matrix group

A configuration of $\mathrm{SE}(2)$ is a triple $(x, y, \theta)$: a translation $(x, y) \in \mathbb R^2$ followed by a rotation by $\theta \in S^1$. The corresponding matrix is

\[g(x, y, \theta) \;=\; \begin{pmatrix} \cos\theta & -\sin\theta & x \\ \sin\theta & \cos\theta & y \\ 0 & 0 & 1 \end{pmatrix}\;\in\;\mathrm{GL}_3(\mathbb R).\]

Acting on a column $(p_x, p_y, 1)^\top$ produces the rotated-and-translated point. The product of two such matrices is again of the same form (try it): $\mathrm{SE}(2)$ is closed under multiplication. The identity is at $x = y = \theta = 0$. The inverse is

\[g(x, y, \theta)^{-1} \;=\; g\!\bigl(-x\cos\theta - y\sin\theta,\;\; x\sin\theta - y\cos\theta,\;\; -\theta\bigr).\]

Composition is not commutative: rotating then translating is not the same as translating then rotating. Lie-group non-commutativity is the entire reason the Lie bracket has anything to say.

The Lie algebra $\mathfrak g = T_e G$

The Lie algebra of $G$ is the tangent space at the identity:

\[\mathfrak g \;:=\; T_e G.\]

For a matrix group it is concretely a vector space of $n\times n$ matrices. A curve $\gamma: (-\varepsilon, \varepsilon) \to G$ with $\gamma(0) = e$ has $\gamma’(0) \in \mathfrak g$. Differentiating $g(\varepsilon\, a, \varepsilon\, b, \varepsilon\, c)$ at $\varepsilon = 0$ in the three coordinate directions gives

\[E_1 = \begin{pmatrix} 0&0&1 \\ 0&0&0 \\ 0&0&0 \end{pmatrix},\;\; E_2 = \begin{pmatrix} 0&0&0 \\ 0&0&1 \\ 0&0&0 \end{pmatrix},\;\; E_3 = \begin{pmatrix} 0&-1&0 \\ 1&0&0 \\ 0&0&0 \end{pmatrix},\]

a basis of $\mathfrak{se}(2)$. $E_1$ is “translate in $x$”, $E_2$ is “translate in $y$”, $E_3$ is “rotate in place”.

Left-invariant vector fields

There is a canonical way to push the Lie algebra around the group: at any $g \in G$ define

\[X_i(g) \;:=\; (dL_g)_e (E_i),\]

where $L_g(h) = gh$ is left-multiplication. $X_i(g)$ is the pushforward of the abstract algebra element $E_i$ to the tangent space at $g$ along the left-translation. These are the left-invariant vector fields. They satisfy $X_i(gh) = (dL_g)_h X_i(h)$, i.e. they look the same in every left-translated frame.

Computing them in the chart $(x, y, \theta)$ is mechanical: $L_g(x’, y’, \theta’) = (\,x + x’\cos\theta - y’\sin\theta,\;\; y + x’\sin\theta + y’\cos\theta,\;\; \theta + \theta’)$, so

\[\boxed{\; X_1 \;=\; \cos\theta\,\partial_x + \sin\theta\,\partial_y, \qquad X_2 \;=\; \partial_\theta, \qquad X_3 \;=\; -\sin\theta\,\partial_x + \cos\theta\,\partial_y .\;}\]

These are the same three vector fields Part 1 §3 introduced. Now you know where they come from: they are the basis of $\mathfrak{se}(2)$, parallel- transported across the group by left-multiplication. They form an orthonormal frame for the Cartan-Killing geometry on $\mathrm{SE}(2)$.

Same $(a_1, a_2, a_3)$ — two different groups, two different orbits
Figure A1.1 — same algebra, two different groups. The three sliders pick a Lie-algebra element with coefficients $(a_1, a_2, a_3)$. We then plot the 1-parameter subgroup $t \mapsto \exp(tX) \cdot \text{(base point)}$ for $t \in [-3, 3]$ in two separate groups driven by the same coefficients. Left panel (blue tint) — $\mathrm{SE}(2)$, the group of rigid motions of the plane. $X = a_1 X_1 + a_2 X_2 + a_3 X_3$ where $X_1 = $ forward translation, $X_2 = $ rotation, $X_3 = $ sideways translation. Pure $a_2$ → circle through the origin; pure $a_1$ → straight line; combined → screw motion projecting to a circle. The 3-D state $(x, y, \theta)$ is shown by the planar trace plus a frame at $t = 0$. The "missing" $X_3$ direction is rendered as a thin orange line — non-horizontal in the contact-bundle sense. Right panel (purple tint) — $\mathrm{SO}(3)$, the group of rotations of $\mathbb R^3$. $X = a_1 L_x + a_2 L_y + a_3 L_z$, so the orbit on the unit sphere $S^2$ from $p_0 = (1/\sqrt 2, 0, 1/\sqrt 2)$ is the great circle around the axis $\hat n = (a_1, a_2, a_3)/|a|$. These are not the same picture. The brackets differ: $\mathfrak{se}(2)$ has $[E_1, E_2] = 0$ but $[E_3, E_1] = E_2$; $\mathfrak{so}(3)$ has $[L_x, L_y] = L_z$ cyclically. Same coefficient triple, different group, different orbit shape — the point of "Lie algebra" is precisely that this encoding into a coefficient triple plus a bracket table is what determines the group.

The Lie bracket, three ways

Three definitions, all equivalent; switch among them as convenient.

(i) Matrix commutator. For $X, Y \in \mathfrak g \subset \mathrm{Mat}_n$,

\[[X, Y] \;:=\; XY - YX.\]

Multiplying out the $3\times 3$ matrices for the $\mathfrak{se}(2)$ basis yields the structure constants:

\[[E_1, E_2] = 0, \qquad [E_3, E_1] = E_2, \qquad [E_3, E_2] = -E_1.\]

The two translations commute (translations always do, regardless of axis), while rotation does not commute with either translation — that is the non-triviality of $\mathrm{SE}(2)$.

Two warnings worth absorbing.

(ii) Vector-field commutator. For two vector fields acting on smooth functions $f$,

\[([X, Y] f)(g) \;:=\; X(Y f)(g) - Y(X f)(g).\]

This is again a vector field: the second-order pieces cancel, leaving a first-order operator. Compute in the chart $(x, y, \theta)$:

\[X_1(X_2 f) - X_2(X_1 f) \;=\; (\cos\theta\,\partial_x + \sin\theta\,\partial_y)(\partial_\theta f) - \partial_\theta\bigl((\cos\theta\,\partial_x + \sin\theta\,\partial_y) f\bigr).\]

The cross-terms give

\[[X_1, X_2] f \;=\; -(\partial_\theta\cos\theta)\partial_x f - (\partial_\theta\sin\theta)\partial_y f \;=\; \sin\theta\,\partial_x f - \cos\theta\,\partial_y f \;=\; -X_3 f.\]

So $[X_1, X_2] = -X_3$ as left-invariant vector fields. The sign is a convention: Part 1 used the opposite sign convention to land at $[X_1, X_2] = +X_3$, and we will switch to that in §4 below where it matters. Either way, the bracket is $\pm X_3$ — non-zero, in the missing sideways direction.

(iii) Closing-defect interpretation. Flow along $X$ for time $\varepsilon$, then along $Y$ for time $\varepsilon$, then back along $X$, then back along $Y$. In a commutative world the loop closes; here it doesn’t, and the residual is

\[\Phi^Y_{-\varepsilon} \circ \Phi^X_{-\varepsilon} \circ \Phi^Y_{\varepsilon} \circ \Phi^X_{\varepsilon}\,(g) \;=\; g + \varepsilon^2 [X, Y]_g + O(\varepsilon^3).\]

For the V1 cortex this is the four-step manoeuvre Part 1 §3.4 illustrated: two hops of “slide along your orientation” interleaved with two hops of “rotate the orientation” produce a sideways nudge of order $\varepsilon^2$. The Lie bracket is exactly the leading coefficient of that nudge.

4-leg loop $+\varepsilon X, +\varepsilon Y, -\varepsilon X, -\varepsilon Y$ — same algebra coefficients, different groups
Figure A1.2 — closing-defect on two different groups. The same 4-leg loop pattern (a forward step, a sideways step, a forward un-step, a sideways un-step) is applied on $\mathrm{SE}(2)$ (top-left, blue tint) and on $\mathrm{SO}(3)$ (bottom-left, purple tint), driven by the same $\varepsilon$. $\mathrm{SE}(2)$ (top-left) — flow legs are $+\varepsilon X_1$ (forward), $+\varepsilon X_2$ (rotation), $-\varepsilon X_1$, $-\varepsilon X_2$. In a commutative world the loop returns to the origin; here it lands at a tiny offset of order $\varepsilon^2$ in the $X_3$ direction (the missing sideways direction of the V1 cortex story in Part 1). The dashed grey arrow shows the actual gap; the orange arrow is the prediction $\varepsilon^2 \cdot [X_1, X_2]_e = -\varepsilon^2 X_3$. $\mathrm{SO}(3)$ (bottom-left) — flow legs are $R_x(\varepsilon), R_y(\varepsilon), R_x(-\varepsilon), R_y(-\varepsilon)$ acting on $p_0 = (1/\sqrt 2, 0, 1/\sqrt 2)$. The closing-defect is approximately $-\varepsilon^2 L_z \cdot p_0$ — a rotation about the $z$-axis at order $\varepsilon^2$. Both panels auto-zoom so the loop is always visually readable. Right panel. log–log of the closing-defect magnitude vs $\varepsilon$, sweeping $\varepsilon \in [10^{-3}, 1]$, for both groups. Blue traces (SE(2)) and purple traces (SO(3)) overlap on slope $\approx 2$ — the leading bracket order is universal. Toggle the $O(\varepsilon^3)$ residuals: after subtracting the predicted $\varepsilon^2 [X, Y]$ term, the orange (SE(2)) and pink (SO(3)) residuals fall on slope $\approx 3$ — the next BCH contribution, also universal. Two grey reference lines have slopes 2 and 3 exactly; the four data traces all track them. Punchline: the algebra determines the leading order; the group determines the geometric meaning of the $X_3$ that pops out at $\varepsilon^2$ — $\hat z$-rotation in $\mathrm{SO}(3)$, sideways translation in $\mathrm{SE}(2)$.

The exponential map

For matrix groups the exponential map $\exp : \mathfrak g \to G$ is the literal matrix exponential

\[\exp(X) \;=\; \sum_{n=0}^{\infty} \frac{X^n}{n!}.\]

It does two things at once:

  1. Generates 1-parameter subgroups. The curve $t \mapsto \exp(tX)$ is a smooth homomorphism $(\mathbb R, +) \to G$. It is the unique solution of $\dot g(t) = X \cdot g(t)$ with $g(0) = e$ in the matrix group, i.e. the integral curve of the right-invariant vector field associated to $X$.
  2. Linearises the group near $e$. $d\exp_0 = \mathrm{id}_{\mathfrak g}$, so $\exp$ is a local diffeomorphism near the origin. It is not a global diffeomorphism: for SE(2) the exponential map is surjective but not injective, and we will need to be careful in Appendix A5 when we talk about the sub-Riemannian exponential map (which is a different beast — see A5).

For SE(2), $\exp(t(a_1 E_1 + a_2 E_2 + a_3 E_3))$ has a closed form. Write $X = T + \omega E_3$ with $T = a_1 E_1 + a_2 E_2$ (translation part) and $\omega = a_3$ (rotation rate). Then

\[\exp(tX) \;=\; \begin{pmatrix} \cos(\omega t) & -\sin(\omega t) & b_1(t)\\ \sin(\omega t) & \cos(\omega t) & b_2(t)\\ 0 & 0 & 1 \end{pmatrix},\]

where the translation vector $b(t) = (b_1, b_2)$ is

\[b(t) = \tfrac{1}{\omega}\bigl(\sin(\omega t)\,a_1 + (\cos(\omega t) - 1)\,a_2,\; -(\cos(\omega t) - 1)\,a_1 + \sin(\omega t)\,a_2\bigr)\]

for $\omega \neq 0$, and $b(t) = (a_1 t, a_2 t)$ for $\omega = 0$. Trace this through Figure A1.1: $\omega = 0$ gives a straight line, $\omega \neq 0$ gives a circle whose centre is offset from the origin by the screw “axis” $a / \omega$.

The 1-parameter subgroups are the geodesics of the Cartan-Killing metric

If you put a left-invariant Riemannian metric on $G$ that is also right- invariant (a “bi-invariant” metric, which on $\mathrm{SE}(2)$ exists), then the geodesics through $e$ are exactly the 1-parameter subgroups $t \mapsto \exp(tX)$. This is not the situation in Part 1: Part 1 uses a sub-Riemannian metric that is left-invariant but not right-invariant, and in that geometry the geodesics are not generally $\exp(tX)$ — they are Euler’s elastica. Appendix A5 explains how the SR exponential map differs from this group exponential.

Adjoint and coadjoint actions

The group acts on its Lie algebra by conjugation:

\[\mathrm{Ad}_g : \mathfrak g \to \mathfrak g, \qquad \mathrm{Ad}_g(X) \;:=\; g X g^{-1}.\]

Differentiating at $g = e$ recovers the bracket: $\frac{d}{dt}\bigr|{t=0} \mathrm{Ad}{\exp(tX)}(Y) = [X, Y] =: \mathrm{ad}_X(Y)$.

The coadjoint action is the dual: $\mathrm{Ad}^{\ast}g : \mathfrak g^{\ast} \to \mathfrak g^{\ast}$, $\langle \mathrm{Ad}^{\ast}_g(\mu), Y\rangle := \langle \mu, \mathrm{Ad}{g^{-1}}(Y)\rangle$. The orbits of $\mathrm{Ad}^{\ast}$ on $\mathfrak g^{\ast}$ are called coadjoint orbits, and they are symplectic manifolds (Kirillov-Kostant-Souriau).

For $\mathrm{SE}(2)$, parametrise $\mathfrak{se}(2)^{\ast}$ by $(h_1, h_2, h_3)$ in the basis dual to ${E_1, E_2, E_3}$. The coadjoint orbits are

\[\mathcal O_c \;:=\; \{(h_1, h_2, h_3) : h_1^2 + h_2^2 = c\},\]

i.e. vertical cylinders in $(h_1, h_2, h_3)$-space (plus a degenerate 1-point orbit at $h_1 = h_2 = 0$ for each value of $h_3$). Part 2 §1 discovered this structure organically: the costate of the SR geodesic problem evolves on the cylinder $h_1^2 + h_2^2 = 2\mathcal H$, with $h_3 = \omega_0$ constant — exactly Lie–Poisson dynamics on $\mathfrak{se}(2)^{\ast}$. Appendix A3 will derive that flow from the PMP.

Coadjoint orbit $\mathcal O_c$ on $\mathfrak{se}(2)^{\ast}$
Figure A1.3. The coadjoint orbits of $\mathrm{SE}(2)$ are cylinders $h_1^2 + h_2^2 = c$ in the dual space $\mathfrak{se}(2)^{\ast}$. The blue curve is the trajectory of the costate $(h_1(t), h_2(t), h_3(t))$ under the Lie–Poisson flow generated by the SR Hamiltonian $\mathcal H = \tfrac12 (h_1^2 + h_2^2)$ — derived in Appendix A3, used without proof in Part 2 §1. The trajectory winds around the cylinder at constant $h_3$, with angular rate $-h_3$ (slide $h_3$ to vary). This is a symplectic structure visualised: cylinders for non-trivial orbits, pinched-off points along the axis $h_1 = h_2 = 0$ for the degenerate orbits.

The Baker–Campbell–Hausdorff series

For two non-commuting algebra elements,

\[\exp X \cdot \exp Y \;=\; \exp\!\Bigl(X + Y + \tfrac12 [X, Y] + \tfrac{1}{12}[X, [X, Y]] + \tfrac{1}{12}[Y, [Y, X]] + \cdots\Bigr).\]

The leading non-commutative correction is exactly $\tfrac12 [X, Y]$. Two points to remember:

Connection to the elliptic project

Every figure on this page integrates the SE(2) ODE $\dot g = g \cdot \xi(t)$ using the exact same midpoint-rule helper that the moiseevigor/elliptic project ships in examples/dubins-back-wheel/app.js. When $\xi(t) = (a_1, a_2, a_3)$ is constant you get the 1-parameter subgroups of Figure A1.1; when $\xi(t)$ is the Pontryagin extremal control of Part 2 you get Euler’s elastica; when $\xi(t)$ has its forward component $\cos\varphi(t)$ change sign you get the cuspidal parking trajectory shown in that example. The same matrix exponential drives all three.

Code

# Matrix exponential of an se(2) element — closed form.
# Identical to the formula used in moiseevigor/elliptic/se2.py.
import numpy as np

def exp_se2(a1, a2, a3, t=1.0):
    """Return the 3x3 SE(2) matrix exp(t * (a1 E1 + a2 E2 + a3 E3))."""
    om = a3 * t
    if abs(om) < 1e-12:
        # Pure translation limit
        b1, b2 = a1 * t, a2 * t
        c, s = 1.0, 0.0
    else:
        c, s = np.cos(om), np.sin(om)
        # Translation vector b(t) = (sin/om · a + (cos-1)/om · J·a)
        b1 = ( s * a1 + (c - 1) * a2) / a3
        b2 = (-(c - 1) * a1 + s * a2) / a3
    return np.array([[c, -s, b1],
                     [s,  c, b2],
                     [0,  0, 1.0]])

# Verify [E1, E2] = 0  and  [E3, E1] = E2  in matrix form
E1 = np.array([[0,0,1],[0,0,0],[0,0,0]], float)
E2 = np.array([[0,0,0],[0,0,1],[0,0,0]], float)
E3 = np.array([[0,-1,0],[1,0,0],[0,0,0]], float)
def comm(A, B): return A @ B - B @ A
assert np.allclose(comm(E1, E2), 0)
assert np.allclose(comm(E3, E1), E2)
assert np.allclose(comm(E3, E2), -E1)

What we covered, and what comes next

A Lie group is a manifold-with-group-law. Its Lie algebra is the tangent space at the identity, encoded either as matrices in $\mathrm{Mat}_n$ or as left-invariant vector fields on $G$. The bracket measures non- commutativity in three equivalent ways (matrix commutator, vector-field commutator, infinitesimal closing-defect of a 4-leg loop). The exponential map turns algebra elements into 1-parameter subgroups. The coadjoint orbits of $\mathrm{SE}(2)$ are cylinders, and the SR Hamiltonian flow lives on them.

Appendix A2 will use this language to give the right definition of a contact structure and prove Chow–Rashevskii. Appendix A3 will derive the Lie–Poisson equations $\dot h_1 = h_2 h_3, \dot h_2 = -h_1 h_3, \dot h_3 = 0$ — the equations Part 2 §1 asserts without proof — directly from the Pontryagin Maximum Principle.

References

  1. M. Spivak (1979). A Comprehensive Introduction to Differential Geometry, Vol. 1. Publish or Perish. Chapters 5–6 for manifolds and Lie groups.
  2. B. C. Hall (2015). Lie Groups, Lie Algebras, and Representations: An Elementary Introduction. Springer GTM 222. Matrix-Lie-group perspective; ideal companion to this appendix.
  3. V. I. Arnold (1989). Mathematical Methods of Classical Mechanics. Springer GTM 60. Appendix 2 covers Lie groups, coadjoint orbits, and Lie–Poisson dynamics with the lightest possible touch.
  4. A. A. Kirillov (2004). Lectures on the Orbit Method. AMS GSM 64. Coadjoint orbits as symplectic leaves; the SE(2) example is worked explicitly.
  5. Yu. L. Sachkov (2011). "Cut locus and optimal synthesis in the sub-Riemannian problem on the group of motions of a plane." ESAIM: COCV 17(4): 293–321. arXiv:0903.0727. Uses every concept of this appendix.
  6. moiseevigor/elliptic — Jacobi elliptic functions, complete and incomplete integrals, and the SE(2) exponential routine used in all three figures of this appendix.