transient-growth
At its defaults it draws ‖aᵏ‖ for a 6×6 matrix whose spectral radius is 0.8, with 2 above the diagonal. Two curves against the power. The norm of Aᵏ rises to 19800 at step 24 before turning over and decaying to 2.5·10⁻⁵ by step 160; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 6757 and at most e·n·K = 1.1·10⁵, both computed from the resolvent norms outside the unit circle and not from the powers at all.
transient-growth is one function in lib/figures/pseudo.js —
pseudospectra — where the eigenvalues would be, and what the powers do first. 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.
Two curves against the power. The norm of Aᵏ rises to 19800 at step 24 before turning over and decaying to 2.5·10⁻⁵ by step 160; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 6757 and at most e·n·K = 1.1·10⁵, both computed from the resolvent norms outside the unit circle and not from the powers at all.
m: 2
The arguments are the ones A direction the smoother cannot see 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.
Two curves against the power. The norm of Aᵏ rises to 19800 at step 24 before turning over and decaying to 2.5·10⁻⁵ by step 160; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 6757 and at most e·n·K = 1.1·10⁵, both computed from the resolvent norms outside the unit circle and not from the powers at all.
m: 0
The arguments are the ones A spectral radius that grows first 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.
Two curves against the power. The norm of Aᵏ rises to 1 at step 0 before turning over and decaying to 3.12·10⁻¹⁶ by step 160; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 0.9998 and at most e·n·K = 16.31, both computed from the resolvent norms outside the unit circle and not from the powers at all.
m: 1
The arguments are the ones A spectral radius that grows first 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.
Two curves against the power. The norm of Aᵏ rises to 637.4 at step 24 before turning over and decaying to 7.82·10⁻⁷ by step 160; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 221.3 and at most e·n·K = 3609, both computed from the resolvent norms outside the unit circle and not from the powers at all.
m: 4
The arguments are the ones A spectral radius that grows first 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.
Two curves against the power. The norm of Aᵏ rises to 6.3·10⁵ at step 24 before turning over and decaying to 8·10⁻⁴ by step 160; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 2.1·10⁵ and at most e·n·K = 3.5·10⁶, both computed from the resolvent norms outside the unit circle and not from the powers at all.
steps: 240
The arguments are the ones A spectral radius that grows first 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.
Two curves against the power. The norm of Aᵏ rises to 19800 at step 24 before turning over and decaying to 3.43·10⁻¹² by step 240; ρᵏ = 0.8ᵏ, drawn beside it, falls from the start. The two horizontal lines are the Kreiss bracket: the peak is at least K = 6757 and at most e·n·K = 1.1·10⁵, both computed from the resolvent norms outside the unit circle and not from the powers at all.
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.
173 distinct claims across 6 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.
and fall at every step, at k = 1 — asserted 160 times
a normal matrix's powers never rise above one
a size the repeated products can afford
a superdiagonal between none and the largest drawn
and e·n·K is an upper bound on it
before decaying, as the radius promises
enough steps for the transient to turn over and decay
matmul shapes agree
reaching their largest well away from the start
the Kreiss constant is a lower bound on the peak
the powers rise by an order of magnitude or more before turning over
the spectral radius is 0.8 whatever the superdiagonal is
with a Kreiss constant of one
with a Kreiss constant well above one
Against the rule
It draws a decomposition and prints its residual. It calls
spectralRadius,
and every figure above carries the badge — which residualcheck verifies by looking
for it in the emitted SVG rather than by finding the call that builds one. A badge that is
constructed and then left out of the body is the failure that check exists for.
Across the library: the rule bites on 90
of 174 generators —
75 print a residual and
15 are exempt with a published reason;
84 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.
A direction the smoother cannot see
Give the Laplacian a strong direction and multigrid stops working — from 0.2016 a cycle to 0.9565 — with every component unchanged and the condition number identical to twelve digits. The problem did not get harder. The link between the method's two halves broke.
Structure, and the solver that cannot see itA 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 factorisingA rate that is known in advance
On the model problem, Jacobi contracts by cos(π/(n+1)) per step, Gauss–Seidel by its square, and optimally relaxed SOR by a number given in closed form. Three rates, all known before anything runs, and all measurable against what runs.
Eigenvalues, singular values, rankA spectral radius that grows first
ρ(A) below one guarantees that the powers of A go to zero and says nothing about what they do on the way. Here they rise by a factor of twenty thousand before turning over, and the peak is bracketed above and below by a constant computed from the resolvent norms outside the unit circle — two routes to one number, one through the plane and one through the powers.
Eigenvalues, singular values, rankKeeping the vectors, and losing the bound
Thick restarting keeps the Ritz vectors instead of filtering the starting vector — the same eigenvalues for a third of the products with A. Its residual bound reaches 9.4·10⁻⁴¹ while the residual it bounds sits at 5.7·10⁻⁵, and the eigenvalues are correct to 4.3·10⁻¹⁴ the whole time, so nothing reports it.
Eigenvalues, singular values, rankThe eigenvalues that are not there
For a normal matrix the resolvent norm is exactly one over the distance to the nearest eigenvalue, so a picture of it carries nothing the spectrum did not. Move one entry above the diagonal and the region a perturbation of 10⁻⁸ can put an eigenvalue into stops being a disc and reaches out past the unit circle, while every eigenvalue stays at 0.8.
Iterating, instead of factorisingThe error smoothing cannot reach
One weighted Jacobi sweep multiplies every mode of the error by a number, and the number is a sine. Half the modes are cut by three or better, and the other half come back at 0.999 — which is not a failure of the method but the fact the whole of multigrid is built on.
Eigenvalues, singular values, rankThe form that makes it affordable
One Householder reduction, done once, turns every subsequent iteration of the eigenvalue algorithm from cubic to quadratic cost. It changes no answer at all, which is why it is easy to describe as an optimisation and wrong to.
Iterating, instead of factorisingThe stencil that is not symmetric
Past a cell Péclet number of exactly one — measured by bisection at 1.0000000000000002 — the central-difference solution of a convection–diffusion problem oscillates from point to point and leaves the interval the equation guarantees, at 16 of 31 grid points. It is the exact solution of its own linear system, to 4.6·10⁻¹⁸. No solver was involved.