Generator

4 entries of a strictly positive vector are negative

One function in the graphwalk library, called 18 times across 3 essays. Below: what it draws at its defaults, what it draws at every value an essay asks for, the 15 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 4 entries of a strictly positive vector are negative. The Perron eigenvector of a twelve-vertex clique with a tail of 24, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 4 of them are negative — the smallest at -1.507·10⁻²⁰ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 1.2·10⁻⁴ wide.

perron-sign is one function in lib/figures/graphwalk.js — the walk and the ranking — a rate that is not the published one, a positivity the arithmetic loses, and places nothing settles. 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.

4 entries of a strictly positive vector are negativeThe Perron eigenvector of a twelve-vertex clique with a tail of 24, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 4 of them are negative — the smallest at -1.507·10⁻²⁰ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 1.2·10⁻⁴ wide.1611162126313610⁻²²10⁻¹⁹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹vertex, clique first then tail|entry| relative to the largestone rounding of the largest entrya bound that is provedPerron root11bracket, low11bracket, high11bracket width1.2·10⁻⁴smallest entry-1.5·10⁻²⁰entries below zero4every entry is positiveand the picture disagrees

The Perron eigenvector of a twelve-vertex clique with a tail of 24, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 4 of them are negative — the smallest at -1.507·10⁻²⁰ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 1.2·10⁻⁴ wide.

tail: 24

The arguments are the ones An eigenvector that must not change sign passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

4 entries of a strictly positive vector are negativeThe Perron eigenvector of a twelve-vertex clique with a tail of 24, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 4 of them are negative — the smallest at -1.507·10⁻²⁰ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 1.2·10⁻⁴ wide.1611162126313610⁻²²10⁻¹⁹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹vertex, clique first then tail|entry| relative to the largestone rounding of the largest entrya bound that is provedPerron root11bracket, low11bracket, high11bracket width1.2·10⁻⁴smallest entry-1.5·10⁻²⁰entries below zero4every entry is positiveand the picture disagrees

The Perron eigenvector of a twelve-vertex clique with a tail of 24, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 4 of them are negative — the smallest at -1.507·10⁻²⁰ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 1.2·10⁻⁴ wide.

tail: 6

The arguments are the ones An eigenvector that must not change sign passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

Every entry positive, and the smallest is 1.7·10⁻⁷The Perron eigenvector of a twelve-vertex clique with a tail of 6, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Every entry here is still positive. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 1.78·10⁻¹⁵ wide.14710131610⁻²²10⁻¹⁹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹vertex, clique first then tail|entry| relative to the largestone rounding of the largest entrya bound that is provedPerron root11bracket, low11bracket, high11bracket width1.8·10⁻¹⁵smallest entry1.7·10⁻⁷entries below zero0every entry is positiveand the picture disagrees

The Perron eigenvector of a twelve-vertex clique with a tail of 6, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Every entry here is still positive. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 1.78·10⁻¹⁵ wide.

tail: 14

The arguments are the ones An eigenvector that must not change sign passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

Every entry positive, and the smallest is 8.45·10⁻¹⁶The Perron eigenvector of a twelve-vertex clique with a tail of 14, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Every entry here is still positive. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 8.88·10⁻¹⁵ wide.1591317212510⁻²²10⁻¹⁹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹vertex, clique first then tail|entry| relative to the largestone rounding of the largest entrya bound that is provedPerron root11bracket, low11bracket, high11bracket width8.9·10⁻¹⁵smallest entry8.4·10⁻¹⁶entries below zero0every entry is positiveand the picture disagrees

The Perron eigenvector of a twelve-vertex clique with a tail of 14, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Every entry here is still positive. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 8.88·10⁻¹⁵ wide.

tail: 20

The arguments are the ones An eigenvector that must not change sign passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

1 entries of a strictly positive vector are negativeThe Perron eigenvector of a twelve-vertex clique with a tail of 20, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 1 of them are negative — the smallest at -6.427·10⁻²¹ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 8.94·10⁻⁹ wide.16111621263110⁻²²10⁻¹⁹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹vertex, clique first then tail|entry| relative to the largestone rounding of the largest entrya bound that is provedPerron root11bracket, low11bracket, high11bracket width8.9·10⁻⁹smallest entry-6.4·10⁻²¹entries below zero1every entry is positiveand the picture disagrees

