axiom

Case study · design before data

GEIGER-1911: where do you point the detector?

An atom is neutral and it holds electrons. Where is the positive charge that balances them — concentrated in a small hard centre, or spread through the whole atom? Both answers fit everything known in 1910. This page is the experiment that tells them apart, planned before it is run: nothing here is fitted until the last section, because the deliverable is a set of angles, an aperture geometry, a time allocation and a stopping rule.

The move the whole thing rests on

Two hypotheses become one parameter

Nothing in axiom.design scores “hypothesis A against hypothesis B”. Everything in it scores a parameter. So the first job is to find the number the two atoms differ in — and it exists, and it is physical.

An alpha of charge 2e fired head-on at a charge 79e stops and turns around at D = 2zZe²/4πε₀E. A trajectory scattered through θ comes no closer than (D/2)(1 + 1/sin(θ/2)), so a positive charge of radius R kills the scattering past sin(θcut/2) = 1/(2R/D − 1). The two atoms are two values of that, and the model is continuous between them.

THE BEAM

7.68 MeV alphas

Radium-C′ on a 0.4 µm gold foil, 200,000 of them a second. Each one crosses about 1,351 atoms on the way through.

59.2 fm closest approach head-on — the smallest distance in the experiment

THE DIFFUSE ATOM

Charge everywhere

The positive charge fills the whole atom, R = 1.35e-10 m. The alpha is already inside it by a fortieth of a degree.

0.025° past which single scattering is dead

THE HARD CENTRE

Charge in a point

Below D/2 the beam never reaches the charge at any angle, the cut-off disappears, and the Coulomb law holds out to 180°.

6.7 decades between the two, on one axis

The ceiling, in four lines of arithmetic

That denominator goes to zero. Once R ≤ D/2 every charge ball predicts exactly the same thing, so the resolving power of this experiment is 29.6 fm and it is set by the beam energy alone — no exposure, no aperture, no number of counts moves it. The gold nucleus is four times smaller than that. The experiment returns an upper bound on the size of the positive charge, never a value, and it is worth knowing that before spending two hundred hours rather than after.

What the two atoms predict

They agree below a degree and diverge by a hundred million by five

Below about a degree both curves are the same multiple-scattering core — the pile-up of a thousand glancing encounters that both atoms produce — and the difference is a factor, not a fact. Then the diffuse atom’s prediction falls off a cliff, a Gaussian dying against a power law, and by five degrees it has gone under the counting background and stays there.

Scattered particles per steradian per second

Both axes logarithmic. The horizontal line is the background the counter records with the foil taken out.

a hard positive centre charge spread through the atom

scattering.rate_per_steradian(angles, world) — one forward() per point, for both worlds

Which angles

The information is at five degrees. The evidence is at a hundred and fifty.

For a choice between two hypotheses the expected information gain has a closed form — the Kullback–Leibler divergence between two Poisson counts — so every angle can be priced in nats per hour before anything is built. A human at a scintillation microscope counts about 90 flashes a minute before missing them, so every station from half a degree to seventy-five collects the same counts an hour and what differs is what the diffuse atom has to say about them.

On that reading the answer is unambiguous and it is not the one folklore gives: an hour at 5° is worth 97,364 nats and an hour at 150° is worth 4,895 — twenty times less.

Except that the five-degree number is a statement made inside a model

It assumes the width of the multiple-scattering core, which is a fitted quantity and is exactly what a defender of the diffuse atom would attack: your core is wider than you think. The defence is not free — the beam is conserved, so a core f times wider is f² times lower at the peak, and an adversary who widens it to explain a wide-angle count makes the small-angle counts come out wrong. So there is a worst case rather than a slippery slope, and it can be found by minimizing.

The same hour, before and after the opposition has chosen its core

The lower line is the least evidence a station still carries once the diffuse atom may pick any core up to thirty times the fitted width — twenty degrees rms, five times wider than any plate measurement of the period.

if the model of the core is right the worst core the opposition can pick

scattering.surviving_evidence(angles, aperture, 3600) — the Poisson KL minimized over the adversary’s core

