aidoesscience
aidoessciencefindings › Compton scattering
ValidatingOracle-validated

The photon carries momentum

When light bounces off an electron, does its wavelength change? Classical wave theory (Thomson scattering) says no — the electron re-radiates at the driving frequency, so Δλ=0 at every angle. What does treating light as a photon that carries momentum p=h/λ predict instead, and by how much?

Measured by the lab
2.4263e-12
Known value
2.4263e-12
Relative error
5.40e-12

Units: m (electron Compton wavelength λ_C = h/(m_e c), CODATA 2018)

▶ Run this simulationRead how it works

The finding

The photon carries momentum: the Compton wavelength λ_C = h/(m_e c) = 2.4263 pm recovered as the SLOPE of Δλ vs (1−cos θ) from relativistic energy+momentum conservation alone — never the shift formula — with the shift independent of the incident wavelength, and a no-recoil (classical Thomson) control collapsing it to Δλ=0 at every angle

Method

For a photon of energy E=hc/λ and momentum p=E/c striking a free electron at rest (rest energy m_e c²), SOLVE relativistic conservation of energy (E + m_e c² = E' + E_e) and momentum (the two photon+electron components) for the outgoing photon energy E' at each scattering angle θ, by root-finding the single squared-conservation residual f(E') = E' + √((E−E'cosθ)² + (E'sinθ)² + (m_e c²)²) − (E+m_e c²) = 0 (bisection, monotone, unconditionally convergent). The closed-form shift λ'=λ+λ_C(1−cosθ) is NEVER written — the linear dependence with slope h/(m_e c) is read off afterwards. Recover λ_C as the least-squares slope of the measured shift Δλ=λ'−λ against (1−cosθ) over eight angles (15°–180°). Repeat for four incident lines (Mo Kα 70.9 pm, Cu Kα 154 pm, a hard γ line 21 pm, Ag Kα 55.9 pm) → mean ± spread. Controls: (E) at each root the electron KE from energy loss (E−E') must equal the KE built from the conserved momentum (√((p_e c)²+(m_e c²)²)−m_e c²) — both laws hold at once; (F) 90° must give exactly λ_C and 180° exactly 2λ_C (the back-scatter maximum); (G) rerun the IDENTICAL solver with the electron mass ×10⁶ (the no-recoil / infinite-mass limit that IS the classical wave picture) and show the slope collapses to ≈0. λ_C = h/(m_e c) is loaded from the reference only to score.

The law it recovers

Δλ = λ' − λ = (h/(m_e c))(1 − cos θ) = λ_C(1 − cos θ); the shift is set only by the electron mass, not the incident wavelength

Measurements, controls & cross-checks

Recovered multiline mean

2.4263e-12

Recovered multiline std

1.4800e-25

Intercept rel

8.8700e-14

Linearity r2

1

Lambda independence spread rel

1.5000e-13

Energy momentum residual

0

Energy momentum ke mismatch

3.6000e-12

Cross checks

Theta 90 shift pm
2.4263
Theta 90 rel error
5.5000e-12
Theta 180 shift pm
4.8526
Theta 180 rel error
5.5000e-12
Note
at 90° the shift equals λ_C, at 180° it is 2λ_C — matching Compton's 1923 measurement of ~0.024 Å at 90° for Mo Kα.

Control

Name
classical no-recoil / Thomson-wave limit (m_e ×10⁶)
Control slope m
2.4500e-18
Compton over control
990000
Note
a target that cannot recoil takes momentum but no energy, so Δλ→0 at every angle — the classical wave prediction. The Compton slope is ~10⁶× larger, cleanly falsifying it.

Module honesty

Status
validated + honest module — every on-screen number is pinned bit-exact from a verbatim transcription of ComptonModule's own deterministic pipeline, its display constants are audited for honesty, and its least-squares implementation is reconciled with the oracle's to one ulp
Module protocol
ComptonModule is fully DETERMINISTIC (no RNG; the entire pipeline — bisection conservation solve at 8 angles, Δλ vs (1−cosθ) least squares, the Cu-Kα λ-independence check, and every HUD/chart string — runs ONCE at init; render() is a no-op). The derisk transcribes it verbatim and pins strict-=== at full float precision (gates M1–M4): all 8 per-angle shifts (8.267451654989755e-14 … 4.852620477366476e-12 m), λ_C fit 2.426310238683124e-12 m, intercept 2.1608477915813955e-25 m, E₀ 17.487193008914005 keV, the λ-independence residual 8.142559154818866e-25 m, the back-scatter row, the full 9-line HUD textContent, the chart label, and the complete chart SVG string. The module and oracle share the same bisection solver by construction (disclosed), so the genuinely independent cross-check is the FIT: the module's non-centered normal-equation lsq ((n·Σxy−ΣxΣy)/(n·Σx²−(Σx)²)) vs the oracle's centered lsq differ by 8.1e-28 m = 3.3e-16 relative — ONE ulp — gated a-priori at κ·n·ε = 1e-14 (κ ≈ 2.5 from the design matrix, gate M5).
Derived error bound
The module-fit-vs-λ_C gates (M6/M9/M10) use a DERIVED solver-conditioning bound, not a flat tolerance: bisection converges to the root of the FLOAT residual, whose evaluation noise is ~4ε·(E₀+mₑc²) (mₑc² = 511 keV dominates the ~10–60 keV photon), |f′| ≈ 1, so |δE′| ≤ 4ε·(E₀+mₑc²); that levers into δλ′ = (hc/E′²)·δE′ (worst at 180°, smallest E′) and into the slope via the design-matrix lever Σ|xᵢ−x̄|/Sxx computed exactly from the angle grid. Measured misses sit at 1.2% (Mo Kα, 1.32e-14 vs bound 1.11e-12), 2.9% worst-line (λ-independence over Cu Kα/Ag Kα/hard-γ, each against ITS OWN per-line bound — a softer line has a proportionally larger lever, Cu's bound ~4.6e-12), and 1.8% (5-angle subgrid, lever ~2× from the narrower x-spread). FIRST-ATTEMPT LESSON, disclosed: the initial flat 1e-13 perturbation gate failed for Cu Kα (1.37e-13) because it ignored the mₑc²/E₀ conditioning; the fix corrected the bound derivation, never the tolerance-to-pass.
Display honesty
The HUD's 'theory 2.4263e-12' is a truncated display constant LC_THEORY = 2.4263102386e-12 (3.42e-11 relative below h/(mₑc) from the module's own constants) — display-only, never in the solve, and gate M8 proves fit.toExponential(4) === theory.toExponential(4), so the screen never shows a discrepancy it doesn't have. The 'Δλ(Mo Kα) − Δλ(Cu Kα) max = 0.000 pm ≈ 0' line is honest: the actual float residual is 8.1e-13 pm, gated to render exactly '0.000'. 'intercept 2.2e-25 ≈ 0' is 8.9e-14 of the fit (gate ≤ 1e-12). The known-vs-recovered rel 5.41e-12 decomposes exactly: 5.396e-12 is CODATA-2018 λ_C rounding vs h/(mₑc) built from the exact-SI h and CODATA mₑ inputs (integrity gate M7 binds known_value to the input constants at ≤ 1e-11, so a known_value tamper can never be vacuous), plus 1.3e-14 solver/fit roundoff.
Hud replica
The full 9-line HUD (#phs-c textContent), the chart label innerHTML, and the complete _buildChart() SVG are rebuilt exactly as _buildPanels() builds them and pinned VERBATIM as single strings (gate M4). The scene is fully static — no animated strings to regex-gate.
Live readback
Live headless read-back of the BUILT worktree (npx vite preview + playwright-core, channel chrome): 5/5 checks — #phs-c.textContent and the chart label byte-identical to the pins; the chart SVG identical under same-serializer normalization (the DOM serializer rewrites self-closing tags, so the pin is normalized through the same document.createElement round-trip before comparing — a serializer artifact, not a content difference).
Module rival
The no-recoil rival (mₑ×10⁶) was additionally run through the MODULE's own pipeline (its solver, its non-centered lsq): |slope| 2.45e-18 m < 1e-17 with 9.9e+5× separation — the module protocol, not just the oracle protocol, rejects the classical wave picture.
Tamper
Tamper self-test exits 1 both ways: a known_value edit (2.4263→2.5163e-12) trips 3 gates (A canonical, F cross-checks, M7 integrity) with the recovered value unchanged; a last-digit edit of the lc_fit_m pin (verified to parse to a DIFFERENT double per lesson #64) trips the strict-=== gate M2.

What it reduces to

Compton's 1923 result (A. H. Compton, Phys. Rev. 21, 483; Nobel Prize 1927) — the demonstration that light scattering off an electron shifts to a longer wavelength by Δλ = (h/m_e c)(1−cos θ), which can only be explained if the photon is a particle carrying momentum p = h/λ. It VALIDATES, not derives: the lab assumes only relativistic energy–momentum conservation for a photon–electron collision (from which the shift follows) and shows the emergent, measurable slope of Δλ vs (1−cos θ) is the electron's Compton wavelength λ_C = h/(m_e c) = 2.4263 pm, recovered to ~5×10⁻¹² without λ_C ever entering the conservation solve. It is non-circular on four fronts: E' is found by root-finding the squared conservation residual (never the closed-form shift), so the linear (1−cos θ) law with slope h/m_e c is emergent; the fitted line passes through the origin (intercept ≈ 0) with R² = 1; the shift is INDEPENDENT of the incident wavelength (identical λ_C for Mo Kα, Cu Kα, Ag Kα and a hard γ line — a thing the classical wave theory has no parameter to produce); and each root simultaneously conserves energy AND momentum (the electron KE from energy loss equals the KE from the conserved momentum). The decisive control is the no-recoil limit: rerunning the identical solver with an effectively infinite electron mass (the classical Thomson-wave picture, in which the electron re-radiates without recoil) collapses the slope to ≈0 — Δλ = 0 at every angle, exactly the wave prediction Compton overturned. It does NOT derive h, m_e or the Klein–Nishina intensity distribution; it establishes that the photon's billiard-ball momentum, and only it, produces the observed wavelength shift. The fourth pillar of early quantum theory in the lab and the exact converse of ?world=debroglie (matter shown to be wavelike, recovering the same h): here a wave (X-rays) is shown to be particle-like, carrying momentum. Distinct from ?world=rayleigh, the ELASTIC dipole re-radiation (Δλ = 0, wavelength-scaling λ⁻⁴) that Compton scattering's classical control reproduces.

Confidence & reproduction

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

Sources

A. H. Compton, 'A Quantum Theory of the Scattering of X-rays by Light Elements', Phys. Rev. 21, 483 (1923); Nobel Prize in Physics 1927. CODATA 2018 Compton wavelength λ_C = 2.42631023867(73)×10⁻¹² m = h/(m_e c). The independence of the shift from the incident wavelength and its vanishing in the no-recoil limit are the two facts that distinguish the photon (particle) picture from classical Thomson wave scattering.

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.