The spectrum of P⁻¹K with S = AH⁻¹Aᵀ, exactly, at 10 unknowns and 4 constraints
At its defaults it draws the spectrum of p⁻¹k with s = ah⁻¹aᵀ, exactly, at 10 unknowns and 4 constraints. P = blkdiag(H, S). With S the exact Schur complement AH⁻¹Aᵀ the preconditioned matrix has exactly three distinct eigenvalues — 1 with multiplicity n − m = 6, and (1 ± √5)/2 with multiplicity 4 each. Those are 1 − φ = -0.618034 and φ = 1.61803, the golden ratio, which arrives from λ² − λ − 1 = 0 rather than from anything anybody chose. The dashed lines are that closed form and the marks are the computed spectrum; here they are 3 distinct values and the largest distance from the closed form anywhere is 2.909·10⁻¹⁴. A minimal polynomial of degree three means a Krylov method finishes in three steps, which is what the next figure measures.
mgw-spectrum is one function in lib/figures/blockprec.js —
preconditioning a saddle point — three eigenvalues, and a spectrum with no constraint in it. 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.
P = blkdiag(H, S). With S the exact Schur complement AH⁻¹Aᵀ the preconditioned matrix has exactly three distinct eigenvalues — 1 with multiplicity n − m = 6, and (1 ± √5)/2 with multiplicity 4 each. Those are 1 − φ = -0.618034 and φ = 1.61803, the golden ratio, which arrives from λ² − λ − 1 = 0 rather than from anything anybody chose. The dashed lines are that closed form and the marks are the computed spectrum; here they are 3 distinct values and the largest distance from the closed form anywhere is 2.909·10⁻¹⁴. A minimal polynomial of degree three means a Krylov method finishes in three steps, which is what the next figure measures.
show: "inexact-split"
The arguments are the ones A square root the residual does not pay passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
κ(H) = 100, κ(A) = 10, exact Schur complement. The ten eigenvalues that were Jordan pairs sit about 0.52times the square root of τ from one; the other seven about 0.35τ; the residual after two steps is 7.4·10⁻¹¹ at τ = 10⁻¹⁰, 7.4·10⁻¹⁰ at τ = 10⁻⁹, 7.4·10⁻⁹ at τ = 10⁻⁸, 7.4·10⁻⁸ at τ = 10⁻⁷, 7.4·10⁻⁷ at τ = 10⁻⁶, 7.4·10⁻⁶ at τ = 10⁻⁵, 7.4·10⁻⁵ at τ = 10⁻⁴, 7.4·10⁻⁴ at τ = 0.001, 0.0073 at τ = 0.01. Eigenvalues are drawn from τ = 10⁻⁸ up: below it the Francis iteration does not converge on this matrix, and below 10⁻¹⁰ the residual sits at the rounding floor.
show: "inexact-plane", inner: 0.000001
The arguments are the ones A square root the residual does not pay passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
In units of the square root of τ the ten eigenvalues from the Jordan pairs sit between 0.1 and 0.7 from the centre at every τ the dial offers, and the other seven at 6.1e-3 and closer: they move like τ, so on this scale they fall into the centre as τ shrinks.
show: "inexact-laws"
The arguments are the ones A square root the residual does not pay passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
The split over the square root of τ, drawn from τ = 10⁻⁸ where the eigenvalues can be computed on every system, lies between 0.42 and 0.62 and is flat on every system. The two-step residual over τ, from 10⁻¹⁰, lies between 2.9·10⁻⁷ and 2.1; it is flat on the nine systems with κ(A) = 10 and rises with τ on the nine with κ(A) = 10⁴, where a term in τ squared overtakes a small linear one. Each system is a line.
show: "inexact-history"
The arguments are the ones A square root the residual does not pay passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
τ = 10⁻¹²: GMRES 1, 0.25, 7.4·10⁻¹³ — 2 steps; MINRES 3 steps. τ = 10⁻⁸: GMRES 1, 0.25, 7.4·10⁻⁹, 4.1·10⁻¹⁰, 1.9·10⁻¹⁶ — 4 steps; MINRES 6 steps. τ = 10⁻⁴: GMRES 1, 0.25, 7.4·10⁻⁵, 4.1·10⁻⁶, 7.7·10⁻¹⁰, 8.9·10⁻¹¹ — 5 steps; MINRES 9 steps. τ = 0.01: GMRES 1, 0.25, 0.0073, 4·10⁻⁴, 7.2·10⁻⁶, 8.9·10⁻⁷, 1.9·10⁻⁸, 3.4·10⁻¹⁰, 9.7·10⁻¹² — 8 steps; MINRES 12 steps. The dotted line is the tolerance, 10⁻¹⁰.
show: "inexact-rule"
The arguments are the ones A square root the residual does not pay passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
234 cells; the rule is exact on 179 and within one step on 228. A circle's area is the number of cells at that pair.
What it checked while drawing
Every figure above checked its own claims on the way to being drawn, and a claim that failed
would have stopped the picture rather than shipped a wrong one. Those checks 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.
34 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.
a constrained problem the dense operators can afford
a constraint no larger than the problem
a finite double, since an infinity is not a rational
a Francis decomposition of P⁻¹K small enough to afford
a perturbed block that is still positive definite
a positive definite preconditioner, since MINRES needs one
a positive definite Schur complement to take a square root of
a positive definite second matrix, so the pencil has a spectrum
a problem the Francis decomposition of P⁻¹K can afford
a problem with something left to minimise
a Schur approximation the library implements
a Schur approximation this file implements
a spectrum the Francis iteration converged on
a spread between exact and six decades
a spread the linear axis can hold
an approximate Schur complement moves them off the closed form
an augmentation between nothing and twelve decades
an augmented block Cholesky still accepts
an inner accuracy between exact and a hundredth
an inner accuracy the dial offers
and its defective eigenvalue computes as a ring of radius about √(u‖N‖)
and MINRES on the diagonal one needs more
and they are 1 − φ, 1 and φ
every eigenvalue is one or (1 ± √(1 + 4γs/(1 + γs)))/2
fewer constraints than unknowns, so something is left to minimise
GMRES on the triangular one needs at most one step more than it has values
Jacobi needs a symmetric matrix
LU is for square matrices
matmul shapes agree
positive definite blocks for both preconditioners to invert
the diagonal preconditioner's eigenvalues are (1 ± √(1 + 4ν))/2
the exact Schur complement leaves three distinct eigenvalues
with multiplicity n − m at one
with the exact Schur complement the triangular one takes two steps
Against the rule
It draws a decomposition and prints its residual. It calls
blockDiagonalRun,
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 217
of 397 generators —
199 print a residual and
18 are exempt with a published reason;
180 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 square root the residual does not pay
With the exact Schur complement, the triangular saddle-point preconditioner puts every eigenvalue at one in Jordan blocks of size two, and GMRES finishes in two steps. Solve the first block only to a relative accuracy τ and the blocks split: their eigenvalues leave one like √τ — 0.42 to 0.62 times √τ on eighteen systems across six decades, each pair exactly where a five-by-five eigenproblem puts it — while the rest move like τ. The question left open was whether that square root reaches the iteration. It does not. GMRES's residual after two steps grows like τ, with a slope of 0.86 to 1.27 on every system, because its polynomial has a double root at one and cancels each split pair to second order; every further pair of steps divides the residual by about the same factor; and a rule written in τ alone predicts the step count exactly on 179 of 234 runs and within one on 228.
The matrix a constraint makesOne eigenvalue and two steps
Put the off-diagonal block back into a block-diagonal saddle-point preconditioner and every eigenvalue of the preconditioned matrix becomes exactly one. GMRES still needs two steps, because the matrix is the identity plus a nilpotent part of norm 54, and a computed eigenvalue at one comes back as a ring of radius 8·10⁻⁸ — the square root of the rounding, not the rounding. With an approximate Schur complement the triangular form leaves one copy of each value where the diagonal form leaves two, and the step count halves.
The matrix a constraint makesThree eigenvalues, and two are the golden ratio
Precondition a saddle-point system by the block diagonal of its own two definite pieces and the preconditioned matrix has exactly three distinct eigenvalues — 1, and the two roots of λ² − λ − 1. A minimal polynomial of degree three means three steps, at every conditioning, and the preconditioner nobody can afford turns out to be the statement the affordable ones are measured against.
The matrix a constraint makesWhere the augmentation puts the cost
Add γAᵀA to the objective block of a saddle-point system and its Schur complement tends to I/γ, so the cheapest possible approximation becomes the right one and the golden-ratio spectrum arrives — within 7.6·10⁻⁶ at γ = 10⁶. MINRES falls from 21 steps to 6. The inner solve with the augmented block rises from 14 conjugate gradient steps to 43, their product does not fall at all, and the answer loses seven and a half digits on the way.