Where the angle comes from

Noise is not a slow rate

A stem seeded on the Lucas branch keeps it below ninety nodes per rung and abandons it above — which invites the objection that a real apex's fluctuations would knock it off regardless. Measured across a hundred and sixty runs of two independent kinds of noise, one escapes, at the amplitude where the pattern is already coming apart.

Worth reading first: The rate decides the branch · A pattern with a rate · The lag that is not there.

The previous phase left a threshold and an explanation, and the explanation had a consequence nobody could test.

The threshold is sharp and it is measured. Take forty nodes of Lucas lattice at a rise of 0.12, let the rise decline, and count the pattern blind at the top. Below about ninety nodes per rung the stem keeps the Lucas ladder — 1/3, 3/4, 4/7, 7/11, at a divergence near 99.5°. Above it the same initial condition ends on 8/13 at 137.5°, having abandoned Lucas at the first fork it reached. A golden-seeded control ends Fibonacci at both rates, so this is not a stem forgetting where it started.

The explanation offered was that a slow decline gives the rule more placements at nearly one rise, so it has room to find the lower arrangement. That is a statement about exploration, and exploration has a second source.

A real apex is not exact. Its primordia are placed by a field with fluctuations in it, by tissue that is not identical from one node to the next, at spacings that vary. If exploring the arrangement is what carries a pattern off a metastable branch, then noise should do it too — at any rate at all — and the threshold measured last phase would be a property of a noiseless model rather than of a plant.

That is the objection this essay tests. The answer is that noise does not substitute for time, and the way it fails to is more specific than a flat no.

What becomes of a seeded branch at 65 nodes per rungEach bar is 10 runs at one amplitude, divided by what the blind counter found at the top of the stem. With no noise this rate ends on the Lucas branch. Placement noise displaces the node after the rule has chosen; field noise perturbs the energy the rule chooses over. Across 160 runs, 1 reached the Fibonacci branch with the lattice intact.placement noisedegrees off the minimum00.250.50.7511.251.52field noisefraction of the barrier00.00250.0050.00750.010.01250.0150.02kept its branchchanged branchanother pairno latticeseeded 40 nodes of Lucas lattice · 10 runs per amplitude1 escape in 160 runs
Fig. 1 Every bar is ten stems grown from the same forty-node Lucas seed at 65 nodes per rung, divided by what the blind counter found at the top. Reading down each column the noise is turned up; a noise-driven escape would show the second colour widening before the last one does.

What was added to the rule

The placement rule has been the same since this site’s foundation phase: each new node goes at the azimuth where the repulsion from the ones already present is least. It has no noise in it, and every run of it is exactly reproducible, which is a virtue for a check and a defect for this question.

Two amplitudes were added, and there are two rather than one on purpose. An amplitude means whatever its implementation makes it mean, so a result that holds for one kind of noise and not the other is a result about code.

Placement noise displaces the node after the rule has chosen. The energy profile is computed, its minimum found, and then the node is put down a little away from it, by a Gaussian deviate with a stated standard deviation in degrees of azimuth. This is the noise a ruler would measure: it is exactly the imprecision of where the primordium ended up.

Field noise perturbs the energy the rule is choosing over. Before the minimum is taken, the whole profile around the circle is displaced by a smooth random function with a stated amplitude. This is the noise of a morphogen field that is not perfectly uniform — the rule still takes the minimum of what it sees, but what it sees is not quite what is there.

The two are different at every step. One moves the answer; the other moves the question.

The amplitude of the field noise had to be made to mean something

The obvious way to write the second one is to perturb each sampled azimuth independently, and it is wrong in a way that hides. The rule then takes the minimum of as many independent draws as there are samples, so the effective displacement grows with the sample count — about three standard deviations at 384 samples, more at 1,024. Measured that way, a field amplitude of 0.025 destroyed a lattice that survives forty times that under the version used here, and the amplitude at which a plant’s pattern would survive would have been a property of the numerical grid.

A morphogen field is not white in space. The perturbation is eight Fourier modes with Gaussian coefficients, normalised to unit root-mean-square, so it varies on the scale of a primordium’s neighbours rather than on the scale of the sampling. Measured at 128, 384 and 1,024 samples the root-mean-square is 0.9924 every time, and the same amplitude has the same outcome at every resolution.

