3. Inverse Problems & Regularization

Hadamard well-posedness, least squares, SVD, discrete Picard condition, Tikhonov and TSVD, L-curve/GCV/discrepancy, Bayesian MAP, inverse problems in solid mechanics

Contents
1. Forward vs. Inverse: Which Direction Is Hard? 2. The Observation Model: One Equation, Four Families 3. Hadamard Well-Posedness and Why Elasticity Inversion Breaks It 4. Linear Least Squares and the Normal Equations 5. The SVD: Anatomy of an Ill-Conditioned Problem 6. The Discrete Picard Condition 7. Tikhonov Regularization 8. Truncated SVD and Friends 9. Choosing the Regularization Parameter 10. Nonlinear Problems: Gauss–Newton and Levenberg–Marquardt 11. The Bayesian View: Regularization as a Prior 12. A Taxonomy of Inverse Problems in Solid Mechanics 13. Practical Workflow: Diagnosing and Solving Your Inverse Problem Interactive: Picard & Regularization Lab Interactive: Observability, Rank & Nullspace Lab Interactive: Inversion Workflow Walkthrough Flashcards

1. Forward vs. Inverse: Which Direction Is Hard?

In a forward problem you are given the causes — loads, material parameters, geometry, boundary conditions — and you compute the effects: displacements, strains, sensor readings. Module 2 was entirely forward. The inverse problem reverses the inference: you observe noisy effects and must estimate the causes that produced them.

Core Problem
Given noisy measurements of a mechanical system's response, estimate the causes — loads, material parameters, boundary data, or the deformed state — when the forward map has already put part of the information you need out of reach: destroyed outright, if it has a nullspace, and otherwise compressed so hard that finite noise and finite precision bury it (Section 8 keeps those two apart). Formally, with forward operator $G$, model parameters $\mathbf{m}$, and noise $\mathbf{e}$: $$\mathbf{d} = G(\mathbf{m}) + \mathbf{e}, \qquad\qquad \mathbf{b} = \mathbf{A}\mathbf{x} + \mathbf{e} \quad \text{(discrete linear case)}$$

The asymmetry between the two directions is physical, not computational. The forward maps that matter here — loads and boundary data to remote displacement or strain — are smoothing: the underlying elliptic boundary-value problems damp high-spatial-frequency components of the input. (This is a property of these maps, not a law of continuum mechanics: hyperbolic wave propagation transports singularities rather than erasing them, and the Dirichlet-to-Neumann map amplifies high boundary frequencies instead of damping them.) By Saint-Venant-type reasoning, two statically equivalent but locally different load distributions produce nearly identical fields a short distance away. The forward map compresses distinct causes into nearly indistinguishable effects.

Concretely, in vision-based tactile sensing: a contact pressure profile on a soft skin's surface produces marker displacements measured at depth $h$ below the surface. Pressure detail finer than roughly the embedding depth is blurred away, so two distinct contact profiles map to nearly indistinguishable camera data. Inverting means un-smoothing — dividing by numbers close to zero — which amplifies measurement noise without bound.

The same structure appears everywhere:

parameter space M data space D m₁ m₂ G(m₁) G(m₂) forward map G smoothing: kills high-frequency detail noise ball δ all parameters consistent with the data Hadamard's three conditions, geometrically: Existence — noisy data can land outside G(M): no exact preimage Uniqueness — two parameters can share one image: multiple preimages Stability — the preimage of a small noise ball is a long thin sliver: tiny data moves, huge parameter moves
The forward map $G$ compresses well-separated parameters into nearly coincident data. Inversion must undo the compression: the preimage of the noise ball is an elongated sliver of mutually consistent parameters.

Three framings recur throughout this guide, distinguished by the kind of unknown (not by difficulty — the third row is the best-conditioned of the three, as Section 12 explains):

FramingUnknownExample
Parameter identificationA finite vector of numbersYoung's modulus, a handful of hyperelastic constants
Field / distributed reconstructionA function — discretizes to many unknowns; the hard caseA contact pressure map, a spatial modulus field
State reconstructionThe current state of a known systemiFEM's displacement-field-from-strain problem (Module 4)
Key insight — the thesis of this module
The forward map puts information out of reach — exactly, for anything in its nullspace, and in practice for every direction it attenuates below the noise. The data you actually hold cannot give that back. Every "solution" of an ill-posed inverse problem is therefore data plus injected prior assumptions, and honest methods make the injection explicit. (Be precise about which loss you mean: with $\sigma_i > 0$ and exact data the component is still encoded, as Section 8 shows — it is noise and finite precision that make it unrecoverable, not the operator.) Regularization (Sections 7–9) is not a numerical trick — it is a modeling decision.

2. The Observation Model: One Equation, Four Families

Before any machinery, fix the vocabulary that the whole guide runs on. Every inverse method in Modules 4–12 is an instance of a single observation model, and every method is fully characterized by how it answers four questions: what is measured, what is unknown, what is assumed known, and what is unobservable.

