Generator

Singular values and |uₖᵀb|, with and without 0.10% noise

One function in the regular library, called 16 times across 4 essays. Below: what it draws at its defaults, what it draws at every value an essay asks for, the 12 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 singular values and |uₖᵀb|, with and without 0.10% noise. Three curves against the index on a logarithmic vertical axis. The singular values fall exponentially to the level of rounding. With an exact right-hand side the coefficients fall faster and every term of the solution stays bounded. With noise they flatten at index 32, and from there on each term is noise divided by a σ of 6.8·10⁻⁴.

picard-plot 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.

Singular values and |uₖᵀb|, with and without 0.10% noiseThree curves against the index on a logarithmic vertical axis. The singular values fall exponentially to the level of rounding. With an exact right-hand side the coefficients fall faster and every term of the solution stays bounded. With noise they flatten at index 32, and from there on each term is noise divided by a σ of 6.8·10⁻⁴.081624324048566410⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹index kmagnitudethe floor: k = 32best truncation: k = 28σₖ|uₖᵀb| exact|uₖᵀb| with noisetwo different indicesthe crossing, from the data alone32the truncation that is actually best28relative error there0.11the exact coefficients never flattenthe noisy ones stop at ‖e‖/√n

Three curves against the index on a logarithmic vertical axis. The singular values fall exponentially to the level of rounding. With an exact right-hand side the coefficients fall faster and every term of the solution stays bounded. With noise they flatten at index 32, and from there on each term is noise divided by a σ of 6.8·10⁻⁴.

kind: "correlated", rho: 0.9

The arguments are the ones Noise that spares the answer and fools the rules passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

Singular values and |uₖᵀb| with correlated noise, ρ = 0.9The Picard picture for noise whose samples are correlated with coefficient 0.9. The singular values fall to rounding; the exact coefficients fall faster; the noisy ones flatten. The noise's own coefficients are drawn too, smoothed, and 98% of its energy sits in the first 28 directions, tilting its floor by 1.14 decades from the first eight to the last sixteen. The crossing is at 43 and the best truncation at 31.081624324048566410⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹index kmagnitudethe floor: k = 43best truncation: k = 31σₖ|uₖᵀb| exact|uₖᵀb| with noise|uₖᵀe|, smoothedcorrelation ρ = 0.9noise energy, first 28 directions0.98tilt of the noise floor, decades1.1the crossing43the best truncation31the floor tilts, and is still a floorρ = 0.9

The Picard picture for noise whose samples are correlated with coefficient 0.9. The singular values fall to rounding; the exact coefficients fall faster; the noisy ones flatten. The noise's own coefficients are drawn too, smoothed, and 98% of its energy sits in the first 28 directions, tilting its floor by 1.14 decades from the first eight to the last sixteen. The crossing is at 43 and the best truncation at 31.

kind: "correlated", rho: 0

The arguments are the ones Noise that spares the answer and fools the rules passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

Singular values and |uₖᵀb| with correlated noise, ρ = 0The Picard picture for noise whose samples are correlated with coefficient 0. The singular values fall to rounding; the exact coefficients fall faster; the noisy ones flatten. The noise's own coefficients are drawn too, smoothed, and 43% of its energy sits in the first 28 directions, tilting its floor by 0.07 decades from the first eight to the last sixteen. The crossing is at 32 and the best truncation at 28.081624324048566410⁻¹⁷10⁻¹⁴10⁻¹¹10⁻⁸10⁻⁵10⁻²10¹index kmagnitudethe floor: k = 32best truncation: k = 28σₖ|uₖᵀb| exact|uₖᵀb| with noise|uₖᵀe|, smoothedcorrelation ρ = 0noise energy, first 28 directions0.43tilt of the noise floor, decades0.074the crossing32the best truncation28the floor tilts, and is still a floorρ = 0

The Picard picture for noise whose samples are correlated with coefficient 0. The singular values fall to rounding; the exact coefficients fall faster; the noisy ones flatten. The noise's own coefficients are drawn too, smoothed, and 43% of its energy sits in the first 28 directions, tilting its floor by 0.07 decades from the first eight to the last sixteen. The crossing is at 32 and the best truncation at 28.

kind: "draws", rho: 0

The arguments are the ones Noise that spares the answer and fools the rules passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

Three rules on 48 draws of noise with ρ = 0, as multiples of the best errorEach dot is one noise draw: the error a rule's choice of λ produced, divided by the least error any λ produced on that draw. Generalised cross-validation more than doubles the best error on 3 of 48 draws, the discrepancy principle on 0, the L-curve corner on 8. Median costs are 1.005, 1.063 and 1.506.110¹10²10³10⁴10⁵error ÷ that draw's best errordoubledgeneralised cross-validation3 of 48 doubleddiscrepancy principle0 of 48 doubledL-curve corner8 of 48 doubledone dot per draw, the same noise size on every oneρ = 0

