Nonlinear Dynamics
Soliton
The wave that refuses to spread — where nonlinearity and dispersion fight to a perfect draw
A soliton is a self-reinforcing solitary wave in which nonlinearity balances dispersion, so the pulse keeps its shape and survives collisions intact.
- DefinitionSolitary wave with a self-stabilizing fixed shape
- BalanceNonlinearity cancels dispersion
- ModelKdV: u_t + 6·u·u_x + u_xxx = 0
- Profileu = (c/2)·sech²[(√c/2)(x − c·t)]
- SpeedProportional to amplitude — taller = faster
- CollisionsElastic — re-emerge intact with a phase shift
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
A soliton is a localized, self-reinforcing solitary wave that travels at constant speed without changing its shape — and that survives collisions with other solitons, re-emerging with its original profile intact.
It exists because of a precise standoff between two effects that would normally destroy any pulse:
- Dispersion — different frequency components travel at different speeds, which spreads a wave packet out and flattens it.
- Nonlinearity — the wave's speed depends on its own amplitude, which steepens the leading edge and piles the wave up.
When dispersion and nonlinearity exactly cancel, the wave locks into a fixed shape. It is not stubborn; it is balanced. The two destructive tendencies neutralize each other moment by moment.
The KdV equation
The canonical model is the Korteweg-de Vries equation, derived in 1895 to describe long waves in shallow water:
u_t + 6·u·u_x + u_xxx = 0
Read it term by term:
u_t— how the wave height changes in time.6·u·u_x— the nonlinear term. Because the local wave speed grows with the local heightu, taller parts of the wave move faster and steepen the front. Left alone, this would form a shock.u_xxx— the dispersion term. A third-derivative term spreads the wave out, flattening any steep gradients. Left alone, this would smear the pulse away.
Set those two destructive terms against each other and the equation admits a single-soliton solution that never changes shape:
u(x, t) = (c/2) · sech²[ (√c / 2) · (x − c·t) ]
This is a single smooth bump — a sech² hump — sliding rightward at speed c. Three properties fall straight out of the formula:
- Amplitude is
c/2— proportional to the speed. - Width scales as
1/√c— taller solitons are narrower. - Speed equals
c— so a soliton twice as tall moves twice as fast and is √2 times narrower.
How the balance works
Picture a smooth bump of water on a shallow canal. The crest, being higher, sits in slightly deeper effective water and moves faster than the leading edge — so the front face wants to steepen, exactly as the 6·u·u_x term predicts. If steepening were the whole story, the front would curl over into a breaking wave.
But dispersion (the u_xxx term) does the opposite: it lets short-wavelength ripples run ahead and drains energy off the steep front, smoothing it back out. For one special shape — the sech² profile — the rate of steepening from nonlinearity equals the rate of smoothing from dispersion at every point along the pulse. The shape becomes a fixed point of the dynamics. It is the analog of a marble resting at the bottom of a bowl, except the "bowl" is in the space of waveforms.
A worked example with numbers
Take a KdV soliton with c = 4 (in the equation's natural units). Plug into the solution:
- Amplitude:
c/2 = 2.0units of height. - Width parameter:
√c / 2 = 1.0, so the pulse drops to about 42% of peak (sech² of 1) one unit out from the crest. - Speed: it advances 4 units of
xper unit oft.
Now launch a second, shorter soliton with c = 1 ahead of it: amplitude 0.5, four times slower, twice as wide. The tall one (speed 4) closes the gap on the short one (speed 1) at a relative speed of 3 units per unit time. They overlap, merge into a single complicated lump for a moment, then separate — and a clean measurement afterward finds the tall soliton again at amplitude 2.0 and the short one again at amplitude 0.5, both perfectly restored. The only permanent change is a small forward jump in the fast soliton's position and a matching backward jump in the slow one's: the collision phase shift.
That this works for any pair of amplitudes — with zero energy lost to distortion — is the defining miracle of the soliton, and it is exactly what the interactive scene above demonstrates: two pulses of different speeds passing through each other and re-emerging intact.
Variants and regimes
"Soliton" is a family, not a single object. Different governing equations produce different soliton flavors:
| Equation | Soliton type | Physical setting | Key feature |
|---|---|---|---|
| KdV (u_t + 6·u·u_x + u_xxx = 0) | sech² hump | Shallow water, plasma ion waves | Speed ∝ amplitude |
| Nonlinear Schrödinger (NLS) | sech envelope | Optical fiber pulses, deep water | Bright soliton on a carrier wave |
| NLS (defocusing) | Dark soliton | Optics, Bose-Einstein condensates | A localized dip, not a bump |
| Sine-Gordon | Kink / antikink | Josephson junctions, crystal dislocations | Topological — counts a twist |
| NLS (higher order) | Breather | Fiber lasers, rogue waves | Oscillates in amplitude while localized |
| Toda lattice | Discrete soliton | Nonlinear spring-mass chains | Lives on a lattice, not a continuum |
Bright solitons are pulses of light on top of a dark background; dark solitons are notches of darkness on a bright background. Topological solitons (kinks) cannot be removed by any smooth deformation — they are pinned by a conserved integer winding number, which is why they behave so much like particles.
Worked regime: optical solitons in fiber
In a glass fiber, two effects again square off. Chromatic dispersion makes red and blue components of a pulse travel at slightly different speeds, smearing a bit across distance. The Kerr effect makes the glass's refractive index rise with intensity, which is the optical version of amplitude-dependent speed — the nonlinearity. Tune the pulse power so the Kerr-induced self-phase-modulation exactly compensates the dispersion, and the pulse becomes a fundamental NLS soliton that holds its width over thousands of kilometers.
This is not a curiosity — it underpinned a generation of long-haul telecom. A soliton pulse keeps bits from blurring into their neighbors, which is the limiting failure mode in plain dispersive transmission. The practical catch is loss: real fiber absorbs light, the pulse weakens, the Kerr balance drifts, so soliton links need periodic optical amplification (and dispersion management) to keep the balance from slipping.
Russell's wave of translation
The story begins in 1834, when naval engineer John Scott Russell watched a boat stop suddenly on the Union Canal near Edinburgh. The bow wave detached, rolled forward as a single smooth heap of water, and kept going. Russell chased it on horseback for one or two miles, watching it travel at "some eight or nine miles an hour, preserving its original figure" before he lost it in the canal's bends. He called it the Wave of Translation.
For sixty years his claim was disputed — Airy and Stokes argued no such permanent wave could exist. Korteweg and de Vries settled it in 1895 with the equation that now bears their names, showing the sech² wave is an exact solution. The modern era began in 1965, when Zabusky and Kruskal simulated KdV on a computer, watched the pulses pass through one another intact, and coined the word soliton to capture their particle-like permanence.
JavaScript — evolving a soliton numerically
// Analytic single KdV soliton: u = (c/2) sech^2[(sqrt(c)/2)(x - c t)]
function kdvSoliton(x, t, c) {
const arg = (Math.sqrt(c) / 2) * (x - c * t);
const sech = 1 / Math.cosh(arg);
return (c / 2) * sech * sech;
}
// Sample the c = 4 soliton at two times and confirm shape & speed
const c = 4, peak = c / 2; // amplitude = 2.0
const speed = c; // travels 4 x-units per t-unit
console.log("amplitude:", peak); // 2
console.log("crest at t=0 :", argmax(0)); // ~ 0
console.log("crest at t=1 :", argmax(1)); // ~ 4 (moved by speed*1)
function argmax(t) {
let best = -Infinity, bx = 0;
for (let x = -20; x <= 20; x += 0.01) {
const u = kdvSoliton(x, t, c);
if (u > best) { best = u; bx = x; }
}
return Math.round(bx);
}
// Two-soliton collision: tall (c=4) launched behind short (c=1).
// They overlap near t ~ 6, then separate with amplitudes restored.
function twoSolitonHeights(t) {
// crude superposition is only exact when far apart; good enough to
// see that peaks separate again with their original heights.
const tall = (x) => kdvSoliton(x + 12, t, 4); // starts left, fast
const shrt = (x) => kdvSoliton(x + 2, t, 1); // starts right, slow
let hi = 0, lo = 0;
for (let x = -25; x <= 40; x += 0.02) {
hi = Math.max(hi, tall(x));
lo = Math.max(lo, shrt(x));
}
return { tall: hi.toFixed(2), short: lo.toFixed(2) };
}
console.log(twoSolitonHeights(20)); // { tall: "2.00", short: "0.50" } — intact
Where solitons show up
- Fiber-optic telecom. Optical solitons keep pulses from smearing over long-haul links; Kerr nonlinearity balances chromatic dispersion.
- Shallow water and canals. The original setting — long, smooth surges that hold their shape, including tidal bores and some tsunami fronts.
- Internal ocean waves. Large-amplitude solitons travel along density interfaces deep below the surface, strong enough to threaten submarines and oil rigs.
- Bose-Einstein condensates. Bright and dark matter-wave solitons have been created and collided in ultracold atomic gases.
- Josephson junctions. Magnetic-flux quanta propagate as sine-Gordon kink solitons (fluxons), used in superconducting electronics.
- Biology and field theory. Proposed models of nerve-impulse propagation and crystal dislocations, plus topological solitons (kinks, vortices, skyrmions) across particle and condensed-matter physics.
Why integrability makes solitons special
KdV belongs to a rare class of exactly integrable nonlinear equations. In 1967, Gardner, Greene, Kruskal and Miura found the inverse scattering transform — a "nonlinear Fourier transform" that maps the evolution onto a linear scattering problem (a Schrödinger eigenvalue equation whose potential is the wave itself).
The payoff is dramatic. The discrete eigenvalues of that scattering problem correspond one-to-one with the solitons present, and they are conserved as the wave evolves. So any localized initial pulse eventually resolves into a fixed number of solitons — set from the very first instant — plus a small radiation tail that disperses away. This is why soliton collisions are elastic: each soliton is tagged by a conserved eigenvalue, so it cannot be created, destroyed, or reshaped by the collision; only its position can shift.
Integrability is fragile. Add loss, gain, a slightly wrong nonlinearity, or move off the special equation, and exact solitons become approximate "solitary waves" that hold shape while traveling but degrade in collisions. That distinction — true soliton versus mere solitary wave — is exactly the line that separates an integrable system from a generic nonlinear one.
Common misconceptions
- "A soliton is just a wave that doesn't disperse." Incomplete. Removing dispersion alone gives a steepening shock, not a stable pulse. The soliton needs both dispersion and nonlinearity, balanced.
- "All solitary waves are solitons." No. The "-on" implies particle-like elastic collisions, which only integrable systems guarantee. Many real solitary waves distort when they collide.
- "Solitons are linear superpositions." The opposite — they exist only because the medium is nonlinear. You cannot build one by adding sine waves, and their collision is not a simple sum.
- "Bigger solitons are wider." For KdV it's the reverse: taller means narrower (width ∝ 1/√c) and faster (speed ∝ amplitude).
- "Collisions leave no trace." Energy and shape are preserved, but there is a real, measurable phase shift in position — the fast soliton ends up ahead, the slow one behind.
- "Solitons last forever in any medium." Only in idealized lossless integrable systems. Real fibers and water have loss and higher-order effects, so solitons need amplification or eventually decay.
Frequently asked questions
What exactly is a soliton?
A soliton is a localized, self-reinforcing solitary wave that travels without changing shape. It exists because two effects that would normally destroy a pulse cancel each other: dispersion tries to spread the wave out, while nonlinearity tries to steepen and pile it up. When those two precisely balance, the pulse locks into a fixed profile — typically a sech-squared bump — and propagates indefinitely. Crucially, a soliton also survives collisions: two solitons can pass through each other and re-emerge with their original shapes and speeds, only shifted slightly in position.
What is the KdV equation and why does it matter?
The Korteweg-de Vries (KdV) equation is u_t + 6·u·u_x + u_xxx = 0. It is the simplest model that captures the soliton balance: the 6·u·u_x term is nonlinear advection (it steepens the wave, with taller parts moving faster), and the u_xxx term is dispersion (it spreads the wave). KdV was derived in 1895 to model shallow-water waves and has an exact single-soliton solution u(x,t) = (c/2)·sech²[(√c/2)(x − c·t)]. It matters because it is one of the few nonlinear PDEs that is exactly integrable — solvable in closed form via the inverse scattering transform.
How does a soliton keep its shape if it is a wave?
An ordinary wave packet is a sum of many frequency components. In a dispersive medium, each component travels at a slightly different speed, so the packet spreads and flattens over distance. A soliton avoids this because nonlinearity continuously re-sharpens the pulse at exactly the rate dispersion would flatten it. The two processes reach a dynamic equilibrium, so the net shape never changes. It is not that the soliton resists change — it is that the changes perfectly cancel.
Why do taller solitons move faster?
In the KdV soliton solution, speed equals amplitude: a soliton of height c/2 travels at speed c, and its width scales as 1/√c. So a taller, narrower soliton outruns a shorter, wider one. This amplitude-speed coupling is why a collision can happen at all — launch a tall soliton behind a short one and it catches up, merges briefly, then passes through. It is the opposite of linear waves, where speed is independent of amplitude.
What happens when two solitons collide?
They collide elastically. During the overlap the combined waveform looks complicated — for KdV the taller soliton appears to swallow the shorter one and re-emerge ahead of it — but once they separate, both solitons have exactly their original amplitudes, widths, and speeds. The only lasting trace is a phase shift: the faster soliton ends up slightly ahead of where it would have been, and the slower one slightly behind. This particle-like resilience is what earned them the suffix '-on', after particles like the electron and photon.
Where do solitons actually show up in the real world?
Optical fibers carry soliton pulses for long-haul telecom, where Kerr nonlinearity balances chromatic dispersion to keep bits from smearing across thousands of kilometers. Shallow water produces them as long, smooth bores — John Scott Russell first chased one on horseback along a canal in 1834. They also appear as internal waves in the ocean, tsunami-like surges, signals along nerve axons, magnetic-flux quanta in Josephson junctions, Bose-Einstein condensates, and topological kinks in field theory.
Is a soliton the same thing as a solitary wave?
Not quite. Every soliton is a solitary wave — a single localized pulse — but the term 'soliton' is usually reserved for solitary waves that also collide elastically and re-emerge unchanged, a property guaranteed only in integrable systems like KdV and the nonlinear Schrödinger equation. Many physical 'solitary waves' (in lossy or non-integrable media) keep their shape while traveling but get distorted in collisions; physicists sometimes call those 'solitary waves' rather than true solitons.
What is the inverse scattering transform?
It is the 'nonlinear Fourier transform' that makes KdV solvable. Discovered in 1967 by Gardner, Greene, Kruskal and Miura, it maps the nonlinear evolution problem onto a linear scattering problem (a Schrödinger eigenvalue equation). The discrete eigenvalues of that problem correspond exactly to the solitons present in the initial data — and they are conserved as the wave evolves. So any localized initial pulse eventually resolves into a fixed number of solitons plus a decaying radiation tail, with the soliton count fixed from the very start.