three-residuals
At its defaults it draws three residuals, and the one a solver returns is the one about nothing. For a rational approximant with m poles, on a target set reaching to 0.3: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 1.2·10⁻¹⁵ to 1.5·10⁻¹² — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 20.5 to 24.8 times larger. The free number rises by 1306 across the sweep while the answer improves by 885. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.
three-residuals is one function in lib/figures/ratapprox.js —
the problem the solver was given — the approximation committed before the arithmetic. 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.
For a rational approximant with m poles, on a target set reaching to 0.3: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 1.2·10⁻¹⁵ to 1.5·10⁻¹² — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 20.5 to 24.8 times larger. The free number rises by 1306 across the sweep while the answer improves by 885. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.
reach: 0.3
The arguments are the ones A ceiling with a knob on it 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.
For a rational approximant with m poles, on a target set reaching to 0.3: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 1.2·10⁻¹⁵ to 1.5·10⁻¹² — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 20.5 to 24.8 times larger. The free number rises by 1306 across the sweep while the answer improves by 885. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.
reach: 1
The arguments are the ones An error committed before the arithmetic 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.
For a rational approximant with m poles, on a target set reaching to 1: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 1.8·10⁻¹⁵ to 2·10⁻⁸ — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 19.5 to 21.2 times larger. The free number rises by 1.14·10⁷ across the sweep while the answer improves by 2.79·10⁴. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.
reach: 0.7
The arguments are the ones The problem the solver was actually given 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.
For a rational approximant with m poles, on a target set reaching to 0.7: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 1.1·10⁻¹⁵ to 10·10⁻¹⁰ — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 19.6 to 24.8 times larger. The free number rises by 8.72·10⁵ across the sweep while the answer improves by 8634. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.
reach: 0.5
The arguments are the ones The problem the solver was actually given 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.
For a rational approximant with m poles, on a target set reaching to 0.5: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 1.2·10⁻¹⁵ to 7.1·10⁻¹¹ — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 21.2 to 24.8 times larger. The free number rises by 6.05·10⁴ across the sweep while the answer improves by 2396. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.
reach: 0.4
The arguments are the ones The problem the solver was actually given 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.
For a rational approximant with m poles, on a target set reaching to 0.4: ‖T̃(λ)x‖ — the residual against the problem the eigensolver was handed — stays at 2.4·10⁻¹⁵ to 3.3·10⁻¹¹ — it does not fall with m, and past a point it slowly rises, because each added pole makes the fit's own basis worse conditioned; ‖T(λ)x‖, which costs one further evaluation of γ√(λ + c), falls with the approximation; and the forward error against the closed form falls with it, staying 21.5 to 24.8 times larger. The free number rises by 1.4·10⁴ across the sweep while the answer improves by 1456. So the free number says nothing and the nearly-free number says almost everything. Evaluate the residual against the function you asked about, not against the one you handed over is the whole practical content of this field.
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.
9 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 branch point to the left of the spectrum
a size the linearisation can afford
a sweep long enough to be one
a target set that stops short of the branch point
a target set the whole sweep can be solved on
and never rises above the residual against the problem that was asked
matmul shapes agree
the residual against the approximant starts orders below the other two
which tracks the forward error to one factor
Against the rule
It draws a decomposition and prints its residual. It calls
fitRational, rationalEigen, residualsAt,
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 192
of 346 generators —
174 print a residual and
18 are exempt with a published reason;
154 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 ceiling with a knob on it
A contour method returns at most as many eigenvalues as its probe block has columns, and the object that comes back does not distinguish that from having found everything. One line of the derivation multiplies the ceiling by a number the caller chooses, and it costs no extra solves at all.
The eigenvalue problem that is not linearAn error committed before the arithmetic
Before a nonlinear eigenvalue problem is solved, somebody says where they think the eigenvalues are. That sentence sets the accuracy of everything that follows by five orders, costs nothing to say, and cannot be revised once the approximation built on it is in hand.
The eigenvalue problem that is not linearThe conditioning that rises with the ceiling
Higher moments multiply a contour method's ceiling by K and grade its block Hankel over ρ to the 2K, so the two knobs are the same knob. One division per quadrature point separates them, and the measurement of what it is worth grows from twenty to twenty thousand.
The eigenvalue problem that is not linearThe eigenvalues that are answers to nothing
A rational approximant of degree five turns a six-by-six problem into a thirty-six-by-thirty-six one, and thirty-six numbers come back. Six are the answer. The rest are exact eigenvalues of the approximant, lying where the function it approximates is not a real number at all.
The eigenvalue problem that is not linearThe problem the solver was actually given
A linearisation is exact — it has the polynomial's eigenvalues, with their multiplicities, and the whole loss is arithmetic. A nonlinear eigenvalue problem does not offer that. Every algorithm replaces the function first, and the term that replacement contributes is committed before any number is rounded and appears in no residual.
Two errors, and whose fault they areThree errors and one number
This site's identity has two factors and a division of blame between them. Two fields have now added a third party and a fourth, and only one of the four is a property of anything — the others are decisions, made before the arithmetic, reported by nothing.
The eigenvalue problem that is not linearTwo approximants and one matrix size
A polynomial approximant linearises to nd rows and a rational one to n(m+1), so the fair contest fixes the matrix and varies the basis. On an easy target set the two are indistinguishable and the ordering flips with the noise; on one that reaches a branch point the rational pulls away by two orders.