Where the information was, it evaporates. Where it looked wasted, it does not move: at a hundred and fifty degrees the evidence is 4,895 nats against 4,895 believed — unchanged to four figures, because a core wide enough to reach a hundred and fifty degrees has had its peak destroyed by the f² penalty and is refuted somewhere else instead.

The eight foil-in stations of the plan, priced both ways. “Kept” is the share of a station’s evidence that survives the attack; the last column is its share of all the evidence that survives.
anglerolehoursnats/h believed nats/h attackedkeptshare of surviving
1.0°anchor 5 2,744 2,696 98% 2.4%
2.5°anchor 5 13,029 2 0% 0.0%
5.0°bank 10 97,394 18 0% 0.0%
10.0°bank 10 82,606 32 0% 0.1%
20.0°bank 10 67,717 1 0% 0.0%
45.0°bank 15 50,649 532 1% 1.4%
90.0°witness 25 20,659 536 3% 2.3%
150.0° witness 110 4,870 4,870 100% 93.8%

What each station is worth, before and after the argument

Grey is the evidence an hour buys if the model of the core is believed; green is what survives the opposition choosing its own. The rule joining them is what the argument costs that station. Drawn in log₁₀ because the range across stations is five orders of magnitude.

scattering.surviving_evidence(angles, aperture, 3600) against weight_of_evidence(mu_hard, mu_diffuse)

Which is why the plan spends 110 of its 200 hours at a hundred and fifty degrees — the opposite of what the evidence-per-hour calculation says, and right, because evidence-per-hour is computed inside the model that is under attack. The allocation is lexicographic rather than optimal: buy every constraint the argument will need, as cheaply as it can be bought, then spend the rest where the evidence cannot be talked out of.

How far back the witness has to sit

As far as the widest core anybody will concede

Thirty-fold was a choice, and the answer moves with it. Somebody who will concede only a threefold error in the core needs a much less awkward apparatus than somebody arguing with a sceptic who will concede thirty. That trade is a curve, and it is the design’s actual specification for the wide-angle station.

The angle past which a station’s evidence is untouched — within one per cent — by any core the opposition is allowed to build.
the opposition may claim a corerms scattering immune beyond
3× the fitted width 2.0° 14°
5× 3.3° 23°
10× 6.5° 45°
20× 13.1° 88°
30× 19.6° 130°

The witness angle, as a function of how wrong the core may be

Concede more to the opposition and the station has to move further round the apparatus. The curve is the specification; the table above is five points on it.

scattering.surviving_evidence(..., factors=geomspace(0.3, cap)) at five allowances

To be immune against a core thirty times the fitted one, the witness has to sit past 130 degrees. Which is, to within the width of a slit, where Geiger and Marsden put theirs.

What to cut in the brass

An annular slot, not a hole

A detector opening covering azimuth φ and θ ± δ subtends exactly φ · 2 sin θ sin δ. So the same solid angle — the same counts an hour — can be bought by opening in δ or by opening in φ, and only one of them costs anything. The scattering pattern does not depend on azimuth, so an aperture stretched round the beam axis collects more counts of exactly the same measurement; one stretched in θ collects counts of a different measurement and averages them together.

The prescription follows: hold the radial half-width at the workshop’s floor of 0.05° and take every additional steradian out in azimuth, opening radially only once the arc has closed into a full annulus.

The same aperture at the same station, bought two ways. Both admit identical counts; the error is what a model that ignored the width of its own aperture would be wrong by.
stationslot half-widthslot arcslot error round hole half-widthhole error
5° 0.05° 2° 0.020% 0.22° 0.40%
10° 0.05° 16° 0.005% 0.63° 0.80%
20° 0.05° 126° 0.001% 1.78° 1.62%
45° 0.20° 360° 0.004% 6.01° 3.86%
90° 0.91° 360° 0.025% 12.87° 5.21%
150° 1.82° 360° 0.054% 18.27° 5.63%

The same solid angle, bought two ways

Every pair admits identical counts at identical stations. The only difference is the shape of the brass — and the slot is the one that reports a rate belonging to the angle it is pointed at.

scattering.aperture_bias(theta, half_width, arc, world) — forward() integrated across the opening against its value at the centre