The Observation Model (guide-wide spine)
$$\mathbf{y} = \mathcal{H}(\mathbf{u},\, \mathbf{p},\, \mathbf{f},\, \mathbf{X}_0) + \mathbf{b} + \boldsymbol{\eta}$$
$\mathbf{y}$measurements (strains, marker positions, forces, images)
$\mathcal{H}$observation operator: the physics (Module 2's forward FEM) composed with the sensor model
$\mathbf{u}$state — the displacement/deformation field
$\mathbf{p}$material parameters or parameter fields
$\mathbf{f}$loads and boundary tractions
$\mathbf{X}_0$reference (unloaded) configuration
$\mathbf{b}$systematic bias: model error, miscalibration, drift
$\boldsymbol{\eta}$random measurement noise

Naming which argument of $\mathcal{H}$ is the primary target — the rest either assumed known or carried as jointly estimated nuisance unknowns, as in the all-at-once formulations of Section 12 — generates four distinct inverse families. They share the machinery of this module, but they are separate problems with different conditioning, different priors, and different literatures; none is a variant of another:

UnknownFamilyWhere in this guide
$\mathbf{u}$Shape sensing / state reconstruction (iFEM)Modules 4–6
$\mathbf{p}$Material identification (FEMU, VFM, elastography)Module 7
$\mathbf{f}$Load and contact-force inversionModule 8
$\mathbf{X}_0$Reference-configuration recoveryModule 9

A notation collision, flagged once: in the spine equation $\mathbf{b}$ denotes systematic bias; in this module's linear algebra, following the numerical-analysis convention, $\mathbf{b}$ is the data vector in $\mathbf{A}\mathbf{x}=\mathbf{b}$. Context disambiguates — the spine's bias term will not reappear until the model-error caveat in Section 11 and the validation discussion in Section 13, where structured residuals reveal it.

Rank, Nullspace, and What "Unobservable" Means

Linearize $\mathcal{H}$ about an operating point and collect the derivatives into a matrix $\mathbf{A}$ (the sensitivity or observation matrix). Two subspaces of the unknown space now decide everything:

Mechanics supplies canonical nullspaces: strain gauges are blind to rigid-body motion — rigid translation and rotation produce exactly zero strain. Statically equivalent interior load distributions are the neighbouring but distinct case: by the Saint-Venant argument of Section 1 they produce nearly identical boundary data, so they span a near-nullspace direction, not an exact one — formally observable, practically lost in noise. Two terms of art, used consistently from here on: observability asks whether a state or field ($\mathbf{u}$, $\mathbf{X}_0$-type unknowns) is determined by the measurements; identifiability asks the same for parameters ($\mathbf{p}$-type unknowns). For linear problems both reduce to the nullspace of $\mathbf{A}$; for nonlinear parameter dependence, the rank of the Jacobian governs identifiability only locally.

Between "observable" and "unobservable" lies the practically important middle ground: directions that $\mathbf{A}$ maps to tiny but nonzero outputs. They are formally observable and practically lost in noise. Quantifying that middle ground is exactly what the SVD does in Section 5.

Key insight
A nullspace is a property of the sensor set, not of the algorithm. No regularizer can restore an unobservable component — it can only fill it in from the prior. If an unobservable component matters, the fix is to change the experiment (add sensors, move them, measure a different quantity), not to change the solver.

3. Hadamard Well-Posedness and Why Elasticity Inversion Breaks It

A problem is well-posed in the modern Hadamard sense if it passes three tests; a problem failing any one of them is ill-posed. The attribution needs a footnote: Hadamard's own 1923 wording defined a problem as “correctly set” when the accessory conditions “determine one and only one solution” — existence and uniqueness. He treated instability separately, in the same lectures, through the Cauchy problem for Laplace's equation; continuity of the inverse became the standard third condition later. The three-condition list below is the definition the field now uses, not a quotation from 1923.

Definition — Hadamard well-posedness
  1. Existence: a solution exists for all admissible data.
  2. Uniqueness: the solution is unique.
  3. Stability: the solution depends continuously on the data.

Each condition fails in a concrete, mechanical way:

Existence. Noisy data $\mathbf{b}$ generally lies outside the range of $\mathbf{A}$ in an overdetermined system — no $\mathbf{x}$ satisfies $\mathbf{A}\mathbf{x}=\mathbf{b}$ exactly. Least squares (Section 4) repairs this by asking for the closest achievable fit instead.

Uniqueness. A nullspace: strain gauges cannot see rigid-body motion. (Statically equivalent interior load distributions are the near-null case of Section 2 — formally distinguishable, practically not.)

Stability. The canonical example is differentiation of noisy data. Perturb $g(x)$ by a tiny high-frequency wiggle and watch the derivative:

$$g_\varepsilon(x) = g(x) + \varepsilon\sin(kx) \;\Longrightarrow\; g_\varepsilon'(x) = g'(x) + \varepsilon k\cos(kx)$$

As $k$ grows, the data perturbation stays at size $\varepsilon$ while the answer perturbation $\varepsilon k$ blows up without bound. The same mechanism drives the backward heat equation, where recovering the initial state amplifies mode $k$ by $e^{k^2 T}$.

The Structural Reason: Compact Operators

The instability is not bad luck; it is built into the physics. When the forward map is a compact operator between infinite-dimensional spaces — the situation for a first-kind Fredholm integral equation, which is the continuous model of deconvolution and of load-to-strain maps —

$$\int_0^1 k(s,t)\,f(t)\,dt = g(s) \qquad \text{(Fredholm equation of the first kind)}$$

a bounded inverse cannot exist, so condition (3) fails structurally, not accidentally (Engl, Hanke & Neubauer 1996). Discretization does not remove the pathology; it converts the unbounded inverse into a finite matrix whose condition number grows without bound as the mesh refines.

In elasticity specifically, the Cauchy problem — reconstructing tractions and displacements on an inaccessible boundary from overdetermined data on an accessible one — is severely ill-posed: it is the elasticity analogue of Hadamard's own counterexample, the Cauchy problem for Laplace's equation, where a boundary perturbation of spatial frequency $k$ is amplified like $e^{k}$ (Hadamard 1923). Interior parameter-field identification from full-field data is typically milder; that comparison is this guide's reading of the two literatures. The severity spectrum matters practically and returns in Section 12.

History then reversed itself: Hadamard considered ill-posed problems physically meaningless; Tikhonov's school (Tikhonov & Arsenin 1977) showed they are meaningful once prior information restores stability. The repair kit maps one-to-one onto the failures:

Failed conditionRepairWhere
ExistenceLeast squares: minimize the residual instead of solving exactlySection 4
UniquenessPrior/penalty structure selects one solution from the consistent setSections 7, 11
StabilityRegularization filters the noise-amplifying componentsSections 7–9

4. Linear Least Squares and the Normal Equations

The workhorse setting: $\mathbf{A} \in \mathbb{R}^{m\times n}$ with $m > n$ and full column rank. Since noisy $\mathbf{b}$ generically lies outside the $n$-dimensional subspace range$(\mathbf{A}) \subset \mathbb{R}^m$, minimize the squared residual instead. Setting the gradient of the quadratic $\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2^2$ to zero gives the normal equations:

$$\hat{\mathbf{x}} = \arg\min_{\mathbf{x}} \|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2^2 \;\Longleftrightarrow\; \mathbf{A}^\mathsf{T}\mathbf{A}\,\hat{\mathbf{x}} = \mathbf{A}^\mathsf{T}\mathbf{b}$$

Geometric reading: $\mathbf{A}\hat{\mathbf{x}}$ is the orthogonal projection of $\mathbf{b}$ onto range$(\mathbf{A})$; the residual is orthogonal to every column of $\mathbf{A}$. The solution $\hat{\mathbf{x}} = (\mathbf{A}^\mathsf{T}\mathbf{A})^{-1}\mathbf{A}^\mathsf{T}\mathbf{b} = \mathbf{A}^\dagger\mathbf{b}$ defines the Moore–Penrose pseudoinverse for full-rank $\mathbf{A}$.

Conditioning: How Many Digits Survive?

The spectral condition number measures noise amplification through a linear solve (singular values $\sigma_i$ formally defined in Section 5):

$$\kappa_2(\mathbf{A}) = \frac{\sigma_1}{\sigma_n}, \qquad \kappa_2(\mathbf{A}^\mathsf{T}\mathbf{A}) = \kappa_2(\mathbf{A})^2$$

Rule of thumb: a linear solve loses about $\log_{10}\kappa$ decimal digits; double precision holds about 16. The precise perturbation facts, needed later: for consistent systems the relative error in $\mathbf{x}$ is bounded by $\kappa(\mathbf{A})$ times the relative error in $\mathbf{b}$; for least-squares problems with a large residual, an additional $\kappa(\mathbf{A})^2$ term enters even for backward-stable algorithms. So "least squares amplifies errors by $\kappa$" is only true in the small-residual regime, and only for the right algorithm — always state which algorithm and which regime.

Why it matters — never form $\mathbf{A}^\mathsf{T}\mathbf{A}$
Forming the normal equations squares the condition number: $\kappa_2(\mathbf{A}^\mathsf{T}\mathbf{A}) = \kappa_2(\mathbf{A})^2$. With $\kappa(\mathbf{A}) = 10^8$ — typical for a mildly ill-posed identification matrix — $\mathbf{A}^\mathsf{T}\mathbf{A}$ is numerically singular in double precision even though $\mathbf{A}$ itself still carries 8 digits of information. Remedy: QR factorization ($\mathbf{A}=\mathbf{Q}\mathbf{R}$, solve $\mathbf{R}\mathbf{x}=\mathbf{Q}^\mathsf{T}\mathbf{b}$) or the SVD, which avoid ever forming the square, so the avoidable numerical damage stays at $\kappa(\mathbf{A})$. The intrinsic $\kappa(\mathbf{A})^2$ sensitivity of large-residual least squares noted above is a property of the problem and survives every algorithm. The same warning applies verbatim to $\mathbf{J}^\mathsf{T}\mathbf{J}$ in Gauss–Newton (Section 10).

Ill-conditioning hides in innocuous-looking matrices. The $n\times n$ Hilbert matrix — a classic severely ill-conditioned Gram matrix with clean analytic entries — has $\kappa(\mathbf{H}_5) \approx 4.8\times10^5$ and $\kappa(\mathbf{H}_{10}) \approx 1.6\times10^{13}$, so by the rule above only about three decimal digits survive a solve at $n=10$. Note that this is the severe case in Section 5's taxonomy, not the mild one: $\kappa(\mathbf{H}_n)$ grows exponentially in $n$, and by $n=12$ ($\kappa \approx 1.6\times10^{16}$) double precision really is exhausted.

Foreshadowing the rest of the module: for well-conditioned $\mathbf{A}$, least squares is numerically stable and needs no regularization for stability — which is the only thing conditioning can settle. It does not follow that shrinkage cannot pay: at low signal-to-noise a little bias can still lower the mean-squared error even on a flat spectrum, and the lab below demonstrates exactly that at $w=0.5$ ($\kappa \approx 1.7$), where raising the noise slider to 10% produces an interior minimum in the error curve. So read a flat spectrum as “no stabilizing regularization required” and decide any optional denoising on SNR or validation grounds, not from $\kappa$. Regularization earns its place as a necessity whenever the Picard diagnosis of Section 6 shows the data coefficients sinking into the noise before the singular values do — a large $\kappa$ is the warning sign, not the criterion, because a right-hand side whose small-singular-direction coefficients stay above the noise can be inverted as it stands. And which regularization depends on the spectrum's shape: a gapped spectrum calls for truncation at the numerical rank, a gradually decaying one for a parameter you must choose. That is Section 5's diagnosis.

Weighted Least Squares, Whitening, and Correlated Noise

Ordinary least squares implicitly assumes every measurement deserves equal trust. When the noise has covariance $\mathbf{C} = \operatorname{cov}(\mathbf{e})$, the statistically correct functional weights the residual by the inverse covariance (the Gaussian likelihood of Section 11 makes this exact; Kaipio & Somersalo 2005):

$$\min_{\mathbf{x}} \;(\mathbf{A}\mathbf{x}-\mathbf{b})^\mathsf{T}\,\mathbf{C}^{-1}(\mathbf{A}\mathbf{x}-\mathbf{b})$$

Equivalently, whiten: multiply both $\mathbf{A}$ and $\mathbf{b}$ by $\mathbf{C}^{-1/2}$ and solve an ordinary least-squares problem whose noise is white with unit variance. Dividing each row by its sensor channel's noise standard deviation is the diagonal special case. After whitening — and only after — the statements of Sections 5–9 that depend on whiteness hold: the Picard noise floor is flat, GCV's assumptions are met, residual-whiteness checks mean what they say. Morozov's discrepancy principle (Section 9.1) is the exception on that list and is worth separating out: it consumes a noise norm $\delta$ measured in whatever metric you are actually fitting in, so it survives correlated noise as long as you know that norm — use $\|\mathbf{e}\|$ for an unweighted fit, $\|\mathbf{C}^{-1/2}\mathbf{e}\|$ after covariance weighting. Whiteness is how $\delta$ is usually estimated, not a precondition for the principle.

Why it matters — weights are a claim about your noise
Weighted least squares delivers statistical precision only if the covariance model is right. Under the assumed linear model a wrong $\mathbf{C}$ does not bias the estimate — $(\mathbf{A}^\mathsf{T}\mathbf{W}\mathbf{A})^{-1}\mathbf{A}^\mathsf{T}\mathbf{W}\mathbf{b}$ is unbiased for any fixed positive-definite $\mathbf{W}$ — but it throws away statistical efficiency, invalidates every error bar you report, and de-calibrates the flat noise floor, the discrepancy target and GCV's assumptions alike. Camera-derived measurements that pass through spatial post-processing (interpolation, smoothing, marker tracking) carry spatially correlated noise: treating it as white is itself a modeling error, and it resurfaces as GCV's classic failure mode in Section 9.

5. The SVD: Anatomy of an Ill-Conditioned Problem

The singular value decomposition is the diagnostic instrument for everything in this module. It rotates the problem into a basis where the forward map is a plain diagonal scaling:

$$\mathbf{A} = \mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^\mathsf{T} = \sum_{i=1}^{n} \sigma_i\,\mathbf{u}_i\mathbf{v}_i^\mathsf{T}$$

with orthonormal left/right singular vectors $\mathbf{u}_i$, $\mathbf{v}_i$ and $\sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_n \ge 0$. Write $r = \operatorname{rank}(\mathbf{A})$ for the number of nonzero singular values; the sums below run to $r$, not $n$, because $\sigma_i = 0$ is admitted (the nullspace of Section 2) and $1/\sigma_i$ is then undefined. For the full-column-rank setting of Section 4, $r = n$. In this basis the minimum-norm least-squares solution is an explicit expansion, and splitting the data $\mathbf{b} = \mathbf{b}_{\mathrm{exact}} + \mathbf{e}$ exposes exactly where inversion goes wrong:

$$\mathbf{x}_{\mathrm{LS}} = \sum_{i=1}^{r} \frac{\mathbf{u}_i^\mathsf{T}\mathbf{b}}{\sigma_i}\,\mathbf{v}_i = \underbrace{\sum_{i=1}^{r} \frac{\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}}}{\sigma_i}\,\mathbf{v}_i}_{\text{signal}} + \underbrace{\sum_{i=1}^{r} \frac{\mathbf{u}_i^\mathsf{T}\mathbf{e}}{\sigma_i}\,\mathbf{v}_i}_{\text{amplified noise}}$$

