Poisson brackets and integrability

The Lie bracket on functions on phase space — Poisson brackets rewrite Hamiltonian mechanics in one line and reveal how integrable systems and action–angle variables arise.

Opening

This is the closing chapter of the book. Every tool we have built — manifolds, differential forms, Lagrangians, the variational principle, symmetry, Hamiltonians, canonical transformations — meets at a single point. That point is the Poisson bracket. By the end of this chapter the reader can write Hamilton’s equations without choosing coordinates, in the single line f˙={f,H}\dot f = \{f, H\}, and can recognise the word “integrable” not as a vague adjective but as a precise geometric statement. On top of that definition we will see — through action–angle variables — why the harmonic oscillator is the first example in every mechanics textbook.

Main 1 — The Poisson bracket as a Lie bracket on phase space

For two smooth functions f(q,p),g(q,p)f(q, p), g(q, p) on a one-degree-of-freedom phase space, define the Poisson bracket as

{f,g}=fqgpfpgq\{f, g\} = \frac{\partial f}{\partial q}\frac{\partial g}{\partial p} - \frac{\partial f}{\partial p}\frac{\partial g}{\partial q}

For nn degrees of freedom, sum the same expression over i=1,,ni = 1, \ldots, n (i(qifpigpifqig)\sum_i (\partial_{q^i} f \, \partial_{p_i} g - \partial_{p_i} f \, \partial_{q^i} g)). It looks like a product, but it plays exactly the role of the Lie bracket on vector fields from Chapter 5 — it takes two objects and returns a new one that measures how much they fail to commute.

Four properties of the Poisson bracket carry everything that follows:

  1. Bilinearity in each argument.
  2. Antisymmetry: {f,g}={g,f}\{f, g\} = -\{g, f\}; in particular {f,f}=0\{f, f\} = 0.
  3. Leibniz rule: {f,gh}={f,g}h+g{f,h}\{f, gh\} = \{f, g\}h + g\{f, h\} — it behaves like a derivation on products.
  4. Jacobi identity: {f,{g,h}}+{g,{h,f}}+{h,{f,g}}=0\{f, \{g, h\}\} + \{g, \{h, f\}\} + \{h, \{f, g\}\} = 0.

Together these four make the space of smooth functions C(TM)C^\infty(T^*M) on phase space into an infinite-dimensional Lie algebra. The bracket on coordinates is worth memorising: {qi,qj}=0,{pi,pj}=0,{qi,pj}=δ ji\{q^i, q^j\} = 0, \{p_i, p_j\} = 0, \{q^i, p_j\} = \delta^i_{\ j} (where δ ji\delta^i_{\ j} is the Kronecker delta). These three lines are the classical ancestor of the quantum canonical commutation relations [q^i,p^j]=iδ ji[\hat q^i, \hat p_j] = i\hbar \delta^i_{\ j}.

Hamilton’s equations written through the bracket become a single line. The time derivative of any phase-space function f(q,p,t)f(q, p, t) is

f˙={f,H}+ft\dot f = \{f, H\} + \frac{\partial f}{\partial t}

Substituting f=qif = q^i recovers q˙i=H/pi\dot q^i = \partial H / \partial p_i, and f=pif = p_i recovers p˙i=H/qi\dot p_i = -\partial H / \partial q^i — both Hamilton equations fall out. The real power of this rewrite is somewhere else: if {f,H}=0\{f, H\} = 0 then ff is a constant of the motion. Noether’s theorem from Chapter 9 becomes a one-line statement in this language. Two functions Poisson-commute ({f,g}=0\{f, g\} = 0) if and only if the flows they generate commute as transformations of phase space — that is the bridge to the Lie bracket of vector fields from Chapter 5.

Main 2 — Liouville integrability