That check is kept in the gate although it now passes trivially, because the defect is invisible at any single resolution — and a single resolution is the only one most code is ever run at.

The measurement

Each point in the sweep is an ensemble, because one noisy run is an anecdote and the whole question is about shares. Eight amplitudes of each kind, ten independent noise seeds at each, at a rate of 65 nodes per rung where the noiseless run keeps its branch: a hundred and sixty stems.

Each one is classified by two numbers rather than one. The blind counter gives the parastichy pair at the top, which says which ladder the pattern is on. The scatter of the divergence angle over the last quarter of the run says whether there is a pattern there at all — because a counter always returns some pair, and reading that pair as an outcome when the lattice has come apart is how a measurement of noise turns into a measurement of the counter.

A lattice or a wreck, with nothing in betweenEvery run in the sweep, at both kinds of noise. The line at 6° is where a run stops being counted as a lattice, and nothing lands near it: the intact runs reach 2.00° and the destroyed ones start at 8.06°, a factor of 4.0 away.00.50011.5001234567amplitude, by stepscatter, log₁₀ degreesintactno latticeplacementfield160 runs · both kindsan empty factor of 4.0 at the cut
Fig. 2 Every run in the sweep. A pattern is either intact or it is not: the surviving runs reach 2.00° of scatter and the destroyed ones start at 8.06°, with nothing in between, so the cut that sorts them is a reading rather than a judgement.

The classification turns on one cut — is the divergence scatter under six degrees — and a cut chosen inside a continuum would be an author’s decision wearing a measurement’s clothes. It is not one here. The scatters are bimodal with an empty factor of four between the modes: an intact lattice sits under two degrees and a destroyed one over eight, and nothing measured lands in the gap. The gate requires that gap to be there before anything is sorted by it, so a run that starts landing in the middle fails the build instead of being quietly filed.

Ten seeds, and what a share of ten can say

Ten runs per point is a small ensemble and it is worth being explicit about what it supports. A share of ten separates nothing from most comfortably and separates a tenth from a fifth not at all: the ninety-five per cent interval on a share of zero out of ten runs to 0.31, so an ensemble that reports “no escapes here” is consistent with an escape rate of nearly a third.

That would matter if the claim were about a rate. It is not. The claim is about where in the amplitude range escapes occur, and the sweep answers that with the whole of its hundred and sixty runs rather than with any one point: the escapes, however many there really are, are confined to the amplitudes at which patterns are already being destroyed, and there are no escapes anywhere below them. The interval on a share of one out of a hundred and sixty is 0.0002 to 0.034 — so the honest statement is that fewer than one stem in thirty changes branch by noise, and that the ones that do are at the edge.

Where the ensemble size does bite is on the rate control, and there it is the other way round: ten of ten transfer at the slow rate and zero of ten at the fast one, which is as separated as ten runs can be.

The result

Across a hundred and sixty runs of two kinds of noise at every amplitude from nothing to destruction, one ends on a Fibonacci pair with the lattice intact.

One is not zero, and the difference matters: noise can do what the rate does. But look at where it happens. The single escape is at a field amplitude of 0.015, which is the largest amplitude at which anything survives at all — two of the ten runs at that amplitude are already destroyed, and at the next amplitude up none survives. It reached 8/13 at 137.84° with 1.31° of scatter, which is a real and clean lattice on the other branch.

So the window in which noise transfers a branch is a sliver adjacent to destruction. The rate, from the same seed with no noise anywhere, transfers ten runs out of ten with the pattern showing six tenths of a degree of scatter.

The rate moves the branch; the noise only breaks the patternThree stems from one initial condition. Halving the rate carries it from 7/11 to 8/13 with the divergence scatter under a degree in both. Holding the rate and adding the most noise a lattice survives leaves 0 per cent of runs on the branch they started on, and 67 per cent with no pattern at all.what changedcounted at the topscatter65 nodes per rung, no noise7/110.64°131 nodes per rung, no noise8/130.69°65 per rung, noise at 0.0150% still Lucas12.65°a change of branch is a clean lattice on the other ladder,which the rate produces and the noise never doesseeded 40 nodes of Lucas lattice at a rise of 0.127/11 → 8/13 by rate alone
Fig. 3 Three stems from one initial condition. Halving the rate is a clean change of ladder; the largest survivable noise at the original rate leaves a quarter of the runs on the branch they started on and half of them with no pattern at all.

