Stems and cones

The forks are exact

Where a stem's pattern has to choose between two futures, three spiral families are equally short and the lattice is exactly equilateral. A numerical solver found those points; the numbers it returned turned out to be rational, and chasing that gave a closed form — including the fact that every fork sits at a rational divergence, and the golden angle at none of them.
18 min read 6 figures Two routes, one numberThe round trip

Between one rung of the ladder and the next there is a rise at which the lattice is momentarily undecided. Three index offsets — mm, nn and m+nm+n — give hops of equal length, no two families are shorter than the rest, and which pair a counter reports is a matter of which way the tie is broken.

That configuration is a fork, and it is where the interesting structure of the subject lives. It is also, in packing terms, the best a stem can do: three equal shortest vectors means every element has six equidistant neighbours, which is the closest packing the surface allows. Lower the rise past it and one of the two old families gives way; which one gives way determines everything that follows, because from (m,m+n)(m, m+n) and (n,m+n)(n, m+n) the ladders diverge and never meet again.

This essay is about what happens when the forks are computed properly rather than located approximately, and about a result that was not being looked for.

The plane of stems: divergence across, rise upEach shade is one parastichy pair. The marked points are the lattices where three families are equally short — the forks — and the Fibonacci ones run up the middle towards 137.51°.-2-1.50-1-0.500100120140160180divergence angle (°)log₁₀ of the rise between nodes1,2,32,3,596 × 150 lattices, each solved827 runs drawn
Fig. 1 The plane of possible stems, shaded by which parastichy pair is shortest. The forks are where three regions meet, and the marked ones run up the middle towards 137.5°.

Finding one

The condition is two equations. Writing \langle\cdot\rangle for distance to the nearest whole turn, a fork with families mm and nn satisfies

mδ2+(mh)2=nδ2+(nh)2=(m+n)δ2+((m+n)h)2\langle m\delta\rangle^2 + (mh)^2 = \langle n\delta\rangle^2 + (nh)^2 = \langle (m{+}n)\delta\rangle^2 + ((m{+}n)h)^2

The first equality gives hh for any candidate δ\delta:

h2=mδ2nδ2n2m2h^2 = \frac{\langle m\delta\rangle^2 - \langle n\delta\rangle^2}{n^2 - m^2}

and substituting into the second leaves a residual in δ\delta alone. Sweep it, bracket the sign changes, bisect, and check that the resulting lattice really has mm and nn among its shortest — several roots do not, and they describe lattices with the right equalities and the wrong dominance.

That is a perfectly ordinary numerical procedure and it works. The fork for (1,2)(1,2) comes out at δ=128.571428571°\delta = 128.571428571° with a rise of 0.1237179150.123717915. The fork for (2,3)(2,3) at 142.105263158°142.105263158°, rise 0.0455802840.045580284. And so on.

The numbers were suspicious

128.571428571128.571428571 is 900/7900/7. As a fraction of a turn that is 5/145/14.

142.105263158142.105263158 is 2700/192700/19, which is 15/3815/38 of a turn. Then 135.918367347°=37/98135.918367347° = 37/98, then 99/25899/258, then 257/674257/674.

Denominators 14, 38, 98, 258, 674. Halve them: 7, 19, 49, 129, 337. And those are 1+2+41{+}2{+}4, 4+6+94{+}6{+}9, 9+15+259{+}15{+}25, 25+40+6425{+}40{+}64 — which is to say

q=m2+mn+n2q = m^2 + mn + n^2

for the pair (m,n)(m,n) at that fork. The same form appears in the Lucas chain: (1,3)(1,3) gives q=13q = 13 and δ=7/26\delta = 7/26; (3,4)(3,4) gives q=37q = 37 and 21/7421/74; (4,7)(4,7) gives q=93q = 93 and 51/18651/186.

So every fork sits at a rational divergence angle, with denominator 2(m2+mn+n2)2(m^2 + mn + n^2).

And so was the rise

The rises were checked against the same quantity, and they are

h=32qh = \frac{\sqrt 3}{2q}

exactly, in every case tested — twelve of them, spanning both chains and several pairs on neither.

The nearest-neighbour distance at the fork is

s=1qs = \frac{1}{\sqrt q}