Two facts drive everything that follows:

Fact 1 — white noise is flat in the singular basis. The exact coefficients $\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}}$ decay with $i$ (Section 6), but for white noise of standard deviation $s$, every $|\mathbf{u}_i^\mathsf{T}\mathbf{e}| \approx s$ regardless of $i$ — an orthogonal rotation preserves white noise. So component $i$ of the naive solution carries a noise term of size $s/\sigma_i$: and once $\sigma_i$ is small that term is enormous. Be careful about the exact criterion, though: what decides whether component $i$ is recoverable is not $\sigma_i$ against $s$, but the exact data coefficient $|\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}}|$ against $s$. Once the signal in a direction has sunk below the noise, inverting it returns amplified noise no matter how the singular value compares.

Fact 2 — small-$\sigma$ singular vectors are usually oscillatory. For discretized smoothing kernels — the deconvolution and load-to-strain maps this guide is about — the singular vectors associated with small $\sigma_i$ have increasingly many sign changes, the matrix version of "the forward map kills high frequencies". Hence the amplified garbage is high-frequency, which is why an unregularized solution looks like noise rather than like a slightly-wrong answer. Treat this as a property of that class of operators, not as a consequence of ill-conditioning: a diagonal $\mathbf{A}$ with decaying diagonal entries has exactly the gradually decaying spectrum of a discrete ill-posed problem, yet its singular vectors are the coordinate axes — no sign changes, no spatial length scale at all. Check that your own $\mathbf{v}_i$ really do order spatial frequency before reading resolution off them (Section 8).

A Taxonomy of Singular Spectra

Plot $\sigma_i$ against $i$ on a semilog axis and the problem type reads off directly (Hansen 1998; Hansen 2010):

Three singular spectra, three regimes. Well-conditioned: ordinary least squares is stable and no regularization is needed to make it so. Rank-deficient: a gap defines the numerical rank $r$; truncate there. Discrete ill-posed: gradual decay with no gap — no natural rank exists, and the truncation point becomes a free parameter you must choose.
SpectrumSignatureDiagnosis
Well-conditioned$\sigma_i$ roughly flatOrdinary least squares; no regularization needed for stability (shrinkage may still help at low SNR — decide that on validation, not on $\kappa$)
Rank-deficientCluster of large $\sigma_i$, then a sharp gap down to machine-precision levelNumerical rank is well defined; TSVD at the gap (Section 8)
Discrete ill-posedGradual decay to zero with no gap — algebraic $\sigma_i \sim i^{-p}$ (mildly ill-posed) or exponential (severely ill-posed)No meaningful rank exists; the truncation/regularization level is a free parameter (Sections 7–9)

For calibration of expectations: deconvolution with a Gaussian kernel is severely ill-posed — its spectrum decays like a Gaussian in frequency — while many elasticity identification operators are mildly to moderately ill-posed.

Key insight — refinement makes it worse
The ill-conditioning is inherited from the continuous compact operator (Section 3), so refining the discretization makes $\kappa$ worse, not better — "add more elements" is not a fix. Conversely, a coarse mesh is itself a crude implicit regularizer: if you then add an explicit penalty on top, know that you are regularizing twice.

6. The Discrete Picard Condition

Small singular values alone do not doom a problem — what matters is how fast the data's SVD coefficients fall relative to the singular values. That comparison is the discrete Picard condition, and its plot is the single most informative diagnostic you can produce before attempting any inversion.

Definition — Discrete Picard Condition (Hansen 1990)
A discrete ill-posed problem has a meaningful, bounded-norm underlying solution only if the SVD coefficients of the exact data decay to zero faster on average than the singular values: $$\text{DPC:}\quad |\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}}| \;\text{decays faster than}\; \sigma_i \;\text{(on average)}$$ If they decay slower, even noise-free inversion produces a solution whose norm diverges under mesh refinement — the discrete shadow of the classical Picard condition for first-kind Fredholm equations.

Reading a Picard Plot

On a semilog axis versus index $i$, plot three things: $\sigma_i$, the data coefficients $|\mathbf{u}_i^\mathsf{T}\mathbf{b}|$, and their ratio $|\mathbf{u}_i^\mathsf{T}\mathbf{b}|/\sigma_i$. With real (noisy) data the coefficients track the decaying exact coefficients only until they hit the noise floor at the per-sample noise standard deviation $s$, where they level off into a horizontal band — because $|\mathbf{u}_i^\mathsf{T}\mathbf{e}| \approx s$ for all $i$ (Section 5):

$$|\mathbf{u}_i^\mathsf{T}\mathbf{b}| \approx \max\left\{\,|\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}}|,\; s\,\right\}, \qquad s = \text{noise std. dev.}$$
Anatomy of a Picard plot. The crossing index $i^*$ — where the data coefficients $|\mathbf{u}_i^\mathsf{T}\mathbf{b}|$ flatten onto the noise plateau — is the information content of the experiment: refining the unknowns does not raise it; better sensors do. ($\sigma_i$ reaching that same level, further right, is a different and later event.) Ratio markers that run off the top of the axis are drawn as triangles on the frame rather than silently dropped.

Define the crossing index $i^*$: the index at which the measured coefficients stop tracking the exact ones and flatten onto the noise plateau — equivalently, where $|\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}}|$ sinks to $s$. Read $i^*$ as a budget, not a partition. Below it most components carry recoverable signal; above it most are noise, the ratio grows like $s/\sigma_i$, and inverting those directions amplifies noise — but $i^*$ is the centre of a transition band, not a hard boundary, and individual exact coefficients do resurface above the floor past it (Section 8's selective-filtering caveat). In the lab configuration quoted at the end of this paragraph the exact coefficients cross the noise floor five times before settling below it for good. One caveat on any such count: the lab's singular values come in degenerate cosine/sine pairs, and within a repeated pair the split of the energy between the two coefficients depends on which basis of that 2-D subspace you happen to hold. The crossing count and the count above the floor are therefore basis-dependent at the margin; what is invariant is the energy of the whole pair, $\|\mathbf{U}_{\text{pair}}^\mathsf{T}\mathbf{b}\|_2$, against a two-dimensional noise threshold. Quote the counts as a reading of a particular plot, not as an operator invariant. Note also what $i^*$ is not: the index where $\sigma_i$ itself drops below $s$. That crossing is a different (and later) event — in the figure above the coefficients flatten at $i^* \approx 16$ while $\sigma_i$ only reaches the noise level near $i = 25$ — and using it would overstate the information you actually hold. Recoverability is decided by the data coefficients, not by the singular values alone. $i^*$ is the honest measure of the information content of the experiment — often brutally small, and, once the unknown grid is fine enough to resolve what the sensors can see, stable under further refinement of the unknowns. It is not a discretization invariant in the strict sense: changing $n$ changes $\mathbf{A}$, its left singular vectors and the coefficients $\mathbf{u}_i^\mathsf{T}\mathbf{b}$, so while the grid is still too coarse the count can move by an index or two. What refinement never does is create new experimental information. The count depends on the kernel, the true signal and the noise level, so quote it with its configuration: in the 64-point periodic Gaussian deconvolution of the lab below (PSF width $w = 1.5$ grid units, 1% relative noise), only about two dozen of the 64 exact-data coefficients sit above the noise floor.

The experiment-design reading: adding sensors, moving them closer to the source, or reducing noise raises $i^*$. Adding unknowns does not — past the point where the grid resolves the measurement-supported subspace, refinement leaves $i^*$ where it was.

Key insight — the plateau is not a violation
The leveling-off of $|\mathbf{u}_i^\mathsf{T}\mathbf{b}|$ does not mean the discrete Picard condition is violated. The DPC concerns the exact data; the plateau is the visible signature of the noise and is expected in every real dataset. Reading the plateau as a broken Picard condition is a classic misreading — what the plateau actually tells you is where the recoverable components end.

This diagnosis motivates both regularization families: TSVD keeps components $i \le k \approx i^*$ (Section 8); Tikhonov rolls components off smoothly around $\sigma_i \approx \lambda$ (Section 7).

7. Tikhonov Regularization

Tikhonov's repair (Tikhonov & Arsenin 1977): stop asking for the best data fit, and minimize a penalized functional that trades fidelity against a prior notion of "reasonable":

$$\mathbf{x}_\lambda = \arg\min_{\mathbf{x}}\left\{ \|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2^2 + \lambda^2\|\mathbf{L}(\mathbf{x}-\mathbf{x}_0)\|_2^2 \right\}$$

The seminorm matrix $\mathbf{L}$ and reference $\mathbf{x}_0$ encode the prior. Standard form: $\mathbf{L}=\mathbf{I}$, $\mathbf{x}_0=\mathbf{0}$ — penalize magnitude. Common general forms: $\mathbf{L}$ = discrete first-derivative (bidiagonal) or Laplacian (tridiagonal) operator — penalize roughness, appropriate when the unknown field (e.g. a contact pressure distribution under a smooth indenter) is expected smooth. Setting the gradient to zero gives the regularized normal equations, uniquely solvable provided $\mathbf{L}$ actually covers what $\mathbf{A}$ cannot see, i.e. $\ker\mathbf{A}\cap\ker\mathbf{L}=\{\mathbf{0}\}$. That kernel condition buys uniqueness, and by itself nothing more. Conditioning is a separate question with a separate answer: for $\mathbf{L}=\mathbf{I}$ the eigenvalues of the left-hand side are $\sigma_i^2+\lambda^2$, so for $\lambda$ not too small the condition number drops to $(\sigma_1^2+\lambda^2)/(\sigma_n^2+\lambda^2)$ — a genuine and large improvement. For a general $\mathbf{L}$ it depends on the scaling of $\mathbf{L}$ and on the generalized spectrum of the pair $(\mathbf{A},\mathbf{L})$, and it can come out far worse than $\mathbf{A}^\mathsf{T}\mathbf{A}$ alone: a badly scaled $\mathbf{L}$ with a trivial kernel is enough to do it, since the penalty then adds its own dynamic range to the matrix. Compute $\kappa$ of the regularized system; do not assume it improved. The kernel condition itself is automatic for $\mathbf{L}=\mathbf{I}$ but not for derivative penalties: a first-difference $\mathbf{L}$ has the constants in its nullspace, and what a discrete Laplacian has depends entirely on its boundary rows — a boundary-free 1-D second-difference stencil (the $(n-2)\times n$ operator) has constants and linears, a Neumann or graph Laplacian has constants only, and a Dirichlet Laplacian is nonsingular. If $\mathbf{A}$ is also blind to whatever that nullspace turns out to contain, no $\lambda$ will pin those modes down.

$$\left(\mathbf{A}^\mathsf{T}\mathbf{A} + \lambda^2\mathbf{L}^\mathsf{T}\mathbf{L}\right)\mathbf{x}_\lambda = \mathbf{A}^\mathsf{T}\mathbf{b} + \lambda^2\mathbf{L}^\mathsf{T}\mathbf{L}\,\mathbf{x}_0$$

Filter Factors: Tikhonov in the Singular Basis

For $\mathbf{L}=\mathbf{I}$ and $\mathbf{x}_0=\mathbf{0}$ — standard form, assumed for the rest of this section and for the bias–noise split below — the SVD diagonalizes everything, and the Tikhonov solution is a filtered version of the least-squares expansion:

$$\mathbf{x}_\lambda = \sum_{i=1}^{r} f_i\,\frac{\mathbf{u}_i^\mathsf{T}\mathbf{b}}{\sigma_i}\,\mathbf{v}_i = \sum_{i=1}^{r} \frac{\sigma_i}{\sigma_i^2+\lambda^2}\,(\mathbf{u}_i^\mathsf{T}\mathbf{b})\,\mathbf{v}_i, \qquad f_i = \frac{\sigma_i^2}{\sigma_i^2+\lambda^2} \quad (\mathbf{L}=\mathbf{I})$$

The filter factors interpolate smoothly between keep and kill: $f_i \approx 1$ for $\sigma_i \gg \lambda$ (component kept), $f_i \approx \sigma_i^2/\lambda^2 \to 0$ for $\sigma_i \ll \lambda$ (component suppressed). Tikhonov is a low-pass filter in the singular basis, with $\lambda$ the cutoff singular value. The two forms above are algebraically identical wherever $\sigma_i > 0$; the right-hand one is what you implement, since it never divides by a small (or zero) $\sigma_i$.

With a nonzero reference the same algebra applies to the shifted problem — filter the residual data $\mathbf{b}-\mathbf{A}\mathbf{x}_0$ and add the reference back:

$$\mathbf{x}_\lambda = \mathbf{x}_0 + \left(\mathbf{A}^\mathsf{T}\mathbf{A}+\lambda^2\mathbf{I}\right)^{-1}\mathbf{A}^\mathsf{T}\left(\mathbf{b}-\mathbf{A}\mathbf{x}_0\right) = \mathbf{x}_0 + \sum_{i=1}^{r} \frac{\sigma_i}{\sigma_i^2+\lambda^2}\,\big(\mathbf{u}_i^\mathsf{T}(\mathbf{b}-\mathbf{A}\mathbf{x}_0)\big)\,\mathbf{v}_i \qquad (\mathbf{L}=\mathbf{I})$$

and every statement below then reads with $\mathbf{x}_{\mathrm{exact}}$ replaced by $\mathbf{x}_{\mathrm{exact}}-\mathbf{x}_0$: the bias is bias towards the reference, not towards zero.

The Bias–Noise Trade-Off Is a U-Shaped Curve

Substituting $\mathbf{b} = \mathbf{A}\mathbf{x}_{\mathrm{exact}} + \mathbf{e}$ into the filtered expansion splits the error into two opposing terms:

$$\mathbf{x}_\lambda - \mathbf{x}_{\mathrm{exact}} = \underbrace{-\sum_{i=1}^{n} (1-f_i)\,(\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}})\,\mathbf{v}_i}_{\text{regularization error (bias): grows with }\lambda} \;+\; \underbrace{\sum_{i=1}^{r} f_i\,\frac{\mathbf{u}_i^\mathsf{T}\mathbf{e}}{\sigma_i}\,\mathbf{v}_i}_{\text{perturbation error (noise): shrinks with }\lambda}$$
Full derivation: the bias–noise split

