The Verification Venue · a resonance, integrated until it answers
The Gap That Carves Itself
Every interactive orrery shows a mean-motion resonance as a quiet island where orbits lock and stay, and the received account of the 3:1 says the island is really a machine: it pumps the eccentricity of what it traps until nothing is left, and the gap is carved by chaos rather than by anything static. That is a claim about a computation nobody watching an orrery can afford. This page runs it: a compiled symplectic engine sweeps 1,028 particles across the 3:1 for three million steps each, 3.08 billion particle-steps, on every core you have. In this model, one perturber on a circular orbit at mass ratio 0.001, the measured answer is no. Zero of 1,024 particles crossed the escape threshold in 4,774 perturber orbits, and the chaos profile across the resonance is flat. A particle planted where the model really is chaotic escapes in the same run, which is what makes that zero a measurement rather than a broken detector.
Drag the slider to place a test particle inside or outside the resonance, press launch, and watch sixty-four clones integrate in front of you. The resonant clones librate in a tidy band, their neighbours circulate, everything looks calm, and from this picture the resonance looks like a place that holds things. The interesting question is whether that picture survives 4,774 perturber orbits for each of 1,028 particles, where the orrery above gives 637 orbits to 64 of them, and the honest way to find out is to run it rather than to assert it. The full sweep below starts its particles at e₀ = 0.2, an eccentricity at which the resonance is wide and any pumping should be at its fastest inside the run, and integrates every one of them for 30,000 time units. What comes back is a resonance that is plainly there and plainly not carving: read the escape fractions and the Lyapunov profile below, and then read the two planted controls that say what the same instruments do when there is something to see.
Where to watch · core of the resonance
Presets move the watched clone. They do not change the model: the same mass ratio, step and threshold govern every clone on this page.
Watched clone, e now
·
max so far ·
Resonant angle
·
librating = confined band
Simulated time
0
perturber orbits
Clones alive
64
launched at your slider value
The resonance centre sits at a = 0.4807498567691361, which is 3-2/3 in this model's units. A few percent away is already outside the chaotic band.
Keep it short and the orrery lies to you pleasantly. That is the point of the next button.
Escape fraction, inner band (±0.01)
waiting
the sweep has not run yet
Planted chaotic control
waiting
the same detector, on an object that does leave
Escape fraction, outer bands (0.03 to 0.045)
waiting
the same integrator, the same length
Median crossing time, inner band
waiting
time units, among those that cross
Chaotic band (γ above 0.001)
waiting
where the Lyapunov profile lifts off its floor
The mechanism, named. The critical argument of the 3:1 commensurability is σ = λ − 3λ′ + 2ϖ: the particle's longitude minus three times the perturber's longitude plus twice the longitude of its perihelion. In the frame corotating with the perturber, where λ = θ + t and λ′ = t identically, this reduces exactly to σ = θ + 2ϖ, and that is the form integrated and displayed on this page. (An earlier revision displayed 2ϖ − 3θ, which differs from σ by −4θ and therefore winds four times per orbit for every particle, resonant or not; it carried no libration information.) Deep in a 3:1 resonance σ librates, swinging inside a bounded band instead of winding around the circle. Circulation versus libration is a winding number, so it is unchanged if mean longitudes are used instead of true ones; this page uses the true-longitude form because it needs no Kepler equation. Watch the σ strip under the traces: it is how you can tell a trapped clone from a passing one. Measured offline on the shipped reference over 1,000 time units, σ turns 0.7 and 0.9 times for the two particles planted at ares, 2.8 times for the sweep particle nearest to it, and 73 times for one at the low edge of the sweep: a hundredfold separation in the same instrument. The resonance is unmistakably there. What this page then measures is that being trapped in it, in this model, does not take you anywhere.
Everything below is a stated parameter of this model, chosen for it, not a measurement of the solar system. No figure from the observational literature appears anywhere on this page.
| parameter | value | meaning |
|---|---|---|
| mass ratio μ | 0.001 | perturber over total mass; stated, not surveyed |
| step h | 0.01 | fixed symplectic step, ~209 steps per resonant orbit |
| steps per particle | 3,000,000 | 30,000 time units ≈ 4,774 perturber orbits |
| run length | 30,000 | time units |
| sweep particles | 1,024 | across ±4.5% of ares |
| total particles | 1,028 | sweep + 1 circular control + 3 planted |
| start eccentricity e₀ | 0.2 | where the 3:1 is widest and any pumping fastest; raised from 0.08, see the note below |
| threshold e* | 0.3 | "escaped" means e crossed this |
| shadow offset d₀ | 1e-8 | Benettin renormalisation scale |
| renorm interval | 50 | steps between shadow rescalings |
| diagnostic interval | 100 | steps between eccentricity samples |
| angle samples | 32 | per record, for the fingerprint |
| ares = 3-2/3 | 0.4807498567691361 | derived, not looked up |
| sweep low edge | 0.43574985676913613 | ares − 0.045 |
| sweep high edge | 0.5257498567691361 | ares + 0.045 |
| circular control a | 0.36 | measured quiet: forced e ≈ 0.0025 over the whole run; was 0.72, see the note below |
| chaotic control a | 0.9 | measured violent: escapes at t ≈ 29, which is what makes the sweep's zero a measurement |
| planted start e₀ | 0.2 | same depth as the sweep, at the resonance centre |
| planted resonant count | 2 | different phases, same orbit; plus the two controls above |
| decomposition A | 257 | 4 particles per chunk |
| decomposition B | 97 | 11 per chunk, ragged tail |
| Jacobi drift bound | 0.005 | seven times the measured delivery of 7.2e-4; see the note below |
| chaotic classifier γ | 0.001 | annotation only, not load-bearing |
| inner band half-width | 0.01 | max distance from ares for the inner band |
| outer band low edge | 0.03 | min distance from ares for the outer bands |
| outer band high edge | 0.045 | max distance from ares for the outer bands |
| RK tolerance | 0.02 | cross-method agreement, regular orbits |
| pointwise horizon | 5,000 | steps compared pointwise against RK4; worst disagreement 1.9e-3 |
| halving-test length | 2,000 | time units for the order check |
Four numbers that moved, and why each moved. The diagnostics used to be read off the wrong state. Because the two half-kicks where neighbouring steps meet are fused into one full kick, the pair sitting in the registers between steps is the position at time t with the momentum at t + h/2, and every recorded eccentricity and Jacobi error was computed from that mismatched pair. It cost an order: the recorded Jacobi error was O(h) instead of the map's O(h²), measured 30 to 130 times larger than the map actually delivers, and every recorded eccentricity carried a bias of about 0.02. Undoing the half kick before each diagnostic fixed all four numbers at once. The drift ceiling goes back to 0.005, from the 0.1 it had been restated to: the 1e-2 delivery that justified 0.1 was the unsynchronised reading, and the real delivery over the full run is 7.2e-4. The pointwise cross-method horizon goes back to 5,000 steps from 2,000, because the comparison that was failing at 5,000 was comparing a leapfrog sample held for a hundred steps against a Runge-Kutta sample taken at the step, offset by one sample; sampled properly, the worst disagreement over 5,000 steps is 1.9e-3. The circular control moved from a = 0.72 to a = 0.36: at 0.72 a circular start reaches e ≈ 0.020, which two independent integrators agree on, so it is dynamics rather than artefact, but a control that pumps twice its own ceiling is not a control. At 0.36 the same measurement gives 0.0025. And the planted resonant starts are now asked for max e ≥ 0.23 rather than 0.25, because 0.25 was only ever reached through the 0.02 bias; read at the synchronised state the same two orbits deliver 0.2388 and 0.2356, and Runge-Kutta puts the second at 0.2355.
The check · run in front of you, and the one that runs offline
Before any headline is shown, the page runs a five-row battery through both the compiled engine and a slow, deliberately obvious JavaScript reference written from the same contract, and refuses to display a result if a single fingerprint disagrees. The full sweep then runs twice, under two different chunk decompositions, and all 1,028 per-particle records must come back byte-identical. The full-size number rests on that decomposition check and on the conservation invariants below. A 20-particle subset is also cross-checked against an independent Runge-Kutta integrator: four particles here, the full subset offline in research/the-gap-that-carves-itself/verify-the-gap-that-carves-itself.mjs.
| battery row | engine fingerprint | reference fingerprint | agree |
|---|---|---|---|
| loading engine… | |||
The control. A check that has never failed is a claim about the code, not evidence about it. This button breaks the reference's mass ratio by one part in a thousand and requires the comparison to notice:
Operations (counted, not estimated)
·
particle-steps reported by the engine's own counter
Wall time
·
sweep not started
Workers
·
·
Factor vs main-thread JS
·
extrapolated from a slice; fraction printed beside it
What's idealised here, and what's exactly true
Exactly true. The integrator splits the exact synodic Hamiltonian H = |p|²/2 − (q×p)z − Φ(q) into a Kepler part and a rotation part; the rotation is solved exactly and the Kepler part by leapfrog, so the composed map is exactly symplectic and second order. In these canonical variables the Jacobi constant is exactly −2H, so its error is bounded rather than drifting, and the page prints the measured value against a stated ceiling. Because the meeting half-kicks are fused, every diagnostic subtracts the half kick before it reads the momentum: the pair in the registers between steps is the position at t with the momentum at t + h/2, and reading it raw makes the recorded error O(h) on a map that delivers O(h²). The resonant angle displayed is the exact corotating-frame reduction of λ − 3λ′ + 2ϖ. The decomposition check is bitwise: each particle is independent and deterministic, so any chunking must reproduce every record exactly, and does. The engine and the reference agree bit for bit on the battery because both implement one stated contract down to the operation order, polynomials included.
Idealised. Planar motion; a perturber on a fixed circle; massless particles; one mass ratio; no secular resonances; no surface density of bodies drifting inward; starts placed at perihelion of an osculating heliocentric orbit, ignoring the Sun's reflex motion, an error of order μ in the start state only; the resonant angle in its true-longitude form; a finite-time Benettin estimator whose regular-orbit floor sits near 10⁻⁴.
Representative, not universal. The escape fractions, the eccentricity profile and the Lyapunov medians are properties of these stated parameters and of this run length. In particular the null result here is a result about a perturber on a circular orbit. The received account of the real 3:1, opened in the 1980s, turns on the perturber's own eccentricity, which supplies a second slowly varying angle that a circular perturber does not have; a one-degree-of-freedom averaged resonance cannot be chaotic, and that is the standard explanation for what this page measures. This page does not verify that explanation. It measures the circular case, states the result, and shows the controls. No number from that literature is quoted here, because none is needed to run the model.