Where the angle comes from

How far a primordium reaches

The placement rule's repulsion falls as an inverse cube because that is what two magnetised droplets do, and nothing about a plant supplies the exponent. Asking what it controls produced one tidy wrong answer and one measured right one — and the difference between them is the difference between a total and a variation.

Worth reading first: The angle is an output · A stem is a cylinder.

The rule this collection has used since its foundation phase is one sentence long: each new element goes where the repulsion from the ones already present is least. It has produced the golden angle from a start that knows nothing about it, a bifurcation diagram, a ladder that a growing stem walks, and a threshold in the rate at which a shoot changes branch.

There is a number inside it that nobody had looked at. The repulsion falls off as some power of the distance, and this site has used the inverse cube throughout, because that is what Douady and Couder’s experiment was made of — two magnetised ferrofluid droplets really do repel as d3d^{-3}. Nothing about a plant supplies the exponent, and until this phase there was no way to vary it here: iterate() in lib/dynamics.js took no exponent and passed none down, so a docstring’s claim that it barely matters had been unfalsifiable for three phases.

This essay is about what the exponent controls. It went down a wrong path first, and the wrong path is worth walking, because it is short, plausible, and arrives at a number that agrees with the measurement for the wrong reason.

The tidy wrong answer

The rule computes a sum over neighbours,

E(θ)=jdj(θ)pE(\theta) = \sum_{j} d_j(\theta)^{-p}

and takes its minimum. It is natural to ask whether that sum has a value at all — whether it keeps growing as more distant elements are included — and the answer depends on how fast neighbours accumulate with distance.

That accumulation is a property of the organ rather than of the rule, and it is worth measuring on its own account.

Take a cylindrical lattice of circumference 1 with a rise of 0.02, and count the nodes within a distance dd of a node in the middle. Close in, the surface is effectively a plane and the count grows as d2d^2. That regime ends at about one circumference, where the disc of radius dd has wrapped all the way round and can only grow upward and downward. Past that, the count grows linearly: a band of height 2d2d contains 2d/h2d/h nodes and nothing else.

Measured on four thousand nodes, the fitted exponent beyond one circumference is 1.0195 and the coefficient is 99.9 per unit against the 100 the geometry fixes. The coefficient is checked as well as the slope, because a slope of one with the wrong constant would mean the distances are being measured somewhere other than on the surface — an easy mistake on a cylinder, where the shorter way round the seam is the whole of the metric.

A stem gathers neighbours linearly; a growing disc barely gathers them at allOn a cylinder of circumference 1 with a rise of 0.02, the nodes within distance d number 2d/0.02 once d exceeds one turn — a fitted exponent of 1.020 and 100 per unit against the 100 the geometry fixes. In the disc model an element of age k sits at radius e^(0.4k), so each doubling of the distance adds the same two or three neighbours rather than twice as many.123-0.50000.50011.50distance from the node, log₁₀neighbours, log₁₀a stemslope 1a disca logarithmrise 0.02 · 6000 nodes · meristem growth 0.4slope 1.020 against slope 1
Fig. 1 The number of elements within a distance, on a stem and in the disc model. Two straight lines of very different slope: a stem is one-dimensional at long range, and the disc model is barely any-dimensional.

With n(d)dn(d) \propto d, the contribution from the shell between dd and d+ddd + \mathrm{d}d goes as d1pddd^{1-p}\,\mathrm{d}d, and the total converges if and only if p>1p > 1. Computed directly on twenty thousand nodes, the last doubling of the range — from sixteen circumferences to thirty-two — multiplies the total by 1.000 at p=3p = 3, by 1.004 at p=2p = 2 and by 1.029 at p=1.5p = 1.5; at p=0.75p = 0.75 by 1.266 and at p=0.5p = 0.5 by 1.449, with no sign of stopping. At p=1p = 1 exactly it multiplies by 1.142, which is what a logarithm looks like sampled this way.