That is the finding, and it is worth putting in the form the objection was posed in. The amplitude that would knock a plant off a metastable branch is the amplitude that stops it having a phyllotaxis. A plant on the Lucas branch, jostled hard enough to find Fibonacci, would not be a plant with slightly noisy phyllotaxis. It would be a plant with none.

Why the two kinds behave differently, and what that rules in

The single escape belongs to the field noise. Eighty runs of placement noise, at every amplitude up to the one that destroys the pattern, and not one of them changes branch.

That asymmetry is not an accident of which seeds were drawn, and the next essay in this ladder is about it, but the shape of the reason belongs here because it is what stops the result being a shrug about “noise”. Field noise perturbs the energy profile before the minimum is taken, so it can move the minimum from one gap between existing nodes into a neighbouring one — and which gap a node lands in is which nodes it is a neighbour of, which is what a branch is. Placement noise displaces the node after the choice, which blurs the lattice and never restructures it. Blur it enough and it stops being a lattice; blur it any amount and it is still on the branch it was on.

So a single number for “how noisy the apex is” is not a summary of a plant. Two apices with identical divergence scatter, one of it upstream of the decision and one downstream, do not have the same set of futures.

What a metastable branch is here, and why an escape is not a small step

It helps to be concrete about what the pattern would have to do to change branch, because the phrase metastable state imports a picture from physics that does not quite fit.

In a physical metastable state there is a barrier, and thermal noise gets over it: the escape rate rises smoothly and exponentially with the amplitude, so there is always some amplitude at which escapes become common while the state is otherwise intact. That picture predicts exactly what the objection predicted, and it is the wrong picture for this.

A branch here is not a well in a landscape the pattern sits in. It is a history: which nodes are neighbours of which, built up one placement at a time. The Lucas branch at 7/11 means that node i is closest to nodes i ± 7 and i ± 11, and that has been true, node by node, for the whole stem below. To leave that branch the pattern has to place a run of nodes into different gaps than the ones its own neighbours imply — not once, but consistently enough for the new arrangement to propagate upward. A single displaced node is repaired by the next one, because the next one is placed among the nodes that are actually there and the great majority of them are still where the old branch put them.

That is why the escape and the destruction arrive together rather than in sequence. The amplitude that displaces enough consecutive nodes to re-lay the neighbour graph is the amplitude that stops the neighbour graph being a lattice, and there is very little room between them.

Three controls, because a null result is mostly controls

A measurement that finds nothing is worth reporting only if it could have found something, and most of the work in this one is in showing that it could.

The rate transfers, from the same seed, with no noise anywhere. Without this the whole sweep is a statement about a stem that cannot leave its branch by any means, which would be a duller finding and a likelier bug. At 65 nodes per rung the noiseless run ends 7/11 with 0.64° of scatter; at 131 it ends 8/13 with 0.69°. Two clean lattices on two ladders, and the only thing changed between them is how many nodes the stem spent getting there.

The noise is doing something at every amplitude, not only at the end. The divergence scatter climbs continuously from six tenths of a degree with no noise to two degrees at the last amplitude that leaves a pattern. If the sweep had shown nothing until it showed destruction, the reasonable reading would be that the amplitude was miscalibrated and the interesting range had been stepped over. It is not: there are four amplitudes of each kind in which the pattern is measurably degraded and still on its branch.

And one run does escape. A sweep that returned a clean zero would be the weaker result, because a clean zero is what a broken classifier returns too. The single transfer is the sweep demonstrating that it can detect the thing it is reporting the near-absence of — the counter found a Fibonacci pair, the scatter test agreed there was a lattice to classify, and the run is at the amplitude where the reasoning says a transfer is most likely.

What this does and does not license

It licenses the previous phase’s threshold. The rate dependence measured there survives the most obvious objection to it. If a real apex’s fluctuations are anywhere below the amplitude at which its pattern visibly comes apart — and they must be, or there would be no pattern to report — then they do not move it between branches, and the rate is what does.

It does not say that plants have no noise, or that noise does nothing. Noise does a great deal here. It destroys patterns, it widens the divergence scatter continuously from six tenths of a degree to two before anything breaks, and one run in a hundred and sixty of it did exactly the thing the objection predicted. What it does not do is provide a second, rate-independent route onto the Fibonacci branch.

