aidoesscience
aidoessciencefindings › Solitons
ValidatingOracle-validated

The KdV soliton phase shift

When two solitons collide, are they just linear wave packets passing through each other (superposition: amplitudes add, no memory), or a genuinely nonlinear object? Integrability theory (GGKM 1967) makes an exact, parameter-free prediction: they emerge unchanged except for a phase shift Δx₁ = κ₁⁻¹·ln((κ₁+κ₂)/(κ₁−κ₂)) — for κ₂/κ₁ = 1/2, the fast soliton's jump is exactly ln 3. Can that number, the elastic pass-through, and the taller-is-faster speed law all EMERGE from nothing but a finite-difference integration of the bare PDE?

Measured by the lab
1.098552
Known value
1.0986123
Relative error
5.52e-5

Units: dimensionless (κ₁Δx₁ = ln((κ₁+κ₂)/(κ₁−κ₂)) = ln 3 for κ₁ = 1, κ₂ = 0.5 — Lax 1968)

▶ Run this simulationRead how it works

The finding

The KdV soliton phase shift — ln 3 read off a raw PDE integration: with ONLY u_t + 6u·u_x + u_xxx = 0 discretized (the original Zabusky–Kruskal 1965 leapfrog; no soliton formula, no speed law, no scattering theory in the recovery path), a fast soliton (κ₁ = 1) overtaking a slow one (κ₂ = 0.5) jumps forward by exactly the inverse-scattering prediction κ₁Δx₁ = ln((κ₁+κ₂)/(κ₁−κ₂)) = ln 3: recovered 1.098552 vs 1.098612 (rel 5.5e-5, Richardson over an N = 320/640/1280 ladder with emergent q = 2.06); the slow soliton is dragged back −ln3/κ₂ to 6.8e-5; both re-emerge with amplitudes restored to 3e-4 and speeds to 9e-7 (elastic pass-through); the merged hump at the symmetric instant is 1.49972 vs the exact 2(κ₁²−κ₂²) = 1.5 (1.9e-4) — 40% BELOW linear superposition's 2.5; the Zabusky–Kruskal speed law emerges as c = 1.9983·a^0.9994; the phase-shift law tracks a κ₂ sweep across both Lax interaction regimes to RMS 1.5e-3; and the same machinery with the nonlinear term deleted (u_t + u_xxx = 0) has NO soliton — the pulse collapses to 0.57× while KdV holds 0.9998×

Method

The original Zabusky–Kruskal conservative leapfrog (PRL 15, 240 (1965)) for u_t + 6u·u_x + u_xxx = 0 on a periodic box — only the PDE is discretized; sech² humps are the initial data (as in ZK 1965) and every claim under test is an output. Peak trajectories are located by parabolic sub-grid refinement and fit linearly in windows placed ONLY where the solitons' exponential tails no longer overlap (fit points require peak separation ≥ 4/κ₂ + 2/κ₁; at gap 6 a wide soliton's sech² tail displaces the other's peak at the 1e-2 level — measured, then excluded by design). The phase shift is the intercept jump between the pre- and post-collision trajectory lines; a Δx-halving ladder N ∈ {320, 640, 1280} (Δt = 0.084·Δx³ throughout) gives the emergent convergence order and the Richardson value gate A scores. 11 gates: fast/slow phase shifts + emergent q, elastic restoration, merged-hump height, 4-amplitude speed law with emergent power fit, Δx-halving speed convergence, linear-dispersion rival, 4-point κ₂ perturbation sweep, ∫u/∫u² conservation, and a 24-seed noisy-measurement recovery (windowed-LSQ-quadratic peak relocation under σ_u = 0.03 per-point noise). All known values live in scripts/oracles/kdv.reference.json, loaded ONLY to score. Plus 5 module-honesty certificate gates (J–N) that EXECUTE the shipped KdVSolitonModule.ts — see module_systematics. ~16 s. ?world=kdv.

Measurements, controls & cross-checks

Ladder

N
  • 320
  • 640
  • 1280
Kappa1 dx1
  • 1.12603
  • 1.10521
  • 1.10022
Emergent q
2.061
Raw finest rel
0.00146
Note
the raw finest-grid shift carries the scheme's full O(Δx²) systematic; the q = 2 Richardson extrapolation lands 26× closer — the continuum limit is the IST value, not a mesh artifact

Slow soliton

Dx2
-2.197374
Exact
-2.1972246
Rel
6.8200e-5
Note
the slow soliton is dragged BACKWARD by −ln3/κ₂ — the fast one gains exactly what the interaction geometry dictates, in each soliton's own width units

Elastic pass through

Post amplitudes
  • 2.00059
  • 0.50003
Exact
  • 2
  • 0.5
Amp rel
  • 0.0003
  • 6.5000e-5
Speed change rel
  • 8.7000e-7
  • 4.5000e-5
