Classical Mechanics
Poisson Brackets
The algebraic engine of Hamiltonian motion — and the classical skeleton that quantum mechanics inherited
The bracket {f,g} encodes Hamiltonian time evolution: df/dt = {f,H}. It is the classical structure that becomes the quantum commutator.
- Definition{f,g} = Σ (∂f/∂q·∂g/∂p − ∂f/∂p·∂g/∂q)
- Fundamental bracket{q,p} = 1 (and {q,q}={p,p}=0)
- Equation of motiondf/dt = {f,H} + ∂f/∂t
- Conservation test{f,H} = 0 ⇒ f is conserved
- Quantum bridge[A,B] = iħ{a,b} ⇒ [q,p]=iħ
- AlgebraAntisymmetric · Leibniz · Jacobi identity
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Definition
The Poisson bracket is a way to take two functions on phase space and produce a third. For functions f(q,p) and g(q,p) of generalized coordinates qᵢ and conjugate momenta pᵢ:
{f, g} = Σ_i ( ∂f/∂qᵢ · ∂g/∂pᵢ − ∂f/∂pᵢ · ∂g/∂qᵢ )
It is an algebraic operation, not a number you read off a graph — it lives entirely in the structure of phase space. Its single most important consequence is the fundamental bracket between a coordinate and its own momentum:
{q, p} = 1 {q, q} = 0 {p, p} = 0
Plug f = q and g = p into the definition: ∂q/∂q = 1, ∂p/∂p = 1, while ∂q/∂p = 0 and ∂p/∂q = 0, so {q,p} = 1·1 − 0·0 = 1. That one line is the whole reason this concept matters. It says position and momentum are conjugate — locked together — and it is precisely the relation Dirac promoted to the quantum commutator [q,p] = iħ.
How it works — the equation of motion
The bracket earns its keep by rewriting all of mechanics in one line. Take any observable f(q,p,t) and ask how it changes in time. The chain rule gives:
df/dt = (∂f/∂q)(dq/dt) + (∂f/∂p)(dp/dt) + ∂f/∂t
Now substitute Hamilton's equations, dq/dt = ∂H/∂p and dp/dt = −∂H/∂q. The first two terms are exactly the definition of {f,H}, so the whole thing collapses to:
df/dt = {f, H} + ∂f/∂t
The ∂f/∂t term is the explicit time dependence — the part you'd see even if the system stood still (think of a clock baked into f). For most observables ∂f/∂t = 0, leaving the clean statement df/dt = {f, H}. The Hamiltonian doesn't merely store energy; bracketed against any quantity, it generates the motion of that quantity. This is the flow you see in the visualization: the field of arrows is the vector field {·,H}, and the glowing dot rides it.
As a sanity check, set f = q and f = p:
dq/dt = {q, H} = ∂H/∂p ✓ (Hamilton's first equation)
dp/dt = {p, H} = −∂H/∂q ✓ (Hamilton's second equation)
The bracket reproduces Hamilton's equations exactly — and then generalizes them to every function at once.
Worked example — the harmonic oscillator
Take the workhorse Hamiltonian (units chosen so m = 1 and ω = 1):
H = ½(q² + p²)
Compute the brackets that drive the motion:
dq/dt = {q, H} = ∂H/∂p = p
dp/dt = {p, H} = −∂H/∂q = −q
So q̈ = ṗ = −q — simple harmonic motion. In phase space the solution is a circle: q(t) = A cos t, p(t) = −A sin t. The phase point sweeps a perfect loop, trading position for momentum and back, exactly as the orbiting dot does in the demo. Now check a conserved quantity — the energy itself:
{H, H} = 0 ⇒ dH/dt = 0 ⇒ energy is conserved
And a non-obvious invariant, the action variable J = (q² + p²)/2 = H: same bracket, same conclusion. Numerically, start at q = 2.6, p = 0 (the orbit radius in the visualization). After a quarter period t = π/2 ≈ 1.571 the state is q = 0, p = −2.6 — position has fully converted to momentum, yet q² + p² = 6.76 is unchanged. The bracket {q,p} = 1 stays pinned at 1 the entire orbit; that constancy is the algebraic fingerprint of Liouville's theorem.
Conservation laws from brackets
Here is the bracket's superpower: you can read off conserved quantities without solving a single differential equation. A time-independent observable f is conserved exactly when its bracket with H vanishes:
{f, H} = 0 ⟺ df/dt = 0 ⟺ f is a constant of motion
This is Noether's theorem in algebraic clothing: f generates a symmetry of the Hamiltonian precisely when {f,H} = 0. Even better, Poisson's theorem says brackets of conserved quantities are themselves conserved — if {f,H}=0 and {g,H}=0, then {{f,g},H}=0. For a free particle, the three angular-momentum components close under the bracket like {Lₓ, L_y} = L_z, mirroring the rotation group; bracketing two known constants can manufacture a third.
| Symmetry of H | Generator f | Bracket condition | Conserved quantity |
|---|---|---|---|
| Time translation | H | {H,H} = 0 | Energy |
| Space translation | p | {p,H} = 0 (no x in H) | Linear momentum |
| Rotation | L = q×p | {L,H} = 0 (central H) | Angular momentum |
| Boost (Galilean) | G = pt − mq | {G,H} + ∂G/∂t = 0 | Centre-of-mass motion |
| Kepler problem extra symmetry | A (Laplace–Runge–Lenz) | {A,H} = 0 | Orbit orientation fixed |
| Phase-space measure | ρ (density) | {ρ,H} + ∂ρ/∂t = 0 | Liouville: volume preserved |
The bridge to quantum mechanics
In 1925 Dirac noticed that the strange new quantum "commutators" of Heisenberg behaved exactly like Poisson brackets. His canonical quantization rule swaps one for the other:
{a, b} ⟶ (1/iħ) [A, B] i.e. [A, B] = iħ {a, b}
Apply it to the fundamental bracket and the most famous equation in quantum mechanics drops out:
{q, p} = 1 ⟶ [q, p] = iħ
The whole machine carries over. The classical evolution law df/dt = {f,H} becomes the Heisenberg equation of motion dA/dt = (i/ħ)[H,A] = (1/iħ)[A,H]. The four bracket axioms — antisymmetry, bilinearity, Leibniz, Jacobi — are obeyed verbatim by the commutator, which is why quantization is structure-preserving rather than arbitrary. And the classical world re-emerges in the limit ħ → 0, where the commutator's leading term is iħ times the Poisson bracket (the Moyal bracket expansion makes this precise). The Poisson bracket is, quite literally, the classical shadow of the commutator.
| Concept | Classical (Poisson) | Quantum (commutator) |
|---|---|---|
| Fundamental relation | {q,p} = 1 | [q,p] = iħ |
| Evolution of an observable | df/dt = {f,H} + ∂f/∂t | dA/dt = (i/ħ)[H,A] + ∂A/∂t |
| Conservation test | {f,H} = 0 | [A,H] = 0 |
| Translation | p generates shifts via {·,p} | e^(−ip·a/ħ) shifts the wavefunction |
| Angular momentum algebra | {Lₓ,L_y} = L_z | [Lₓ,L_y] = iħ L_z |
| Uncertainty | (no analogue — values commute) | Δq Δp ≥ ½|⟨[q,p]⟩| = ħ/2 |
Variants and regimes
- Multiple degrees of freedom. For N coordinates the sum runs over all of them: {qᵢ,p_j} = δᵢⱼ (Kronecker delta), {qᵢ,q_j} = {pᵢ,p_j} = 0. The deltas keep distinct degrees of freedom independent.
- Canonical transformations. A change of variables (q,p) → (Q,P) is canonical if and only if it preserves all the fundamental brackets, {Q,P} = 1. This is the bracket's most elegant role: it defines which coordinate changes are legal in Hamiltonian mechanics.
- Symplectic form. Written in matrix language with z = (q,p), {f,g} = (∇f)ᵀ J (∇g), where J is the 2×2 symplectic matrix [[0,1],[−1,0]]. The bracket is the symplectic structure of phase space made operational.
- Moyal bracket. The exact quantum deformation of the Poisson bracket. It equals the Poisson bracket plus corrections of order ħ², so classical mechanics is the ħ→0 limit — not just an analogy but a controlled expansion.
- Dirac bracket. For constrained systems (gauge theories, rigid bodies with constraints) the naive Poisson bracket fails; Dirac's modified bracket removes the constrained directions before quantizing.
- Field theory. For continuous fields φ(x), the bracket becomes {φ(x), π(y)} = δ(x−y), with the Dirac delta replacing the Kronecker delta — the starting point of canonical quantization of fields.
JavaScript — computing a Poisson bracket numerically
// Numerical Poisson bracket {f,g} for one degree of freedom (q,p).
// Uses central finite differences for the partials.
function poisson(f, g, q, p, h = 1e-6) {
const dfdq = (f(q + h, p) - f(q - h, p)) / (2 * h);
const dfdp = (f(q, p + h) - f(q, p - h)) / (2 * h);
const dgdq = (g(q + h, p) - g(q - h, p)) / (2 * h);
const dgdp = (g(q, p + h) - g(q, p - h)) / (2 * h);
return dfdq * dgdp - dfdp * dgdq;
}
const q = (q, p) => q;
const p = (q, p) => p;
const H = (q, p) => 0.5 * (q * q + p * p); // harmonic oscillator
// The fundamental bracket: {q,p} should equal 1 anywhere in phase space
console.log(poisson(q, p, 1.3, -0.4).toFixed(6)); // 1.000000
console.log(poisson(q, q, 1.3, -0.4).toFixed(6)); // 0.000000
console.log(poisson(p, p, 1.3, -0.4).toFixed(6)); // 0.000000
// Equations of motion: dq/dt = {q,H} = p, dp/dt = {p,H} = -q
console.log(poisson(q, H, 2.6, 0).toFixed(4)); // 0.0000 (= p at this point)
console.log(poisson(p, H, 2.6, 0).toFixed(4)); // -2.6000 (= -q)
// Conservation: {H,H} = 0 ⇒ energy is conserved
console.log(poisson(H, H, 2.6, 0).toFixed(6)); // 0.000000
Performance and numerics — why symplectic matters
If you integrate Hamilton's equations naively (plain Euler or RK4), the energy drifts: {H,H} should be exactly 0, but discretization injects spurious work, and over long runs the orbit spirals in or out. The fix is a symplectic integrator — a scheme whose discrete step is itself a canonical transformation, so it preserves the bracket {q,p} = 1 to machine precision. The simplest is leapfrog (Störmer–Verlet):
p_½ = p − (Δt/2)·∂H/∂q // half kick
q' = q + Δt·∂H/∂p|_{p_½} // drift
p' = p_½ − (Δt/2)·∂H/∂q|_{q'} // half kick
Leapfrog is only second order in accuracy, yet on the harmonic oscillator it conserves a nearby "shadow" energy exactly, so the orbit closes after millions of steps where RK4 would have spiraled into the origin. This is why every long-term solar-system simulation, every molecular-dynamics run, and every lattice-QCD computation is built on symplectic methods: they respect the Poisson structure that the physics demands. The cost is identical to non-symplectic schemes of the same order — you pay nothing extra for stability, you simply choose an algorithm that honours {q,p} = 1.
Where Poisson brackets show up
- Quantization. Dirac's [A,B] = iħ{a,b} is how nearly every quantum theory is built from a classical one — from the hydrogen atom to quantum field theory.
- Celestial mechanics. Perturbation theory for planetary orbits is written entirely in brackets; canonical (action-angle) variables make the bookkeeping tractable over millions of years.
- Plasma physics and accelerators. The Vlasov equation ∂f/∂t + {f,H} = 0 governs collisionless plasmas and charged-particle beams.
- Integrable systems. A system is integrable when it has enough quantities in involution ({Iᵢ,I_j} = 0) — the bracket is the definition of "solvable."
- Geometric mechanics and robotics. Rigid-body dynamics and control theory exploit the Lie–Poisson bracket on the rotation group.
- Deformation quantization. The Moyal/star-product program builds quantum mechanics as a controlled deformation of the Poisson algebra.
Common pitfalls and misconceptions
- Forgetting the explicit-time term. The full law is df/dt = {f,H} + ∂f/∂t. Dropping ∂f/∂t is fine only for observables with no built-in time dependence. For a driven or explicitly time-dependent quantity it is wrong.
- Getting the sign or order wrong. The bracket is antisymmetric: {f,g} = −{g,f}. In particular {q,p} = +1 but {p,q} = −1, and dp/dt = {p,H} = −∂H/∂q carries that minus sign.
- Confusing {q,p}=1 with a numerical value of position times momentum. It is not q·p; it is the derivative combination ∂q/∂q·∂p/∂p − ∂q/∂p·∂p/∂q. It equals 1 everywhere in phase space, regardless of the state.
- Assuming the commutator simply is the Poisson bracket. It is iħ times it, to leading order, with O(ħ²) corrections (the Moyal terms). The bracket is the classical limit, not an exact equality.
- Mixing up which transformations are allowed. Only canonical transformations preserve the brackets. An arbitrary change of variables generally destroys {q,p}=1 and breaks Hamilton's equations.
- Treating phase space as a graph of x vs t. Phase space plots q against p; a single point is a complete instantaneous state. The "motion" is the flow of that point, generated by {·,H}.
Frequently asked questions
What is a Poisson bracket?
The Poisson bracket of two phase-space functions f(q,p) and g(q,p) is {f,g} = Σ (∂f/∂qᵢ · ∂g/∂pᵢ − ∂f/∂pᵢ · ∂g/∂qᵢ). It is a bilinear, antisymmetric operation that takes two observables and returns a third. Its most famous use is to write Hamilton's equations compactly: the time derivative of any quantity is its bracket with the Hamiltonian, df/dt = {f,H} + ∂f/∂t.
What does {q,p}=1 mean?
It is the fundamental (canonical) Poisson bracket. Computing the definition for f=q and g=p gives {q,p} = ∂q/∂q · ∂p/∂p − ∂q/∂p · ∂p/∂q = 1·1 − 0·0 = 1. The companions are {q,q}=0 and {p,p}=0. These three relations say position and momentum are conjugate variables; they fix the symplectic structure of phase space and are exactly what Dirac promoted to [q,p]=iħ in quantum mechanics.
Why is df/dt = {f,H} the equation of motion?
Apply the chain rule to f(q,p,t): df/dt = (∂f/∂q)(dq/dt) + (∂f/∂p)(dp/dt) + ∂f/∂t. Substitute Hamilton's equations dq/dt = ∂H/∂p and dp/dt = −∂H/∂q. The first two terms collapse exactly into the Poisson bracket {f,H}, leaving df/dt = {f,H} + ∂f/∂t. For quantities with no explicit time dependence, ∂f/∂t = 0 and df/dt = {f,H}.
How is the Poisson bracket related to the quantum commutator?
Dirac's canonical quantization rule replaces the Poisson bracket by the commutator divided by iħ: {a,b} → [A,B]/(iħ), equivalently [A,B] = iħ{a,b}. The classical {q,p}=1 becomes [q,p]=iħ, the Heisenberg equation dA/dt = (i/ħ)[H,A] mirrors df/dt={f,H}, and the structure-preserving map explains why classical mechanics emerges as the ħ→0 limit of quantum mechanics.
What properties does the Poisson bracket obey?
Four: antisymmetry {f,g} = −{g,f}; bilinearity (linear in each slot); the Leibniz/product rule {f,gh} = {f,g}h + g{f,h}; and the Jacobi identity {f,{g,h}} + {g,{h,f}} + {h,{f,g}} = 0. Together these make the space of observables a Lie algebra. The same four axioms hold for the commutator, which is why quantization preserves the structure.
How do Poisson brackets reveal conserved quantities?
A quantity f with no explicit time dependence is conserved if and only if {f,H} = 0 — its bracket with the Hamiltonian vanishes, so df/dt = 0. This is the algebraic form of Noether's theorem: f generates a symmetry of H precisely when {f,H}=0. Moreover, Poisson's theorem says if two quantities f and g are both conserved, their bracket {f,g} is also conserved, sometimes generating new constants of motion.
What is the connection to Liouville's theorem?
Hamiltonian flow is generated by the bracket, and that flow is symplectic — it preserves phase-space volume. Liouville's theorem states the density of a swarm of phase points is constant along trajectories: dρ/dt = {ρ,H} + ∂ρ/∂t = 0. Because the flow preserves the bracket {q,p}=1 itself, areas in phase space never expand or contract; they only shear and fold.
Why use Poisson brackets instead of Hamilton's equations directly?
Three reasons. They are coordinate-free, so they survive canonical transformations unchanged — a canonical transformation is exactly one that preserves all brackets. They expose conservation laws instantly via {f,H}=0 without solving any differential equation. And they provide the explicit recipe for quantization, [A,B]=iħ{a,b}, that linked 19th-century mechanics to 20th-century physics.