which is where the 3\sqrt 3 comes from, and which makes the whole thing obvious in retrospect. At a fork the lattice is equilateral: three equal shortest vectors means every node has six equidistant neighbours. An equilateral lattice with spacing ss covers (3/2)s2(\sqrt3/2)s^2 of area per node. On a cylinder of circumference 1 the area per node is h1h \cdot 1. Equate them and s2=2h/3s^2 = 2h/\sqrt3; count the nodes per unit height and the rest follows.

The quantity m2+mn+n2m^2 + mn + n^2 is the norm form of the Eisenstein integers — the arithmetic of the triangular lattice — and it is exactly what should appear when the question is which sublattices of a triangular lattice fit around a cylinder.

Two paths down the same treeBoth start at the same first fork. Keeping the larger family every time reaches 137.473°; one different choice reaches 99.549°. Neither angle is in the arithmetic — both are limits of a path.100120140-3-2-1log₁₀ of the rise at the forkdivergence angle at the fork (°)137.508° — Fibonacci99.502° — Lucas13 forks, each solved for three equal families137.4730° and 99.5495°
Fig. 2 The forks along two chains, plotted at their own rises and divergences. Every point on this figure now has a closed form; the curve through them is the numerical solver’s answer, and the two agree to the last digit.

What “equilateral” means for a plant

The geometric statement has a botanical one attached, and it is the reason forks were interesting to the nineteenth century before anyone could compute them.

At a fork every element has six equidistant neighbours. That is the arrangement of closest packing — the one a set of equal discs falls into when pressed together — so a pattern at a fork is at the configuration that packs its elements as tightly as the surface allows.

Away from a fork the lattice is not equilateral. It has four near neighbours at one distance and two at another, or some other unequal arrangement, and the closest approach between elements is smaller than it would be at the fork with the same density. In packing terms, a stem between forks is doing slightly worse than a stem at one.

This is the closest the cylinder comes to a genuine optimality claim, and it is worth noticing how much narrower it is than the popular version. It says: at the discrete set of rises where an equilateral lattice fits, the divergence that makes it fit is optimal for packing. It does not say the golden angle is optimal, because no fork is at the golden angle. It does not say anything at all about the rises in between, which is most of them.

The disc essays reached a compatible conclusion by an entirely different route: three packing criteria pick three different angles at a fixed head size, and none of them picks 137.5°. Both results are versions of the same caution — packing arguments about phyllotaxis are much weaker than they are usually stated to be, and they get weaker the more carefully they are posed.

One packing criterion across the angles, with the others' winners markedThe three criteria pick 137.5°, 138.0° and 135.0°. The golden angle is near the top of all three and the exact winner of none at this size.00.2500.5000.7501120130140150divergence angle (°)closest pair, as a fraction of the mean spacing (higher is better)137.508°400 points per anglethree criteria, three winners
Fig. 3 The disc’s version of the same caution. Three criteria, three winners, none of them the famous angle — and on the cylinder the corresponding statement holds only at a thin set of rises.

Two routes, and the check between them

The closed form was found by staring at the solver’s output, which is not a derivation. So the build checks it as a claim.

triplePoint() solves the two equations numerically, knowing nothing about Eisenstein integers or equilateral lattices. forkExact() returns 3/2q\sqrt3/2q and 1/q1/\sqrt q from the pair alone, evaluating nothing. The assertion requires that they agree — the rise to a relative 10910^{-9}, the spacing likewise — and separately that the solved divergence is an exact integer multiple of 1/2q1/2q.

That last requirement is the one carrying the interesting claim, because it is the one that could fail without anything else failing. A fork whose divergence were irrational would still have the right rise and the right spacing; the rationality is an extra fact, and requiring it means the check can distinguish “the lattice is equilateral there”, which follows from the area argument, from “and the angle is rational”, which does not.

Both hold, on all eight pairs the gate tests.

Every fork is rational and the golden angle is not

Here is the part worth stopping on.

Along the Fibonacci chain the forks sit at 5/145/14, 15/3815/38, 37/9837/98, 99/25899/258, 257/674257/674, 675/1766675/1766, 1765/46221765/4622 of a turn. In degrees: 128.571, 142.105, 135.918, 138.140, 137.270, 137.599, 137.473. They oscillate around 137.50776 and close in on it, alternating sides, and they never arrive.

They cannot arrive. Every one of them is rational and the golden angle is not, so no fork in the entire tree is at the golden angle.

