12. Reading a paper against its own numbers

Every equation in this manual was transcribed from a source that could be — and in the cases below, was — wrong in print. This chapter records four worked examples of the house method: validate an implementation against the defining quantity (an integral, an identity, a limit), never against a transcription of the result; and when a paper disagrees with itself, find the reading its own numbers pin down.

12.1. Rouse b₂: validate against the integral

The capillary-absorption fit (5.4) has four coefficients [RCYC70]. The available scan of the paper prints \(b_2\) as “−0·0375” — a digit transposition of the true −0.3750. The error is invisible against the \(\sin^2\theta = 0\) column of the paper’s own table (which constrains only \(a_1\) and \(a_2\)) and small at low \(\mu R\), but it is 0.0821 wrong at \(\mu R = 1\). What settles it is a quadrature of the defining volume-average integral ([Pri04] eq. 6.3.3.4): with −0.3750 the maximum error over the whole domain is 0.0035 — exactly the bound the paper claims for its fit. Never validate an absorption expression on a constant-θ slice.

Source: rietx.model.absorption

The same discipline is structural for the flat-plate cases: they are closed-form integrals rather than fits, so the tests check them against an adaptive quadrature of the defining path-length integral, sharing no constant with the implementation.

12.2. Two Coelho papers vs. their own tables

Coelho (2005), eq. (1) [Coe05] prints the early-iteration damping factor as \(\mathrm{Max}[(k+1)/N_k,\, 1]\) while the surrounding text describes a reduction — which would be Min. Measured on real refinements, neither reading helps once parameter removal shrinks \(N_k\) (the printed Max form then actively degrades the step), and the shipped factor is 1, kept as a selectable option because it was measured rather than argued.

Source: rietx.optimize.bccg

Coelho (2018), eq. (9) [Coe18] defines the predicted cost change as \(\Delta S_t = \Delta p^\top b\). Taken literally with the paper’s own \(b = -J^\top r\), that is positive for a descent step while \(\Delta S < 0\), so every good step would report \(r_u = \Delta S_t/\Delta S < 0\) — contradicting the paper’s own Table 1 (\(r_u \approx 1.003\) on a near-quadratic step), its §1.2 statement, and its Fig. 10 distribution. The self-consistent reading is

(12.1)\[\Delta S_t \;=\; -\Delta\theta^\top b,\]

Source: rietx.optimize.lm

pinned by an identity: on an exactly linear model the Gauss-Newton step gives \(r_u \equiv 1\), which is the calibration test — and the only way to know the λ schedule is being fed the quantity its published constants were tuned for.

12.3. The FCJ corner: the parameterisation stalls, not the solver

The FCJ quadrature ((3.11)) is built around \(|s - h|\) and \(\min(s, h)\), both non-differentiable at \(s = h\) — and the default instrument starts both apertures equal [FCJ94]. Measured on the SRM 660c protocol: the analytic \(S/L\) and \(H/L\) Jacobian columns agree with a residual-vector finite difference to only ~2 % (every other column is ≤ 1e-5), because the analytic derivative is one-sided while the central difference straddles the corner. At \(s = h\) the two columns are then identical: a Gauss-Newton step moves the pair along the diagonal forever, the correlation guard reports ρ = +1.000, the bounded LM converges with the pair still bit-identical, and TRF escapes onto an asymmetric solution only by way of its own internal scaling. Neither escape is principled. When two drivers “disagree” like this, the finding is not that one solver is better — it is that the parameterisation owns a corner nobody’s step can see across.

Source: rietx.model.profiles.fcj.fcj_offsets_weights

12.4. µR, µt, and why ΔRwp judges none of this

Capillary absorption (5.4) factors exactly into a scale times a Debye-Waller shape: applied to a model with free scale and displacement parameters, Rwp provably cannot move (measured: 3×10⁻⁸ on real 11-BM data), while every Biso shifts by exactly the predicted (5.6). The correction is real physics with zero fit-quality signature. Flat-plate µt is the same story with the degeneracy only approximate — 3–47 % of its signature survives the projection — so it does move Rwp, and on a genuinely thick specimen declaring a thickness moves it the wrong way, which is how you learn the specimen was not thin.

Of the eight corrections shipped in one release, not one is well judged by ΔRwp: two provably cannot move it, one moves it the wrong way when it is right, three move it while changing nothing quotable, and the two largest accuracy wins (dispersion taking round-robin QPA from RMS 2.26 to 0.69 wt %; absorption unbiasing ADPs by up to 1.5 Ų) are invisible in it. That is why every correction ships with a record field or diagnostic stating what it changed — and why this manual quotes those fields rather than Rwp comparisons as evidence.

Source: rietx.model.absorption.equivalent_delta_biso_from_transmission