Shells and growth

The line was already exact

The boundary between shells whose whorls run into one another and shells whose whorls run free is quoted everywhere as D = 1/W, and a survey designed to measure how far off it sits found that it is not off at all. Located by bisecting the drawn circles at 481 expansions, the residual is 2.2 × 10⁻¹⁶ — the last bit a double holds, over the whole range.

Worth reading first: Raup's three numbers.

A coiled shell in Raup’s parameterisation has a whorl that expands by W in a turn and an opening sitting D from the coiling axis, and one line across that plane separates the shells whose whorls run into one another from the shells whose whorls run free. Every account of the model gives the line as W·D = 1, which is to say D = 1/W.

That is the kind of statement worth checking rather than repeating, because it is quoted as a convenience — the tidy expression somebody derived once for the easy case — and a convenience is usually an approximation. So the boundary was located instead: at each of 481 expansions log-spaced from 1.02 to 20, the two generating circles that share an azimuth a turn apart were drawn and the distance between them bisected to 200 steps, which is far past the point at which a double stops moving.

The residual against D = 1/W is 2.22 × 10⁻¹⁶ at worst and 7.14 × 10⁻¹⁷ on average. The convenience is the boundary.

The boundary located at 481 expansions, against D = 1/W. 481 expansions log-spaced across the range, each boundary found by bisecting the two drawn circles to two hundred steps rather than read off a grid. The hyperbola D = 1/W lies on the located curve to 2.220e-16 over the whole of it — the last bit of a double — so the textbook line is the boundary and not an approximation of it. The closed form and the bisection agree to 2.81e-15 at worst over all 3,200 located boundaries, which is what makes a residual of zero a reading.
Fig. 1 The located curve with the hyperbola drawn under it. The dashed line is D = 1/W and it is not visible as a separate object anywhere along the range, which is the result.

A zero is a reading or it is a floor

A measurement of zero is the least informative thing an instrument can return, because two quite different situations produce it. The quantity may be zero. Or the instrument may be incapable of returning anything else — a bisection that always converges onto the formula it was seeded from would print machine noise whatever the geometry did, and machine noise is what this looks like.

Separating those is the whole of the work here, and it is separated by moving the shell off the plane. The same bisection, the same circles, the same convergence criterion, run at a translation along the axis, returns a residual millions of times larger.

What the instrument returns when there is something to return

At a translation of a twentieth of a turn the worst residual is 2.262 × 10⁻³ — thirteen orders of magnitude above the flat reading, from the identical code. At a fifth of a turn it is 3.613 × 10⁻², which is 72.25 per cent of the hyperbola’s own value at its worst. At three turns it is 7.133 × 10⁻¹.

So the instrument is not stuck at zero. It has a working range covering fifteen decades and it reports a large number whenever there is a large number to report. The flat reading is therefore a reading.

The hyperbola's worst residual at eleven translations, from 2.2·10⁻¹⁶ upwards. Each bar is how far D = 1/W sits from the boundary located by bisecting the drawn circles, at 481 expansions log-spaced across the range, on a logarithmic axis. At no translation the worst residual is 2.220e-16 in axis distance, which is the last bit a double holds; at a translation of 0.05 it is 2.262e-3 and at 3 it is 7.133e-1. The same measurement returning something at every translation above zero is what stops the zero from being the instrument's floor.
Fig. 2 The worst residual at each translation the boundary was located at, on a logarithmic axis, with the last bit of a double marked. The warm bar is the flat coil and every other bar is the same measurement finding something.

The design that makes that argument work

The argument is a control rather than a calculation, and it is the same move a sample grid convergence study makes elsewhere in this collection: run the instrument at a setting where the answer is known to be non-zero and check that it says so.

What it cannot do is prove that no third situation exists in which the bisection would sit at its floor for a reason nobody thought of. It narrows the alternatives to one, which is what a control is for.

Two predicates, not one

A second check runs beside the first throughout, and it is independent of it. One predicate is geometric: take the two generating discs, compute the distance between their centres, and ask whether it is less than the sum of their radii. The other is algebraic: evaluate a closed form and read its sign.

Over 200,000 test points spread across the parameter box the two disagree in no case at all. That is not a check of the boundary’s position; it is a check that the two routes to it are the same route, which is what makes a residual measured along one of them meaningful.

The closed form, derived rather than quoted

Contact between a whorl and its successor is a quadratic in D. Writing the condition out, the whorls meet when

