Cookie Consent by Free Privacy Policy Generator Euler’s Elastica and Jacobi Elliptic Functions | Igor Moiseev
Part 2 of the "Geometry of Seeing" series

Euler's Elastica and Jacobi Elliptic Functions

The Pontryagin Maximum Principle turns the SE(2) geodesic problem into a pendulum ODE. Its solutions are the three families of Euler's elastica, parametrised exactly by Jacobi's elliptic functions sn, cn, dn — and their spatial period is 4K(k²), the complete elliptic integral of the first kind.

By Igor Moiseev · 28 April 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 ← you are here
  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) (draft)
  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 article covers
We derive the curvature function $\kappa(s)$ of every sub-Riemannian geodesic on $\mathrm{SE}(2)$ from first principles using the Pontryagin Maximum Principle. The result is a pendulum equation whose general solution involves the three classical families of Jacobi elliptic functions. The key formula: for the inflectional family, $$\kappa(s) = 2k\,\mathrm{cn}(s \mid k^{2}),$$ and the spatial period of the curvature oscillation is exactly $T_{\kappa} = 4K(k^{2})$, the complete elliptic integral of the first kind. All three families are interactive in the figures below.

Hamiltonian Formulation via the PMP

Recall from Part 1 that we want to minimise arc length among horizontal curves in $\mathrm{SE}(2)$:

\[\min \int_0^T \sqrt{u_1^2 + u_2^2}\,dt, \qquad \dot g = u_1 X_1(g) + u_2 X_2(g).\]

We use the standard normalisation $u_1^2 + u_2^2 = 1$ (unit-speed parametrisation), which reduces the problem to minimising $T$ — the total arc length.

The Pontryagin Maximum Principle (PMP) introduces a covector $\lambda$ in the cotangent bundle, evolving alongside the state:

\[\lambda \in T^{*}_{g}\,\mathrm{SE}(2).\]

In the left-trivialisation provided by the Lie algebra,

\[T^{*}\mathrm{SE}(2) \;\cong\; \mathrm{SE}(2) \times \mathfrak{se}(2)^{*},\]

the costate becomes a triple of components $(h_1, h_2, h_3)$ defined by

\[h_i = \langle \lambda,\, X_i(g)\rangle, \qquad i = 1, 2, 3.\]

The Hamiltonian for the PMP maximisation condition is

\[H = h_1 u_1 + h_2 u_2 - \nu \sqrt{u_1^2 + u_2^2},\]

where $\nu \in {0, \tfrac{1}{2}}$ is the abnormality constant. For normal extremals ($\nu = \tfrac{1}{2}$), maximising over $u_1, u_2$ gives the normal Hamiltonian

\[\mathcal{H}_n = \tfrac{1}{2}\bigl(h_1^2 + h_2^2\bigr).\]

The Hamiltonian equations on $\mathfrak{se}(2)^{*}$, via the Lie–Poisson bracket, read

\[\dot h_1 = \{h_1, \mathcal{H}_n\} = h_2 h_3, \quad \dot h_2 = \{h_2, \mathcal{H}_n\} = -h_1 h_3, \quad \dot h_3 = \{h_3, \mathcal{H}_n\} = -h_1 h_2.\]

Two integrals reduce this 3D system to a 1D motion. The Hamiltonian itself, $\mathcal{H}_n = \tfrac{1}{2}(h_1^{2} + h_2^{2})$, is conserved because the flow is Hamiltonian. The second is the Casimir of $\mathfrak{se}(2)^{*}$,

\[C \;=\; h_1^{2} + h_3^{2},\]

which Poisson-commutes with every smooth function and is therefore automatically preserved by any Hamiltonian flow on the dual algebra.

The Casimir labels the symplectic leaves of the Lie–Poisson bracket — the coadjoint orbits. For $\mathfrak{se}(2)^{*}$ the orbits are the cylinders ${h_1^{2} + h_3^{2} = C}$, on which the Hamiltonian dynamics is genuinely symplectic.

Fix the unit-speed normalisation $\mathcal{H}_n = 1/2$, so $h_1^{2} + h_2^{2} = 1$. The angle $\alpha$ defined by

\[h_1 = \sin\alpha, \qquad h_2 = \cos\alpha\]

