SPOTS, STRIPES AND THE TWO CHEMICALS THAT MIGHT EXPLAIN BOTH Science Journaling Club, Volume 1 Issue 4, Summer 2025 Gray-Scott reaction-diffusion on a 256 x 256 periodic grid, dt = 1.00 Master seed: 20250621 numpy 2.4.2 Python 3.12.3 No laboratory, no organism and no chemistry set was involved at any point. The computation is the experiment. ============================================================================== PART 1. THE TURING CONDITIONS, WORKED OUT ON PAPER AND EVALUATED ============================================================================== The uniform states solve F(1-u) = u v^2 and u v^2 = (F+k) v. A non-trivial state has u v = F + k, so u satisfies F u^2 - F u + (F+k)^2 = 0 and u = [1 +/- sqrt(1 - 4 (F+k)^2 / F)] / 2 , v = F (1 - u) / (F + k). Real solutions exist only when F >= 4 (F+k)^2. The reaction Jacobian at such a state, simplified using u v = F + k, is J = [ -v^2 - F -2(F+k) ] [ v^2 (F+k) ] so that trace J = k - v^2 and det J = (F+k)(v^2 - F). Without diffusion the state is stable if and only if trace J < 0 and det J > 0, that is if and only if v^2 > max(F, k). With diffusion, a perturbation of wavenumber q grows when h(q^2) = Du Dv q^4 - B q^2 + det J < 0 , B = Du (F+k) - Dv (v^2 + F). The Turing conditions are therefore (i) trace J < 0 stable to a uniform perturbation (ii) det J > 0 stable to a uniform perturbation (iii) B > 0 diffusion can destabilise at all (iv) B^2 > 4 Du Dv det J and it actually does, for some real q. EQUAL DIFFUSION. Put Du = Dv = D. Then B = D (f_u + g_v) = D trace J. By (i) trace J < 0, so B < 0, and condition (iii) fails for every D > 0 and every (F,k) whose uniform state is stable without diffusion. No Turing instability is possible when the two chemicals spread at the same rate. That is not a numerical finding, it is an identity in two lines, and the simulation in Part 4 is only a check that our code obeys it. Validation point: F = 0.0740 k = 0.0620 Du = 0.160 Dv = 0.080 Du/Dv = 2.00 u* 0.492647854 v* 0.276059256 f_u = -v*^2 - F -0.150208713 f_v = -2(F+k) -0.272000000 g_u = v*^2 +0.076208713 g_v = F+k +0.136000000 trace J -0.014208713 (condition i MET) det J +0.000300385 (condition ii MET) B +0.009743303 (condition iii MET) B^2 9.493195e-05 4 Du Dv det J 1.537971e-05 (condition iv MET) stable without diffusion True TURING UNSTABLE True critical wavenumber q_c 0.616926 wavelength 10.1847 cells fastest-growing q_max 0.489998 wavelength 12.8229 cells its growth rate 0.014986 per unit time (e-folding 66.7 time units) unstable band of wavelengths 7.359 to 35.020 cells On the actual 256 x 256 grid, with the five-point Laplacian and one forward-Euler step, the fastest-growing mode is (9, 18), radius 20.1246, wavelength 12.7207 cells, growth rate 0.014986 per unit time. Continuum minus discrete: 0.1021 cells, 0.80% of the discrete value. EQUAL DIFFUSION, evaluated: D = 0.16 : B = -0.002273394 = D*traceJ = -0.002273394 Turing = False max growth -0.007104 D = 0.12 : B = -0.001705046 = D*traceJ = -0.001705046 Turing = False max growth -0.007104 D = 0.08 : B = -0.001136697 = D*traceJ = -0.001136697 Turing = False max growth -0.007104 D = 0.04 : B = -0.000568349 = D*traceJ = -0.000568349 Turing = False max growth -0.007104 Where do the strict Turing conditions hold at Du/Dv = 2? Scanning F in [0.005, 0.12] and k in [0.030, 0.075] on a fine grid: grid points examined 10556 with any non-trivial uniform state 6279 (59.5%) with a state stable to uniform perturbation 5929 (56.2%) strictly Turing-unstable 41 (0.4%) those points lie in F = 0.049 to 0.117, k = 0.0540 to 0.0620 That last number is the surprise of this study. The famous Gray-Scott spots and mazes do not live inside the Turing region. How the Turing region widens as the diffusion ratio rises: Du/Dv = 2.00 : 41 of 10556 points Turing-unstable (0.4%) Du/Dv = 3.20 : 407 of 10556 points Turing-unstable (3.9%) Du/Dv = 4.00 : 831 of 10556 points Turing-unstable (7.9%) Du/Dv = 5.33 : 1603 of 10556 points Turing-unstable (15.2%) Du/Dv = 8.00 : 2989 of 10556 points Turing-unstable (28.3%) Du/Dv = 16.00 : 5637 of 10556 points Turing-unstable (53.4%) ============================================================================== PART 2. VALIDATION 1: THE DISPERSION RELATION, MODE BY MODE ============================================================================== The analysis above predicts a growth rate for every Fourier mode. We test it directly. Start the simulation from the uniform steady state plus a single cosine of wavenumber (m, 0) and amplitude 1e-7, run 400 steps, and measure the amplitude of that same mode between step 200 and step 400 (the first 200 steps are thrown away so that the decaying eigenvector has died off and we are reading the growing one alone). The analytic number is the log of the larger eigenvalue of I + dt*(J + mu*D), where mu is the exact symbol of the five-point Laplacian. All of Part 2 is float64: in float32 the round-off floor sits above a 1e-7 perturbation and the measurement is meaningless, which cost us an afternoon. single-mode growth rates 12 jobs, pool of 6 worker processes, 0.8 s m wavelength analytic rate club measurement difference ratio --- ---------- ------------- ---------------- ---------- -------- 12 21.3333 +0.009859904 +0.009860011 +1.07e-07 1.0000108 14 18.2857 +0.012115260 +0.012115270 +1.03e-08 1.0000008 16 16.0000 +0.013649364 +0.013649366 +1.81e-09 1.0000001 17 15.0588 +0.014175313 +0.014175315 +1.23e-09 1.0000001 18 14.2222 +0.014550831 +0.014550832 +1.01e-09 1.0000001 19 13.4737 +0.014781786 +0.014781787 +8.55e-10 1.0000001 20 12.8000 +0.014873090 +0.014873091 +6.98e-10 1.0000000 21 12.1905 +0.014828964 +0.014828964 +5.35e-10 1.0000000 22 11.6364 +0.014653119 +0.014653119 +3.82e-10 1.0000000 24 10.6667 +0.013919298 +0.013919298 +1.57e-10 1.0000000 26 9.8462 +0.012695173 +0.012695173 +4.92e-11 1.0000000 28 9.1429 +0.011001430 +0.011001430 +1.17e-11 1.0000000 Largest relative disagreement over all 12 modes: 1.08e-05 The linear theory is not approximately right here. It is right to better than one part in 92,377. FIGURE 1 DATA, analytic dispersion curve (wavenumber q, growth rate): q=0.0200 gr=-0.007152 q=0.0400 gr=-0.007296 q=0.0600 gr=-0.007536 q=0.0800 gr=-0.007872 q=0.1000 gr=-0.008304 q=0.1200 gr=-0.008832 q=0.1400 gr=-0.009456 q=0.1600 gr=-0.003527 q=0.1800 gr=+0.000084 q=0.2000 gr=+0.002607 q=0.2200 gr=+0.004636 q=0.2400 gr=+0.006351 q=0.2600 gr=+0.007834 q=0.2800 gr=+0.009129 q=0.3000 gr=+0.010263 q=0.3200 gr=+0.011254 q=0.3400 gr=+0.012113 q=0.3600 gr=+0.012850 q=0.3800 gr=+0.013470 q=0.4000 gr=+0.013979 q=0.4200 gr=+0.014382 q=0.4400 gr=+0.014680 q=0.4600 gr=+0.014877 q=0.4800 gr=+0.014974 q=0.5000 gr=+0.014974 q=0.5200 gr=+0.014878 q=0.5400 gr=+0.014688 q=0.5600 gr=+0.014405 q=0.5800 gr=+0.014029 q=0.6000 gr=+0.013562 q=0.6200 gr=+0.013004 q=0.6400 gr=+0.012357 q=0.6600 gr=+0.011621 q=0.6800 gr=+0.010796 q=0.7000 gr=+0.009884 q=0.7200 gr=+0.008885 q=0.7400 gr=+0.007800 q=0.7600 gr=+0.006628 q=0.7800 gr=+0.005372 q=0.8000 gr=+0.004030 q=0.8200 gr=+0.002603 q=0.8400 gr=+0.001093 q=0.8600 gr=-0.000502 q=0.8800 gr=-0.002179 q=0.9000 gr=-0.003940 q=0.9200 gr=-0.005783 q=0.9400 gr=-0.007708 q=0.9600 gr=-0.009716 q=0.9800 gr=-0.011804 q=1.0000 gr=-0.013974 q=1.0200 gr=-0.016225 q=1.0400 gr=-0.018556 q=1.0600 gr=-0.020968 q=1.0800 gr=-0.023459 q=1.1000 gr=-0.026030 q=1.1200 gr=-0.028681 q=1.1400 gr=-0.031410 q=1.1600 gr=-0.034219 q=1.1800 gr=-0.037105 q=1.2000 gr=-0.040071 ============================================================================== PART 3. VALIDATION 2: DOES THE PATTERN HAVE THE PREDICTED WAVELENGTH? ============================================================================== 24 independent replicates at the validation point, each starting from the uniform steady state plus white noise of amplitude 1e-4, each with its own random stream spawned from the master seed. We read the dominant wavelength twice. Once at t = 261, chosen so that the fastest mode has been amplified to an amplitude of about 0.005, which is 1.8% of v* and small enough that the dynamics are still linear. And once at t = 2500, when the pattern has stopped changing. The wavelength is the peak of the mode-count-normalised radial power spectrum of v, with a parabolic interpolation between neighbouring bins. There are three analytic numbers here and they are not the same, which cost us two evenings. The first is the wavelength of the single fastest-growing mode, which is the number textbooks quote. The second takes exp(2 * growth * t) as the power in each mode and pushes that through our own Fourier binning. The third raises the scheme's own one-step propagator to the t-th power and computes the expected power in v for white-noise initial data. Only the third is a fair comparison, because only the third starts where the simulation starts. All three are printed. wavelength replicates 24 jobs, pool of 6 worker processes, 12.1 s amplitude std(v) at the linear read: mean 0.001412, which is 0.51% of v*. (The target was 0.0050; white noise puts only part of itself into the growing eigenvector, so the field arrives smaller than the estimate.) replicate wavelengths at saturation (grid cells): 13.5441 13.9471 14.6648 13.0147 13.6974 13.3653 13.4115 14.3652 13.4664 13.8581 14.0247 14.1093 14.1273 14.2299 14.8317 13.6778 14.1792 13.5474 14.2094 13.6288 13.6124 13.6282 13.9105 14.2367 peak bin in the linear phase: 17 in 1 replicates, 18 in 11 replicates, 19 in 7 replicates, 20 in 3 replicates, 21 in 2 replicates peak bin at saturation: 17 in 2 replicates, 18 in 11 replicates, 19 in 10 replicates, 20 in 1 replicates Fourier bin spacing at bin 20 on a 256 grid is 0.6737 cells, 5.26% of the wavelength. That is the resolution floor of this measurement. QUANTITY CLUB VALUE ANALYTIC DIFFERENCE ---------------------------------------- ----------------- ----------- -------------- wavelength, linear phase (t = 261) 13.6371 +/- 0.1372 13.5612 +0.0759 (+0.56%) against exp(2*growth*t) instead 12.7477 +0.8894 (+6.98%) against the single fastest mode 12.7207 +0.9164 (+7.20%) wavelength, saturated (t = 2500) 13.8870 +/- 0.0877 12.7207 +1.1662 (+9.17%) against linear theory run that long 12.8164 +1.0706 (+8.35%) same, from the spectral first moment 13.7260 +/- 0.0542 12.7207 +1.0052 (+7.90%) continuum prediction, for comparison - 12.8229 +1.0641 (+8.30%) z = (club - analytic) / standard error : linear phase +0.55 saturated +13.30 THE LINEAR-PHASE NUMBER IS THE ONE THAT TESTS THE THEORY, and it agrees. Our first attempt used exp(2*growth*t) and sat 6.98% away, which we spent two evenings blaming on the code before realising the prediction, not the simulation, was the sloppy half. THE SATURATED DISAGREEMENT IS REAL AND WE ARE NOT HIDING IT. The growth rates in Part 2 match to one part in 92,377, so the linear theory is not wrong. What is wrong is the assumption that the mode which grows fastest is the mode you end up with. The unstable band runs from 7.36 to 35.02 cells; the growth rate at the realised wavelength 14.222 is 0.014551, only 2.91% below the peak rate 0.014986. Nonlinear saturation reselects inside that nearly flat band, and it reselects longer. Section 8 of the article argues this out. final amplitude std(v): mean 0.155318, min 0.154349, max 0.155971 residual drift over the last 500 steps: max 1.495e-04 (settled means below 2.5e-04) IS THE DISAGREEMENT JUST THE GRID? A 512 x 512 control. Same parameters, same protocol, four times as many cells, so the Fourier bins are half as far apart. If the saturated wavelength is an artefact of coarse bins it should move. If it is real it should not. 512 x 512 control 6 jobs, pool of 6 worker processes, 72.5 s bin spacing at the peak on a 512 grid: 0.3282 cells, 2.56% linear phase club 13.2756 +/- 0.2076 analytic 13.5402 -1.95% saturated club 13.8186 +/- 0.1150 analytic 12.7012 +8.80% (against linear theory run that long: 12.8092, +7.88%) 256-grid saturated result for comparison: 13.8870 (+9.17%) difference between the two grids: -0.0683 cells, 0.47 standard errors FIGURE 3 PANEL D DATA: one replicate of the strict Turing pattern, a 48 x 48 crop of v thresholded at its own midpoint. Compare this with panels A to C, which come from the other protocol entirely. panel D Turing: F=0.0740 k=0.0620 wl=14.442 aniso=0.774 fill=0.420 ...#####.............############........#####.. ...#####...........###############......######.. ...#####..........##################...#######.. ..######.........#######.....################... ..######.........######........#############.... .######.........######..........###########..... #######.........#####............########....... ######..........#####.............#####......... #####...........#####.............####.......... ####............#####.............####.......... ###.............#####.............####.......... ###.............######...........#####.......... ##.............##########.......######.......... ###............#######################.......... ###...........##########################........ ###..........############################....... ###.........######....#####################..... ###........######.........####.....############# ###........#####.....................########### ###........#####.......................######### ##.........#####.........................####### ##.........####...........................###### ##........#####...........................#####. ##........#####...........................#####. ###.......#####............................####. ####.....######.........#####..............####. ################.....##########...........#####. ################################..........#####. #################################.........#####. ..#########..####################.........#####. ...######......########....#######........#####. ...............######........#####........#####. ................#####........#####........#####. ................####.........#####.......######. ................####..........####.......######. ...............#####..........#####......######. ...............#####..........#####......######. ..............######..........#####.......####.. .............#######..........#####............. ........############..........#####............. ......##############..........#####............. ....#################.........######............ #####################..........#####............ ############....######.........######..........# #########........######.........######......#### ######............#####..........############### #####.............#####..........############### #####.............#####...........############## FIGURE 5 DATA, Monte Carlo convergence (trials, running mean, running SE): n= 2 mean=13.74559 se=0.20150 n= 3 mean=14.05199 se=0.32774 n= 4 mean=13.79267 se=0.34779 n= 5 mean=13.77362 se=0.27007 n= 6 mean=13.70557 se=0.23077 n= 7 mean=13.66356 se=0.19951 n= 8 mean=13.75127 se=0.19377 n= 9 mean=13.71962 se=0.17379 n=10 mean=13.73347 se=0.15606 n=11 mean=13.75994 se=0.14362 n=12 mean=13.78905 se=0.13430 n=13 mean=13.81507 se=0.12625 n=14 mean=13.84470 se=0.12058 n=15 mean=13.91050 se=0.13012 n=16 mean=13.89595 se=0.12258 n=17 mean=13.91261 se=0.11634 n=18 mean=13.89232 se=0.11155 n=19 mean=13.90901 se=0.10683 n=20 mean=13.89500 se=0.10231 n=21 mean=13.88154 se=0.09824 n=22 mean=13.87002 se=0.09438 n=23 mean=13.87178 se=0.09020 n=24 mean=13.88699 se=0.08768 ============================================================================== PART 4. VALIDATION 3: EQUAL DIFFUSION MUST DESTROY THE PATTERN ============================================================================== Same point, same initial condition, but Du = Dv. Part 1 proves no Turing instability can exist. The perturbation must therefore decay, at the rate of the slowest-decaying mode the measurement can see. Three values of the shared diffusion coefficient, three replicates each, initial amplitude 1e-3. eigenvalues of J: -0.0071044 +/- 0.0158086i. A complex pair, so the decay is an oscillation inside a shrinking envelope, period 397.5 time units. slowest-decaying uniform mode (q = 0): -0.0071044 per unit time slowest-decaying non-uniform grid mode, which is (1,0): D = 0.16 : -0.0071000 per unit time D = 0.12 : -0.0070758 per unit time D = 0.08 : -0.0070515 per unit time The second one is what to compare against, because std(v) subtracts the mean and so cannot see the q = 0 mode at all. equal-diffusion controls 9 jobs, pool of 6 worker processes, 6.3 s D rep std(v) t=0 t=200 t=3000 club rate analytic rate difference ---- --- ---------- ---------- ---------- ------------ ------------- ------------ 0.16 0 9.946e-04 1.313e-05 5.213e-14 -0.0071265 -0.0071000 -2.65e-05 (-0.37%) 0.16 1 1.000e-03 1.425e-05 4.402e-14 -0.0072179 -0.0071000 -1.18e-04 (-1.66%) 0.16 2 9.993e-04 1.415e-05 3.991e-14 -0.0072265 -0.0071000 -1.26e-04 (-1.78%) 0.12 0 9.976e-04 1.598e-05 4.178e-14 -0.0072724 -0.0070758 -1.97e-04 (-2.78%) 0.12 1 9.967e-04 1.480e-05 4.427e-14 -0.0072317 -0.0070758 -1.56e-04 (-2.20%) 0.12 2 1.000e-03 1.347e-05 4.052e-14 -0.0072023 -0.0070758 -1.26e-04 (-1.79%) 0.08 0 9.979e-04 2.061e-05 6.469e-14 -0.0071660 -0.0070515 -1.14e-04 (-1.62%) 0.08 1 9.983e-04 2.024e-05 6.188e-14 -0.0071974 -0.0070515 -1.46e-04 (-2.07%) 0.08 2 9.936e-04 2.146e-05 6.464e-14 -0.0072015 -0.0070515 -1.50e-04 (-2.13%) Largest surviving amplitude after 3000 steps: 6.469e-14. That is the float64 round-off floor of the scheme, not a pattern. The unequal-diffusion runs of Part 3 saturate at 0.1553. Ratio: 4.165e-13. The pattern does not weaken. It is gone. Worst club-versus-analytic disagreement in the decay rate: 2.78%. ============================================================================== PART 5. HOW THE WAVELENGTH DEPENDS ON THE DIFFUSION RATIO ============================================================================== Du stays at 0.16. Dv comes down, so the ratio r = Du/Dv rises from just above the critical value to 5.0. Three replicates at each ratio. The linear read is taken at a time chosen separately for each ratio so that the amplitude is always about 0.005 when it is read, which matters because the growth rate varies by a factor of thirty across this sweep. The sweep stops at r = 5.0 because below a predicted wavelength of about seven grid cells the five-point Laplacian's own anisotropy starts to matter and we would be measuring the lattice. diffusion-ratio sweep 33 jobs, pool of 6 worker processes, 31.8 s r Dv growth t_lin predicted club, linear phase diff z then, at the end ----- ------ -------- ----- --------- ------------------- ------- ------ ------------------ 1.45 0.1103 0.001492 2623 17.1547 17.1822 +/- 0.0811 +0.028 +0.34 collapsed to u=1 1.60 0.1000 0.005963 656 16.0771 16.3256 +/- 0.5192 +0.249 +0.48 collapsed to u=1 1.80 0.0889 0.010854 360 14.7329 14.7136 +/- 0.3046 -0.019 -0.06 coarsening, wl 22.6 2.00 0.0800 0.014986 261 13.5612 14.0444 +/- 0.4237 +0.483 +1.14 maze, wl 13.46 2.30 0.0696 0.020239 193 12.1961 11.3736 +/- 0.1541 -0.823 -5.34 maze, wl 10.89 2.67 0.0599 0.025638 153 10.9574 10.2432 +/- 0.1845 -0.714 -3.87 maze, wl 9.17 3.00 0.0533 0.029733 132 10.1272 10.5231 +/- 0.5305 +0.396 +0.75 maze, wl 7.94 3.50 0.0457 0.035002 112 9.1607 9.3694 +/- 0.4453 +0.209 +0.47 maze, wl 6.93 4.00 0.0400 0.039436 99 8.4410 8.8189 +/- 0.0146 +0.378 +25.86 maze, wl 6.23 4.50 0.0356 0.043250 90 7.8674 8.1783 +/- 0.1829 +0.311 +1.70 maze, wl 5.80 5.00 0.0320 0.046583 84 7.4069 7.1372 +/- 0.2040 -0.270 -1.32 spots, wl 5.30 Across all 11 ratios, club minus linear theory in the linear phase: mean difference +0.0206 cells mean absolute difference 0.3526 cells mean absolute difference 3.36% of the predicted wavelength largest single difference 0.8225 cells at r = 2.30 The z column above is not the right thing to read row by row: with only 3 replicates the standard error is itself poorly determined, so a row can show a large z purely because its three runs happened to agree. The mean absolute difference is the honest summary. Power-law fit of the linear-phase wavelength, wavelength ~ r^p: club measurement p = -0.6778 +/- 0.0359 linear theory p = -0.6873 asymptotic theory p = -0.5000 (q_c^2 -> r g_v / (2 Du) for large r) club minus theory: +0.0095, which is 0.26 standard errors. The exponent is not -1/2 over this range because r is not large. The exact critical wavenumber is q_c^2 = (r g_v + f_u) / (2 Du), and with f_u = -0.15021 the offset still matters at r of a few. Club and theory bend by the same amount, which is the thing being tested. WHAT HAPPENS AFTERWARDS IS NOT THE SAME AT EVERY RATIO, and this surprised us. Below r of about 1.8 the pattern grows to a visible amplitude and then the whole field collapses onto the other stable state, u = 1, v = 0, leaving nothing. The Turing bifurcation here is subcritical: there is no small-amplitude patterned state to land on, so the overshoot escapes to the far attractor. Linear theory says nothing about this, and cannot. Final amplitudes: r = 1.45 final std(v) = 0.000000 collapsed to u=1 r = 1.60 final std(v) = 0.000000 collapsed to u=1 r = 1.80 final std(v) = 0.147992 coarsening, wl 22.6 r = 2.00 final std(v) = 0.155572 maze, wl 13.46 r = 2.30 final std(v) = 0.148471 maze, wl 10.89 r = 2.67 final std(v) = 0.143419 maze, wl 9.17 r = 3.00 final std(v) = 0.143562 maze, wl 7.94 r = 3.50 final std(v) = 0.148882 maze, wl 6.93 r = 4.00 final std(v) = 0.155912 maze, wl 6.23 r = 4.50 final std(v) = 0.166087 maze, wl 5.80 r = 5.00 final std(v) = 0.178793 spots, wl 5.30 ============================================================================== PART 6. THE PHASE DIAGRAM ============================================================================== Now the standard setting, Du = 0.16, Dv = 0.08, r = 2, and Pearson's protocol: the trivial state u = 1, v = 0 perturbed by finite-amplitude patches, which is what actually nucleates structure in this part of parameter space. 13 values of F crossed with 13 values of k, 169 points, each integrated 6000 steps and then classified automatically. Classification, decided before the sweep was run: std(v) < 0.010 uniform residual drift > 2.5e-04 per step chaos (it never settles) global alignment > 0.35 stripes (one direction wins) local anisotropy < 0.55 spots (round objects) otherwise maze (locally striped, no direction) Local anisotropy is the gradient structure tensor of v, smoothed over about half a wavelength, reported as |lambda1 - lambda2| / (lambda1 + lambda2) and averaged with gradient-energy weighting. It is 0 for a perfectly round blob and 1 for a perfect stripe. Global alignment is the same quantity computed once for the whole field, so a labyrinth with no preferred direction scores near zero while aligned stripes score near one. phase-diagram points 169 jobs, pool of 6 worker processes, 168.3 s Every point, in full: F k std(v) wl aniso align fill residual class ------ ------ -------- ------- ------ ------ ----- --------- -------- 0.0100 0.0450 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0470 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0490 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0510 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0530 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0550 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0570 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0590 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0610 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0630 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0650 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0100 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0450 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0470 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0490 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0510 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0530 0.092098 15.607 0.5487 0.0086 0.051 9.772e-04 chaos 0.0160 0.0550 0.086190 18.217 0.5235 0.0019 0.079 7.847e-04 chaos 0.0160 0.0570 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0590 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0610 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0630 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0650 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0160 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0220 0.0450 0.000000 - - - 0.459 0.000e+00 uniform 0.0220 0.0470 0.036768 39.385 0.9626 0.2440 0.314 8.648e-04 chaos 0.0220 0.0490 0.057832 23.195 0.7617 0.0375 0.514 1.097e-03 chaos 0.0220 0.0510 0.074797 12.902 0.8344 0.1739 0.450 3.665e-04 chaos 0.0220 0.0530 0.092650 12.950 0.8114 0.1214 0.216 5.629e-04 chaos 0.0220 0.0550 0.103482 12.973 0.5113 0.0233 0.078 9.118e-04 chaos 0.0220 0.0570 0.103158 13.328 0.4745 0.0177 0.148 8.989e-04 chaos 0.0220 0.0590 0.102477 13.117 0.4458 0.0051 0.092 6.017e-04 chaos 0.0220 0.0610 0.000000 - - - 0.000 0.000e+00 uniform 0.0220 0.0630 0.000000 - - - 0.000 0.000e+00 uniform 0.0220 0.0650 0.000000 - - - 0.000 0.000e+00 uniform 0.0220 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0220 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0280 0.0450 0.000000 - - - 0.876 0.000e+00 uniform 0.0280 0.0470 0.000000 - - - 0.113 0.000e+00 uniform 0.0280 0.0490 0.000000 - - - 0.765 0.000e+00 uniform 0.0280 0.0510 0.000001 - - - 0.566 3.302e-02 uniform 0.0280 0.0530 0.047311 21.820 0.8083 0.1989 0.818 7.126e-04 chaos 0.0280 0.0550 0.083073 12.461 0.7889 0.0685 0.586 1.001e-04 maze 0.0280 0.0570 0.097701 11.833 0.8708 0.0905 0.439 1.326e-04 maze 0.0280 0.0590 0.105124 11.596 0.5554 0.0379 0.271 2.590e-04 chaos 0.0280 0.0610 0.109949 11.694 0.3806 0.0015 0.249 1.431e-04 spots 0.0280 0.0630 0.105046 13.618 0.4452 0.0043 0.170 3.233e-04 chaos 0.0280 0.0650 0.020923 37.083 0.4584 0.0001 0.005 1.201e-06 spots 0.0280 0.0670 0.011651 35.386 0.3861 0.0006 0.001 5.914e-07 spots 0.0280 0.0690 0.008683 - - - 0.001 6.636e-07 uniform 0.0340 0.0450 0.000000 - - - 0.420 0.000e+00 uniform 0.0340 0.0470 0.000000 - - - 0.368 0.000e+00 uniform 0.0340 0.0490 0.000000 - - - 0.800 0.000e+00 uniform 0.0340 0.0510 0.000000 - - - 0.124 0.000e+00 uniform 0.0340 0.0530 0.000000 - - - 0.359 0.000e+00 uniform 0.0340 0.0550 0.000073 - - - 0.488 1.592e-02 uniform 0.0340 0.0570 0.080435 12.322 0.6070 0.0428 0.686 8.796e-05 maze 0.0340 0.0590 0.103705 11.820 0.8604 0.1044 0.475 1.215e-04 maze 0.0340 0.0610 0.110529 11.282 0.6991 0.1268 0.370 1.456e-04 maze 0.0340 0.0630 0.117524 11.451 0.3671 0.0020 0.256 1.017e-04 spots 0.0340 0.0650 0.112371 13.465 0.4304 0.0030 0.179 2.396e-04 spots 0.0340 0.0670 0.064719 19.165 0.4160 0.0003 0.043 2.005e-05 spots 0.0340 0.0690 0.053643 21.702 0.3491 0.0001 0.025 1.313e-05 spots 0.0400 0.0450 0.000000 - - - 0.296 0.000e+00 uniform 0.0400 0.0470 0.000000 - - - 0.441 0.000e+00 uniform 0.0400 0.0490 0.000000 - - - 0.608 0.000e+00 uniform 0.0400 0.0510 0.000000 - - - 0.617 0.000e+00 uniform 0.0400 0.0530 0.000000 - - - 0.331 0.000e+00 uniform 0.0400 0.0550 0.000000 - - - 0.470 0.000e+00 uniform 0.0400 0.0570 0.000000 - - - 0.594 1.295e-03 uniform 0.0400 0.0590 0.091732 11.816 0.6668 0.0404 0.652 7.848e-05 maze 0.0400 0.0610 0.112905 11.560 0.8507 0.0592 0.458 1.092e-04 maze 0.0400 0.0630 0.120156 11.244 0.5962 0.0510 0.341 9.461e-05 maze 0.0400 0.0650 0.123885 11.753 0.3820 0.0027 0.233 1.014e-04 spots 0.0400 0.0670 0.103317 15.891 0.4188 0.0007 0.118 5.646e-05 spots 0.0400 0.0690 0.083164 15.322 0.3521 0.0003 0.061 2.897e-05 spots 0.0460 0.0450 0.000000 - - - 0.467 0.000e+00 uniform 0.0460 0.0470 0.000000 - - - 0.511 0.000e+00 uniform 0.0460 0.0490 0.000000 - - - 0.474 0.000e+00 uniform 0.0460 0.0510 0.000000 - - - 0.548 0.000e+00 uniform 0.0460 0.0530 0.000000 - - - 0.443 0.000e+00 uniform 0.0460 0.0550 0.000000 - - - 0.504 0.000e+00 uniform 0.0460 0.0570 0.000000 - - - 0.454 0.000e+00 uniform 0.0460 0.0590 0.000000 - - - 0.460 0.000e+00 uniform 0.0460 0.0610 0.111827 11.540 0.7983 0.0289 0.541 1.198e-04 maze 0.0460 0.0630 0.124941 11.645 0.7901 0.0790 0.401 1.491e-04 maze 0.0460 0.0650 0.129104 11.328 0.5445 0.0286 0.288 9.758e-05 spots 0.0460 0.0670 0.112560 14.574 0.4134 0.0007 0.133 5.689e-05 spots 0.0460 0.0690 0.054640 18.287 0.3518 0.0003 0.022 6.299e-06 spots 0.0520 0.0450 0.000000 - - - 0.369 0.000e+00 uniform 0.0520 0.0470 0.000000 - - - 0.500 0.000e+00 uniform 0.0520 0.0490 0.000000 - - - 0.519 0.000e+00 uniform 0.0520 0.0510 0.000000 - - - 0.465 0.000e+00 uniform 0.0520 0.0530 0.000000 - - - 0.445 0.000e+00 uniform 0.0520 0.0550 0.000000 - - - 0.513 0.000e+00 uniform 0.0520 0.0570 0.000000 - - - 0.518 0.000e+00 uniform 0.0520 0.0590 0.000000 - - - 0.477 0.000e+00 uniform 0.0520 0.0610 0.111391 11.854 0.7437 0.0298 0.606 9.479e-05 maze 0.0520 0.0630 0.130348 11.530 0.7963 0.0384 0.426 1.741e-04 maze 0.0520 0.0650 0.134789 11.736 0.7127 0.0265 0.322 1.111e-04 maze 0.0520 0.0670 0.076567 16.828 0.4195 0.0005 0.046 1.051e-05 spots 0.0520 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0580 0.0450 0.000000 - - - 0.244 0.000e+00 uniform 0.0580 0.0470 0.000000 - - - 0.345 0.000e+00 uniform 0.0580 0.0490 0.000000 - - - 0.575 0.000e+00 uniform 0.0580 0.0510 0.000000 - - - 0.661 0.000e+00 uniform 0.0580 0.0530 0.000000 - - - 0.454 0.000e+00 uniform 0.0580 0.0550 0.000000 - - - 0.438 0.000e+00 uniform 0.0580 0.0570 0.000000 - - - 0.373 0.000e+00 uniform 0.0580 0.0590 0.000000 - - - 0.555 0.000e+00 uniform 0.0580 0.0610 0.111676 12.556 0.7078 0.0134 0.649 8.873e-05 maze 0.0580 0.0630 0.138418 11.799 0.8024 0.0868 0.423 1.653e-04 maze 0.0580 0.0650 0.135382 15.824 0.8412 0.0497 0.218 2.025e-04 maze 0.0580 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0580 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0640 0.0450 0.000000 - - - 0.470 0.000e+00 uniform 0.0640 0.0470 0.000000 - - - 0.401 0.000e+00 uniform 0.0640 0.0490 0.000000 - - - 0.373 0.000e+00 uniform 0.0640 0.0510 0.000000 - - - 0.438 0.000e+00 uniform 0.0640 0.0530 0.000000 - - - 0.660 0.000e+00 uniform 0.0640 0.0550 0.000000 - - - 0.308 0.000e+00 uniform 0.0640 0.0570 0.000000 - - - 0.545 0.000e+00 uniform 0.0640 0.0590 0.000000 - - - 0.479 0.000e+00 uniform 0.0640 0.0610 0.122993 12.273 0.7917 0.1223 0.623 8.846e-05 maze 0.0640 0.0630 0.132299 25.163 0.9007 0.0447 0.177 2.400e-04 maze 0.0640 0.0650 0.000000 - - - 0.000 0.000e+00 uniform 0.0640 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0640 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0700 0.0450 0.000000 - - - 0.651 0.000e+00 uniform 0.0700 0.0470 0.000000 - - - 0.613 0.000e+00 uniform 0.0700 0.0490 0.000000 - - - 0.511 0.000e+00 uniform 0.0700 0.0510 0.000000 - - - 0.530 0.000e+00 uniform 0.0700 0.0530 0.000000 - - - 0.610 0.000e+00 uniform 0.0700 0.0550 0.000000 - - - 0.509 0.000e+00 uniform 0.0700 0.0570 0.000000 - - - 0.288 0.000e+00 uniform 0.0700 0.0590 0.000000 - - - 0.195 0.000e+00 uniform 0.0700 0.0610 0.111737 23.222 0.7847 0.0127 0.111 2.514e-04 chaos 0.0700 0.0630 0.000000 - - - 0.000 0.000e+00 uniform 0.0700 0.0650 0.000000 - - - 0.000 0.000e+00 uniform 0.0700 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0700 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0760 0.0450 0.000000 - - - 0.464 0.000e+00 uniform 0.0760 0.0470 0.000000 - - - 0.448 0.000e+00 uniform 0.0760 0.0490 0.000000 - - - 0.561 0.000e+00 uniform 0.0760 0.0510 0.000000 - - - 0.353 0.000e+00 uniform 0.0760 0.0530 0.000000 - - - 0.359 0.000e+00 uniform 0.0760 0.0550 0.000000 - - - 0.786 0.000e+00 uniform 0.0760 0.0570 0.000000 - - - 0.744 0.000e+00 uniform 0.0760 0.0590 0.000000 - - - 0.000 0.000e+00 uniform 0.0760 0.0610 0.000000 - - - 0.000 0.000e+00 uniform 0.0760 0.0630 0.000000 - - - 0.000 0.000e+00 uniform 0.0760 0.0650 0.000000 - - - 0.000 0.000e+00 uniform 0.0760 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0760 0.0690 0.000000 - - - 0.000 0.000e+00 uniform 0.0820 0.0450 0.000000 - - - 0.192 0.000e+00 uniform 0.0820 0.0470 0.000000 - - - 0.271 0.000e+00 uniform 0.0820 0.0490 0.000000 - - - 0.679 0.000e+00 uniform 0.0820 0.0510 0.000000 - - - 0.703 0.000e+00 uniform 0.0820 0.0530 0.000000 - - - 0.751 0.000e+00 uniform 0.0820 0.0550 0.162881 36.571 0.9978 0.0001 0.760 5.760e-04 chaos 0.0820 0.0570 0.000000 - - - 0.000 0.000e+00 uniform 0.0820 0.0590 0.000000 - - - 0.000 0.000e+00 uniform 0.0820 0.0610 0.000000 - - - 0.000 0.000e+00 uniform 0.0820 0.0630 0.000000 - - - 0.000 0.000e+00 uniform 0.0820 0.0650 0.000000 - - - 0.000 0.000e+00 uniform 0.0820 0.0670 0.000000 - - - 0.000 0.000e+00 uniform 0.0820 0.0690 0.000000 - - - 0.000 0.000e+00 uniform PHASE MAP (. uniform o spots # maze = stripes ~ chaos) A trailing T marks a point where the strict Turing conditions hold. k = 0.045 0.047 0.049 0.051 0.053 0.055 0.057 0.059 0.061 0.063 0.065 0.067 0.069 F = 0.0100 . . . . . . . . . . . . . F = 0.0160 . . . . ~ ~ . . . . . . . F = 0.0220 . ~ ~ ~ ~ ~ ~ ~ . . . . . F = 0.0280 . . . . ~ # # ~ o ~ o o . F = 0.0340 . . . . . . # # # o o o o F = 0.0400 . . . . . . . # # # o o o F = 0.0460 . . . . . . . . # # o o o F = 0.0520 . . . . . . . . # # # o . F = 0.0580 . . . . . . . . # # # . . F = 0.0640 . . . . . . . . # # . . . F = 0.0700 . . . . . . . . ~ . . . . F = 0.0760 . . . . . . . . . . . . . F = 0.0820 . . . . . ~ . . .T . . . . CENSUS of 169 parameter points: uniform 123 72.8% spots 14 8.3% maze 18 10.7% stripes 0 0.0% chaos 14 8.3% Wavelength by class, counting only points that settled: spots n = 14 mean 18.138 sd 8.287 range 11.33 to 37.08 maze n = 18 mean 12.792 sd 3.248 range 11.24 to 25.16 all settled patterns: n = 32, mean 15.131, sd 6.469 Those spreads are inflated by a handful of points where the pattern survives as a few isolated objects in an otherwise empty field: the spacing between three spots is not a wavelength. Restricting to points where the minority phase covers at least 10 percent of the area, so that the pattern genuinely fills the domain: spots n = 7 mean 12.879 sd 1.798 range 11.33 to 15.89 maze n = 18 mean 12.792 sd 3.248 range 11.24 to 25.16 all space-filling patterns: n = 25, mean 12.817, sd 2.878, range 11.24 to 25.16 excluded as too sparse: 7 of 32 F ranges over a factor of 8.2 and k over a factor of 1.53 inside this set, and the wavelength moves by 22.5% either side of its mean. That is what a diffusion-set length scale should do: F and k change the shape of the pattern, Du and Dv change its size. spots: high-v area fraction mean 0.118 (range 0.001 to 0.288) maze : high-v area fraction mean 0.466 (range 0.177 to 0.686) FIGURE 3 DATA: 48 x 48 crops of v, thresholded at its own midpoint, taken from the centre of the 256 x 256 field. '#' is high v. panel A spots: F=0.0340 k=0.0650 class=spots wl=13.465 aniso=0.430 fill=0.179 ....#######..........#####................###### ....#######..........######..............####### .....#####..........#######..............####### .......#.............######..............####### .....................######..............######. .......................##.................####.. ................................................ ................................................ ................................................ ................................................ ............#####............................... ............######..........#####............... ............######.........######............... ............######.........######............... ###.........######.........######............... ####.........#####.........######............... #####.......................####.........###.... #####..................................######... #####..................................######... ####...................................######... ###....................................######... .......................................######... ........................................####.... ................................................ ...........###.................................. .........######..........####................... .........######..........#####.................. .........#######........#######................. .........######.........#######................. .........######.........#######................. ..........####...........######...........##.... ..........................####..........#####... .......................................#######.. .......................................#######.. .......................................#######.. .......................................#######.. ........................................#####... ................................................ ................#####........................... ....#...........######.......................... ..#####........#######.......................... .#######.......#######.......................... .#######.......#######........####.............. .#######........#####........######............. .######..........###.........######............. ..####.......................######............. .............................######............. .............................######.........#### panel B maze: F=0.0520 k=0.0610 class=maze wl=11.854 aniso=0.744 fill=0.606 ...######........####################........... ...######........###################............ ...#######........################.............. ...########........#############...............# ..###########.......##########................## .#############.......########.........########## ###############.......######.........########### ################......######........############ #################.....######.......############# ######...########......######.....############## ####......#######......#######..################ ##.........######......#################.....### ...........######......################......### ...........######.....################........## ..........#######.....################........## ..........######.....#################.......### .........#######.....######.....######.......### ........########.....######......######......### ###...#########.....######.......######.....#### ##############......######........######...##### ##############......######........############## #############.......######.......############### ############.......#######.......############### ###########........########....################# ...########.......############################## ....#######......######################...###### .....#####......#####################......##### .....#####......####################........#### ....######.....####################.........#### ....######.....#######.....######...........#### ...#######.....######......................##### ##########.....######......................##### ##########.....######.....................###### ##########.....######.............############## ##########.....#######.........################# ##########......#######......################### ###########......##############################. .....######......##############################. .....#######......#############################. ......######......#################.....#######. ......######.......#############.........######. ......######.......###########...........######. .......#####......#########..............######. .......######.....#######...............######.. ......#########.########................######.. ......#################...........#...########.. ######################.........##############... ######################........###############... panel C chaos: F=0.0220 k=0.0510 class=chaos wl=12.902 aniso=0.834 fill=0.450 ...#################...........###########...... ..###########....................###########.... .#########........................############.. ########............................############ ######................................########## #####...................................######## ####..................#####..............####### ##................###########.............###### ................###############.............#### .............###################................ ..........########################.............. ........############################............ .......##############.....###############....... .....#############..........###############..... ....############.............###############.... ...##########..................##############... .#########.......................#############.. ########..............................########.. #######.................................#######. ######...................................######. #####..............#########..............###### ####.............############..............##### ...............###############.............##### .............##################............##### ...........#####################...........##### .......################...######...........####. .....###############.........####..........####. ....##############............##...........####. ...#############...........................####. ...########...............................#####. ..#######.................................####.. ..######..................................####.. .######...................................####.. .######...................................###... .######..........#####....................###... .#####..........########..................###... .#####.........###########...............####... .#####........############...............####... .#####........########...................####... ######.......######......................####... ######.......#####......................#####... ######.......#####......................#####... #####.......#####......................######... #####.......#####....................########... #####.......#####...................#########..# ####.......######.................##########...# ####.......######...............############..## ###.......#######.............############....## ============================================================================== PART 7. ARE ALIGNED STRIPES AN ATTRACTOR AT ALL? ============================================================================== The sweep almost never produces aligned stripes, because nothing in a periodic square started from isotropic random noise tells the pattern which way to point. What it produces instead is a labyrinth: stripes with no shared direction. To check that aligned stripes are a genuine solution of the model rather than something the model cannot do, we repeat two Turing points with the symmetry broken by hand, seeding a single one-dimensional cosine on the steady state. F = 0.0740, k = 0.0620, seeded with a 1D cosine of wavelength 12.80 after 4000 steps: wl = 12.800 local anisotropy = 1.000 GLOBAL ALIGNMENT = 1.000 amplitude 0.1597 class = stripes F = 0.0830, k = 0.0610, seeded with a 1D cosine of wavelength 12.80 after 4000 steps: wl = 12.800 local anisotropy = 1.000 GLOBAL ALIGNMENT = 1.000 amplitude 0.1671 class = stripes Aligned stripes are stable once they exist. They are simply never chosen out of isotropic noise, because no direction is preferred. A zebra is not a periodic square, and that difference is not cosmetic: it is the whole of why real animals have oriented stripes and our model has labyrinths. ============================================================================== SUMMARY OF THE NUMBERS THE ARTICLE QUOTES ============================================================================== validation point F = 0.0740, k = 0.0620, Du/Dv = 2.0 uniform steady state u* = 0.492648, v* = 0.276059 trace J / det J -0.014209 / +0.000300 Turing coefficient B +0.009743 fastest-growing wavelength, theory 12.7207 cells on this grid same, through our own estimator 13.5612 cells measured wavelength, linear phase 13.6371 +/- 0.1372 cells (+0.56%, z = +0.55) measured wavelength, saturated 13.8870 +/- 0.0877 cells (+9.17%, z = +13.30) same on a 512 x 512 grid 13.8186 +/- 0.1150 cells (+8.80%) dispersion relation, worst mode 1.08e-05 relative equal diffusion, decay rate error 2.78% worst of 9 runs equal diffusion, surviving amplitude 6.47e-14 against 0.1553 patterned phase diagram 169 points: uniform 123, spots 14, maze 18, stripes 0, chaos 14 space-filling pattern wavelength 12.817 +/- 2.878 cells over 25 points diffusion-ratio sweep, linear phase mean |club - theory| = 0.353 cells (3.36%) wavelength vs diffusion ratio p = -0.6778 +/- 0.0359 (theory -0.6873) strict Turing region at r = 2 0.4% of the scanned window total wall clock: 301.0 s