Note
after a fully nonlinear collision both solitons re-emerge with their original shapes and speeds — the ONLY memory is the phase shift

Merged hump

Measured
1.49972
Exact 2k1sq minus 2k2sq
1.5
Rel
0.000188
Superposition prediction
2.5
Note
at the symmetric instant the two solitons form a single hump of height 2(κ₁²−κ₂²) = 1.5 — 40% BELOW the linear-superposition sum a₁+a₂ = 2.5 (Hirota tau-function value, verified against a direct numerical evaluation of the exact 2-soliton during oracle construction); nonlinear interaction is not addition

Speed law

Kappas
  • 0.5
  • 0.7
  • 0.9
  • 1.1
Worst rel
0.00151
Emergent fit
c = 1.9983·a^0.9994
Expected
c = 2·a^1
Note
Russell's 1844 taller-is-faster, quantitative: both the exponent and the prefactor emerge from four independent single-soliton runs

Convergence

Speed err ratio on dx halving
3.99
Emergent q
1.998
Phase shift q
2.061

Perturbation sweep

Kappa2
  • 0.35
  • 0.45
  • 0.55
  • 0.65
Dx1 rel errors
  • 0.00125
  • 0.0013
  • 0.00149
  • 0.00171
Rms
0.00145
Note
Δx₁ tracks ln((1+κ₂)/(1−κ₂)) across speed ratios 8.2→2.4, crossing the Lax single-hump/double-hump regime boundary at c₁/c₂ = 3 — the formula holds on both sides

Rival linear dispersion

Linear peak ratio at t1.5
0.573
Kdv peak ratio
0.9998
Linear shape L2
0.707
Kdv shape L2
0.0007
Note
delete the 6u·u_x term and the identical initial hump disperses into an Airy tail — no shape-preserving wave, no speed law; and superposition's two collision predictions (peaks add to 2.5, zero phase shift) both fail by three orders of magnitude more than the numerics

Conservation

Mass drift rel
4.3000e-15
Momentum drift rel
1.3500e-8
Note
the ZK scheme conserves ∫u to machine precision and ∫u² to 1e-8 across the whole collision — the integrator is faithful; the soliton claims rest on the measured dynamics, not on conservation alone

Noisy recovery

Seeds
24
Sigma u
0.03
C
2.55837 ± 0.00078
Same grid clean
2.55701
Se dist
1.76
Rel vs exact
0.000635
Note
windowed least-squares quadratic around a smoothed argmax (symmetric peak — no skew bias), trajectory slope over 31 snapshots; the estimator is unbiased vs the same-grid noiseless value at 1.76 SE

What it reduces to