then evolves as $\dot\alpha = h_3$ (from $\dot h_1 = h_2 h_3$). Using $h_3^{2} = C - h_1^{2} = C - \sin^{2}\alpha$, set $\varphi = 2\alpha$:

\[\dot\varphi^{2} \;=\; 4 h_3^{2} \;=\; (4C - 2) \,+\, 2\cos\varphi.\]

Differentiating once more in time gives the pendulum equation.

The Pendulum Equation

Pendulum ODE for the doubled costate angle
$$\ddot\varphi + \sin\varphi \;=\; 0, \qquad E \;=\; \tfrac{1}{2}\dot\varphi^{2} - \cos\varphi \;=\; 2C - 1,$$ where $\varphi = 2\alpha$ and $\alpha = \arctan(h_1 / h_2)$ is the phase of $(h_1, h_2)$ on the unit circle. The pendulum energy $E$ is fixed by the Casimir $C$ on the coadjoint orbit.

The three dynamically distinct regimes of the pendulum correspond directly to the three families of SE(2) geodesics:

Energy $E$ Pendulum motion Elastica family
$-1 < E < 1$ oscillation (libration) inflectional
$E = 1$ separatrix (infinite period) Euler spiral
$E > 1$ rotation non-inflectional

From the pendulum to the curve

The pendulum equation lives on the costate, but the figures below plot the curvature $\kappa(s)$ of the projected plane curve in its own Euclidean arc length $s$. These two are tied together by a quick computation.

In unit-speed parametrisation $h_1^{2}+h_2^{2}=1$, the projected speed is $|h_1| = |\sin(\varphi/2)|$ and the heading derivative is $\dot\theta = h_2 = \cos(\varphi/2)$. Reparametrising by Euclidean arc length $s$ with $ds = |h_1|\,dt$, and using $\dot\varphi = \pm 2 h_3$, a short calculation gives an explicit closed-form $\kappa(s)$ in each regime — the three Jacobi-elliptic curvature profiles below. They satisfy the elastica curvature ODE (the Duffing form equivalent to the pendulum)

\[\kappa''(s) + \tfrac{1}{2}\kappa(s)^{3} - \mu\,\kappa(s) \;=\; 0,\]

with the integration constant $\mu$ fixed by the Casimir $C$ — one ODE, three qualitatively different solution branches.

Three Families via Jacobi Elliptic Functions

Inflectional Elastica ($-1 < E < 1$)

The pendulum oscillates; $\varphi(s)$ changes sign. The curvature of the projected plane curve therefore changes sign: these are curves with inflection points.

Setting the energy $E = 2k^{2} - 1$ with $k \in (0, 1)$, the curvature is

\[\boxed{\;\kappa(s) = 2k\,\mathrm{cn}(s \mid k^{2})\;}\]

The Jacobi function $\mathrm{cn}(s \mid k^{2})$ has period $4K(k^{2})$ in $s$, so the curvature — and hence the curve shape — repeats with spatial period

\[T_{\kappa} = 4K(k^{2}).\]

As $k \to 0$: $\mathrm{cn}(s\mid 0) = \cos s$ and the elastica approximates a cosine-curvature curve (nearly straight). As $k \to 1$: $K(1) = \infty$ and the period diverges — the curve spirals inward without repeating (the Euler spiral limit).

Euler Spiral / Cornu Spiral ($E = 1$, separatrix)

At the separatrix the curvature is

\[\kappa(s) = \frac{2}{\cosh s}.\]

This is the Euler–Cornu spiral (also called the clothoid). Its curvature is a smooth bump decaying to zero at both ends; the total turning is $\Delta\theta = 2\pi$. It is the limiting case between oscillating and rotating pendulum, and has infinite period $T_\kappa = \infty$.

The Euler spiral is famous in civil engineering (transition curves for railways) and optics (Fresnel integrals), but here it arises as the unique separatrix geodesic in SE(2).

Non-Inflectional Elastica ($E > 1$)

The pendulum rotates without stopping; $\varphi(s)$ is monotone. Setting $m = 2/(E + 1) \in (0, 1)$ (here $m$ parametrises this family — at $E=1$ the separatrix gives $m=1$, and as $E\to\infty$ we have $m\to 0$):