W·D² − (1 + W²)·D + W − T²(W − 1)² > 0

and the discriminant of that quadratic factors, which is the step that makes the whole thing tractable: it comes out as (W − 1)²·[(W + 1)² + 4W·T²]. A discriminant that factors into a square times a sum of squares has roots with no messy radical in them, and the roots are

D = [ (1 + W²) ± (W − 1)·√((W + 1)² + 4W·T²) ] / 2W

The upper root is W itself, which is outside the model — an opening further from the axis than the whorl’s own outer radius is not a shell. So the boundary is the lower one, and it is a single expression rather than a case analysis.

Where the radical goes on a flat coil

Set the translation to zero and the radical becomes √((W + 1)²), which is W + 1. The numerator is then (1 + W²) − (W − 1)(W + 1) = (1 + W²) − (W² − 1) = 2, and the whole expression collapses to 1/W.

That is the derivation of the textbook line, and it is worth having written out because it says exactly what the line is: not a first-order approximation to a curve, not the limit of a series, but the value the closed form takes when one of its three arguments is set to zero. An identity does not have a residual.

The bisection and the formula, checked against each other

The two are then compared at every one of the 3,200 boundaries located across all translations. Worst disagreement 2.81 × 10⁻¹⁵, mean 1.91 × 10⁻¹⁶.

Those numbers are about ten times larger than the flat residual, and that is the right way round. The formula involves a square root and four multiplications and each of them costs a bit; the bisection converges to the last bit of its own bracket. Two routes agreeing to within their combined arithmetic is what agreement looks like when nobody has arranged it.

One expansion, read off

The site’s own shell figures are drawn at an expansion of 2.4, and at that expansion the boundary sits at D = 0.416667. That is 1/2.4 to every digit a double carries, and it is where the located bisection puts it.

At W = 2.4 the boundary is D = 0.416667, located at 481 expansions. 481 expansions log-spaced across the range, each boundary found by bisecting the two drawn circles to two hundred steps rather than read off a grid. The hyperbola D = 1/W lies on the located curve to 2.220e-16 over the whole of it — the last bit of a double — so the textbook line is the boundary and not an approximation of it. The closed form and the bisection agree to 2.81e-15 at worst over all 3,200 located boundaries, which is what makes a residual of zero a reading.
Fig. 3 The same located curve with one expansion marked and its boundary printed. A single value is easier to check by hand than a curve, and this one is the reciprocal exactly.

Why the residual is worth stating twice

An absolute residual of 2 × 10⁻¹⁶ in axis distance means different things at different ends of the range, because the boundary itself runs from about 0.98 down to 0.05 across the expansions sampled. A fixed disagreement in axis distance is twenty times larger as a share of the boundary at the fast end than at the slow one, purely because the boundary is smaller there.

So the residual is also reported as a share of the hyperbola’s own value, and the flat reading there is 0.00 per cent — which sounds like a rounding and is not one. Stating a quantity in two units is the cheapest guard against a scale hiding something, and it is the guard a fitted growth exponent needs most.

The hyperbola's worst residual at eleven translations, from 2.9·10⁻¹⁵ upwards. Each bar is how far D = 1/W sits from the boundary located by bisecting the drawn circles, at 481 expansions log-spaced across the range, on a logarithmic axis. At no translation the worst residual is 2.905e-15 of the hyperbola's own value, which is the last bit a double holds; at a translation of 0.05 it is 4.523e-2 and at 3 it is 9.919e-1. The same measurement returning something at every translation above zero is what stops the zero from being the instrument's floor.
Fig. 4 The same eleven readings as a share of the hyperbola’s own value rather than in axis distance. The ordering does not change, which is the point of drawing it twice.

What was being measured before

The reason to locate a boundary that turns out to need no locating is that the collection had been reading it off a grid. A slice of the plane sampled at twenty-six steps in each direction is 676 cells, each one asked whether its whorls are in contact, and the boundary is whatever line separates the two colours.

That is a perfectly ordinary way to draw a morphospace and it has been the picture here from the beginning. It is also a measurement, and a measurement has an error.

Raup's morphospace, and the line where the whorls come apart. The curve is W·D = 1. Below it the whorls are in contact, above it they are free, and both regions hold real animals — what the geometry cannot say is which parts are occupied.
Fig. 5 The slice sampled at twenty-six steps in each direction, with the boundary drawn on it. The colour changes at a cell edge, so the best this picture can say about the boundary is which pair of cells it lies between.