This is the same shape as a finding the disc essays already carry, reached from the opposite direction. There, a sweep over divergence angles could never land on the golden angle because every grid point is rational and every rational produces a collapsing lattice — the value had to be evaluated exactly and inserted by hand. Here the rationals are not an artefact of a grid; they are where the geometry’s own distinguished points are, and the golden angle is the accumulation point of a sequence of them.

A pattern at a fork is at a rational divergence — and a rational divergence is what makes a lattice fall onto radial rows, which is why forks are transient rather than places a pattern rests. A pattern between forks is at whatever divergence it is at. The golden angle is the limit of the forks, and a plant that is at it is not at a fork at all — it is at the place the forks are heading.

What the divergence between forks is doing

The forks are points; the ladder is the path between them. It is worth being precise about what the model does and does not say happens along that path, because it is easy to over-read.

Nothing in this essay’s arithmetic requires a lattice to be near a fork. A stem at a divergence of 151.14° and a rise of 0.07 is a perfectly good lattice with a perfectly good pair, sitting nowhere in particular. The forks matter because they are where the labelling changes, not because a pattern is drawn to them.

What does draw a pattern to them is a separate claim, about dynamics rather than geometry, and it belongs to the essay that puts the two together. Briefly: a rule that spaces elements as evenly as it can prefers an equilateral arrangement, and equilateral is exactly what a fork is. So a system that optimises packing at each rise tracks the forks, and a system that does not, does not.

The geometry here is agnostic about which happens. It supplies the tree; something else has to walk it.

Every transition as the rise fallsThe pair climbs 1/2 → 2/3 → 3/5 → 5/8 → 8/13 → 13/21. Consecutive transitions are 0.382, 0.382, 0.383, 0.382 of the previous rise — 1/φ² is 0.3820.0.2500.5000.75011.25-2.50-2-1.50-1-0.500log₁₀ of the rise between nodes (falling to the right is the plant growing)log₁₀ of the larger parastichy number2/33/55/88/1313/21500 rises, shortest vectors recomputed at eachratio 0.3820 against 1/φ² = 0.3820
Fig. 4 The ladder between the forks. The dashed lines here are the fork rises, which now have the closed form √3/2q — and the ratio between consecutive ones, 0.3821, follows from q growing by a factor of φ² along the chain.

Where the 1/φ² comes from

The ladder essay records that consecutive transition rises stand in the ratio 0.3821, and reports it as a measurement. With the closed form it becomes an identity.

Along the Fibonacci chain the pair goes (m,n)(n,m+n)(m,n) \to (n, m+n), so qq goes from m2+mn+n2m^2+mn+n^2 to n2+n(m+n)+(m+n)2=m2+3mn+3n2n^2 + n(m{+}n) + (m{+}n)^2 = m^2 + 3mn + 3n^2. For consecutive Fibonacci numbers, n/mφn/m \to \varphi, and the ratio of the new qq to the old tends to

1+3φ+3φ21+φ+φ2=φ2\frac{1 + 3\varphi + 3\varphi^2}{1 + \varphi + \varphi^2} = \varphi^2

Since h=3/2qh = \sqrt3/2q, the rise falls by a factor of φ2\varphi^2 per fork, and the transition rises are geometric with common ratio 1/φ2=0.381971/\varphi^2 = 0.38197.

The measured 0.3821 was the limiting value showing up early, as it does: the sequence of exact ratios is 7/19=0.36847/19 = 0.3684, 19/49=0.387819/49 = 0.3878, 49/129=0.379849/129 = 0.3798, 129/337=0.3828129/337 = 0.3828, 337/883=0.3817337/883 = 0.3817, 883/2311=0.3821883/2311 = 0.3821, closing on 0.381970.38197 from alternating sides in the same way the divergences do.

The Loeschian numbers, and which pairs are possible

One more thing falls out of qq, and it is a constraint rather than a construction.

The values m2+mn+n2m^2 + mn + n^2 for coprime m,nm, n are the Loeschian numbers, and they are sparse: 3, 7, 13, 19, 21, 31, 37, 39, 43, 49, 57, 61, 67, 73, 79, 91, 93. Every fork in the entire tree has a rise of 3\sqrt3 over twice one of these — the Fibonacci chain uses 7, 19, 49, 129, 337, 883, 2311, and the Lucas chain uses 13, 37, 93, 247.

