Generator

two-dimensional-limit

One function in the bttb library, called 4 times across 4 essays. Below: what it draws at its defaults, what it draws at every value an essay asks for, the 9 claims it put to the test while drawing them, and where it stands against the rule this site is named for.

At its defaults it draws κ of the 0.8 kernel on m×m grids, against its two-dimensional limit. Condition number against the grid side on a logarithmic vertical axis, with the asymptotic value ((1+ρ)/(1−ρ))⁴ = 6561 drawn as a horizontal line. The measured values are 581, 1196, 1794, 2337, reaching 35.6% of the limit on the largest grid — where the one-dimensional section of the same length reaches far more.

two-dimensional-limit is one function in lib/figures/bttb.js — block toeplitz — the second dimension, where the cluster thins. Everything below came out of it during this build, at arguments taken from the essays rather than invented for this page. A figure here is the figure a reader meets in an essay, and if the generator changes, this page changes with it.

At its defaults

Drawn even though every essay passes arguments — which on this site is every essay, at 100% of placements since the standard pass. A default nothing exercises is a trap for the next essay to call this with none, and this is the page where a default that has drifted from the figures around it becomes visible.

κ of the 0.8 kernel on m×m grids, against its two-dimensional limitCondition number against the grid side on a logarithmic vertical axis, with the asymptotic value ((1+ρ)/(1−ρ))⁴ = 6561 drawn as a horizontal line. The measured values are 581, 1196, 1794, 2337, reaching 35.6% of the limit on the largest grid — where the one-dimensional section of the same length reaches far more.4681010³10⁴grid side mκlimit 6561measured κthe symbol multipliesthe limit, from the symbol6561κ at 10×102337share of the limit reached0.36the limit is the square of the one-dimensional oneand it is further away

Condition number against the grid side on a logarithmic vertical axis, with the asymptotic value ((1+ρ)/(1−ρ))⁴ = 6561 drawn as a horizontal line. The measured values are 581, 1196, 1794, 2337, reaching 35.6% of the limit on the largest grid — where the one-dimensional section of the same length reaches far more.

rho: 0.8

The arguments are the ones A limit the matrix never reaches passes. A value drawn at the generator's defaults instead would be a picture no essay asked for and no assertion has been run against.

κ of the 0.8 kernel on m×m grids, against its two-dimensional limitCondition number against the grid side on a logarithmic vertical axis, with the asymptotic value ((1+ρ)/(1−ρ))⁴ = 6561 drawn as a horizontal line. The measured values are 581, 1196, 1794, 2337, reaching 35.6% of the limit on the largest grid — where the one-dimensional section of the same length reaches far more.4681010³10⁴grid side mκlimit 6561measured κthe symbol multipliesthe limit, from the symbol6561κ at 10×102337share of the limit reached0.36the limit is the square of the one-dimensional oneand it is further away

Condition number against the grid side on a logarithmic vertical axis, with the asymptotic value ((1+ρ)/(1−ρ))⁴ = 6561 drawn as a horizontal line. The measured values are 581, 1196, 1794, 2337, reaching 35.6% of the limit on the largest grid — where the one-dimensional section of the same length reaches far more.

What it checked while drawing

Every figure above asserted its own claims on the way to being drawn, and a claim that failed would have failed the build rather than drawn a wrong picture. Those assertions used to leave no trace at all: a passing one returned true and the only evidence the figure had checked anything was that nothing crashed. The list below is what they actually said, collected by running this generator with an observer installed — not a description of what it is believed to check.

9 distinct claims across 2 sets of arguments, grouped below by shape — because most of them are one sentence with a different number in it, and how many separate times that sentence was put to the test is the informative part.

the 4×4 grid is below the limit — asserted 4 times

and climbs towards it at m = 6 — asserted 3 times

a correlation whose two-dimensional limit is finite and drawable

and has not arrived at the largest grid drawn

Against the rule

The rule does not apply to it. It factorises nothing, so there is no residual it could be withholding. That is worth stating rather than leaving blank: a site that reported the rule as satisfied by every generator would be counting mostly generators the rule never reached.

Across the library: the rule bites on 66 of 131 generators — 51 print a residual and 15 are exempt with a published reason; 65 factorise nothing. Read from lib/residual-rule.js, which is the same body the gate enforces from, and the gate's last check fails the build if this page and it disagree about any generator.

Where it is called

Changing this generator changes every figure on this list. That is what makes the list worth publishing rather than keeping in a check script.

Structure, and the solver that cannot see it

A limit the matrix never reaches

Szegő's theorem gives a Toeplitz family's condition number in closed form — ((1+ρ)/(1−ρ))², which is 81 at ρ = 0.8. The 8×8 section reaches 52% of it, the 128×128 reaches 98.9%, and none of them ever arrives. A statement about a family is not a statement about the matrix in front of you.

Iterating, instead of factorising

The coarse problem is a different problem

In one dimension the Galerkin coarse operator is the coarse discretisation, entry for entry — this site asserted it. In two dimensions a five-point operator produces a nine-point coarse one, so the recursion solves a different discretisation at every level below the first, and converges at 0.20 a cycle regardless.

Structure, and the solver that cannot see it

The matrix that is one row

A circulant of size 16 is sixteen numbers, has no zero entry anywhere, and hands over its entire spectrum in closed form — the discrete Fourier transform of its first column, exactly. An eigensolver spends a sweep of Jacobi rotations over 256 entries arriving at the same answer, and agrees to 1.2·10⁻¹⁵.

Structure, and the solver that cannot see it

Two dimensions, and the cluster that thins

The same kernel, the same averaging, the same transform — applied along two axes instead of one. In one dimension the preconditioned step count is 7, 10, 10, 10; on square grids with the same unknown counts it is 10, 18, 20, 21, and the share of the spectrum near one falls from 56% to 17%.

The whole library · All essays · What must fail