Half a step, which is the best a grid can do

Reading the boundary off that grid exactly as a figure would — for each column of expansion, the last cell in contact and the first free cell bracket it, and the midpoint is the estimate — puts it out by 0.014931 at worst and 0.008491 on average.

The step in axis distance is 0.03520, so the worst error is a little under half a step. That is not a defect in the grid. It is what half a step means, and any grid of that pitch would do the same.

The twenty-six step grid places the boundary about half a step out, at worst 0.014931. 481 expansions log-spaced across the range, each boundary found by bisecting the two drawn circles to two hundred steps rather than read off a grid. The hyperbola D = 1/W lies on the located curve to 2.220e-16 over the whole of it — the last bit of a double — so the textbook line is the boundary and not an approximation of it. The closed form and the bisection agree to 2.81e-15 at worst over all 3,200 located boundaries, which is what makes a residual of zero a reading; the same boundary read off the twenty-six step grid the site's own morphospace samples is out by up to 7.23 per cent of its own value.
Fig. 6 Each column’s estimate joined to the located boundary beneath it, with the worst column marked. The estimates alternate above and below because a midpoint of a bracket does.

Where a uniform grid is worst

The worst relative error is 7.23 per cent and the mean is 3.10 per cent, and those are much worse than the absolute figures suggest, for a reason built into the object. The boundary is a reciprocal: it falls steeply at slow expansions and flattens towards nothing at fast ones. A grid uniform in axis distance therefore has its coarsest sampling exactly where the boundary is smallest.

This is the same shape of error as a period that was a resolution — a quantity read off a sampling whose step nobody compared against the quantity itself.

What refining buys

Doubling the grid halves the error, which is the first power of the step and is what a bracket midpoint gives. From twenty-six steps to four hundred and one, the cell count rises from 676 to 160,801 and the worst error falls from 0.014931 to 0.001096.

That is 238 times as many cells for 13.6 times the accuracy, and it is still an estimate. Locating the boundary directly at 481 expansions costs 1.4 seconds and is exact. The arithmetic of refinement is the argument for not refining.

The slow end, where the arithmetic was expected to give way

A reciprocal is the obvious place for floating point to misbehave, and the expansion range runs down to 1.02 where the boundary is close to one and the two circles are nearly the same size. Checked at eight expansions from 1.5 down to 1.00001, the bisection residual never exceeds 2.22 × 10⁻¹⁶ and is exactly zero at three of them.

The boundary at an expansion of 1.00001 is 0.999990000100, and the located value carries all twelve of those digits. Nothing gives way.

What does degenerate there, and it is the shell

The free band in axis distance — the range of D at which the whorls run free — is exactly (W − 1)/W, which is the complement of the boundary. At an expansion of 1.00001 that band is 1.000 × 10⁻⁵.

A shell there has a permissible whorl thickness of one hundred-thousandth of the radius it sits at: a hoop of foil. The model allows it and no animal could carry it. That is a degeneracy in the object rather than in the arithmetic, and it is the distinction worth keeping — a number that becomes absurd is not the same as a number that becomes wrong.

The one quantity here that is genuinely ill-conditioned

It is not the boundary. It is the displacement of the boundary below the hyperbola, which is the quantity the essay on translation is about.

Taken as the subtraction 1/W − D it throws away up to 13 of the 16 digits a double holds, because at small translations the two quantities agree to a dozen places. It is computed through the radical’s conjugate instead, which has no subtraction of nearly equal quantities in it. The ill-conditioning is real and it is somewhere else, which is the useful thing to know about it.

The site’s own shell, put on the line

Five settings are drawn across this collection’s shell figures, and the one that fronts them sits at an expansion of 2.4 with its opening 0.42 from the axis. The product is 1.0080, so it is outside the boundary by 0.80 per cent — a shell whose whorls clear each other by less than one part in a hundred.

The hero shell sits 0.80 per cent outside a boundary located at 481 expansions. 481 expansions log-spaced across the range, each boundary found by bisecting the two drawn circles to two hundred steps rather than read off a grid. The hyperbola D = 1/W lies on the located curve to 2.220e-16 over the whole of it — the last bit of a double — so the textbook line is the boundary and not an approximation of it. The closed form and the bisection agree to 2.81e-15 at worst over all 3,200 located boundaries, which is what makes a residual of zero a reading.
Fig. 7 The located boundary with the collection’s own hero shell marked on it, 0.80 per cent outside. The margin is smaller than the mark, which is the honest way to draw it.