Whether the rule's energy has a value at allThe sum of d⁻ᵖ over every node within a distance, divided by its value at one circumference, for seven exponents. Above p = 1 the curve flattens — the last doubling of the range adds 0.0 per cent at p = 3. Below it the sum keeps climbing however far the rule is allowed to see, so there is no total to take a minimum of.2468012345range looked at, log₂ turnsenergy ÷ first turna golden-angle stem at a rise of 0.02 · 20000 nodesconverges above p = 1
Fig. 2 The energy gathered out to each distance, divided by what the first circumference supplies. The boundary sits at an exponent of one, and the boundary case behaves like a logarithm — which is the check that the measurement is finding the geometry rather than a threshold in the code.

So: on a stem the rule’s energy has a value above p=1p = 1 and not below it. The measured exponent at which the rule stops producing a lattice, in the next essay, is between 1.12 and 1.25. It is very tempting to join those two facts.

They do not join. The rule takes the argument of the minimum, and a term that is the same at every azimuth does not move a minimum however large it is. A diverging total is a constant added to every candidate position.

The quantity that decides a placement

What matters is not how much energy each shell of neighbours contributes but how much it makes the profile vary around the circumference. A distant ring of nodes contributes a great deal of energy and almost none of that variation, because from far enough away every azimuth looks alike.

So the measurement was redone on the right quantity. The energy profile is computed shell by shell — nodes zero to two node spacings from the growing tip, two to four, four to eight, and so on out to sixty-four — and each shell’s contribution to the peak-to-trough range of the profile is recorded, at eight exponents.

Which neighbours decide where an element goesEach line is one exponent: how much each shell of neighbours makes the energy profile vary around the circumference, divided by what the nearest shell contributes. At p = 0.5 the nearest shell leads the next by a factor of 1.1 and a node is placed against the whole neighbourhood at once. At p = 3 it leads by 9.7e+3, and a node is placed against its immediate neighbours — which is what a lattice is.-8-6-4-20distance from the tip, in node spacingsvariation ÷ nearest shell, log₁₀0–22–44–88–1616–3232–64a golden-angle stem at a rise of 0.004 · shells in units of √hnearest shell dominates by 1.1× at p = 0.5, 9733× at p = 3
Fig. 3 How much each shell of neighbours makes the energy vary around the circle, against what the nearest shell contributes. The far shells are negligible at every exponent, so the divergence of the total is not what fails; what moves is the gap between the first shell and the second.

Two things come out of it, and the first disposes of the wrong answer.

The far shells contribute almost nothing to the variation, at any exponent. Sixteen to thirty-two spacings out, the contribution is under two per cent of the nearest shell’s at p=1p = 1 and under a hundredth of a per cent at p=2p = 2. Whatever the total is doing out there, it is doing it uniformly.

What moves with the exponent is the ratio between the nearest shell and the next one out. At p=0.5p = 0.5 the two are within ten per cent of each other — 1.1. At p=0.75p = 0.75 the ratio is 3.1, at p=1p = 1 it is 8.2, at p=1.12p = 1.12 it is 13.0, at p=1.25p = 1.25 it is 20.9, at p=1.5p = 1.5 it is 50.9, at p=2p = 2 it is 296, and at p=3p = 3 it is nearly ten thousand.

The measured band where the rule starts producing a lattice reliably — between p=1.12p = 1.12 and p=1.25p = 1.25 — is where that ratio passes about twenty.

Why that is the quantity, and not another coincidence

The account is short enough to state and it has the merit of predicting the direction rather than only the number.

A lattice is an arrangement in which each element sits between its immediate neighbours. That is what a parastichy pair is: node ii is closest to i±mi \pm m and i±ni \pm n, and the whole structure is the accumulation of that local relation.

The rule produces such an arrangement only when it is placing elements with respect to those immediate neighbours. If the profile’s variation comes mostly from the nearest shell, the minimum sits in a gap between two of them and the placement is local. If every shell contributes comparably — as at p=0.5p = 0.5, where the first four shells are within a factor of a few of each other — the minimum sits wherever a broad, shallow landscape assembled from dozens of elements happens to dip, and there is no reason for the result to be a lattice. Measured, it is not: at p=0.5p = 0.5 the divergence scatters by forty degrees, which is the scatter of an arbitrary sequence.

So the exponent is not controlling range in the sense of how far the rule can see. It is controlling contrast — how much more say a node’s nearest neighbours have than its next-nearest — and a lattice needs that contrast to be large.