At ninety degrees the two openings admit exactly the same 0.2 steradians. The slot is ±0.91° wide and reports the rate to a part in four thousand. The hole is ±12.9° wide — it runs from seventy-seven degrees to a hundred and three — and reports a number 5.2 per cent too high that belongs to no angle in particular. Fourteen times the angular resolution and two hundred times less smearing, for the same counts, because the scattering does not care about azimuth and the experimenter can.

And the anchor cannot be moved closer to the beam

The smearing error scales as 2(δ/θ)² with δ pinned at the workshop’s floor, so it grows as a station moves inward, while the counting error stays flat — the counter is rate-capped, so ten hours is ten hours’ worth of counts wherever it points. They cross at 0.9°. Inside that the number is limited by brass rather than by counting, which is why the anchor sits at 1.0° and 2.5° and not at half a degree.

When to stop

The decisive observation takes five hours. The rest buys the bound.

A hundred and ten hours at a hundred and fifty degrees is the largest single commitment in the plan, and there is no reason to make it blind. The station has a clean interim statistic — counts against a background the foil-out run has measured — and obrien_fleming budgets the looks so that watching costs no error rate. At 857 counts an hour of signal against 1.08 of background, it crosses at the first look.

So the question the rule is really being asked is not will this settle it. It is how weak a source would still settle it — which is the question that decides whether an apparatus is worth building.

Operating characteristics of the witness station, computed exactly rather than simulated, as the source is scaled down.
source strengthdrift at 110 hP(stop) expected hours used
×1 — as modelled 307 100.0% 5 h
×0.01 28.9 100.0% 15 h
×0.001 — a thousand times weaker 6.5 100.0% 43 h
×0.0003 2.33 74.6% 95 h
×0.0001 0.83 20.5% 108 h

One of those weaker campaigns, watched

A source a thousand times the modelled one is weak enough that the crossing is an event rather than a foregone conclusion. The boundary falls as information accumulates — an early look has to clear a much higher bar, which is what buys the right to look at all.

O’Brien–Fleming boundary counts against the measured background

axiom.design.obrien_fleming(0.05, looks, side="upper") · monitor(rule, z) on one simulated path

A source a thousand times weaker than this one still settles the question with certainty, in about forty of the hundred and ten hours. That is roughly the situation Geiger and Marsden were actually in — which is why their answer took months of nights at the microscope rather than an afternoon.

What comes back

A bound 10 per cent above the best this beam can do

The radius of the positive charge of gold

R < 33 fm

95%, one-sided. There is no lower bound to report and the profile says so by going flat — a charge the beam never reaches is a charge whose size does not enter any prediction.

the beam’s own floor set by 7.68 MeV alone — nothing left to buy with time 29.6 fm
how close the plan got the gap between the bound and the floor 10%
Rutherford, 1911 published from a smaller version of the same argument 34 fm
evidence, model believed expected log Bayes factor over the whole plan 4,367,913 nats
evidence, model attacked of which the two witness stations carry 96% 571,044 nats
Two hundred hours, run once against a hard centre. The right-hand column is what the diffuse atom said would happen.
stationhourscounted if diffuse
1.0° 5 26,701 8,051
2.5° 5 26,923 921
5.0° 10 54,744 0
10.0° 10 54,255 0
20.0° 10 54,316 0
45.0° 15 80,918 3
90.0° 25 74,864 27
150.0° 110 94,117 119
90.0° · foil out 10 11 11

The diffuse atom predicts exactly zero at four of the eight stations; the chart floors it at a tenth of a count so the axis stays finite. Every gap you can see is a lower bound on the real one.

Ninety-four thousand flashes at a hundred and fifty degrees where the diffuse atom accounts for a hundred and nineteen, every one of them background. There is no version of that which is a fluctuation.

The five notebooks

Everything on this page is computed by nbs/case-studies/rutherford/scattering.py, the world the five notebooks share — two atoms and one parameter, which angles, what shape to cut the aperture, how long and when to stop, and running it in both worlds. The mean is a hand-built expression tree and the first implementation of SupportsForward outside axiom.surface; counting is Poisson and forward() returns 2√µ, which makes fisher_information exactly the Poisson information. The decisions are in docs/notes/0018-case-study-rutherford.md.