A Hamiltonian system with nn degrees of freedom is Liouville integrable if there exist nn smooth functions F1,,FnF_1, \ldots, F_n on phase space such that the following three conditions hold:

  1. One of them is HH itself — conventionally F1=HF_1 = H.
  2. The nn functions are functionally independent: the differentials dF1,,dFndF_1, \ldots, dF_n are linearly independent almost everywhere.
  3. They are pairwise in involution — for every i,ji, j, {Fi,Fj}=0\{F_i, F_j\} = 0.

Condition 3 is the heart of the definition. It says more than “there are nn conserved quantities” — it says those conserved quantities are mutually compatible with each other’s flows. The flow generated by FiF_i as a canonical transformation commutes with the flow generated by FjF_j, so we can lay down a coordinate grid on phase space whose axes are these flows.

The Liouville–Arnold theorem packages the whole picture in one sentence: if the common level set {Fi=ci}\{F_i = c_i\} is compact and connected, then it is an nn-torus TnT^n, and the motion on it is uniform translation. Coordinates on this torus are the action–angle variables (Ji,θi)(J_i, \theta_i) — the actions JiJ_i label the torus and the angles θi[0,2π)\theta_i \in [0, 2\pi) run around it. In these coordinates the Hamiltonian depends only on the actions, H=H(J)H = H(J), so Hamilton’s equations collapse to

J˙i=0,θ˙i=ωi(J):=HJi\dot J_i = 0, \qquad \dot\theta_i = \omega_i(J) := \frac{\partial H}{\partial J_i}

Every trajectory of an integrable system is uniform straight-line motion on a torus with constant frequencies. The dynamics of an integrable system is, in a real sense, finished here.

Genuinely integrable systems are rare in practice — the Kepler problem, the harmonic oscillator, free rigid-body rotation, and the Kovalevskaya top are the traditional list. Generic systems are not integrable, and small perturbations partially destroy the toroidal structure (KAM theorem). Yet the handful of integrable cases fills 90 % of undergraduate mechanics, because this picture is clean and can be carried out to the end with bare hands.

Main 3 — Action–angle variables for the harmonic oscillator

We grab everything in our hands with the one-dimensional harmonic oscillator. The Hamiltonian is

H(q,p)=12p2+12ω2q2H(q, p) = \frac{1}{2}p^2 + \frac{1}{2}\omega^2 q^2

(unit mass m=1m = 1, frequency ω\omega, omega). The level set H=EH = E is an ellipse in phase space with semi-axes 2E\sqrt{2E} and 2E/ω\sqrt{2E}/\omega. With only one degree of freedom, F1=HF_1 = H by itself satisfies the Liouville conditions.

Pick up action–angle variables by hand. Introduce the transformation

q=2Jωsinθ,p=2Jωcosθq = \sqrt{\frac{2J}{\omega}}\, \sin\theta, \qquad p = \sqrt{2J\omega}\, \cos\theta

A direct Jacobian computation gives (q,p)/(θ,J)=1\partial(q, p) / \partial(\theta, J) = 1 — the volume element dqdp=dθdJdq \wedge dp = d\theta \wedge dJ is preserved, which is exactly the condition for a canonical transformation from Chapter 11. Substituting both expressions into the Hamiltonian,

H=122Jωcos2θ+12ω22Jωsin2θ=Jω(cos2θ+sin2θ)=ωJH = \tfrac{1}{2} \cdot 2J\omega \cos^2\theta + \tfrac{1}{2}\omega^2 \cdot \tfrac{2J}{\omega}\sin^2\theta = J\omega (\cos^2\theta + \sin^2\theta) = \omega J

The Hamiltonian no longer depends on the angle — it is a function of the action JJ alone. Hamilton’s equations fall out at once:

J˙=Hθ=0,θ˙=HJ=ω\dot J = -\frac{\partial H}{\partial \theta} = 0, \qquad \dot\theta = \frac{\partial H}{\partial J} = \omega