The one-dimensional regime is a long way from any real apex

There is a second reason the convergence argument was about the wrong thing, and it is worth stating because it is the kind of objection that applies to a great deal of asymptotic reasoning about growing tissue.

The linear accumulation of neighbours begins at about one circumference from the node. On a stem with a rise of hh there are 1/h1/h nodes in a circumference’s height, so at the rise where a pattern shows 8/13 — about 0.004 — that crossover sits two hundred and fifty internodes away from the node in question.

No apex contains two hundred and fifty internodes’ worth of anything that could be interacting. A meristem is a dome of a few hundred micrometres carrying a handful of visible primordia and rather more that are not yet visible; whatever the inhibition is, it operates over a region that holds perhaps ten to thirty elements. In that region the surface is still effectively a plane, the neighbours are still accumulating as d2d^2, and the one-dimensional regime is a fact about the infinite mathematical lattice rather than about the organ.

So the total-energy calculation is not only about the wrong quantity for the argmin — it is about a part of the lattice no plant has. The shell measurement, by contrast, is about the first two to four node spacings, which is exactly the region an apex does contain.

That is a useful check to have available generally. When a derivation about a growing organ turns on the behaviour of a sum at infinity, the first question is how far out “infinity” starts in units the organ has, and the second is whether the organ has that many of them.

What the model’s neighbourhood is, and what it is not

The implementation carries a neighbourhood of its own, and the two should not be confused with each other or with the physical one.

For each new node the rule sums over the previous ww nodes, with ww set to a multiple of 1/h1/\sqrt{h} — a number that climbs as the rise falls, because the nodes within a fixed distance of the growing tip number about 1/h1/\sqrt{h} and a fixed count starves the fine end of every run. That was already recorded on this site as a mistake made once on the disc and repeated on the cylinder because the geometry repeats it.

The multiple is a parameter, and until this phase it was a constant. Making it a knob is what allowed the shell measurement to be checked against something: a rule cut off at three spacings and the same rule cut off at twelve are different rules, and if the shells beyond three mattered they would differ.

They do, but not in the way the convergence story predicts, and the difference is sharp enough to have its own essay. A rule at p=1p = 1 — below the band, with a divergent total and a near-shell ratio of only 8 — produces a clean 8/13 lattice when its neighbourhood is cut at three spacings, and no pattern at all when it is allowed twelve. The truncation supplies the contrast the exponent does not.

The disc model is a different geometry, and not in the way one expects

The obvious guess is that a disc, being two-dimensional, gathers neighbours as d2d^2. It does not, and the reason is worth more than the answer.

In the disc model the elements do not sit still. Each is pushed outward as the meristem grows, so an element of age kk sits at radius eGke^{Gk} in meristem radii. The distance to an element is therefore exponential in its age, which means the number within a distance dd grows like logd\log d: at G=0.4G = 0.4, within two meristem radii there are 2 elements, within four 4, within eight 5, within sixteen 7, within thirty-two 8, within sixty-four 10. Each doubling adds two or three, not twice as many.

That is a much weaker accumulation than any surface can manage, and it is why the disc model is nearly indifferent to the exponent — which is a claim this site had been making in a code comment since its foundation phase without a test. The next essay measures how indifferent, and the answer is three and a half degrees across a sixteenfold range.

The same rule is short-ranged on one organ and unbounded on another

That sentence is the one worth carrying away, and it is slightly uncomfortable.

A rule is usually thought of as having a range: an inverse cube is local, an inverse square less so, an inverse first power long-ranged. That intuition assumes a fixed background geometry, and phyllotaxis does not have one. The identical rule with the identical exponent computes a convergent total on a growing disc and a divergent one on a stem, and — more to the point — assembles its profile’s variation from very different neighbourhoods on the two.

The consequences run both ways. A result obtained on the disc model does not transfer to a stem for free: every finding on this site that came out of lib/dynamics.js — the bifurcation diagram, the golden angle as an attractor, the whorled regimes at large growth — was obtained in a geometry where the exponent is nearly irrelevant, and that is a licence for those results and a warning about generalising them. And a real organ is neither of these two extremes; where it falls is set by how its elements separate with age, which is a growth law rather than a shape.