The Perron eigenvector of a twelve-vertex clique with a tail of 20, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 1 of them are negative — the smallest at -6.427·10⁻²¹ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 8.94·10⁻⁹ wide.

tail: 26

The arguments are the ones An eigenvector that must not change sign passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

5 entries of a strictly positive vector are negativeThe Perron eigenvector of a twelve-vertex clique with a tail of 26, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 5 of them are negative — the smallest at -1.088·10⁻²⁰ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 0.0141 wide.1611162126313610⁻²²10⁻¹⁹10⁻¹⁶10⁻¹³10⁻¹⁰10⁻⁷10⁻⁴10⁻¹vertex, clique first then tail|entry| relative to the largestone rounding of the largest entrya bound that is provedPerron root11bracket, low11bracket, high11bracket width0.014smallest entry-1.1·10⁻²⁰entries below zero5every entry is positiveand the picture disagrees

The Perron eigenvector of a twelve-vertex clique with a tail of 26, normalised to its largest entry, plotted as absolute values on a logarithmic axis. Perron–Frobenius says every entry of this vector is strictly positive, and it is a theorem about a connected nonnegative matrix rather than a statement about a good day. Each step along the tail divides the entry by about the Perron root 11.0077, so the entries fall by a decade a step and reach the rounding level after sixteen. Beyond it 5 of them are negative — the smallest at -1.088·10⁻²⁰ — and they are drawn as open circles. The bracket printed beside it is Collatz–Wielandt: for any strictly positive x, the Perron root lies between the smallest and largest of (Ax)ᵢ/xᵢ, so it is a two-sided bound that is proved, from one product, and after forty steps it is 0.0141 wide.

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.

15 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 chain family the study builds

a coupling the dial offers

a decay the dial offers

a finite double, since an infinity is not a rational

a graph with at least two vertices

a positive weight

a smoothing the study measures

a strictly positive vector, which is what the theorem asks for

a tail long enough to reach the rounding level and short enough to draw

every endpoint inside the vertex set

Jacobi needs a symmetric matrix

LU is for square matrices

no edge given twice

no self-loop

the Collatz–Wielandt bracket contains the Perron root

Against the rule

It draws a decomposition and prints its residual. It calls perronVector, 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 that is a graph

An eigenvector that must not change sign

Perron's theorem says the leading eigenvector of a connected nonnegative matrix is strictly positive. On a clique with a long tail, four of its thirty-six entries come back negative — and beside them is the only two-sided bound in these essays that is proved rather than estimated.

The matrix that is a graph

No subtraction, and no waiting

The power iteration keeps a positive vector's small entries correct because it never subtracts, and it pays for that in steps. On a Markov chain made of two clusters joined by a coupling ε it needs about 7/ε of them — 6,900 at ε = 10⁻³, 69,000 at 10⁻⁴ — and then stalls at a fixed point of its own rounded arithmetic about u/(4ε) from the answer; at ε = 10⁻⁶ it is still 45 per cent wrong after 200,000. Gaussian elimination needs no waiting and subtracts: on the same chains its error grows like 1/ε, and on a chain whose entries fall to 10⁻¹⁸⁴ it returns the small ones as noise, eight of them negative. The Grassmann–Taksar–Heyman elimination does neither. Every entry of every chain comes back to a relative 10⁻¹⁵, in a third of n³ operations, because the stationary vector is well conditioned under the perturbations it makes.

The matrix that is a graph

The stall was in the block

On two dense clusters joined by a coupling ε, the power iteration needs about 7/ε steps and then stalls at about u/(4ε). Aggregation–disaggregation was predicted to need a number of steps independent of ε and to stall at rounding, and with a power step as its smoother it does: fourteen steps at every coupling from a tenth to 10⁻¹², every entry to a relative 10⁻¹⁵. The textbook smoother, block Gauss–Seidel, is faster and stalls at u/ε again — because each block solve forms one minus a self-probability, and a block whose rows sum to 1 − ε is singular to within ε. Solved without that subtraction, the same blocks finish in one to four steps at rounding, and get faster as the coupling weakens.

The whole library · All essays · What must fail