A margin smaller than the instrument that was reading it

The shell’s opening sits at 0.42 and the boundary at 0.416667, so the margin is about three thousandths in axis distance. The twenty-six step grid’s worst error is 0.014931, several times larger than the quantity being reported.

So the picture the collection has been drawing could not have told the reader which side of the line its own hero shell sits on. Nothing was wrong on the page — the shell is genuinely free and the figure draws it free — but the figure was not resolving the quantity it was displaying, and that only becomes visible once the boundary is located rather than sampled.

What the slider cannot show

The shell figure carries a slider running the expansion from 1.4 to 4.5 in nine stops of 0.3875. At an opening 0.42 from the axis the boundary is crossed at an expansion of 2.380952, which falls between the stops at 2.175 and 2.5625.

No stop is near the crossing. The transition the figure exists to demonstrate happens between two frames, and a reader driving the slider sees whorls apart, then whorls together, and never sees a shell close to the line. That is a finding about the figure and it is recorded here because nothing else would have found it.

What exactness does not buy

It does not make the boundary important. A line located to the last bit of a double is still a line about circles, and the model’s generating curve is a circle by stipulation.

Real apertures are ovals, D-shapes, slots and in ammonites elaborately lobed things, and an involute shell has its aperture indented where the previous whorl lies against it. That indentation is outside the model rather than a violation of it, and every number here would move by an amount nothing here measures if the generating curve changed shape.

Contact is not a verdict

The region below the line is where the whorls run into one another, and that is the ordinary condition of most gastropods. It is not a region of failed shells and this collection said so once already, after saying the opposite.

The distinction survives the sharper measurement unchanged: locating a boundary to sixteen digits says where the geometry changes character and says nothing whatever about which side animals are found on. The line is geometry; occupancy is a census this site does not have.

What a negative result is worth

The survey was designed to measure a residual and the residual is zero, which means the interesting part of the finding is the design rather than the number.

There is a familiar failure in which a check confirms what everybody expected and the check is then reported as though it had been unnecessary. It was not: the same machinery applied a translation away from the plane returns residuals of tens of per cent, and the essay that reads those is a different essay with a different conclusion. The exactness is particular to the flat coil and belongs to it alone.

The instrument, stated so it could be wrong

Two hundred bisection steps on a bracket of width one is a bracket of width 2⁻²⁰⁰, which is below anything a double represents, so the bisection is converged by an enormous margin and its residual is arithmetic rather than iteration. Four hundred and eighty-one expansions log-spaced across the range means the sampling is uniform in the ratio rather than in the value, which is the right axis for a quantity whose whole range is a reciprocal.

If either of those were wrong the residual would be larger and not smaller, which is the useful direction for an error to run.

What would refute it

A single expansion at which the bisected boundary and the reciprocal disagree by more than a few last bits would do it, and 481 of them were tried. So would a disagreement between the geometric predicate and the closed form, and 200,000 points were tried.

The refutation that would matter more is one this measurement cannot reach: a generating curve that is not a circle, for which the contact condition is not a quadratic and probably has no closed form at all. The exactness reported here is a property of the circle as much as of the coiling, and there is no reason to expect it to survive a realistic aperture.

What the shells drawn from it say

Eight shells were drawn through the model and their self-contact measured directly from the drawn outline rather than from any formula. Eight of eight agree with the boundary.

That is a weaker check than the bisection and it is worth having anyway, because it closes the loop between the number and the picture: the line is not merely consistent with the algebra, it is where the drawn whorls actually meet. The same closure is what recovering a growth factor from a drawn curve does one field over.

The shape of the answer

A boundary quoted for sixty years as a convenient product turns out to be the boundary, and the work that establishes it is not the location but the control: a zero from an instrument that only returns zero is worth nothing, and a zero from an instrument returning 7 × 10⁻¹ at the far end of its own range is worth stating.

What replaces the grid is not a better grid. It is the observation that there was never anything to sample, and that the next parameter along is where the sampling was needed.

What links here

Computed from the collection, not written here: the essays that point at this one.

Reads more easily once this is understood

Essays that name this one as worth reading first.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A flat tag is an object no other essay names yet.

BisectionClosed formDiscretisationEvoluteGrowth factorHonest limitsInvoluteMachine epsilonModel scopeMorphospaceNegative resultResidualResolutionWhorl