Two filters on one sum, λ = 0.01
At its defaults it draws two filters on one sum, λ = 0.01. The weight each term of the solution is given, against its index. Truncation is a step: one for the first 26 terms and zero after. Tikhonov is σ²/(σ² + λ²), which falls smoothly through the same place. The unregularised solution is the constant one, which is why it divides noise by a σ of 1.7·10⁻¹³.
filter-factors is one function in lib/figures/regular.js —
regularisation — the filter, the corner, and the answer that is a choice. 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 weight each term of the solution is given, against its index. Truncation is a step: one for the first 26 terms and zero after. Tikhonov is σ²/(σ² + λ²), which falls smoothly through the same place. The unregularised solution is the constant one, which is why it divides noise by a σ of 1.7·10⁻¹³.
kind: "discretisation", level: 0.001
The arguments are the ones A better discretisation is a weaker filter passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
The continuous error of the unregularised solve on grids of 12 to 40 points, as a median of 16 draws at 0.1% noise per sample, for the sampled row-normalised kernel read as hat functions, the kernel integrated against the hat functions, and the kernel integrated against cubic splines with the answer read as a spline. The sampled kernel, hats discretisation is least at 26 points, 0.1300. The integrated, hats discretisation is least at 26 points, 0.1205. The integrated, spline discretisation is least at 26 points, 0.1170. The best truncation of a 64-point grid reaches 0.1167. Errors above 3 are drawn at 3.
kind: "discretisation", show: "clean"
The arguments are the ones A better discretisation is a weaker filter passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
The continuous error of the unregularised solve on grids of 12 to 40 points, with noise-free data, for the sampled row-normalised kernel read as hat functions, the kernel integrated against the hat functions, and the kernel integrated against cubic splines with the answer read as a spline. The sampled kernel, hats discretisation is least at 40 points, 0.0997. The integrated, hats discretisation is least at 40 points, 0.0889. The integrated, spline discretisation is least at 40 points, 0.0910. Errors above 3 are drawn at 3.
kind: "grid-filter", n: 24, reading: "spline"
The arguments are the ones A better discretisation is a weaker filter passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
For each of the 64 singular vectors of the fine blur, the fraction of it a natural cubic spline through 24 nodal values can represent, beside the fraction a piecewise-linear function on the same nodes can. Both sum to exactly 24. Below index 20 the spline loses 0.11 of a component in total where the hat functions lose 0.58; past index 25 it keeps 0.62 in total where they keep 1.56.
kind: "discretisation-kappa"
The arguments are the ones A better discretisation is a weaker filter passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
The two-norm condition number of the grid's matrix on 12 to 40 points, on a logarithmic axis, for the sampled kernel read as hat functions, the kernel integrated against hat functions, and the kernel integrated against cubic splines. Both integrated operators are worse conditioned than the sampled one on every grid, by factors of 1.95 to 2.49; on 26 points the three are 60.6, 149 and 124.
kind: "grid-solution", n: 26, level: 0.001, operator: "spline"
The arguments are the ones A better discretisation is a weaker filter passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.
The solution of the 26-point discretised blur with no λ, read as a cubic spline, drawn as the function its nodal values define, over the continuous signal of two bumps and a step. Its relative error is 0.116, against 0.115 for noise-free data on the same grid; the grid's condition number is 124.
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.
190 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.
the filter is monotone at k = 1 — checked 63 times
the integrated operators are worse conditioned on 12 points — checked 11 times
with no noise the spline discretisation is better on 12 points — checked 11 times
no λ improves the 16-point grid by 2% — checked 8 times
the draw on 30 points is one the guard does not rescue — checked 4 times
at 0.01 the box helps only in the right place — checked 3 times
at 0.01 the spread closes tenfold from 16 to 96 points — checked 3 times
the count saturates at 0.01 — checked 3 times
λ helps only on grids finer than the best unregularised one at 0.01 — checked 3 times
at noise 0.001 the spline discretisation's best grid is better by 5% — checked 2 times
a discretisation of the blur this comparison makes
a filter this family draws
a grid and level the sweep draws
a grid coarser than the 64-point reference
a grid the breakpoint sweep measures
a grid the dense solve is affordable on
a grid the figure's scale can hold
a grid the locator is drawn on
a grid the shift sweep is drawn on
a kind of filter figure this family draws
a noise level the breakpoint sweep is drawn at
a noise level the breakpoint sweep is drawn at: 1%, 0.1% or 0.01%
a noise level the discretisation sweep is calibrated over
a noise level the grid-and-λ sweep is calibrated over
a noise level the guard sweep is drawn at: 1%, 0.1% or 0.01%
a noise level the rule sweep is drawn at
a noise level the rule sweep is drawn at: 1%, 0.1% or 0.01%
a noise level the sweep is calibrated over
a noise level the sweep is drawn at
a noise level the three-discretisation sweep is drawn at
a noise level the three-discretisation sweep is drawn at: 1%, 0.1% or 0.01%
a number of draws a figure can afford
a ratio and level the sweep draws
a ratio of samples to unknowns the sweep draws
a reading of nodal values
a reading of the grid's unknowns this comparison makes
a regularisation parameter that regularises
a row of the matrix
a separation the window can show
a shift of the step's edges small enough to be a misplacement
a size the dense SVD is affordable at
a truncation that keeps some terms and drops some
a view of the discretisation sweep this figure draws
a λ inside the range the kernel is measured over
a λ that is zero or a regularisation parameter
an interior kernel still preserves a constant
an unknown count the dense solve is affordable on
and both beat doing nothing by orders of magnitude
and fall through a half within two indices of n
and folds less back from above it
and it dips below zero, which the blur never does
and it separates spikes closer together than the blur does
and its width is n/Σfₖ grid points to within a fifth
and less noise wants a smaller λ
and nearly none of the last is kept
and on grids of forty points and more the best λ is one number
and reaches within a quarter of its error with no regularisation at all
and stops holding once λ is as large as the top singular value
and the error at least doubles on a finer grid
at 1% noise the spline discretisation's best grid is worse
at least as many samples as unknowns
at least one draw's plain GCV pick is the degenerate one
at least one fine-grid draw's GCV minimum is the wrong one
noise does not make the answer materially better
noise does not make the grid's answer materially better
on fine grids the oracle's λ is one number to within half a decade
one to three readings to draw
the best grid sits within four points of the best truncation
the box on 48 points is under a quarter of the smooth reading on 96
the discrepancy principle has no draw twice the oracle anywhere
the discrepancy principle holds on every grid and GCV's worst does not
the finest grid with its λ beats the best unregularised grid
the first filter factor matches its closed form
the grid's filter factors sum to its size agree
the kernel is narrower than the blur it replaces
the kernel never shows a shallower dip than the blur
the knots and the box represent the signal to under a thousandth on 96 points
the matched truncation keeps some terms and drops some
the rightmost minimum removes most of the tenfold misses
the spline reading loses less below the grid's size than hat functions
the spline reading's filter factors sum to its size agree
the three agree to 1% on the finest grid once each has its λ
the thresholds run from the trap to none
the width grows with λ
three noise levels
Tikhonov keeps more than half of the last term the truncation keeps
two to four grids on one pair of axes
while staying narrower than the blur wherever the law holds
width × Σfₖ / n stays within a fifth of itself from λ = 10⁻⁸ to 10⁻¹
Against the rule
It draws a decomposition and prints its residual. It calls
lstsqQR,
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 better discretisation is a weaker filter
A coarse grid's error has two sources — how well the discrete operator approximates the integral, and how well the grid's function represents the answer — and the grid essay could not separate them. Changed one at a time they separate: integrating the kernel against the hat functions takes a fifth off the 12-point error, reading the answer as a cubic spline takes 15 per cent more, and both roughly double the condition number on every grid. At 0.1% noise the spline discretisation's unregularised solve on 26 points reaches the best truncation of a 64-point grid to 0.3%. At 1% it is worse than the crude grid.
Regularisation, and the answer that is chosenA corner the penalty can afford
Every smooth reading of the deconvolution's grid needed about forty points and then stopped improving, and the step was the suspect. Give the step one coefficient of its own and forty-eight points reach an error of 0.0070 at 0.1% noise, against 0.118 for the best smooth reading on ninety-six — the step was most of the error. But the same step given two coefficients recovers half as well, and given a doubled node at each edge it recovers worse than no breakpoint at all, while representing the signal to 0.07%. What decides is what the penalty is charged for the corner, and whether the data can say where it is.
Regularisation, and the answer that is chosenA second blur, narrower than the first
A regularised answer is not the truth with the noise taken out. It is the truth seen through a second blur, V F Vᵀ, which depends on the operator and λ and on nothing that was measured. At the best λ for 0.1% noise its rows are 2.82 points wide against the instrument's 5.89, they dip to −0.075 on either side, and their width times the number of components kept stays between 1.10n and 1.27n across seven decades of λ. Two spikes four points apart come back as two; three apart, as one.
Regularisation, and the answer that is chosenMore samples take the floor and leave the dip
GCV's catastrophic misses on fine grids were blamed on squareness: on an n × n system the residual and n − t both reach zero as λ does, and their ratio can dip there. With more samples than unknowns neither reaches zero, and the prediction was that the dip would be gone by construction. Half of it is. The minimum at the floor of the scale, 21 draws in 240 on square systems, is gone at every ratio. The interior dip is not — 28, 20, 13, 8 and 4 draws at one to four samples per unknown — and at four per unknown one draw still misses the oracle by 877 times.
Regularisation, and the answer that is chosenThe data count their dimensions, not the step's
Every grid in the deconvolution essays was chosen with the answer in hand, and so was every λ. From the data alone, the discrepancy principle's worst draw is within 16 per cent of the oracle on every grid from 16 points to 96; generalised cross-validation is better on the median draw and, on grids of thirty points and more, has draws thousands of times worse. And the data can say how many dimensions they carry — about 20, 25 and 29 at three noise levels, one number once the grid exceeds it — but not how many more the step needs: the grid that count chooses is 14 to 19 per cent worse than forty points at the lower two.
Regularisation, and the answer that is chosenThe grid on which the discretisation stops mattering
Without regularisation, integrating the blur's kernel against cubic splines beat sampling it at 0.1% noise and lost to it at 1%. Give each discretisation its own best λ on every grid and the difference shrinks to nothing where grids are fine — 0.17, 0.28 and 0.20 per cent apart on 96 points at the three noise levels, with every discretisation choosing the same λ — and stays at 17 to 18 per cent on 16 points. The choice between them is a choice of how coarse a grid can be: at 0.1% noise the integrated discretisations reach the fine-grid answer on 26 points and the sampled one needs 40.
Regularisation, and the answer that is chosenThe grid was the first filter
A continuous deconvolution discretised on n points and solved with no regularisation at all is not unregularised. Its error against the continuous signal is least at 24, 26 and 34 points for noise of 1%, 0.1% and 0.01% per sample — beside best truncations of 24, 28 and 32 components on a 64-point grid — and within 4 to 16 per cent of their error. The grid's own filter factors sum to n exactly and fall through a half at k = n. Choosing the grid was choosing a truncation, before anybody chose a λ.
Regularisation, and the answer that is chosenThe minimum on the right
Generalised cross-validation's worst draws on a fine grid were all one mistake: a second dip in its function at λ near zero, deeper than the real minimum. The proposed repair was a residual threshold, one number, refusing any λ whose residual falls too far below the real minimum's. Measured over 528 draws, a threshold of one half still lets two hundredfold misses through; only the extreme value, which is no threshold at all but the rule 'take the rightmost local minimum', removes all eleven. It costs nothing on the coarse grids where the dip is the right answer, and on the collection's own problem over five thousand draws it turns 243 tenfold misses into 17.
Regularisation, and the answer that is chosenWhen the answer is a choice
A backward-stable least-squares solve of this problem returns an answer whose relative error is 5.5·10⁸. Nothing went wrong. The singular values decay exponentially with no gap anywhere in them, the data does not determine the answer, and something outside the data has to choose — which is the computation rather than a preliminary to it.
Regularisation, and the answer that is chosenWhere the grid hands over to λ
An unregularised solve on a coarse grid comes within a tenth of the best Tikhonov answer on a fine one, and the pair of a grid and a λ was left unmeasured. Measured, the two do not trade. On every grid up to the best unregularised one no λ helps at all. On every grid of 40 points and more the best λ is the same to within a quarter of a decade — 3.2·10⁻² at 1% noise per sample, 10⁻³ at 0.01% — and the 96-point grid with it beats the best coarse grid by 7, 9 and 13 per cent. The grids between the two, given their own λ, land between them.