Each dot is one noise draw: the error a rule's choice of λ produced, divided by the least error any λ produced on that draw. Generalised cross-validation more than doubles the best error on 3 of 48 draws, the discrepancy principle on 0, the L-curve corner on 8. Median costs are 1.005, 1.063 and 1.506.

kind: "draws", rho: 0.9

The arguments are the ones Noise that spares the answer and fools the rules passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

Three rules on 48 draws of noise with ρ = 0.9, as multiples of the best errorEach dot is one noise draw: the error a rule's choice of λ produced, divided by the least error any λ produced on that draw. Generalised cross-validation more than doubles the best error on 14 of 48 draws, the discrepancy principle on 0, the L-curve corner on 22. Median costs are 1.027, 1.187 and 1.947.110¹10²10³10⁴error ÷ that draw's best errordoubledgeneralised cross-validation14 of 48 doubleddiscrepancy principle0 of 48 doubledL-curve corner22 of 48 doubledone dot per draw, the same noise size on every oneρ = 0.9

Each dot is one noise draw: the error a rule's choice of λ produced, divided by the least error any λ produced on that draw. Generalised cross-validation more than doubles the best error on 14 of 48 draws, the discrepancy principle on 0, the L-curve corner on 22. Median costs are 1.027, 1.187 and 1.947.

kind: "rates"

The arguments are the ones Noise that spares the answer and fools the rules passes. A value nobody placed would be a picture no essay asked for and no claim was ever checked against.

Draws out of 48 on which a rule more than doubles the best error, against ρFor each correlation from 0 to 0.99, the number of 48 noise draws on which a rule's λ produced more than twice the least error available. Generalised cross-validation: 3, 4, 6, 10, 14, 11; after whitening: 3, 3, 2, 2, 3, 3. The L-curve corner: 8, 12, 19, 19, 22, 28. The discrepancy principle doubles it on none, while its median cost rises from 1.063 to 1.220.00.20.40.60.81051015202530correlation between neighbouring samples ρdraws of 48 doubledL-curve cornerGCVGCV, whitenedthe rule that is told the noise's sizediscrepancy principle, doubled0its median cost at ρ = 01.1its median cost at ρ = 0.991.2best error at ρ = 00.11best error at ρ = 0.990.098the same noise size at every ρ; only its spectrum moves48 draws a point

For each correlation from 0 to 0.99, the number of 48 noise draws on which a rule's λ produced more than twice the least error available. Generalised cross-validation: 3, 4, 6, 10, 14, 11; after whitening: 3, 3, 2, 2, 3, 3. The L-curve corner: 8, 12, 19, 19, 22, 28. The discrepancy principle doubles it on none, while its median cost rises from 1.063 to 1.220.

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.

12 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 correlation strictly below one

a correlation that is a correlation

a kind of Picard figure this family draws

a noise level small enough to be noise

a size the dense SVD is affordable at

and it sits at the noise floor

enough draws to count and few enough to afford

no rule beats the oracle on any draw

several correlations strictly below one

the crossing is later than the best truncation

the crossing is still later than the best truncation

the discrepancy principle never doubles the error, at any ρ

Against the rule

The rule does not apply to it. It factorises nothing, so there is no residual it could be withholding. That is worth stating rather than leaving blank: a site that reported the rule as satisfied by every generator would be counting mostly generators the rule never reached.

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

Noise that spares the answer and fools the rules

Make each noise sample remember the last one, keep its size fixed, and the best answer available gets slightly better — 0.1056 to 0.1010 — because slow noise hides in the directions where dividing by σ costs nothing. The Picard crossing still lands two dozen indices past the best truncation. What breaks is the rules. Generalised cross-validation more than doubles the best error on 14 draws of 48 instead of 3, the discrepancy principle's typical cost triples, and the two miss in opposite directions. Whitening by the covariance takes GCV back to 3.

Eigenvalues, singular values, rank

Rank is a decision

A floating-point matrix does not have a rank. It has a spectrum of singular values, and somewhere in that spectrum is a place where the values stop being signal and start being noise. Deciding where is a judgement, and the evidence for it is a gap.

Regularisation, and the answer that is chosen

Thirty-two coefficients instead of a noise level

The discrepancy principle has to be told the noise, and told too little it does not degrade — it falls off a cliff, at 0.80 of the truth when the noise is 10% and at 0.58 when it is 0.001%, exactly where the understatement forces the filter past its best truncation. The missing number is in the data. The root mean square of the last thirty-two coefficients never sends the rule over the cliff at or below 1% noise in four hundred draws, where eight coefficients with the same median do so thirty-five times.

Regularisation, and the answer that is chosen

Where the answer stops being in the data

The Picard condition finds the index where a noisy right-hand side stops carrying signal, from the data alone, with no knowledge of the answer. It lands at 32 where the truncation that actually minimises the error is 28 — and at 45 where the best is 38. It overshoots at every stop from 10% noise to 0.0001%, and it overshoots for a reason. The best truncation walks up the spectrum in a straight line, six or seven indices a decade; the crossing climbs in jumps of 11, 0, 8, 5 and 1.

The whole library · All essays · What must fail