And it is a result about this rule. The placement rule is inverse-cube repulsion over a finite neighbourhood on a cylinder whose rise declines exponentially, and both the amplitudes are Gaussian and stationary. A real apex’s fluctuations might be none of those things — correlated between neighbouring primordia, or larger during the transitions than between them, which is the case worth being most careful about, since a transition is exactly where the pattern is closest to indifferent between two arrangements. Those are stated here as untested rather than dismissed. The rule that follows in this collection’s habit is that a prediction recorded as untested gets tested in a later phase or it stays recorded; the long-range version of this rule is the one the next ladder takes up.

The number to carry away

If the escape is a sliver and the destruction is a cliff, the useful quantity is where the cliff is — and read in degrees of divergence scatter rather than in either amplitude, it is the same cliff from both directions. A lattice tolerates about two degrees and no more, whichever way the noise arrives.

That is a number a botanist could compare something to, and it is the subject of the next essay, which is also where its limits are: the same two degrees of scatter means two different things depending on where in the apex it came from, and no measurement of the scatter alone can tell which.

The tolerance falls from 4.1° to 0.8° up the ladderEach dot is one configuration: a stem carried down to the stated rise, swept over the whole amplitude range, with the largest divergence scatter any surviving run showed. It ends on 5/8 at the coarse end and 8/13 at the fine one. The open marks are the width of the band of divergence angles that gives each pair at all — a quantity from a different calculation entirely, moving the same way.00.2000.4000.6000.80022.202.402.602.80final rise, as −log₁₀degrees, log₁₀5/88/138/13scatter survivedthe pair's band5 runs per amplitude · placement noise4.12° down to 0.83°
Fig. 4 How much scatter the pattern survives, at three depths. The amplitude at which a branch could be lost is always the amplitude at which the lattice is going, and where that sits depends on which rung the stem has reached.
One seed, two rates, two laddersBoth stems begin as forty nodes of Lucas lattice at a rise of 0.12. At 65 nodes per rung the divergence stays at 99.5° and the counts walk 1/3 → 3/4 → 4/7 → 7/11. At 131 it leaves for 137.7° and walks 1/3 → 2/3 → 3/5 → 5/8 → 8/13 instead.10011012013014011.502falling rise, as −log₁₀divergence the stem is producing (°)137.51°, Fibonacci99.50°, Lucasseeded at 99.50°, rise 0.127/11 against 8/13
Fig. 5 The change of branch this sweep was looking for, produced by the rate instead. Both stems begin as forty nodes of Lucas lattice; only the number of nodes they spend getting down differs.
The branch is kept below 85 nodes per rung and lost above 92Each row is one rate. The Lucas seed keeps its ladder at 46, 58, 65, 75, 85 nodes per rung and abandons it at 92, 108, 131. The golden seed ends on 8/13 at every one of them.nodes per rungseeded Lucasseeded golden467/11 — kept8/13 — Fibonacci587/11 — kept8/13 — Fibonacci657/11 — kept8/13 — Fibonacci757/11 — kept8/13 — Fibonacci857/11 — kept8/13 — Fibonacci928/13 — gone to Fibonacci8/13 — Fibonacci1088/13 — gone to Fibonacci8/13 — Fibonacci1318/13 — gone to Fibonacci8/13 — Fibonacciseeded with 40 nodes at a rise of 0.12threshold between 85 and 92
Fig. 6 And the threshold that invited the objection. Every row is a rate, and the outcome is monotone in it — which is what a threshold looks like and what no amplitude here produces.
The lag that is not thereEach dot is one rate: the mean gap between where the grown pattern changed its count and where the static ladder puts that transition, in rungs. Over rates from 9 to 135 nodes per rung the worst is 0.087 of a rung. A lag of one rung would put a dot on the top line.-0.500-0.25000.2500.50011.251.501.752nodes the stem spends per rung, log₁₀transition late by, in rungsone rung late8 rates · rise 0.4 → 0.0012worst mean lag 0.087 rungs
Fig. 7 The result being defended. If noise had substituted for the rate, this flat line would have been a statement about a noiseless model rather than about the ladder.

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.

BranchDivergence angleEnsembleFibonacciLadderMetastabilityNodes per rungNoiseThe placement ruleRateRiseRung