So the set of rises at which a cylindrical lattice can be equilateral is a discrete, computable set, and it is thin. Between them the lattice is never equilateral, whatever its divergence. That is a statement about all possible stems, it needs no model of growth, and it was available from the arithmetic once the closed form was in hand.

It also means the tree is countable in an explicit way: forks are indexed by coprime pairs, one fork per pair, and the whole of van Iterson’s diagram is the picture of that indexing.

A small consequence with a practical edge: because qq grows roughly as φ2\varphi^2 per rung along the Fibonacci chain and much more slowly along the low-numbered chains, the forks belonging to unremarkable pairs like (1,7)(1,7) or (2,9)(2,9) are interleaved among the famous ones. The plane is not a Fibonacci ladder with decoration; it is a dense tree in which the Fibonacci chain is one path, distinguished by where it goes rather than by anything local.

A whorl and a spiral, from one lattice at two divergencesAt 120° the nodes fall on 3 rows and the two counts share a factor: the elements of each turn are level with one another. At 137.51° they never are.120° — a third of a turn3 and 6 — whorled137.51°2 and 3 — Fibonaccirise 0.055 in both panelsthe counts decide, not the eye
Fig. 5 The other thing qq does not tell you: whether a pattern is a spiral at all. A divergence that is a simple fraction gives counts sharing a factor, and no fork indexed by a coprime pair describes it.

Reading the plane

With the forks in hand the whole van Iterson diagram becomes readable, and it is worth spending a paragraph on what one is looking at.

The plane has the divergence across and the rise up, on a log scale because the interesting structure is geometric in the rise. It is divided into regions, each labelled by the pair of families that is shortest there. At the top — large rise, long internodes on a thin stem — the regions are few and wide: almost every divergence gives 1 and 2, or 1 and 3.

Going down, each region narrows and splits. A region labelled (m,n)(m,n) meets its two daughters at a single point, the fork, and below that point the plane is divided between (m,m+n)(m, m{+}n) and (n,m+n)(n, m{+}n). The picture is a binary tree drawn sideways, with the branches getting thinner as they descend.

Two features of the picture carry most of the argument of this field. The regions narrow without limit, which is why a divergence chosen at random gives a high Fibonacci pair with vanishing probability — measured in its own essay. And the regions do not move: a pattern that stays at one divergence while its rise falls travels straight down the page, crossing the region boundaries wherever they happen to be, which is exactly the ladder.

What a divergence picked at random gives, at a rise of 0.100Fibonacci pairs take 59.6% of the circle at this rise, and the share falls as the rise does. The claim that Fibonacci counts are what nature "prefers" needs the preference to come from somewhere, and it is not from the geometry being generous.Fibonacci57.2%Lucas17.0%whorled11.8%other14.0%5 distinct pairs over 1200 divergencesrise 0.083Fibonacci 57.2%
Fig. 6 The same plane, sliced at one rise and tallied. Each region’s width on that slice is the share of divergences giving that pair, and the shares are what the picture’s narrowing looks like as a number.

What was actually done here

Worth stating plainly, because the order of events matters and it is not the order the essay presents.

A numerical solver was written to find forks so that the tree could be drawn. Its output was printed to nine decimal places for debugging. The first two numbers were 128.571428571128.571428571 and 142.105263158142.105263158, and the repeating decimals were visible enough to be worth ten minutes with a calculator.

Everything after that — the denominators, qq, the 3\sqrt 3, the equilateral argument, the φ2\varphi^2 identity — came from following the pattern in the debug output. None of it was in the plan for this phase.

The habit it argues for is not a general one — most numerical answers are not exact and staring at them wastes an afternoon. It is worth doing when the equations are built from integers, as these are, because integer inputs are where closed forms live.

It is also a case where the wrong order of work turned out to be productive. The solver was written because a closed form was not expected to exist — the equations involve a distance-to-nearest-integer function, which is piecewise and unfriendly, and the sensible expectation for such a thing is that its roots are ordinary irrational numbers with no description shorter than the roots themselves. That expectation was wrong, and the only reason it was found to be wrong is that the numerical answer was inspected rather than consumed.

That is a good argument for printing more digits than one needs. The solver was correct either way; what the extra digits bought was the chance to notice that its answers were exact, and an exact answer is a different kind of object from a converged one. It can be checked against a closed form, it makes the ratio in the ladder essay an identity rather than a coincidence, and it turns a numerical procedure into a fact about lattices that no longer needs the procedure at all.