The exact two-soliton interaction of the Korteweg–de Vries equation: phase shifts Δx_i = ±κ_i⁻¹·ln((κ₁+κ₂)/(κ₁−κ₂)) (Lax, Comm. Pure Appl. Math. 21, 467 (1968); GGKM inverse scattering, PRL 19, 1095 (1967)), the 1-soliton speed law c = 4κ² = 2a (Zabusky–Kruskal, PRL 15, 240 (1965)), and the merged-hump height 2(κ₁²−κ₂²) from the Hirota tau function (PRL 27, 1192 (1971)). It VALIDATES, not derives: the generator is the bare PDE plus the 1965 finite-difference scheme — the sech² profile appears only as initial data (exactly as in Zabusky–Kruskal's own experiment), while the phase-shift formula, the ln 3, the speed law's 2 and 1, the elastic restoration, and the 1.5 are all measured OUTPUTS present only in the reference file's scoring targets. Non-circularity: no scattering transform, no tau function, no closed form of any tested law is in the recovery path (tamper test: falsifying known_value flips exit to 1 with the recovered 1.098552 unchanged). The decisive control is structural: the SAME machinery with the nonlinear term deleted (pure dispersion u_t + u_xxx = 0) produces no soliton at all — the hump collapses to 0.57× by t = 1.5 — and linear superposition's collision predictions (merged height 2.5, phase shift 0) are each wrong by ~40% and ~∞ respectively where the integration returns 1.5 and ln 3. This is the lab's first integrable-PDE / soliton oracle, the nonlinear counterpart of the emwave linear-PDE world, and closes the loop opened by the FPUT world: ZK invented solitons to explain the FPUT recurrence.

Module systematics

CERTIFIED HONEST BY EXECUTION (refiner honesty cert): scripts/kdv-derisk.mjs gates J–N execute the shipped KdVSolitonModule.ts (sha256-pinned, 36 mechanical TS-strip pairs each asserted to occur exactly once, run via new Function under recorder Babylon/DOM stubs). (1) The init speed-law measurement === a statics op-order replica BIT-FOR-BIT (all 5 {a, c} doubles), and it is EARNED: every dot's c ≠ 2a in doubles, all below the law (the mesh-dispersion low bias the old finding disclosed by estimate — now measured: rel 2.4e-4 … 1.58e-3 over a = 0.5 … 2.5). (2) 384 live engine calls (= EXACTLY 520 leapfrog substeps each — deterministic, no accumulator, no RNG) are bit-exact vs the lockstep replica at EVERY call: all three leapfrog levels (512 pts each), ∫u/∫u² drifts, tracked amplitudes, and the 8192-float thin-instance wave buffer; the %6 HUD is LIVE (64 writes, 63 distinct payloads, bit-equal to the template at every write) while the chart is FROZEN at its single init write — the frozen/live split proven, not assumed. (3) The dot-vs-law gap is PRICED with owner named: an N=256 replica of the module's own measurement scales each gap by 3.78–3.98× (emergent q = 1.92–1.99 ∈ [1.6, 2.4]) — pure O(Δx²) mesh dispersion; and the worst dot-to-line gap is 0.148 px on the 130-px chart: the old finding's 'invisible at chart scale' claim now VERIFIED by execution while the doubles differ. (4) Conservation claims measured over the certified run (t ≈ 8): ∫u abs drift 1.5e-14 (roundoff), ∫u² rel drift max 1.61e-8 ∈ [5e-9, 5e-8] — the doc's ~1e-8 claim TRUE. (5) On-screen restoration after the interaction: 2 − 1.99949 = 5.1e-4 and 0.9 − 0.90000 = −2.1e-6, inside derived ceilings (grid-sampling dip a·κ²Δx²/4 + mesh scar scaled from oracle gate B). (6) The executed measurement path is answer-free: the speed push is c: d/T from tracked peak displacement — no 2a, no 4κ², no ln anywhere in it; _soliton's c = 2a width–amplitude construction is INITIAL DATA only (def + 3 initial-fill call sites, the same relation as the oracle's hump()), and a planted-violation self-test proves the scanner live. OVERCLAIM CAUGHT AND FIXED by the cert: the module claimed the two solitons 'merge into a single lump' — measured, the live pair (a = 2.0/0.9, speed ratio 4/1.8 ≈ 2.22 < 3) is in Lax's double-hump EXCHANGE regime: the peak count never drops below 2 (the tallest dips to 1.3482 at call 217, t ≈ 4.53); doc comment and HUD line corrected to 'they exchange' — zero numeric change (all pinned doubles bit-identical before/after the wording fix). Tampers surgical: known_value → only A/A2 fail, recovery unchanged; cert sha → only J; post-strip 1-ulp HSCALE → only J's doubles-pinned statics check fails — the Float32 wave buffer ABSORBS a 1-ulp double tamper, so every string and f32 pin stays green BY DESIGN. 16/16 in ~16 s.

Notes

Estimator lesson recorded: a soliton peak sitting on another soliton's sech² tail is displaced by (tail slope)/|u''| — at peak separation 6 with κ₂ = 0.35 this biased the phase shift at the 1e-2 level while LOOKING like a clean linear trajectory fit. Fit windows must require separation ≥ ~4 decay lengths of the WIDER soliton (here 4/κ₂ + 2/κ₁). The bias also partially cancelled the mesh systematic at the main pair — the first 'passing' number was right for the wrong reason; the honest window plus Richardson ladder replaced luck with convergence. Cert micro-lesson (#112): a Float32 display buffer ABSORBS 1-ulp double tampers (f32 rounding quantizes them away), so a cert of an f32-rendered world needs at least one doubles-pinned statics/state gate as the ulp tripwire — string and f32 pins alone are blind at that magnitude; and when a module states a regime-dependent qualitative claim ('merge into a single lump'), CHECK ITS OWN SCENARIO's regime by execution — this pair sits on the exchange side of the Lax c₁/c₂ = 3 boundary and never merges (5th overclaim caught by execution across the cert program).

Confidence & reproduction

Confidence
high
Validation
derisk-pass
Re-run the check
npm run derisk -- kdv (scripts/kdv-derisk.mjs)
Oracle
scripts/oracles/kdv.reference.json

Sources

N. J. Zabusky & M. D. Kruskal, Phys. Rev. Lett. 15, 240 (1965); C. S. Gardner, J. M. Greene, M. D. Kruskal & R. M. Miura, Phys. Rev. Lett. 19, 1095 (1967); P. D. Lax, Comm. Pure Appl. Math. 21, 467 (1968); R. Hirota, Phys. Rev. Lett. 27, 1192 (1971); D. J. Korteweg & G. de Vries, Phil. Mag. 39, 422 (1895); J. S. Russell, 'Report on Waves', BAAS (1844); P. G. Drazin & R. S. Johnson, Solitons: An Introduction (CUP 1989) ch. 3–5.

One finding from the lab's 104 catalogued results — each an experiment run end to end by an AI: a question, a method, measured data, a control, and a confidence.