Generator

The spectrum of P⁻¹K with S = AH⁻¹Aᵀ, exactly, at 10 unknowns and 4 constraints

One function in the blockprec library, called 25 times across 4 essays. Below: what it draws at its defaults, what it draws at every value an essay asks for, the 34 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 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.

The spectrum of P⁻¹K with S = AH⁻¹Aᵀ, exactly, at 10 unknowns and 4 constraintsP = 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.00.3670080.7340171.101031.468031.835040eigenvalue of P⁻¹Kwritten down, then computeddistinct3at 16φ computed1.6off the closed form2.9·10⁻¹⁴1 − φ1φthe preconditioner's effect is a theoremand the golden ratio is in it

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.

Twelve unknowns and five constraints, triangularly preconditioned with the Hessian block solved to a relative accuracy τ: each eigenvalue's distance from one, and GMRES's relative residual after two steps, 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.10⁻¹⁴10⁻¹²10⁻¹⁰10⁻⁸10⁻⁶10⁻⁴10⁻²10⁻¹⁶10⁻¹⁴10⁻¹²10⁻¹⁰10⁻⁸10⁻⁶10⁻⁴10⁻²1inner accuracy τdistance from one, or residualJordan pairs: √τresidual, step 2: τthe rest: τdashed: slope ½ and slope 1 through the measurementsthe split is a square root, the residual is not

κ(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.

The seventeen eigenvalues of the triangularly preconditioned system with its Hessian block solved to τ = 10⁻⁶, drawn as each eigenvalue's distance from one over the square root of τ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.τ = 10⁻⁶pairs, nearest ÷ √τ0.14pairs, furthest ÷ √τ0.7the rest, furthest ÷ √τ0.0061GMRES steps4-1-0.75-0.5-0.2500.250.50.751-0.5-0.2500.250.5real part of (λ − 1)/√τimaginary partred: from the Jordan pairs; blue: the rest; rings: 1 ± √μ predictedfixed in units of √τ

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.

On eighteen saddle-point systems, the Jordan-pair eigenvalues' median distance from one divided by the square root of τ, and GMRES's residual after two steps divided by τ, against the inner accuracy τ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.10⁻¹⁴10⁻¹²10⁻¹⁰10⁻⁸10⁻⁶10⁻⁴10⁻²10⁻⁸10⁻⁶10⁻⁴10⁻²110²inner accuracy τsplit ÷ √τ, or residual ÷ τsplit ÷ √τresidual ÷ τred flat everywhere; green flat or rising, never falling toward √τtwo laws, two powers

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.

Relative residual against step at four inner accuracies: GMRES with the triangular preconditioner (solid, dots) and MINRES with the block-diagonal one (dashed), on twelve unknowns and five constraintsτ = 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⁻¹⁰.01234567891011121310⁻¹⁷10⁻¹⁵10⁻¹³10⁻¹¹10⁻⁹10⁻⁷10⁻⁵10⁻³10⁻¹steprelative residualτ = 10⁻¹²: 2 and 3τ = 10⁻⁸: 4 and 6τ = 10⁻⁴: 5 and 9τ = 0.01: 8 and 12steps: GMRES, MINRESevery second step divides the residual by about τthe pair is paid for together

τ = 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.

GMRES's measured step count against the rule ⌈2 log tol / log cτ⌉, with c read off each system's two-step residual at τ = 10⁻⁶, over eighteen systems and thirteen inner accuracies234 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.12345678910111234567891011steps the rule predictssteps GMRES takesexact: 179 of 234within one: 228dashed: rule and count agreetwo steps per factor of cτ

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.

The matrix a constraint makes

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 makes

One 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 makes

Three 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 makes

Where 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.

The whole library · All essays · What must fail