JJ is conserved and θ\theta increases at the constant rate ω\omega. In the (θ,J)(\theta, J) plane the trajectory is a horizontal line — the simplest possible motion. The same motion that ran along an ellipse with non-uniform timing in (q,p)(q, p) becomes uniform in action–angle coordinates. That is the payoff of the change of variables.

The physical meaning of JJ is worth mentioning too. The phase-space area enclosed over one period divided by 2π2\piJ=(1/2π)pdqJ = (1/2\pi)\oint p \, dq — agrees exactly with the action defined above. This is also where the Bohr–Sommerfeld quantisation condition J=nJ = n\hbar enters: the action is the most natural quantity that lifts across the bridge from classical mechanics to its quantum cousin.

In Python

# Integrate the harmonic oscillator (m=1, omega=1.5) with RK4
# and track action J = H/omega and phase theta = arctan2(p, omega*q).
# (q, p) is an ellipse; (theta, J) is a horizontal line.
import numpy as np
import matplotlib.pyplot as plt

omega = 1.5
def rhs(q, p):
    return p, -omega**2 * q

def rk4_step(q, p, dt):
    k1q, k1p = rhs(q, p)
    k2q, k2p = rhs(q + 0.5*dt*k1q, p + 0.5*dt*k1p)
    k3q, k3p = rhs(q + 0.5*dt*k2q, p + 0.5*dt*k2p)
    k4q, k4p = rhs(q + dt*k3q,     p + dt*k3p)
    return (q + dt*(k1q + 2*k2q + 2*k3q + k4q)/6,
            p + dt*(k1p + 2*k2p + 2*k3p + k4p)/6)

dt, T_end = 0.01, 12.0
N = int(T_end / dt)
q = np.empty(N+1); p = np.empty(N+1)
q[0], p[0] = 1.2, 0.0
for k in range(N):
    q[k+1], p[k+1] = rk4_step(q[k], p[k], dt)

H = 0.5*p**2 + 0.5*omega**2*q**2
J = H / omega
theta = np.arctan2(p, omega*q)
print(f"max relative drift of J = {(J.max() - J.min())/J[0]:.2e}")

fig, ax = plt.subplots(1, 2, figsize=(9, 4))
ax[0].plot(q, p); ax[0].set_xlabel("q"); ax[0].set_ylabel("p"); ax[0].set_title("(q, p) ellipse")
ax[1].plot(theta, J, '.', ms=2); ax[1].set_xlabel(r"$\theta$"); ax[1].set_ylabel("J")
ax[1].set_title(r"$(\theta, J)$ horizontal line"); ax[1].set_ylim(J[0]*0.9, J[0]*1.1)
plt.tight_layout(); plt.show()

A relative drift in JJ below 10610^{-6} is the signal that RK4 is preserving the action well enough. The left panel shows the original phase-space ellipse, the right panel the horizontal line in action–angle coordinates — two faces of the same motion seen in two coordinate systems.

Closing

A sincere thank-you to the reader who has come this far. The spine of the book runs as follows — we laid vector fields on top of manifolds, then spread the language of differential forms over both, packaging every integral and differential theorem of vector calculus into a single line. On that stage we wrote the equations of motion through one scalar function, the Lagrangian, and watched them fall out of the variational principle. We crossed Noether’s bridge from symmetry to conserved quantities, and via the Legendre transform passed into the Hamiltonian picture. There positions and momenta became equal partners as coordinates on phase space, and canonical transformations together with Poisson brackets appeared as the structure that supports this equality. The single thread the book pursued was this — rewriting the same physics in language that is more and more coordinate-independent. Three paths lead onward. The sequel Analytical Mechanics II takes up the Hamilton–Jacobi equation and the generalisation to field theory. For a more rigorous mathematical foundation, Arnold’s Mathematical Methods of Classical Mechanics is the standard reference. And beyond the Poisson bracket itself — where the symplectic form ω=dpidqi\omega = dp_i \wedge dq^i becomes the real protagonist — I recommend taking a proper mathematics course on symplectic geometry. The same landscape grows deeper each time you walk through it.