Generator

Two filters on one sum, λ = 0.01

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

Two filters on one sum, λ = 0.01The 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⁻¹³.081624324048566400.250.50.751index kfilter factor fₖno regularisation: fₖ = 1truncationTikhonovthe same sum, three weightsTikhonov, relative error0.11truncation, relative error0.11no filter at all5.5·10⁸both filters are one expression with a different weightfₖ = 1 is the catastrophe

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 unregularised solve under three discretisations of one blur, at 0.1% noise per sampleThe 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.10141822263034384210⁻¹10⁻⁰.⁵110⁰.⁵grid points nrelative error against the continuous signalsampled kernel, hatsintegrated, hatsintegrated, spline0.1% noise, no λsampled kernel, hats, best0.13integrated, hats, best0.12integrated, spline, best0.12truncation of 64 points0.12same nodal unknowns, same databetter at representing the noise too

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 noise-free unregularised solve under three discretisations of one blurThe 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.10141822263034384210⁻¹10⁻⁰.⁵grid points nrelative error against the continuous signalsampled kernel, hatsintegrated, hatsintegrated, splineno noisesampled kernel, hats, best0.1integrated, hats, best0.089integrated, spline, best0.091same nodal unknowns, same databetter at representing the answer

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.

What a cubic spline on 24 points keeps of each singular direction of the 64-point blurFor 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.081624324048566400.250.50.751index k of the 64-point singular vectorsfraction kepttruncation, K = 24cubic splinehat functionsa sharper filter nobody chosesum, spline24lost below n − 4, spline0.11lost below n − 4, hats0.58kept past n + 1, spline0.62kept past n + 1, hats1.6the same nodal values, two readingsn = 24

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 condition number of three discretisations of one blur, against the gridThe 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.101418222630343842110¹10²10³10⁴10⁵grid points ncondition number κsampled kernel, hatsintegrated, hatsintegrated, splinean honest operator costs conditioning26 points, sampled6126 points, integrated14926 points, spline124smallest ratio to sampled1.9the more faithful operator keeps more of what is smallevery grid, by more than half again

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 answer on 26 points with no λ, read as a cubic spline, at 0.1% noise, against the signalThe 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.00.20.40.60.8100.511.52tvaluethe signal26 pointsn = 26, no λrelative error0.12the same grid, no noise0.11κ of the grid's matrix124the same nodal values, read as a splinenoise 0.001

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.

Regularisation, and the answer that is chosen

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 chosen

A 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 chosen

A 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 chosen

More 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 chosen

The 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 chosen

The 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 chosen

The 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 chosen

The 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 chosen

When 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 chosen

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

The whole library · All essays · What must fail