What this does not claim

The convergence question is about the far end of the sum, and nothing here says the far end is what a plant is doing. Real inhibition does not extend indefinitely at any exponent — there is a meristem, it has a size, and whatever the mechanism is chemically it does not act across a whole shoot. A physically truncated interaction converges trivially.

What the measurement says is narrower and still useful. The exponent decides how sharply a node is placed relative to its immediate neighbours rather than its whole neighbourhood, and a lattice needs that ratio to be of the order of twenty. Everything else about the exponent — the divergence of the total, the range in the ordinary sense — turns out not to be the operative thing.

There is also a lesson about the first calculation, and it is the reason this essay begins with it rather than hiding it. The convergence argument is correct arithmetic about a real quantity, it lands within a fifth of the measured boundary, and it is about the wrong thing. A derivation that agrees with a measurement is not thereby the explanation of it, and the way to tell is to ask whether the quantity derived is the quantity the mechanism uses. Here it was not: the rule uses an argmin, and an argmin cannot see a constant.

How nearly it shipped

It is worth being specific about how close the wrong version came to being the published one, because the failure mode is not carelessness.

The convergence calculation was done first, in about ten minutes. It is a standard argument, it uses a quantity — the neighbour count — that had to be measured anyway, and the measurement came out beautifully: an exponent of 1.0195 and a coefficient within a twentieth of a per cent of what the geometry fixes. The partial sums confirmed the boundary at p=1p = 1 and even showed the boundary case behaving logarithmically, which is the sort of detail that reads as a measurement finding something real rather than confirming an expectation.

Then the placement sweep came back with a band between 1.12 and 1.25. One and a bit, against a derived boundary of one. Everything agreed.

What did not fit, and what eventually forced the second measurement, was the truncation result: cutting the neighbourhood at three spacings makes the p=1p = 1 rule produce a clean lattice. If the failure at p=1p = 1 were the divergence of the total, then truncation would fix it by removing the divergence, which sounds right — but truncation at three spacings also removes almost nothing of the total, since a sum diverging logarithmically has most of its mass close in. The two accounts make different predictions about which shells matter, and only one of them can be checked.

The check is the shell measurement, and it says the far field never mattered. The tidy answer survived exactly as long as nobody asked it to predict anything it had not already been fitted to.

The same rule at p = 1, cut off at two distancesThe top 220 nodes of two stems grown by an identical rule whose energy does not converge. Allowed to see 3/√h neighbours it produces 8/13 at 137.62° with 0.58° of scatter — a lattice no test on this site would question. Allowed 12/√h it produces 44° of scatter and no pattern. The truncation was doing the work.cut at 3/√h8/13 at 137.62°0.58° of scattercut at 12/√hno divergence angle43.86° of scatterexponent 1 · identical but for the neighbourhood0.58° against 43.9°
Fig. 4 The consequence of the shell measurement, and the reason the wrong explanation was caught. Cutting the neighbourhood at three spacings makes a rule with no lattice produce a clean one — which a divergence in the total cannot explain, since a logarithmically divergent sum has most of its mass close in.
The same stem, not unrolled80 of the 160 nodes face the reader and 80 are behind the stem, drawn open. The count is 2 and 3 either way; the unrolling changes nothing but the visibility.near facefar face160 nodes at 137.51°2 and 3, both faces
Fig. 5 The organ the counting is done on. The neighbours of a node accumulate in two dimensions until the band has wrapped the stem, and in one thereafter.
One counter, three surfacesA cylinder's counter returns 3/5 in every band and never changes. A cone's transitions are spaced by 2.596 against φ² = 2.618; a filling disc's by 1.612 against φ = 1.618. Equal spacing on a log axis is what a geometric ladder looks like.00.50011.50200.2000.4000.6000.800position of the transition along the axis, log₁₀, relative to the firstwhich transition it iscone 2.596 · disc 1.6124000 nodes on each surfacecylinder 3/5 throughout
Fig. 6 And the three surfaces this collection uses, which deliver their neighbours at three different rates. The rule is the same on all of them; what it can see is not.

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.

ConvergenceCylinderMeristemThe neighbour graphThe placement ruleRepulsionRiseTruncation