\[\kappa(s) = 2\,\mathrm{dn}(s \mid m).\]

These curves have no inflection points — the curvature never changes sign. The Jacobi function $\mathrm{dn}(s\mid m)$ has period $2K(m)$ in $s$, so the spatial period is

\[T_{\kappa} = 2K(m).\]

As $m \to 1$: $\mathrm{dn}(s\mid 1) = \mathrm{sech}(s)$ — the non-inflectional family approaches the Euler spiral from the other side. As $m \to 0$: $\mathrm{dn}(s\mid 0) = 1$ and $\kappa \to 2$ — the curves degenerate into circles of radius $1/2$ (high-energy uniform rotation).

Left: κ(s). Right: projected curve (x, y).
Elastica explorer. Left panel: the curvature $\kappa(s)$ as a function of arc length. Right panel: the corresponding plane curve $(x(s), y(s))$, the spatial projection of the SE(2) geodesic. For the inflectional family, zeros of $\kappa(s) = 2k\,\mathrm{cn}(s\mid k^2)$ coincide with inflection points of the curve; the period is $T_\kappa = 4K(k^2)$. Drag the slider to vary $k$ (or $m$); switch families with the dropdown.
The period $T_\kappa(k) = 4K(k^2)$ diverges as $k \to 1$. Blue: inflectional period $4K(k^2)$; green: non-inflectional period $2K(m)$ (plotted vs $k = \sqrt{m}$ for comparison). The vertical asymptote at $k = 1$ corresponds to the Euler spiral — infinite period, infinite total curvature. For small $k$: $K(k^2) \approx \pi/2 + \pi k^2/8$, so $T_\kappa \approx 2\pi$ (nearly circular curvature oscillation).
Phase portrait of the pendulum $\ddot\varphi + \sin\varphi = 0$. Closed orbits (blue): libration — inflectional elastica. The separatrix (red, $E = 1$): Euler spiral. Rotation orbits (green): non-inflectional elastica. Each orbit corresponds to a one-parameter family of SE(2) geodesics; the energy $E$ determines the family, and the initial phase on the orbit determines the individual curve.

The Complete Elliptic Integral K(k²)

The period formula $T_\kappa = 4K(k^{2})$ is not incidental — $K(k^{2})$ is the exact half-period of $\mathrm{sn}(s\mid k^{2})$ by definition. This makes the elastica period computable to arbitrary precision via the arithmetic–geometric mean (AGM):

\[K(m) = \frac{\pi}{2\,\mathrm{AGM}\!\bigl(1,\;\sqrt{1 - m}\bigr)}, \qquad m = k^{2}.\]

The AGM converges quadratically: about 16 significant digits in 6 iterations. This is precisely what the elliptic package uses:

from elliptic import ellipticK
import numpy as np

k  = np.linspace(0, 0.999, 500)
Tk = 4 * ellipticK(k**2)   # spatial period of curvature oscillation

For the Jacobi functions themselves:

from elliptic import ellipj

s = np.linspace(-2*K, 2*K, 800)
sn, cn, dn = ellipj(s, k**2)
kappa = 2 * k * cn             # curvature of inflectional elastica

The three functions satisfy the differential equations

\[\frac{d}{ds}\mathrm{sn} = \mathrm{cn}\,\mathrm{dn}, \qquad \frac{d}{ds}\mathrm{cn} = -\mathrm{sn}\,\mathrm{dn}, \qquad \frac{d}{ds}\mathrm{dn} = -m\,\mathrm{sn}\,\mathrm{cn},\]

and the Pythagorean identities

\[\mathrm{sn}^{2} + \mathrm{cn}^{2} = 1, \qquad \mathrm{dn}^{2} + m\,\mathrm{sn}^{2} = 1.\]

These let us differentiate $\kappa(s)$ analytically:

\[\kappa'(s) = -2k\,\mathrm{sn}(s)\,\mathrm{dn}(s),\]

which will be essential in Part 3 for locating Maxwell strata.

Integrating the Elastica

Given $\kappa(s)$, the plane curve is recovered by Frenet–Serret integration:

\[\frac{d}{ds}\begin{pmatrix}x\\ y\\ \theta\end{pmatrix} = \begin{pmatrix}\cos\theta\\ \sin\theta\\ \kappa(s)\end{pmatrix}.\]

The $\theta$-equation integrates explicitly for the inflectional family:

\[\theta(s) = \theta_0 + 2\arcsin\!\bigl(k\,\mathrm{sn}(s\mid k^{2})\bigr),\]

then $x, y$ require a further integration involving $\mathrm{sn}$ and $\mathrm{cn}$ that can be expressed via the incomplete elliptic integral of the second kind $E(s\mid k^{2})$.

In the elliptic package:

from elliptic import elliptic12

phi = np.arcsin(k * sn)
E_vals, F_vals = elliptic12(phi, k**2)   # E(φ|k²) and F(φ|k²)
x = 2 * (E_vals - F_vals / 2)            # exact formula from Sachkov (2011)

The full closed-form expressions — due to Sachkov (2011) — express every $x(s)$, $y(s)$ of an inflectional elastica as a rational combination of $\mathrm{sn}$, $\mathrm{cn}$, $\mathrm{dn}$, and $E(\cdot\mid k^2)$. No numerical ODE integration is needed.

What the Three Families Look Like

The interactive figure above lets you explore all three families. A few landmarks worth noting:

Blue: inflectional (k = 0.3, 0.6, 0.9)  ·  Red: Euler spiral  ·  Green: non-inflectional (m = 0.3, 0.6, 0.9)
All three families of Euler's elastica rendered at the same scale. Blue curves (inflectional): oscillate between positive and negative curvature; the amplitude grows with $k$. Red (Euler spiral / separatrix): the limiting case between oscillation and rotation. Green (non-inflectional): curvature stays one-signed; the curves resemble deformed circles. Every geodesic of SE(2) projects to one of these curve types.

Summary and Preview of Part 3

We have shown that every normal SR geodesic on SE(2) has curvature belonging to one of three Jacobi-elliptic families, with the inflectional case $\kappa(s) = 2k\,\mathrm{cn}(s\mid k^2)$ being the generic one. The complete elliptic integral $K(k^2)$ controls the spatial period of the curvature, and the closed-form $x(s), y(s)$ involve elliptic integrals of the second kind.

The next natural question is: which geodesics are globally optimal? A geodesic may be locally length-minimising (no shorter path in a thin tube) while a completely different geodesic of the same length exists. The locus where this happens — where two distinct geodesics of equal length meet — is the Maxwell stratum.

In Part 3 we will show that the Maxwell stratum is governed by the discrete symmetry group of $\mathrm{SE}(2)$, and that the first Maxwell time for an inflectional geodesic with modulus $k$ is exactly

\[t_{\mathrm{MAX}}^{(1)} = \frac{4K(k^{2})}{\omega_0},\]

the same period $4K(k^{2})$ that controls the curvature oscillation — but this time as a time, not a length. This identity is the heart of the Maxwell strata proof.

References

  1. I. Moiseev & Yu. L. Sachkov (2010). "Maxwell strata in sub-Riemannian problem on the group of motions of a plane." ESAIM: COCV 16(2): 380–399. arXiv:0807.4731
  2. 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
  3. Yu. L. Sachkov (2004). "Exponential mapping in generalized Dido's problem." Mat. Sbornik 194(9): 63–90.
  4. L. Euler (1744). Methodus inveniendi lineas curvas maximi minimive proprietate gaudentes. Lausanne: Marcum-Michaelem Bousquet. Additamentum I (De curvis elasticis).
  5. M. Abramowitz & I. A. Stegun (1964). Handbook of Mathematical Functions. National Bureau of Standards. §16 (Jacobian Elliptic Functions), §17 (Elliptic Integrals).
  6. J. Petitot (2003). "The neurogeometry of pinwheels as a sub-Riemannian contact structure." Journal of Physiology–Paris 97(2–3): 265–309.
  7. L. S. Pontryagin et al. (1962). The Mathematical Theory of Optimal Processes. Wiley–Interscience.
← Previous The Visual Cortex as a Contact Manifold (draft) Next → Maxwell Strata: When Optimal Paths Fork (coming soon)