Write the exact data as $\mathbf{b}_{\mathrm{exact}} = \mathbf{A}\mathbf{x}_{\mathrm{exact}}$. Then $\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}} = \mathbf{u}_i^\mathsf{T}\mathbf{A}\mathbf{x}_{\mathrm{exact}} = \sigma_i\,\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}}$, because $\mathbf{u}_i^\mathsf{T}\mathbf{A} = \sigma_i \mathbf{v}_i^\mathsf{T}$. Substituting $\mathbf{b} = \mathbf{b}_{\mathrm{exact}} + \mathbf{e}$ into the filtered expansion:

$$\mathbf{x}_\lambda = \sum_{i=1}^{n} f_i\,(\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}})\,\mathbf{v}_i + \sum_{i=1}^{r} f_i\,\frac{\mathbf{u}_i^\mathsf{T}\mathbf{e}}{\sigma_i}\,\mathbf{v}_i$$

Subtract $\mathbf{x}_{\mathrm{exact}} = \sum_i (\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}})\,\mathbf{v}_i$ and the two terms above appear. As $\lambda$ grows, every $f_i$ falls: the bias term (the signal components you filtered away) grows, and the noise term (the amplified noise you let through) shrinks. Take squared norms and average over noise realizations of standard deviation $s$: the cross term vanishes and

$$\mathbb{E}\left\|\mathbf{x}_\lambda-\mathbf{x}_{\mathrm{exact}}\right\|_2^2 = \sum_{i=1}^{n}(1-f_i)^2(\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}})^2 \;+\; s^2\sum_{i=1}^{r}\frac{f_i^2}{\sigma_i^2}$$

This is usually a U. It starts strictly decreasing at $\lambda=0$ whenever $s>0$, because the noise term falls like $O(\lambda^2)$ there while the bias term only rises like $O(\lambda^4)$, and it turns back up once the bias term takes over. But "U-shaped" describes the common case rather than a theorem: the sum of the two terms can carry more than one local minimum when the spectrum has well-separated scales, and if $\mathbf{x}_{\mathrm{exact}}$ has no significant content the bias term never takes over and the curve just falls to the end of the range — a boundary optimum, meaning "regularize as hard as the range allows". The parameter-choice problem of Section 9 is locating that minimum without knowing $\mathbf{x}_{\mathrm{exact}}$; part of doing it honestly is checking that a minimum was bracketed at all.

Be careful with the word "the": a single realized error curve is a vector sum, not a sum of squares, and its cross term $-2\sum_i (1-f_i)f_i(\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}})(\mathbf{u}_i^\mathsf{T}\mathbf{e})/\sigma_i$ has no fixed sign. Realized curves are usually U-shaped but need not be: with $\mathbf{e}=\mathbf{0}$ the error is monotone increasing. At PSF width $w=0.5$ the lab below is well enough conditioned ($\kappa \approx 1.7$) that regularization buys almost nothing, and at the default 1% noise the first draw rises monotonically across the whole $\lambda$ range — the answer there is simply "do not regularize". That is a statement about a draw, not about the setting: press "Redraw noise" at 1% and a shallow interior minimum appears for many seeds, and at the 10% end of the noise slider the first draw already dips from $0.254$ to $0.244$ before turning up. Read the shape off the curve you actually have.

Numerical Practice

Never form $\mathbf{A}^\mathsf{T}\mathbf{A}$ (Section 4). Solve the augmented least-squares system by QR instead — it is an ordinary least-squares problem with the penalty rows stacked beneath the data rows:

$$\min_{\mathbf{x}}\left\|\begin{bmatrix}\mathbf{A}\\ \lambda\mathbf{L}\end{bmatrix}\mathbf{x} - \begin{bmatrix}\mathbf{b}\\ \lambda\mathbf{L}\mathbf{x}_0\end{bmatrix}\right\|_2 \qquad \text{(augmented system, solve by QR)}$$
Why it matters — two weight conventions coexist
The literature writes the penalty either as $\lambda^2\|\cdot\|^2$ (Hansen's convention, used on this page throughout) or as $\alpha\|\cdot\|^2$ (ridge regression, $\alpha = \lambda^2$). Filter factors, GCV formulas, and L-curve code all silently change form between the two. Mixing them mid-derivation is a classic source of off-by-a-square bugs — fix one convention and state it.

Caveat for general $\mathbf{L}$: the SVD filter-factor formulas above hold for $\mathbf{L}=\mathbf{I}$ only. For derivative-type $\mathbf{L}$ the correct analysis uses the generalized SVD (GSVD), and components in null$(\mathbf{L})$ — the constant mode for a first-derivative $\mathbf{L}$ — pass through completely unregularized. Verify that $\mathbf{A}$ constrains them, or the "regularized" solution can still contain an arbitrarily wild unpenalized component. The same caveat decides where $\lambda$ lives: the $[\sigma_n,\sigma_1]$ sweep range of Section 9 is calibrated to $\mathbf{L}=\mathbf{I}$, because replacing $\mathbf{L}$ by $c\mathbf{L}$ rescales the useful $\lambda$ by $1/c$ while leaving every $\sigma_i(\mathbf{A})$ untouched — $\mathbf{x}_\lambda$ for the pair $(\lambda,\mathbf{L})$ is exactly $\mathbf{x}_{\lambda/c}$ for $(\lambda/c,c\mathbf{L})$. For a general $\mathbf{L}$, bracket the sweep with the generalized singular value ratios $\alpha_i/\beta_i$ of the pair $(\mathbf{A},\mathbf{L})$, or widen it adaptively until the residual and the penalty have each gone flat at their respective ends.

8. Truncated SVD and Friends

Truncated SVD (TSVD) is the blunt-scissors alternative: keep the first $k$ terms of the SVD expansion and discard the rest.

$$\mathbf{x}_k = \sum_{i=1}^{k} \frac{\mathbf{u}_i^\mathsf{T}\mathbf{b}}{\sigma_i}\,\mathbf{v}_i \;\;(k \le r) \qquad\qquad f_i^{\mathrm{TSVD}} = \begin{cases} 1, & i \le k \\ 0, & i > k \end{cases} \qquad \text{vs.} \qquad f_i^{\mathrm{Tik}} = \frac{\sigma_i^2}{\sigma_i^2 + \lambda^2}$$

The truncation index $k$ and the parameter $\lambda$ are analogous controls — each sets where the expansion stops being trusted — and $\lambda \approx \sigma_k$ is the usual rule of thumb for translating one into the other (Hansen 2010). Read it as a hint, not an identity: at $\lambda = \sigma_k$ Tikhonov keeps that component at $f_k = 1/2$ while TSVD keeps it whole, so wherever component $k$ carries real weight the two solutions part company. The pairing is dependable only across a genuine spectral gap, $\sigma_{k+1} \ll \lambda \ll \sigma_k$, where the ambiguous component is negligible either way; under gradual decay there is no one-to-one mapping, and how close the two land also depends on the data coefficients, not on spectral decay alone. In the lab below at $w=3$, TSVD at $k=24$ and Tikhonov at $\lambda=\sigma_{24}$ differ by 64% of $\|\mathbf{x}_\lambda\|$. Read that as a warning about degeneracy rather than as a test of the safe regime, because the safe regime is exactly what this configuration does not satisfy. The lab's periodic kernel has doubly degenerate singular values — one cosine and one sine per frequency — so $\sigma_{24} = \sigma_{25}$ exactly ($1.9389\times10^{-3}$), $k=24$ splits that degenerate pair, and $\sigma_{k+1} \ll \lambda$ fails outright. Truncating the whole block instead ($k=25$) barely helps: still 64%, because consecutive blocks here sit only a factor $\approx 3$ apart, which is nowhere near the $\ll$ the rule asks for. Fast decay is not the same thing as a gap.

SituationNatural choiceWhy
Genuinely rank-deficient spectrum (gap)TSVD$k$ = numerical rank; truncating at the gap is unambiguous
Discrete ill-posed (gradual decay)TikhonovNo natural $k$; smooth filter with $\lambda$ chosen by Section 9
Nontrivial $\mathbf{L}$ (roughness penalty)TikhonovTSVD's analog requires the generalized SVD (truncated GSVD)
Many right-hand sides at fixed $\lambda$Tikhonov (factor once, reuse)The regime of a tactile sensor inverting at camera frame rate: $\mathbf{A}$ is fixed by skin geometry and calibration, only $\mathbf{b}$ changes per frame

Cost. A full SVD is $O(mn^2)$ — trivial for the $n \lesssim 10^3$ unknowns typical of per-frame reconstruction problems. For large 3D field identification ($n \sim 10^{5+}$) one uses iterative methods (CGLS/LSQR), which exploit semi-convergence: early iterations pick up the large-$\sigma$ components first, so the iteration count itself acts as a regularization parameter. Stop early, using the same criteria as Section 9 — running the iteration to convergence faithfully reproduces the noise-dominated naive solution.

Selective-filtering caveat. TSVD assumes the coefficient decay is roughly monotone. If the Picard plot shows an exact-coefficient spike beyond $k$, the hard cutoff deletes real signal that Tikhonov's tail would have partially kept.

Resolution: What the Filtered Solution Can Show

Apply any filtered method to noise-free data and the algebra of Section 7 gives its reconstruction of the truth as

$$\mathbf{x}_{\mathrm{filtered}} = \sum_{i=1}^{n} f_i\,(\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}})\,\mathbf{v}_i$$

— the true solution seen through a low-pass filter. For TSVD this is exactly the orthogonal projection onto $\mathrm{span}\{\mathbf{v}_1,\dots,\mathbf{v}_k\}$: features of $\mathbf{x}_{\mathrm{exact}}$ outside the first $k$ singular vectors are gone from this reconstruction. That is a property of the truncation you chose, not of the physics — as long as $\sigma_i > 0$ the data do contain $\mathbf{u}_i^\mathsf{T}\mathbf{b}_{\mathrm{exact}} = \sigma_i\,\mathbf{v}_i^\mathsf{T}\mathbf{x}_{\mathrm{exact}}$, and raising $k$ recovers the component whenever the data are clean enough to support it. Only exact-nullspace directions, $\sigma_i = 0$, are invisible no matter how good the data (Section 2). What the noise level fixes is where raising $k$ stops paying: past $i^*$ the recovered component is mostly amplified noise, so at a given noise level the spatial resolution of an honest reconstruction is capped near the length scale of $\mathbf{v}_{i^*}$ — the Picard index again, now read as a resolution limit. That last reading assumes the singular vectors of your $\mathbf{A}$ genuinely order spatial frequency (Fact 2, Section 5); on an operator where they do not, $i^*$ still counts recoverable components but no longer converts into a length.

Key insight — regularization does not recover information
Regularization injects prior information and buys variance reduction with bias. At a sensibly chosen $\lambda$, Tikhonov attenuates narrow peaks and sharpens nothing — which matters directly when peak contact pressure is the quantity of interest. (Under-regularized solutions fail the other way: filtering contracts SVD coefficients, not pointwise values, so a too-small $\lambda$ makes reconstructions ring and overshoot the true peak instead.) Report the bias; do not hide it. If sharp features must survive, the prior itself must change (edge-preserving or sparsity priors, Section 11), not the parameter $\lambda$.

9. Choosing the Regularization Parameter

The bias–noise curve of Section 7 must be located blind — $\mathbf{x}_{\mathrm{exact}}$ is not available. Three standard criteria exist, each with an honest failure profile. None is ground truth, and — worth being exact about — none of them actually estimates the parameter-space error you would like to minimize: Morozov matches a residual to the noise level, the L-curve locates a corner in a trade-off plot, and GCV estimates predictive risk in data space. They are computable proxies for the bottom of the U, and they land on it only to the extent that their proxy tracks it.

9.1 Morozov's Discrepancy Principle

If the noise level $\delta = \|\mathbf{e}\|_2$ is known, choose $\lambda$ so the residual matches it — fitting the data below the noise level means fitting noise:

$$\|\mathbf{A}\mathbf{x}_\lambda - \mathbf{b}\|_2 = \tau\,\delta, \qquad \delta = \|\mathbf{e}\|_2, \quad \tau \gtrsim 1 \;\;(\text{e.g. } 1.05)$$

The residual norm is monotone increasing in $\lambda$, so this is a 1-D root find. Read $\tau\delta$ as a selection target — the level you deliberately push the residual up to — and not as a prediction of what a well-fitted residual should equal: a correct model leaves an expected residual below $\delta$, because the fit absorbs part of the noise (Section 13 gives the expression). Pushing the residual up to $\tau\delta$ is precisely why the principle over-smooths. Behavior: theoretically convergent as $\delta \to 0$ (Engl, Hanke & Neubauer 1996); tends to slightly over-smooth; its quality stands or falls with the $\delta$ estimate. It is the best default in engineering settings where sensor noise is characterizable.

Why it matters — $s$ is not $\delta$
The discrepancy principle consumes the noise norm $\delta = \|\mathbf{e}\|_2$, not the per-sample standard deviation $s$. For white noise, $\delta \approx s\sqrt{m}$. Confusing the two — a factor $\sqrt{m}$ — shifts the selected $\lambda$ by orders of magnitude and is a classic bug in inversion code.

9.2 The L-Curve

Plot the trade-off itself (Hansen 1992): a parametric log-log plot of $(\|\mathbf{A}\mathbf{x}_\lambda-\mathbf{b}\|_2,\; \|\mathbf{L}(\mathbf{x}_\lambda-\mathbf{x}_0)\|_2)$ as $\lambda$ sweeps — the ordinate must be the penalty term actually being traded against the residual, which reduces to $\|\mathbf{L}\mathbf{x}_\lambda\|_2$ only in the common case $\mathbf{x}_0=\mathbf{0}$ assumed for the rest of this section. Under-regularized solutions populate a steep vertical branch (solution norm explodes while the residual barely improves); over-regularized ones populate a flat horizontal branch (norm barely drops while the residual grows). Pick the corner — operationalized by Hansen & O'Leary (1993) as the point of maximum curvature of the log-log curve. It needs no noise estimate and is visually informative even when not used for selection. (The figure below marks its corner with a cheaper nearest-corner heuristic; curvature-based selection is the standard implementation, and the two can disagree on a rounded L.)

Anatomy of the L-curve (log-log axes; here computed from a small synthetic ill-posed problem). The corner balances perturbation error against regularization error; the discrepancy principle instead picks the intersection with the vertical line at residual $= \tau\delta$.

A documented failure, not anecdote — but read its scope carefully. Hanke (1996) constructs an infinite-dimensional example in which the L-curve-selected parameter vanishes too rapidly as the noise-to-signal ratio in the data goes to zero, so the computed reconstructions do not converge to the true solution at all; he then gives numerical examples showing that similar behaviour appears in discrete ill-posed problems when the exact solution is smooth. That is one proved counterexample plus numerical evidence, not a theorem covering every smooth solution. Note also that this concerns the decay of the solution coefficients, a different quantity from the singular values. Separately, the corner degenerates when the singular values decay slowly: the corner is the transition between the noise-dominated vertical branch and the bias-dominated horizontal branch, and slow (algebraic) decay smears that transition across many indices into a smooth arc. Fast decay does the opposite — it makes the corner sharp, the limiting case being a genuine spectral gap, where every $\lambda$ between $\sigma_{r+1}$ and $\sigma_r$ leaves both norms essentially unchanged and the curve turns a literal right angle. And a computational trap: the corner is defined on the log-log curve — drawn or differentiated in linear axes, the corner moves and often disappears entirely.

Key insight — diagnostic first, selector second
Treat the L-curve as a diagnostic you always draw (its shape tells you whether regularization is doing anything sensible at all) and as a selector only second, with the Hanke caveat in mind. A beautiful corner is evidence; a degenerate corner is a warning about the problem, not about your plotting.

9.3 Generalized Cross-Validation

GCV (Golub, Heath & Wahba 1979) chooses $\lambda$ to minimize a rotation-invariant leave-one-out criterion — "how well does the model predict measurements it did not see":

