Singular values and |uₖᵀb|, with and without 0.10% noise
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.
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.
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.
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.
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.
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.
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.
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, rankRank 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 chosenThirty-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 chosenWhere 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.