VERLET INTEGRATION the stepper that conserves energy
To move a simulated particle forward, the obvious Euler step (position += velocity×dt) slowly leaks energy and orbits spiral apart. Verlet integration — next = 2·now − previous + acceleration·dt² — is time-reversible and symplectic: orbits stay closed for millions of steps. It runs cloth, ragdolls, and molecular dynamics.
THE TECHNIQUE position from two previous positions
Store the last two positions. The next one is 2·current − previous + a·dt² — velocity never appears, and the symmetry in time is what conserves energy. Watch a planet orbit: Verlet (orange) keeps its ellipse; naive Euler (grey) spirals outward as it invents energy. live demo
HISTORY & CREDIT 176 years older than its name
“Verlet invented it in 1967” — he invented popularized it for molecular dynamics; the scheme is centuries old. cited
1687 · Isaac Newton — Principia, Book 1, Proposition 1: the coast-then-kick polygon proving Kepler’s area law is provably a second-order symplectic (leapfrog) integrator. 1791 / 1907 · Delambre uses it in astronomy; Carl Störmer uses it for auroral particle paths — so numerical analysts call it Störmer’s method; astronomers call the same scheme Cowell’s method. 1967 · Loup Verlet reintroduces it for molecular dynamics — the paper that attached his name (Stigler’s law of eponymy in action). 1982 · Swope, Andersen, Berens & Wilson add Velocity Verlet — identical position path, velocities carried alongside; not Verlet’s.
A 300-year-old idea that quietly runs half the physics engines shipping today. Newton 1687 / Störmer 1907 / Verlet 1967
RECOMMEND FOR I-13 a strict no-wall numerical dart
The whole step is f64 add and multiply over the last two scalars — and it reproduces the exact analytic parabola of constant-acceleration motion:
$ i13 run verlet.i13 # constant a: x(t) = 5*t^2, dt=0.1
x2=0.2 x3=0.45 x4=0.8 x5=1.25 # exact -- Verlet is exact for constant acceleration
Recommend:nothing new — a strict no-wall like Newton-Raphson (026), CORDIC (009), Box-Muller (033): next = 2*cur - prev + a*dt*dt, all f64 the compiler already has, and the grounded run lands on 0.2, 0.45, 0.8, 1.25 — the analytic 5t² to the digit. A trajectory over many steps is a bounded array of positions. Note: its virtue — energy conservation — is exactly the kind of property the corpus prizes: not faster, but structurally honest over long horizons, where Euler quietly drifts.