Generator

elimination-fill

One function in the graphres library, called 11 times across 5 essays. Below: what it draws at its defaults, what it draws at every value an essay asks for, the 18 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 same matrix, same arithmetic, 4.13× the fill. Gaussian elimination on the Laplacian of the grid 6×6, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 3·10⁻¹⁵. Minimum degree fills 71 edges against 293 for the worst ordering here, on a graph with 60 to start with. Nothing about the arithmetic differs between these five runs.

elimination-fill is one function in lib/figures/graphres.js — resistance, sparsification and elimination — three routes to one number, and a count that outgrows the format. 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.

Same matrix, same arithmetic, 4.13× the fillGaussian elimination on the Laplacian of the grid 6×6, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 3·10⁻¹⁵. Minimum degree fills 71 edges against 293 for the worst ordering here, on a graph with 60 to start with. Nothing about the arithmetic differs between these five runs.05101520253035059118177236295vertices eliminatededges of fill so farminDegree: 71natural: 125reverse: 125random: 160maxDegree: 293fill, by orderingminDegree71natural125reverse125random160maxDegree293edges to start60eliminating a vertex makes a cliqueand the order decides how big

Gaussian elimination on the Laplacian of the grid 6×6, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 3·10⁻¹⁵. Minimum degree fills 71 edges against 293 for the worst ordering here, on a graph with 60 to start with. Nothing about the arithmetic differs between these five runs.

family: "grid", n: 36

The arguments are the ones A count that comes out of a determinant 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.

Same matrix, same arithmetic, 4.13× the fillGaussian elimination on the Laplacian of the grid 6×6, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 3·10⁻¹⁵. Minimum degree fills 71 edges against 293 for the worst ordering here, on a graph with 60 to start with. Nothing about the arithmetic differs between these five runs.05101520253035059118177236295vertices eliminatededges of fill so farminDegree: 71natural: 125reverse: 125random: 160maxDegree: 293fill, by orderingminDegree71natural125reverse125random160maxDegree293edges to start60eliminating a vertex makes a cliqueand the order decides how big

Gaussian elimination on the Laplacian of the grid 6×6, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 3·10⁻¹⁵. Minimum degree fills 71 edges against 293 for the worst ordering here, on a graph with 60 to start with. Nothing about the arithmetic differs between these five runs.

family: "skewed", n: 36

The arguments are the ones Eliminating a vertex is a graph operation 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.

Same matrix, same arithmetic, 15× the fillGaussian elimination on the Laplacian of the preferential 36, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 2.86·10⁻¹⁵. Minimum degree fills 31 edges against 465 for the worst ordering here, on a graph with 69 to start with. Nothing about the arithmetic differs between these five runs.05101520253035093186279372465vertices eliminatededges of fill so farminDegree: 31natural: 441reverse: 43random: 245maxDegree: 465fill, by orderingminDegree31natural441reverse43random245maxDegree465edges to start69eliminating a vertex makes a cliqueand the order decides how big

Gaussian elimination on the Laplacian of the preferential 36, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 2.86·10⁻¹⁵. Minimum degree fills 31 edges against 465 for the worst ordering here, on a graph with 69 to start with. Nothing about the arithmetic differs between these five runs.

family: "grid", n: 16

The arguments are the ones Eliminating a vertex is a graph operation 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.

Same matrix, same arithmetic, 3.17× the fillGaussian elimination on the Laplacian of the grid 4×4, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 1.17·10⁻¹⁵. Minimum degree fills 18 edges against 57 for the worst ordering here, on a graph with 24 to start with. Nothing about the arithmetic differs between these five runs.024681012141601122334455vertices eliminatededges of fill so farminDegree: 18natural: 27reverse: 27random: 32maxDegree: 57fill, by orderingminDegree18natural27reverse27random32maxDegree57edges to start24eliminating a vertex makes a cliqueand the order decides how big

Gaussian elimination on the Laplacian of the grid 4×4, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 1.17·10⁻¹⁵. Minimum degree fills 18 edges against 57 for the worst ordering here, on a graph with 24 to start with. Nothing about the arithmetic differs between these five runs.

family: "grid", n: 64

The arguments are the ones Eliminating a vertex is a graph operation 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.