$$G(\lambda) = \frac{\|\mathbf{A}\mathbf{x}_\lambda-\mathbf{b}\|_2^2}{\left[\operatorname{trace}\!\left(\mathbf{I}_m - \mathbf{A}\mathbf{A}_\lambda^{\#}\right)\right]^2}, \qquad \operatorname{trace}\!\left(\mathbf{I}_m - \mathbf{A}\mathbf{A}_\lambda^{\#}\right) = m - n + \sum_{i=1}^{n}\frac{\lambda^2}{\sigma_i^2+\lambda^2} \qquad (\mathbf{L}=\mathbf{I})$$

where $\mathbf{A}_\lambda^{\#}$ is the regularized inverse mapping $\mathbf{b} \mapsto \mathbf{x}_\lambda$. The trace costs nothing once the filter factors are known: $\operatorname{trace} = m - \sum_i f_i$. GCV estimates predictive risk without needing a noise estimate. Its optimality result is narrower than the usual one-line quotation of it: Golub, Heath & Wahba (1979) bound the expectation inefficiency — and the parameter it is evaluated at is a minimizer $\tilde\lambda$ of the expected GCV functional $\mathbb{E}V(\lambda)$, not the random minimizer of the one realized GCV curve you compute from your data. Their bound is on $\mathbb{E}T(\tilde\lambda)/\mathbb{E}T(\lambda^0)$, the ratio of the risk at that $\tilde\lambda$ to the smallest attainable risk, and it tends to 1 only when the normalized traces of the influence matrix $\mathbf{H}_\lambda = \mathbf{A}\mathbf{A}_\lambda^{\#}$, namely $\tfrac{1}{m}\operatorname{trace}\mathbf{H}_\lambda$ and $(\operatorname{trace}\mathbf{H}_\lambda)^2/(m\operatorname{trace}\mathbf{H}_\lambda^2)$, both vanish as the problem grows. White Gaussian noise alone does not deliver that: it is a limit statement about a sequence of problems, carrying its own conditions on the spectrum, and never a finite-sample guarantee for the matrix on your desk. Its failure profile: positively correlated noise typically drives GCV to under-smooth badly, because the smooth part of the noise reads as signal — GCV is not assumption-free; it assumes white (uncorrelated, equal-variance) noise, exactly what camera-based measurements with spatial post-processing violate (Section 4). And its minimum is often very flat, demanding careful 1-D minimization rather than eyeballing.

Practice

Sweep 50–100 log-spaced $\lambda$ values across $[\sigma_n, \sigma_1]$ — padded a decade or two beyond each end, so that all three criteria are actually bracketed rather than pinned to an endpoint — then evaluate them on the sweep and inspect the selected solutions side by side. That range is calibrated to $\mathbf{L}=\mathbf{I}$; for a general $\mathbf{L}$ the useful $\lambda$ moves with the scaling of $\mathbf{L}$ (Section 7's caveat), so bracket it from the generalized singular values of $(\mathbf{A},\mathbf{L})$ or by widening until both ends go flat. If a criterion's condition is met nowhere in the range, say so; do not report the boundary value as a pick. If the lower end of the sweep had to be clamped, disclose the clamp and say why: $\sigma_n$ having genuinely reached roundoff is a different situation from $\sigma_n$ merely dropping under some floor your code imposes, and only the first is a statement about the problem. Agreement is evidence; disagreement is diagnosis — a GCV pick far below the discrepancy pick suggests correlated noise; a wandering L-curve corner suggests slowly decaying singular values — a poorly separated signal-to-noise transition. The criteria estimate the optimum, they do not certify it.

Interactive Tool — Picard & Regularization Lab

A 64-point periodic Gaussian deconvolution problem, solved live in your browser via its exact singular system. Drag $\lambda$ (or $k$) from tiny to huge and watch: amplified garbage → good reconstruction → oversmoothed blur. Then raise the noise or widen the PSF and watch the recoverable-component budget $i^*$ shrink.

Picard plot (semilog): σᵢ line, |uᵢᵀb| dots, ratio crosses
Filter factors fᵢ
Reconstruction: x_true (thin), regularized estimate (thick)
True relative-error curve vs the regularization parameter (the "oracle", computable only because x_true is known) with the blind criteria's picks. Usually U-shaped — but not always: at w = 0.5 the problem is well conditioned and needs no regularization for stability (Section 7), and at low noise the curve can rise monotonically across the whole range. Raise the noise slider to 10% at that same width, though, and an interior minimum appears: shrinkage buys something at poor SNR even when conditioning does not demand it. Whether it does depends on the draw and the noise level, so read the shape off the curve rather than the caption; the picks below are flagged when one lands on a sweep endpoint instead of a bracketed minimum.

Things to try: (a) set $\lambda$ tiny — the reconstruction is high-frequency garbage of enormous norm, exactly the $s/\sigma_i$ amplification of Section 5; (b) raise the noise — the Picard plateau rises, $i^*$ drops, and the optimal $\lambda$ moves right; (c) widen the PSF — the $\sigma_i$ decay steepens and the recoverable budget shrinks no matter what you do; (d) press "Redraw noise" repeatedly at low noise and watch GCV occasionally collapse to under-smoothing while the discrepancy pick stays put; (e) switch to TSVD, set $k$ to the index where $\sigma_k$ is nearest the $\lambda$ you were using, and compare the two reconstructions — analogous controls, not equal ones (Section 8). At $w = 0.5$, note that GCV pins itself to the smallest $\lambda$ in the sweep and is flagged as an endpoint rather than a bracketed minimum: nothing in the range is a minimum, which is itself the answer.

10. Nonlinear Problems: Gauss–Newton and Levenberg–Marquardt

The machinery of Sections 4–9 assumed a linear forward map (Sections 1–3 did not: they are written for a general $G$ and $\mathcal{H}$). Material identification breaks that assumption: the response is generally nonlinear in the parameters even when the physics is linear (Section 12). The standard treatment is iterative — linearize, solve a linear least-squares problem for the update, repeat.

Gauss–Newton. At iterate $\mathbf{m}_k$, with Jacobian $\mathbf{J}_k = \partial G/\partial \mathbf{m}$ evaluated at $\mathbf{m}_k$, the step solves the linearized problem:

$$\Delta\mathbf{m} = \arg\min_{\Delta}\,\big\|\mathbf{J}_k\,\Delta - \big(\mathbf{d} - G(\mathbf{m}_k)\big)\big\|_2^2, \qquad \mathbf{m}_{k+1} = \mathbf{m}_k + \Delta\mathbf{m}$$

Levenberg–Marquardt damps the step with a parameter $\mu$, which in normal-equations form reads

$$\left(\mathbf{J}_k^\mathsf{T}\mathbf{J}_k + \mu^2\mathbf{I}\right)\Delta\mathbf{m} = \mathbf{J}_k^\mathsf{T}\big(\mathbf{d} - G(\mathbf{m}_k)\big)$$

— formally a Tikhonov term with $\mathbf{L}=\mathbf{I}$ applied to the update. Large $\mu$ shortens the step toward gradient descent; small $\mu$ recovers Gauss–Newton. In practice $\mu$ is shrunk as iterations succeed and grown when they fail.

The connection to the rest of the module is direct: the Jacobian plays the role of $\mathbf{A}$, so each iteration is a (regularized) linear least-squares problem, and the SVD of $\mathbf{J}$ at the solution governs local identifiability — small singular values of $\mathbf{J}$ mark parameter combinations the data barely constrains. The Section 4 warning applies verbatim: forming $\mathbf{J}^\mathsf{T}\mathbf{J}$ squares the condition number; solve the augmented system $[\mathbf{J};\,\mu\mathbf{I}]$ by QR instead.

Key insight — damping is not regularization
LM's $\mu$ stabilizes the step, not the problem: it is driven toward zero as the iteration converges, so at convergence you are minimizing the plain data-misfit functional. If the underlying problem is ill-posed, the converged answer is still noise-dominated. An ill-posed nonlinear problem must be regularized at the level of the problem, not the step — either by an explicit penalty in the objective, $$\min_{\mathbf{m}}\;\|G(\mathbf{m})-\mathbf{d}\|_2^2 + \lambda^2\|\mathbf{L}(\mathbf{m}-\mathbf{m}_0)\|_2^2$$ with $\lambda$ chosen as in Section 9, or by a principled early-stopping rule on the iteration itself (Section 8's semi-convergence argument, which is what discrepancy-stopped LM and iteratively regularized Gauss–Newton do). What does not work is relying on $\mu$.

11. The Bayesian View: Regularization as a Prior

Reframe the whole construction statistically (Kaipio & Somersalo 2005; Calvetti & Somersalo 2018). Model the noise as Gaussian, $\mathbf{e}\sim\mathcal{N}(\mathbf{0},\sigma^2\mathbf{I})$, and encode prior belief as a Gaussian prior on the unknown. Bayes' theorem multiplies likelihood and prior; taking $-\log$ of the posterior and dropping constants yields exactly the Tikhonov functional.

Tikhonov = Gaussian MAP
Gaussian noise $\mathbf{e}\sim\mathcal{N}(\mathbf{0},\sigma^2\mathbf{I})$ plus a Gaussian prior $\mathbf{x}\sim\mathcal{N}(\mathbf{x}_0,\gamma^2(\mathbf{L}^\mathsf{T}\mathbf{L})^{-1})$ with $\mathbf{L}$ of full column rank are enough to make the maximum a posteriori estimate the minimizer of a Tikhonov functional. With a linear forward map that functional is the familiar quadratic one: $$\mathbf{x}_{\mathrm{MAP}} = \arg\min_{\mathbf{x}}\left\{\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2^2 + \lambda^2\|\mathbf{L}(\mathbf{x}-\mathbf{x}_0)\|_2^2\right\}, \qquad \lambda^2 = \frac{\sigma^2}{\gamma^2}$$ What linearity buys is separate and specific: it makes the posterior itself Gaussian, its mean equal to the MAP point, the estimate linear in $\mathbf{b}$, and the closed-form covariance of the collapsible below valid. Without it — a nonlinear $G$ — MAP still minimizes $\|G(\mathbf{m})-\mathbf{d}\|_2^2 + \lambda^2\|\mathbf{L}(\mathbf{m}-\mathbf{m}_0)\|_2^2$, which is exactly the nonlinear Tikhonov objective Section 10 prescribes; what is lost is the Gaussian posterior, not the MAP–Tikhonov correspondence. What genuinely breaks the correspondence is a non-Gaussian prior or likelihood: a Laplace prior gives an $\ell_1$ penalty, not a quadratic one. A rank-deficient $\mathbf{L}$ — the derivative penalties of Section 7 — has no $(\mathbf{L}^\mathsf{T}\mathbf{L})^{-1}$ and so defines an improper intrinsic Gaussian prior, flat along null$(\mathbf{L})$; it becomes proper only once that nullspace is pinned down (anchor the mean, add a small level penalty, or condition on one value). The MAP-equals-Tikhonov identity itself still holds provided $\ker\mathbf{A}\cap\ker\mathbf{L}=\{\mathbf{0}\}$, the condition already stated in Section 7.

Three consequences worth internalizing:

Caveats, stated bluntly: MAP = Tikhonov requires Gaussian noise and a Gaussian prior; a Laplace/sparsity prior breaks it outright, replacing the quadratic penalty with an $\ell_1$ one. A nonlinear forward model and a positivity constraint do not break it — they give nonlinear Tikhonov (Section 10) and constrained Tikhonov respectively, with the same objective. Keep two things apart for the constrained case: with a linear $\mathbf{A}$, positivity-constrained Tikhonov still minimizes a quadratic (it is a bound-constrained quadratic program, solved by projected gradient / active-set methods rather than one factorization), but its solution is no longer a linear function of $\mathbf{b}$, so closed-form filter factors and the Gaussian posterior go, while the objective stays exactly the one above. What linearity is needed for is the Gaussian posterior: only then is the posterior mean the MAP point and the closed-form covariance below valid. And the posterior quantifies uncertainty only within the assumed model: model error — wrong $E$, wrong geometry, the bias term $\mathbf{b}$ of Section 2's spine — is not included in those error bars.

Full derivation, posterior covariance, and where the field went after 2018

Likelihood times prior:

$$\pi(\mathbf{x}\mid\mathbf{b}) \;\propto\; \exp\!\left(-\tfrac{1}{2\sigma^2}\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2^2\right)\,\exp\!\left(-\tfrac{1}{2\gamma^2}\|\mathbf{L}(\mathbf{x}-\mathbf{x}_0)\|_2^2\right)$$

Taking $-\log$ and multiplying through by $2\sigma^2$ gives the Tikhonov functional with $\lambda^2 = \sigma^2/\gamma^2$. Because the exponent is quadratic, the posterior is Gaussian with mean equal to the MAP estimate and covariance

$$\boldsymbol{\Gamma}_{\mathrm{post}} = \sigma^2\left(\mathbf{A}^\mathsf{T}\mathbf{A} + \lambda^2\mathbf{L}^\mathsf{T}\mathbf{L}\right)^{-1}$$

The square root of the diagonal gives a per-unknown posterior standard deviation (the diagonal itself is a variance). For $\mathbf{L}=\mathbf{I}$ the covariance is diagonalized by $\mathbf{V}$, so the directions of large posterior variance are exactly the small-$\sigma_i$ singular directions the data cannot see — the Bayesian restatement of Sections 2 and 5. For general $\mathbf{L}$ the eigenvectors of $\boldsymbol{\Gamma}_{\mathrm{post}}$ are not the right singular vectors of $\mathbf{A}$; the relevant directions are the generalized singular vectors of the pair $(\mathbf{A},\mathbf{L})$ — the GSVD caveat at the end of Section 7 again.

Unknown hyperparameters $\sigma$, $\gamma$ lead to hierarchical Bayes / evidence maximization, conceptually adjacent to GCV. Modern practice replaces hand-built Gaussian priors with learned ones and samples the posterior instead of maximizing it. Two distinct lines: a learned generative prior that is still recombined with an explicit likelihood, and — the route taken by conditional score-based diffusion models for inverse elasticity (Dasgupta et al. 2025) — learning the conditional posterior score $\nabla_{\mathbf{x}}\log\pi(\mathbf{x}\mid\mathbf{b})$ directly from paired samples of the joint distribution and sampling it by Langevin dynamics, which bypasses the explicit likelihood-times-prior factorization altogether. The ill-posedness that made a prior necessary in the first place is unchanged by either.

12. A Taxonomy of Inverse Problems in Solid Mechanics

Organize the field by which ingredient of the boundary-value problem is unknown, everything else given. The four-class cut below is this guide's own synthesis, not a scheme lifted from a source: Bonnet & Constantinescu's (2005) review, the standard entry point for classes 2 and 3, states its own scope as the identification of distributions of elastic moduli, of model parameters, and of buried objects such as cracks. Read the four classes alongside Section 2's spine, not as a refinement of it: the two partitions cut differently. Classes 1 and 2 map cleanly onto the spine's $\mathbf{f}$ and $\mathbf{p}$; class 3 lumps together $\mathbf{u}$-type shape sensing, the reference-configuration problem $\mathbf{X}_0$ of Module 9, and defect geometry (which is not an argument of $\mathcal{H}$ at all); and class 4's unknown boundary tractions are $\mathbf{f}$ again, but restricted to an inaccessible surface, which is what makes it the severe case.

1. LOAD identification ?F unknown: applied forces / pressures linearity: linear in the unknowns (b = Af) severity: moderate methods: transfer matrix + Tikhonov tactile contact-force maps live here (Module 8) dynamic variants add time deconvolution 2. MATERIAL identification E(x) ? unknown: parameters or modulus fields linearity: nonlinear in the parameters severity: mild–moderate methods: FEMU / VFM / all-at-once elastography, full-field ID (Module 7) 3. SHAPE / CONFIGURATION crack? deformed shape from strain unknown: geometry — defects, or the deformed shape linearity: nonlinear (defects); variational LS (shape sensing) methods: adjoints, level sets, topological derivatives; least-squares shape sensing shape sensing from strain → iFEM (Modules 4–6) 4. BOUNDARY CONDITIONS sensors (accessible) ? tractions (inaccessible) unknown: tractions/displacements on a hidden boundary linearity: linear severity: severe (exponential) canonical name: the Cauchy problem in elasticity after discretization + linearization, all four admit a regularized least-squares form geometric (level-set) and sparsity/ℓ₁ formulations leave it; a positivity constraint does not — Sections 11–12
Four classes of inverse problem in solid mechanics, organized by the unknown ingredient. The four-class cut, the placement of strain-based shape sensing (iFEM) as the benign member of class 3, and the comparative severity ranking across the cards are all this guide's own reading. Bonnet & Constantinescu (2005) is the reference for classes 2 and 3 — its stated scope is elastic-moduli distributions, model parameters, and buried objects such as cracks — and it neither organizes the field into these four cards nor supplies the severity ranking.

Class 1 — Load Identification

Geometry, material, and boundary conditions known; applied forces or pressures unknown. For linear elasticity the response is linear in the loads, so discretization gives

$$\mathbf{b} = \mathbf{A}\,\mathbf{f} + \mathbf{e}, \qquad A_{ij} = \text{response at sensor } i \text{ to unit load } j$$

with $\mathbf{A}$ an influence/transfer matrix assembled from the FE model (columns = responses to unit loads) — directly a linear discrete ill-posed problem to which Sections 4–9 apply verbatim. Ill-posedness worsens with sensor-to-load distance (Saint-Venant smoothing, Section 1). Dynamic variants add time deconvolution on top; Liu et al. (2022) review the frequency- and time-domain machinery, the ill-posedness handling, and the ML variants. Contact-force-map reconstruction in tactile skin is squarely this class.

Class 2 — Material / Parameter Identification

Constitutive parameters or spatial modulus fields unknown. The response is generally nonlinear in the parameters even when the physics is linear, so the problem is solved iteratively — each Gauss–Newton step (Section 10) is a regularized linear least-squares problem in the parameter update. For full-field data the method families are FEMU (finite element model updating), the constitutive equation gap, the virtual fields method, the equilibrium gap, and the reciprocity gap (Avril et al. 2008). Römer et al. (2025) organize much of this work with a reduced (a forward solver in the loop) versus all-at-once (field and parameters jointly unknown) distinction. Take that as an organizing lens, not an exhaustive partition: they claim it structures “a large portion” of the literature, and they say explicitly that some methods do not fit exactly into either class — the VFM, which optimizes over the parameter domain alone while substituting measured data for the unknown state, is their named example, with the equilibrium gap method treated as a particular case of it. PINNs land on both sides of that cut in their treatment: the conventional "inverse PINN", which identifies material and network parameters simultaneously, belongs to the all-at-once family, while a parametric PINN — one taking the material parameters as extra network inputs — is a surrogate forward model and therefore supports a reduced formulation. Elastography / elasticity imaging is the field-identification version of this class.

Class 3 — Shape, Configuration, and Defect Identification

Unknown geometry. The hard direction: cracks, voids, inclusions — nonlinear, handled with adjoint fields, level sets, and topological derivatives. The benign direction: shape sensing — reconstructing the deformed configuration from discrete strain measurements. This is where iFEM lives (Module 4): a variational least-squares state-reconstruction problem, much better conditioned than the other classes — but still an inverse problem, with observability that depends on sensor placement.

Class 4 — Boundary-Condition Identification

Unknown tractions or displacements on an inaccessible boundary, from overdetermined data on the accessible part — the Cauchy problem of elasticity. Severely ill-posed: it is the elasticity analogue of Hadamard's Cauchy problem for Laplace's equation, whose boundary perturbations of spatial frequency $k$ are amplified like $e^{k}$ (Hadamard 1923; Section 3). Regularization is indispensable, not optional.

Key insight
After discretization and linearization, every class whose misfit is a squared residual with a quadratic penalty funnels through the same regularized least-squares machinery of this module; what then changes between classes is the conditioning of the resulting operator and the prior that is defensible, not the mathematics of the solve. The exceptions are flagged on this page where they arise, and they are not all the same size. A positivity constraint keeps the quadratic objective and only makes the estimator nonlinear in $\mathbf{b}$: the same functional, solved as a bound-constrained quadratic program. What genuinely leaves this machinery behind is a non-quadratic objective — edge-preserving and $\ell_1$/sparsity penalties (Section 11) and the geometric formulations, level sets and topological derivatives (class 3).
Interactive Tool — Observability, Rank & Nullspace Lab

A toy load-identification problem, live: 16 unknown contact-pressure patches on a soft skin, sensed by markers you place at depth $h$ (click the slots to toggle sensors). The influence of each patch spreads over a width $\approx h$ — Saint-Venant smoothing made tangible. Watch the singular spectrum, the least-observable mode, and the LS vs. Tikhonov reconstructions react to every change. What this lab is for: reading rank, nullspaces and conditioning off an SVD — the diagnostic vocabulary of this module. Sensor placement optimization as a design discipline (budgets, genetic search, withheld-sensor scoring) is Module 6’s subject; here, moving sensors is simply the fastest way to watch the spectrum move.

Structure — true pressure (orange) on 16 patches; sensor slots at depth h (click to toggle; filled = active)
Singular spectrum of A (semilog)
Least-observable mode vᵣ (smallest nonzero σ)
Reconstruction: true pressure (thin orange) vs estimate (thick blue)

Things to try: (a) "8 clustered" vs "8 spread" — same sensor count, wildly different conditioning: information is about geometry, not just quantity. Both layouts see only 8 of the 16 patch directions, so $\kappa_2(\mathbf{A})$ reads $\infty$ for both; the number that separates them is the observable-subspace ratio $\sigma_1/\sigma_r$ in the panel — about 7 spread against about 1900 clustered; (b) increase the depth $h$ — read the spectrum panel carefully, it plots the normalized $\sigma_i/\sigma_1$: $\sigma_1$ itself rises with $h$ (each sensor integrates more of the surface), while the normalized tail collapses, so what deepening actually does is worsen the conditioning of the observable subspace. Deeper sensing loses finer detail; (c) note that every 8-sensor preset is already rank-deficient (8 observable directions, 16 unknowns), so plain LS has a genuine nullspace before you touch anything; dropping to "4 sparse" only grows it from 8 to 12 dimensions, and at the default depth "all 20" is the one layout with full rank 16 and a finite $\kappa \approx 1\times10^4$; (d) switch Plain LS ↔ Tikhonov at 1% noise and watch the amplified-garbage vs. biased-but-stable trade; (e) switch to correlated noise — the per-sample noise level is unchanged, but the contamination moves into the smooth, well-observed modes. Do not expect the picture to get worse: in a smoothing forward map it is the white draw that puts energy into the small-$\sigma$ directions where inversion amplifies it, so at these settings the correlated draw usually reconstructs better. What correlation breaks is the diagnostics — GCV's white-noise assumption, the residual-whiteness check, and the noise-only residual benchmark in the panel are all mis-calibrated now (Sections 4 and 9). Correlation is a threat to your error bars and your diagnostics before it is a threat to the picture. The discrepancy target is the one survivor on that list: this lab's correlated draw is renormalized to leave every sensor at variance $s^2$, so $\mathbb{E}\|\mathbf{e}\|_2^2 = m s^2$ in both modes and $\delta$ does not move — Morozov consumes the noise norm, not whiteness (Section 4). At and above a sensibly chosen $\lambda$ the narrow central spike of the true pressure comes out attenuated: that is the resolution limit and bias of Section 8, not a bug. Push $\lambda$ to the left end on "all 20" and you get the opposite failure — the estimate rings and overshoots the true peak by an order of magnitude.

13. Practical Workflow: Diagnosing and Solving Your Inverse Problem

A field recipe consolidating the module. Follow it in order; each step is cheap compared to debugging its omission.

  1. Scale first. Whiten the rows: multiply $\mathbf{A}$ and $\mathbf{b}$ by $\mathbf{C}^{-1/2}$ (Section 4). Dividing each row by its sensor channel's noise standard deviation is the diagonal special case — it equalizes variances and leaves every correlation in place, so for camera-derived data with spatially correlated noise it is not whitening and does not license the clean statements that follow. Non-dimensionalize the columns by the change of variables $\mathbf{x} = \mathbf{D}\mathbf{z}$, $\mathbf{D} = \operatorname{diag}(c_1,\dots,c_n)$ with $c_j$ the characteristic magnitude of unknown $j$: solve for $\mathbf{z}$ in $\mathbf{A}\mathbf{D}$ — i.e. multiply column $j$ by $c_j$, not divide — then recover $\mathbf{x}=\mathbf{D}\mathbf{z}$, and transform the penalty operator to $\mathbf{L}\mathbf{D}$ to match. Conditioning and the SVD are not scale-invariant: a $\kappa = 10^9$ that drops to $10^3$ after sensible scaling tells you most of that number was units, not physics. It does not by itself certify the problem well-posed — a discretized compact operator still has a spectrum that decays, and a $\kappa$ that keeps climbing as you refine the mesh is ill-posedness however tidy the units are. Inspect the scaled spectrum and its refinement behaviour before deciding.
  2. Compute the SVD of the scaled $\mathbf{A}$ and classify the spectrum (Section 5): flat → ordinary least squares, no stabilizing regularization needed (at low SNR still ask whether shrinkage lowers your validation error); gap → rank-deficient, TSVD at the gap; gradual decay → discrete ill-posed, continue.
  3. Picard plot with real data (Section 6); read off the crossing index $i^*$ = number of recoverable components. If $i^*$ is far below the number of unknowns, consider re-parameterizing coarser — fewer basis functions for the pressure field — instead of fighting with heavy regularization.
  4. Choose $\mathbf{L}$ from prior physics (Section 7): identity for magnitude, gradient/Laplacian for smoothness; check that null$(\mathbf{L})$ is observable through $\mathbf{A}$.
  5. Sweep $\lambda$ over 50–100 log-spaced values spanning $[\sigma_n, \sigma_1]$ padded a decade or two beyond each end (so a criterion cannot silently return an endpoint), and remember that this range assumes $\mathbf{L}=\mathbf{I}$ — a general $\mathbf{L}$ moves the useful $\lambda$ with its own scaling (Section 7). Evaluate discrepancy (if $\delta$ is known), L-curve corner, and GCV (Section 9); compare the selected $\lambda$'s and inspect the corresponding solutions side by side. Report any pick that landed on an endpoint as unbracketed, and disclose any clamp you put on the low end.
  6. Validate honestly. (a) Residual check: after whitening, the residual should look like sensor noise — but compare it against what the fit itself does to the noise, not against raw white noise. With hat matrix $\mathbf{H}_\lambda$ the residual is $\mathbf{r} = (\mathbf{I}-\mathbf{H}_\lambda)\mathbf{b}$, so $\operatorname{cov}(\mathbf{r}) = \sigma^2(\mathbf{I}-\mathbf{H}_\lambda)(\mathbf{I}-\mathbf{H}_\lambda)^\mathsf{T} \neq \sigma^2\mathbf{I}$ and $$\mathbb{E}\|\mathbf{r}\|_2^2 = \underbrace{\left\|(\mathbf{I}-\mathbf{H}_\lambda)\mathbf{b}_{\mathrm{exact}}\right\|_2^2}_{\text{regularization bias}} + \sigma^2\operatorname{trace}\!\left[(\mathbf{I}-\mathbf{H}_\lambda)(\mathbf{I}-\mathbf{H}_\lambda)^\mathsf{T}\right], \qquad \operatorname{trace}[\cdot] = m - 2\operatorname{trace}\mathbf{H}_\lambda + \operatorname{trace}\mathbf{H}_\lambda^2$$ for symmetric $\mathbf{H}_\lambda$ — equivalently $\sigma^2\big[(m-n) + \sum_i (1-f_i)^2\big]$ in filter-factor terms. Use that expression, not $\sigma^2(m-\text{effective DOF})$: the "effective degrees of freedom" shortcut, $\sigma^2(m-\operatorname{trace}\mathbf{H}_\lambda)$, is exact only when $\mathbf{H}_\lambda$ is an orthogonal projection (idempotent). That class is wider than full-rank least squares: it covers ordinary least squares of any rank, where $\mathbf{H} = \mathbf{A}\mathbf{A}^\dagger = \mathbf{U}_r\mathbf{U}_r^\mathsf{T}$ and the shortcut gives $\sigma^2(m-r)$ — the familiar $\sigma^2(m-n)$ when $r=n$ — and it covers TSVD, a regularizer on this page, whose $\mathbf{H}_k = \mathbf{U}_k\mathbf{U}_k^\mathsf{T}$ is a projection too. What breaks idempotency is a fractional filter: ordinary Tikhonov's $f_i = \sigma_i^2/(\sigma_i^2+\lambda^2)$ is strictly between 0 and 1, so $\mathbf{H}_\lambda^2 \neq \mathbf{H}_\lambda$, and at usable $\lambda$ the shortcut can be wrong by tens of percent — enough to turn a healthy residual into a false model-error alarm. Note also what this is not: Morozov's $\tau\delta$ (Section 9.1) is a rule for choosing $\lambda$, not a prediction of the post-fit residual. With the bias term small the fitted residual sits below $\delta$, by the amount the fit absorbed; it climbs back above $\delta$ only when the bias term grows, which is what over-smoothing and model error both look like. Structure beyond what the expression above predicts means model error (the bias term $\mathbf{b}$ of Section 2's spine). (b) Withheld data: hold out sensors or whole loading cases from the fit and score the reconstruction on predicting them — a solution that only explains the data it was fitted to has explained nothing. (c) No inverse crimes (box below). (d) Report the bias: at the $\lambda$ you actually selected, Tikhonov attenuates narrow peaks and sharpens nothing — state this wherever peak values (e.g. peak contact pressure) are the quantity of interest. (Under-regularized solutions err the other way, ringing and overshooting; check which regime you are in before reporting a direction.)
  7. For repeated real-time inversion (fixed $\mathbf{A}$, streaming $\mathbf{b}$): precompute the SVD, or the QR/Cholesky factorization of the augmented system at the chosen $\lambda$; the per-frame cost drops to two matrix–vector products, $O(mn)$.
Definition — Inverse Crime
Validating an inversion pipeline on synthetic data generated with the same discretization, model, and noise assumptions used inside the inversion. The test then flatters the method — the only error source left is the one your regularizer is tuned to remove. Generate test data on a finer or different mesh, with realistic (possibly correlated) noise, or the reconstruction quality you report is fiction.

Tools note: Hansen's Regularization Tools — the companion package to Hansen (2010) — implement Picard plots, filter factors, the L-curve, GCV, and the standard test problems of this literature (including the deconvolution family used in this page's interactives).

Flashcards

References