A Lie group is a smooth manifold that is also a group
A Lie group $G$ is a set carrying two compatible structures:
- a smooth manifold structure — locally it looks like $\mathbb R^n$ and you can take derivatives;
- a group structure — there is an associative product $G \times G \to G$, an identity element $e \in G$, and an inverse map $g \mapsto g^{-1}$.
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)$.
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.
- This basis ${E_1, E_2, E_3}$ of $\mathfrak{se}(2)$ is different from the left-invariant frame ${X_1, X_2, X_3}$ used in Part 1. At the identity $X_i(e) = E_i$, but at a generic $g \in \mathrm{SE}(2)$, $X_i(g) \neq E_i$ — the LI vector fields are not constant in coordinates.
- For the LI vector fields the relevant bracket is the vector-field commutator below, not the matrix commutator of their constant identity-values. The vector-field bracket of $X_1$ with $X_2$ produces $\pm X_3$ — the missing sideways direction — even though the matrix bracket of $E_1$ with $E_2$ vanishes.
(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.
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:
- 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$.
- 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.
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:
- The 4-step closing-defect of §3 is BCH applied twice and subtracted. The $X + Y$ pieces cancel, leaving $\varepsilon^2 [X, Y]$ at the leading surviving order. See Figure A1.2.
- Even when $[X, Y] \neq 0$, the higher commutators $[X, [X, Y]], [Y, [X, Y]]$ may vanish — and for $\mathrm{SE}(2)$, the algebra is “step-2 nilpotent at infinity” in a sense, meaning many identities truncate quickly. This is what makes the Sachkov closed forms in Part 2 manageable.
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
- M. Spivak (1979). A Comprehensive Introduction to Differential Geometry, Vol. 1. Publish or Perish. Chapters 5–6 for manifolds and Lie groups.
- 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.
- 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.
- A. A. Kirillov (2004). Lectures on the Orbit Method. AMS GSM 64. Coadjoint orbits as symplectic leaves; the SE(2) example is worked explicitly.
- 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.
- moiseevigor/elliptic — Jacobi elliptic functions, complete and incomplete integrals, and the SE(2) exponential routine used in all three figures of this appendix.