Same matrix, same arithmetic, 4.68× the fillGaussian elimination on the Laplacian of the grid 8×8, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 2.77·10⁻¹⁵. Minimum degree fills 183 edges against 857 for the worst ordering here, on a graph with 112 to start with. Nothing about the arithmetic differs between these five runs.091827364554630171342513684855vertices eliminatededges of fill so farminDegree: 183natural: 343reverse: 343random: 416maxDegree: 857fill, by orderingminDegree183natural343reverse343random416maxDegree857edges to start112eliminating a vertex makes a cliqueand the order decides how big

Gaussian elimination on the Laplacian of the grid 8×8, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 2.77·10⁻¹⁵. Minimum degree fills 183 edges against 857 for the worst ordering here, on a graph with 112 to start with. Nothing about the arithmetic differs between these five runs.

family: "blocks", n: 36

The arguments are the ones Eliminating a vertex is a graph operation 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.

Same matrix, same arithmetic, 3.24× the fillGaussian elimination on the Laplacian of the two blocks 36, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 2.25·10⁻¹⁵. Minimum degree fills 101 edges against 327 for the worst ordering here, on a graph with 184 to start with. Nothing about the arithmetic differs between these five runs.05101520253035065130195260325vertices eliminatededges of fill so farminDegree: 101natural: 160reverse: 169random: 327maxDegree: 248fill, by orderingminDegree101natural160reverse169random327maxDegree248edges to start184eliminating a vertex makes a cliqueand the order decides how big

Gaussian elimination on the Laplacian of the two blocks 36, under five orderings, counting the edges that did not exist before. Eliminating a vertex removes it and joins its neighbours into a clique — the star–mesh transform, which is what the Schur complement of a Laplacian does — so fill is a set of edges rather than a set of nonzeros, and the matrix that remains is still a graph: symmetric, zero row sums, nonpositive off the diagonal, checked at every step and worst at 2.25·10⁻¹⁵. Minimum degree fills 101 edges against 327 for the worst ordering here, on a graph with 184 to start with. Nothing about the arithmetic differs between these five runs.

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.

18 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 connected graph

a family the library builds

a graph the dense elimination can afford

a graph with at least two vertices

a planted partition with no isolated vertex

a positive pivot, which a connected Laplacian's elimination has at every step

a positive weight

an ordering of every vertex

an ordering with no repeats

every endpoint inside the vertex set

no edge given twice

no self-loop

the Schur complement stays a Laplacian under maxDegree

the Schur complement stays a Laplacian under minDegree

the Schur complement stays a Laplacian under natural

the Schur complement stays a Laplacian under random

the Schur complement stays a Laplacian under reverse

with every off-diagonal still nonpositive

Against the rule

It draws a decomposition and prints its residual. It calls eliminate, 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 214 of 382 generators — 194 print a residual and 20 are exempt with a published reason; 168 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 that is a graph

A count that comes out of a determinant

The number of spanning trees of a graph is the determinant of its grounded Laplacian, so it is a whole number known in advance. The elimination that computes it is backward stable at every size — and from sixteen vertices the answer is wrong, because the count has seventeen digits and a binary64 has sixteen.

The matrix that is a graph

A graph with a tenth of the edges

Keeping 344 of 1,225 edges, sampled by effective resistance and reweighted, preserves every eigenvalue of the Laplacian to within a factor of 1.7. It preserves no degree — half of them are wrong by more than a third — and it takes the diameter from one to three.

The matrix that is a graph

A preconditioner that is a tree

Every eigenvalue of a tree-preconditioned Laplacian is at least one and at most the total stretch — a combinatorial integer with no arithmetic in it. Measured, the bound is two to four times loose, and on a grid the preconditioner makes the conditioning worse by a factor of 1.85 at every size.

The matrix that is a graph

Eliminating a vertex is a graph operation

Gaussian elimination on a Laplacian deletes a vertex and joins its neighbours into a clique with conductances wᵢwⱼ over Σw. The matrix that remains is still a graph — symmetric, zero row sums, nonpositive off the diagonal — and the ordering decides whether the fill is thirty-one edges or four hundred and sixty-five.

The matrix that is a graph

The spectrum is not the graph

Two graphs on six vertices with the same Laplacian characteristic polynomial — as integer polynomials, not to fourteen digits. One contains a triangle; the other is bipartite. Every method in this field that reads only the spectrum is answering about the class.

The whole library · All essays · What must fail