Module 4: Conditioning And Numerical Stability
Module Arc
Separate the problem, algorithm, and implementation
Measure input-to-output sensitivity
Propagate declared input bounds or uncertainties
Compare forward and backward error
Interpret residuals using conditioning
Match the remedy to the diagnosed cause
Module 3 measured discrepancy size. Module 4 diagnoses where it comes from. Keep the three objects separate throughout the discussion.
Three Different Questions
How sensitive is the answer to input?
Mathematical problem
Does the method add avoidable error?
Algorithm
Does the code perform that method?
Implementation
A program can correctly implement an unstable algorithm or incorrectly implement a stable one. Conditioning can be studied without either program.
Observe Problem Sensitivity
\[
\kappa_\mathrm{obs}=
\frac{\|\Delta x\|/\|x\|}
{\|\Delta b\|/\|b\|}
\]
State the norm and scaling
Perturb inputs independently of the algorithm
One direction is not the worst-case condition number
The activity uses the maximum norm on dimensionless quantities and 80-digit decimal arithmetic to isolate problem sensitivity from binary64 effects.
Two Nearly Dependent Equations
\[
x_1+x_2=2
\]
\[
x_1+(1+\delta)x_2=2+\delta
\]
With a \(10^{-16}\) right-hand-side perturbation:
\(1\)
\(10^{-16}\)
\(3\)
\(10^{-12}\)
\(10^{-4}\)
\(2\times10^{12}\)
Ask for predictions before running notebooks/04-sensitivity-stability-residuals.qmd. The amplification follows from \(\eta/\delta\) and persists in high precision.
From Sensitivity To Propagation
For \(y=f(x_1,\ldots,x_n)\) and small input changes:
\[
\Delta y\approx\sum_i c_i\Delta x_i,
\qquad c_i=\frac{\partial f}{\partial x_i}
\]
\(c_i\) converts input units to output units
Bounded changes: \(|\Delta y|\lesssim\sum_i|c_i|b_i\)
Standard uncertainty: \(u_c^2(y)\approx J\Sigma_xJ^\mathsf{T}\)
Conditioning supplies the sensitivity; propagation combines it with a declared input description. Do not call a measurement uncertainty a known error. The true input is usually unavailable.
Same Magnitudes, Different Claims
For \(\rho=m/V\) , \(m=100.0\ \mathrm{g}\) and \(V=40.0\ \mathrm{cm^3}\) :
Bounds \(0.2\ \mathrm{g}\) , \(0.3\ \mathrm{cm^3}\)
\([2.47643,2.52393]\ \mathrm{g\,cm^{-3}}\)
Independent standard uncertainties
\(u_c(\rho)\approx0.0194\ \mathrm{g\,cm^{-3}}\)
A deterministic range is not a confidence interval
Covariance can raise or lower propagated variance
The first row uses monotonicity and exact corner evaluation. The second uses a first-order covariance model. The identical input magnitudes do not make these equivalent statements.
First Order Can Fail
For \(Y=X^2\) at nominal \(x=0\) :
\[
\left.\frac{dY}{dX}\right|_{x=0}=0
\]
Linearization predicts zero output uncertainty
Nonzero plausible inputs still produce positive outputs
Check with corners, bounds, optimization, or sampled propagation
Monte Carlo needs a justified joint input distribution
First-order propagation is local, not universal. It is suspect near singularities, discontinuities, branch changes, thresholds, or over wide input ranges. Monte Carlo estimates a distribution; it is not a rigorous worst-case bound and cannot fix missing correlations or model discrepancy.
Backward Stability
Forward error: is the computed answer close?
Backward error: is it exact for a nearby input?
Backward stable: \(\eta(\hat{x};d)\le C u\) for a stated input class
Ill-conditioning can amplify that perturbation
\[
\text{forward error}
\lesssim \kappa\times\text{backward error}
\]
Present the inequality as a first-order guide under stated assumptions, not a universal equality. Define the perturbation model and norm every time.
Hold The Problem Fixed
Small root of \(x^2-10^8x+1=0\) :
\[
\frac{10^8-\sqrt{10^{16}-4}}{2}
\quad\text{or}\quad
\frac{2}{10^8+\sqrt{10^{16}-4}}
\]
Same polynomial and binary64 format
Algebraically equivalent algorithms
80- and 100-digit reference calculations agree
Ask which expression forms a small result by subtracting nearby large values. Module 5 will name and generalize the failure pattern; focus here on the diagnostic distinction.
Compare The Algorithms
Direct
\(2.55\times10^{-1}\)
\(1.46\times10^{-1}\)
Reformulated
\(7.91\times10^{-17}\)
\(3.95\times10^{-17}\)
Conditioning is shared by both methods
Their numerical behaviour is not
Evidence applies to this tested coefficient set
The scaled polynomial residual defines the coefficient backward-error measure. Do not turn one case into a general stability theorem.
Residual Is Not Forward Error
For \(A\hat{x}=b-r\) :
Residual: \(r=b-A\hat{x}\)
RHS backward error: \(\|r\|/\|b\|\)
Forward error: \(\|\hat{x}-x\|/\|x\|\)
Residual can be computed without the exact solution. Forward error needs a reference. A scaled residual still needs conditioning to relate it to solution error.
Small Residual, Wrong Answer
Nearly dependent system with \(\delta=10^{-12}\) :
Exact solution
\((1,1)\)
Candidate
\((0,2)\)
Relative forward error
\(1\)
Relative RHS backward error
\(5\times10^{-13}\)
The candidate exactly solves a nearby system. The problem amplifies that small right-hand-side change. Connect this result to residual-based stopping criteria in Module 6.
Match Evidence To Cause
High-precision input perturbation → conditioning evidence
Equivalent algorithm comparison → formulation evidence
Forward plus backward error → accuracy and nearby-problem evidence
Known cases and invariants → implementation evidence
Precision change alone → useful, but not a complete diagnosis
Ask which experiment should be run next for each type of suspicious result. Complementary checks are stronger than one precision sweep or residual.
Match Remedy To Cause
Ill-conditioned problem: improve data, reformulate, or revise the claim
Unstable algorithm: change formulation, scaling, library, or precision
Implementation defect: fix the code and add a regression test
Regularization changes the problem and must be documented
Nondimensionalization can remove artificial scale disparities but cannot restore information absent from the inputs. Module 5 applies these distinctions to recurring finite-precision failure patterns.
Module 5: Common Numerical Failure Modes
Module Arc
Diagnose a failed intermediate, not “floating point” in general
Preserve small increments and low-order contributions
Keep intermediates inside the usable range
Match reformulation to cause and validate the result
Module 4 supplied the distinction between conditioning and stability. Module 5 applies it to recurring arithmetic patterns. Ask for a prediction before every result slide.
Carry The Module 4 Questions Forward
Is the exact problem sensitive?
Does the algorithm introduce avoidable error?
Does the implementation perform that algorithm?
Hold the mathematical input-output map fixed
Compare against a reference or invariant
A dangerous operation is a hypothesis, not a diagnosis. Keep input uncertainty and implementation defects separate from the algorithm comparisons here.
Prediction: A Small Increment
For \(x=10^{-16}\) , compare
\[
e^x-1
\]
using:
exp(x) - 1
expm1(x)
an independently checked decimal reference
Ask which intermediate must retain the increment. The exact function is well-conditioned near zero; its relative condition number tends to one.
Cancellation Result
exp(x) - 1
\(0\)
\(1\)
expm1(x)
\(1.0\times10^{-16}\)
\(7.09\times10^{-17}\)
Reference: \(1.00000000000000005\times10^{-16}\)
80- and 100-digit reference calculations agree
The increment is rounded away when exp(x) is formed near one. Cancellation exposes that loss. The specialized function evaluates the increment directly. Do not claim that every subtraction is catastrophic.
Diagnose Cancellation
Identify the nearby operands and desired difference
Ask whether operand errors dominate that difference
Sweep the separation while holding the exact function fixed
Prefer a validated identity or specialized operation
Examples: expm1, log1p, reformulated quadratic roots
Higher precision can be a diagnostic or requirement, but it usually postpones rather than removes an unstable structure.
Prediction: One Sum, Five Algorithms
\[
[10^{16},\underbrace{1,\ldots,1}_{10\,000},-10^{16}]
\]
All inputs are exactly representable
Exact sum: \(10\,000\)
Which contributions survive each evaluation tree?
Open notebooks/05-failure-mode-lab.qmd if demonstrating live. Emphasize that the sequential method is an explicit loop; language built-ins can change their algorithm across versions.
Summation Results
Left to right
\(0\)
\(1\)
Magnitude order
\(10\,000\)
\(0\)
Pairwise tree
\(9\,998\)
\(2\times10^{-4}\)
Neumaier compensation
\(10\,000\)
\(0\)
math.fsum
\(10\,000\)
\(0\)
These results rank methods only for this sequence. The pairwise split loses two units but preserves almost everything the sequential order discards.
Sum Conditioning Still Matters
\[
\kappa_{\mathrm{sum}}=
\frac{\sum_i |x_i|}{|\sum_i x_i|}
\]
A stable reduction reduces arithmetic error
A large \(\kappa_{\mathrm{sum}}\) exposes input sensitivity
No summation method recovers information absent from the data
Connect directly to Module 4. Fixed exact inputs let us compare algorithmic error, but real measurements near \(10^{16}\) may not support unit-scale claims.
Choose A Reduction Contract
Sequential: simple, error can grow with \(n\)
Pairwise: tree depth near \(\log_2 n\) , parallel-friendly
Compensated: retains discarded low-order information
Magnitude ordering: sometimes helpful, costs sorting
Library reduction: prefer documented guarantees
Avoid promising exactness. Overflow, subnormals, mixed signs, conditioning, and the actual tree can dominate qualitative first-order comparisons.
Prediction: A Finite Norm
For \(x=y=10^{308}\) :
\[
\sqrt{x^2+y^2}
\approx 1.4142\times10^{308}
\]
The final result is representable
Are the intermediate squares representable?
Which bound can detect a failed result?
Ask for the intermediate before revealing infinity. The invariant is \(m\le\|(x,y)\|_2\le\sqrt{2}m\) with \(m=\max(|x|,|y|)\) .
Scale Before Squaring
\[
m=\max(|x|,|y|),\qquad
\|(x,y)\|_2=m\sqrt{(x/m)^2+(y/m)^2}
\]
Naive squares
\(\infty\)
Scaled formula
\(1.4142135623730951\times10^{308}\)
hypot
\(1.4142135623730951\times10^{308}\)
The scaled and library results satisfy the invariant and agree with a 100-digit reference to relative error \(5.77\times10^{-17}\) . Use a tested general norm routine for production vectors.
Compare Likelihoods In Log Space
\[
\log\left(\prod_i p_i\right)=\sum_i\log p_i
\]
\(10^{-400}\) and \(10^{-401}\) both become zero in binary64
Log likelihoods remain finite
Their difference is \(\log(10)\)
Keep comparison and normalization in log space
Exponentiating the result can still underflow. Positive nonzero factors are assumed here; zeros, signs, and invalid probabilities need explicit policies.
Run The Failure-Mode Lab
quarto preview notebooks/05-failure-mode-lab.qmd
Predict before each execution
Record the failed intermediate
Compare with the stated reference or invariant
Change one scale or order at a time
Switch to the tutorial. The full build also publishes a downloadable Jupyter notebook; the .qmd remains authoritative.
Match Remedy To Cause
Nearby subtraction
Identity or specialized function
Lost reduction terms
Pairwise or compensation
Overflowing powers
Scale first
Underflowing product
Rescale, split exponent, or use logs
Order dependence
Select and document the tree
Ask what evidence would show that each response worked over the intended input range. “Use more precision” is an experiment, not the default answer.
Evidence Has A Scope
Decimal references are checked at two precisions
The summation reference is exact
The norm has a reference and an independent bound
Examples isolate arithmetic, not measurement uncertainty
Selected cases do not establish global stability theorems
Library implementations and edge cases can differ. Encourage a claim about the tested data and range rather than a timeless label for an operation.
Module 5 Takeaways
Find the first intermediate that loses useful information
Treat summation order as part of the numerical method
Scale intermediates before they leave the usable range
Match reformulation to the diagnosed failure
Validate the change and state its limits
Transition to Module 6: an update that rounds to zero may be convergence or may be stagnation. The same diagnostics are needed inside iterative algorithms.
Module 6: Iterative Algorithms And Convergence
Module Arc
Separate desired error from observable proxies
Give stopping criteria scales and units
Detect convergence and recognizable failure
Find an attainable accuracy floor
Record why the iteration ended
Module 5 ended with an update that could round away. Module 6 puts that failure inside an iterative method. Ask for a prediction before each result slide.
Error, Residual, And Update
\[
e_k=x_k-x^*,\qquad r_k=f(x_k),\qquad
\Delta x_k=x_{k+1}-x_k
\]
Error
How far from the desired answer?
Usually no
Residual
How well is the equation satisfied?
Usually yes
Update
How much did the iterate move?
Yes
The residual may have different units from the solution. A small residual implies small error only through a problem-specific conditioning argument.
Stopping Is A Claim
\[
\lVert r_k\rVert\le a_r+\rho_r R
\]
\[
\lVert\Delta x_k\rVert\le a_x+\rho_x X_k
\]
Name each quantity, norm, unit, and scale
Keep an absolute floor near zero
Decide which criteria must hold together
In the activity both criteria must hold. That conservative choice is useful for comparison, not a universal solver theorem. A production method may use an initial residual, component scales, or a backward-error estimate.
Prediction: One Relative Error, Two Scales
Solve \(x=b\) with a candidate \(x=0.9b\) :
\(10^{-12}\)
\(10^{-13}\)
\(0.1\)
\(10^{12}\)
\(10^{11}\)
\(0.1\)
What does an absolute threshold of \(10^{-6}\) report?
It accepts the small-scale candidate and rejects the large-scale candidate. The same relative quality gets opposite decisions. The absolute component is still needed at zero; it should represent an application scale.
A Controlled Relaxation
\[
x_{k+1}=x_k+\omega(b-x_k)
\]
For \(x^*=b\) :
\[
e_{k+1}=(1-\omega)e_k
\]
\(0<\omega<2\) : contraction
\(\omega=2\) : two-cycle
\(\omega>2\) : growing error
In this deliberately well-conditioned scalar problem, residual magnitude and forward-error magnitude are equal. Explicitly prevent learners from carrying that identity to arbitrary systems.
Prediction: Classify Four Runs
Contracting
\(1\)
\(0\)
\(0.5\)
Two-cycle
\(1\)
\(0\)
\(2\)
Growing
\(1\)
\(0\)
\(3\)
Tiny step
\(2\)
\(1\)
\(10^{-20}\)
Predict the iterate pattern and termination reason.
Have participants use \(|1-\omega|\) for the first three. For the last case, compare the requested update with binary64 spacing near one.
Four Runs, Four Reasons
Contracting
27
\(7.45\times10^{-9}\)
\(7.45\times10^{-9}\)
converged
Two-cycle
2
\(1\)
\(-2\)
oscillating
Growing
3
\(-8\)
\(12\)
diverging
Tiny step
1
\(1\)
\(0\)
stagnated
The detector uses an exact two-cycle and three consecutive residual increases. These are declared tutorial policies, not universal classifiers.
A Zero Update Can Be False Convergence
For \(b=2\) , \(x_0=1\) , \(\omega=10^{-20}\) :
\[
x_1=\operatorname{fl}(1+10^{-20})=1
\]
Computed update: \(0\)
Residual: \(1\)
Update-only decision: accept
Combined decision: stagnated
The requested step is nonzero but smaller than binary64 spacing near one, about \(2.22\times10^{-16}\) . Checking the stored candidate reveals the loss.
Failure Is A Reportable Result
converged: all required criteria hold
stagnated: no computed movement while criteria fail
oscillating: a declared cycle detector triggers
diverging: a declared growth detector triggers
non_finite: an iterate or diagnostic is NaN or infinite
max_iterations: the budget is exhausted
Check order can change the returned reason. The tutorial checks non-finite values, success, stagnation, cycling, growth, and finally the budget.
Prediction: Newton Meets Binary64
\[
x_{k+1}=\frac12\left(x_k+\frac{2}{x_k}\right),
\qquad r_k=x_k^2-2
\]
From \(x_0=1\) , compare relative tolerances:
practical: \(10^{-14}\)
strict: \(10^{-16}\)
Will the stricter request improve the answer?
The high-precision value of square root two is used only to assess forward error after each run, never as the stopping rule.
Same Answer, Different Evidence
\(10^{-14}\)
6
\(2.22\times10^{-16}\)
\(8.87\times10^{-17}\)
converged
\(10^{-16}\)
6
\(2.22\times10^{-16}\)
\(8.87\times10^{-17}\)
stagnated
Both return 1.414213562373095.
At the strict request, the update rounds to zero before the residual threshold holds. More iterations cannot change this binary64 iterate.
Tolerance Study
\(10^{-2}\)
3
\(1.50\times10^{-6}\)
converged
\(10^{-4}\)
4
\(1.13\times10^{-12}\)
converged
\(10^{-8}\)
5
\(8.87\times10^{-17}\)
converged
\(10^{-14}\)
6
\(8.87\times10^{-17}\)
converged
\(10^{-16}\)
6
\(8.87\times10^{-17}\)
stagnated
Forward error plateaus. Tightening the tolerance past the attainable region changes the reason, not the approximation. Iteration count alone is not a quality metric.
Record The Termination Contract
Problem, method, arithmetic environment
Initial value and solver parameters
Residual and update definitions
Norms, scales, absolute and relative tolerances
Iteration count and termination reason
Final residual, update, and selected history
The notebook prints a compact evidence record. Larger solvers may also require preconditioner details, component scales, rate estimates, and software versions.
Run The Convergence Activity
quarto preview notebooks/06-convergence-and-stopping.qmd
Predict before each run
Change one relaxation factor
Compare update-only and combined decisions
Locate the Newton accuracy floor
Switch to the authoritative Quarto tutorial. The complete build executes it and publishes a downloadable Jupyter notebook.
Evidence Has A Scope
Relaxation behaviour is checked against a known recurrence
Newton forward error uses a 100-digit decimal reference
A direct identity relates residual and error for this root
Cycle and growth detectors are intentionally simple
No model, input, or discretization has been validated
The tolerance study changes only solver tolerance. Module 7 adds independent references, invariants, cross-method checks, and refinement evidence.
Module 6 Takeaways
Error, residual, and update answer different questions
Give every tolerance a quantity, unit, norm, and scale
Reject small-update false convergence with independent evidence
Report failure reasons and exhausted budgets explicitly
Use tolerance studies to find attainable accuracy
Transition to Module 7: honest termination is one item in a validation portfolio, not proof that the scientific result is correct.
Module 7: Validating Scientific Computations
Module Arc
Separate implementation, solution, and model claims
Match each claim to evidence that can challenge it
Test exact cases, properties, and refinement rates
Prefer comparison methods that fail differently
Preserve observations and limitations as a portfolio
Module 6 supplied honest termination evidence. Open this module by asking what that record still cannot establish about equations, discretization, or reality.
Three Questions, Three Evidence Needs
Code verification: Is the method implemented correctly?
Solution verification: Is numerical error controlled here?
Model validation: Does the model represent the intended system?
Analytic tests cannot replace experimental evidence.
Terminology varies by field, but the distinction prevents an exact test problem from being presented as validation of a physical model.
Start With The Claim
Method is implemented
Exact case or method property
Approximation is controlled
Refinement trend and error estimate
Result is not method-specific
Independent algorithm
Model represents reality
Experimental or observational data
Ask learners which row a solver residual belongs to. It supports iteration error, not every other claim.
References Have Different Authority
Exact analytic value
Manufactured or limiting case
Checked high-precision calculation
Published benchmark with matching conditions
Experimental data with uncertainty
State what each reference shares with the candidate.
A previous result is a regression baseline, not automatic truth. Extra digits can reproduce the same unstable formula or modelling error.
Properties Reject Impossible Results
Conservation and balance
Positivity and bounds
Symmetry and monotonicity
Dimensional consistency
Exactness for a class of inputs
Necessary does not mean sufficient.
Prefer the strongest property justified by the method. Broad bounds may pass a wrong algorithm while affine exactness probes its contract directly.
Validation Problem: One Integral
\[
I=\int_0^1 e^x\,\mathrm{d}x=e-1
\]
Positive, increasing, and convex integrand
Exact analytic reference
Predicted quadrature orders
Independent factorial-series formulation
The problem is dimensionless. A physical exponential would need a scale in the exponent and corresponding output units.
Two Claimed Trapezoidal Candidates
\[
T_n=h\left[\frac{f(0)}2+\sum_{i=1}^{n-1}f(ih)+\frac{f(1)}2\right]
\]
\[
S_n=h\sum_{i=0}^{n-1}f(ih)
\]
Which reference input distinguishes them?
The suspicious candidate is the left-endpoint rule. Let learners inspect the weights before naming it.
Prediction: Constant Exactness
For \(f(x)=1\) on \([0,1]\) with \(n=8\) :
Exact integral: \(1\)
What does \(T_8\) return?
What does \(S_8\) return?
Which endpoint-weight claim is tested?
Both return one. Pause before revealing the result on the next slide. The case checks interval scaling but cannot distinguish sample weights.
One Pass Is Not A Portfolio
Intended trapezoidal
\(1\)
\(0\)
Suspicious candidate
\(1\)
\(0\)
The test does not exercise endpoint weights.
Ask for a function whose values differ across the interval and whose integral is still exact and easy to justify.
Prediction: Affine Exactness
For \(f(x)=x\) on \([0,1]\) :
\[
\int_0^1x\,\mathrm{d}x=\frac12
\]
The trapezoidal rule must integrate every affine function exactly.
The Stronger Case Diagnoses The Method
Intended trapezoidal
\(0.5\)
\(0\)
Suspicious candidate
\(0.4375\)
\(0.0625\)
The suspicious code implements a first-order left rule.
The algorithm itself is valid when requested. The defect is the mismatch between implementation and claimed trapezoidal contract.
A Broad Bound Still Passes
For positive, increasing \(e^x\) :
\[
1\le Q_n\le e
\]
Trapezoidal: passes
Midpoint: passes
Suspicious left rule: passes
Plausibility is useful but incomplete.
A value outside the bound would be impossible. A value inside it need not use the intended weights or have sufficient accuracy.
Prediction: Refinement Rate
If \(E(h)\approx Ch^p\) , then
\[
p_{\mathrm{obs}}=log_2\frac{|E_n|}{|E_{2n}|}
\]
Trapezoidal prediction: \(p=2\)
Midpoint prediction: \(p=2\)
Left-endpoint prediction: \(p=1\)
Refinement Identifies The Contract
Trapezoidal
\(2.24\times10^{-3}\)
\(3.50\times10^{-5}\)
\(2.00\)
Midpoint
\(1.12\times10^{-3}\)
\(1.75\times10^{-5}\)
\(2.00\)
Suspicious
\(1.05\times10^{-1}\)
\(1.34\times10^{-2}\)
\(1.00\)
The suspicious method converges to the correct limit, but at the wrong rate for its claimed implementation. Mention coarse, asymptotic, and roundoff regimes.
Convexity Brackets The Integral
For convex \(e^x\) :
\[
M_n\le I\le T_n
\]
At \(n=8\) :
\[
1.717163664995687<I<1.720518592164302
\]
The bracket does not need the decimal digits of the exact answer once the implementations and convexity argument are trusted. Its width shrinks at about second order.
How Independent Is Agreement?
Midpoint and trapezoidal rules differ in:
sample locations;
leading-error signs;
lower versus upper convexity bounds.
They still share the integrand, interval, language, and loop structure.
Independence is a gradient. Two filenames or two wrappers around one library routine do not make a strong cross-check.
A Different Calculation: Exact Series
\[
e-1=\sum_{k=1}^{\infty}\frac1{k!}
\]
For exact rational \(P_N\) :
\[
0<(e-1)-P_N\le
\frac1{(N+1)!}\frac{N+2}{N+1}
\]
At N=18 the reference gap is 8.6522e-18 and the proved bound is 8.6533e-18. This calculation has substantially different failure modes from quadrature.
Check High Precision, Too
Evaluate the analytic expression at 80 and 100 digits
Check that the reference digits stabilize
Preserve input information before raising precision
Add a bound or different formulation
More digits do not establish authority by themselves.
Converting an already rounded binary64 input to decimal does not restore lost information. Higher precision can also repeat the same unstable formula.
Run The Validation Activity
quarto preview notebooks/07-validation-evidence.qmd
Predict before each check
Add one refinement level
Compare claims with observations
Retain failed and successful evidence
Switch to the authoritative Quarto tutorial. The complete build executes it and publishes a downloadable Jupyter notebook.
Keep Claims And Limitations Together
Constant case works
Both return \(1\)
Weights untested
Candidate is trapezoidal
Affine case fails
Claim rejected
Error is controlled
Expected order observed
Tested grids only
Model represents reality
No observations
Not established
Avoid a single validated=true flag. Later reviewers need to know what evidence supports each claim and what remains outside it.
Module 7 Takeaways
Separate code, solution, and model claims
Choose evidence that can challenge each claim
Predict properties and rates before measuring them
Prefer methods with different failure modes
Check reference calculations and retain limitations
Transition to Module 8: all evidence so far comes from one environment. Ask which conclusions must survive changes in compiler, library, hardware, order, or precision.
Module 8: Reproducibility Across Computing Environments
Module Arc
Define the agreement required for the scientific use
Identify how an environment change alters arithmetic
Compare harmless low-bit variation with a changed conclusion
Treat parallel partitions and precision as algorithm choices
Preserve the tested matrix, observations, and limitations
Module 7 built a validation portfolio in one environment. Ask what must survive before another compiler, machine, or thread count can support the same claim.
Reproducibility Is A Claim
Name all three:
Allowed change: compiler, library, hardware, order, precision, seed
Required agreement: bits, tolerance, distribution, conclusion
Intended use: debugging, restart, estimate, scientific decision
Terminology varies between fields. Keep the discussion operational: what changed, what must agree, and why that agreement is sufficient.
Different Claims Need Different Evidence
Bitwise identity
Exact serialized comparison
Numerical agreement
Justified metric and tolerance
Statistical equivalence
Replicates, uncertainty, effect size
Same conclusion
Stable decision margin
Repeatability also requires enough recorded state to rerun. These agreement levels are not a ranking: a checkpoint and a Monte Carlo estimate need different contracts.
Choose The Weakest Sufficient Contract
Exact restart may require identical state
Deterministic solvers may allow bounded low-order variation
Ensembles usually require distributional agreement
Threshold decisions require a stable margin
Do not weaken a scientifically necessary contract after it fails.
Ask learners for one workflow where bitwise identity matters and one where it would be expensive but scientifically irrelevant.
Why Arithmetic Changes
Reassociation and fused operations
Math-library algorithms
Vector width and instruction selection
Thread or process reduction trees
Storage and accumulator precision
An environment name is not a mechanism. Encourage comparisons that isolate a flag, library, partition, or precision choice.
Change One Factor At A Time
Source and input hash
Reduction order
Bits, error, decision
Algorithm and tolerance
Thread count
Partition and partials
Quantity and units
Precision
Non-finite states and margin
Validation reference
Toolchain
Compiler, flags, libraries
Several simultaneous changes can reveal a portability problem but cannot identify its cause. Reduce the discrepancy to a controlled experiment.
A Changed Bit Is Not Automatically A Defect
First confirm inputs, algorithm, and termination are the same
Classify the arithmetic mechanism
Apply the predeclared numerical criterion
Check whether the scientific conclusion survives
Retain the tested environment scope
Case 1: Positive Calibration Corrections
\[
b_k=\frac1k\ \mathrm{J},\qquad k=1,\ldots,10{,}000
\]
Stored-input reference: \(9.787606036044382\ \mathrm{J}\)
Numerical budget: \(10^{-10}\ \mathrm{J}\)
Decision: does the total exceed \(9.5\ \mathrm{J}\) ?
The exact rational sum refers to the stored binary64 inputs. It does not claim that physical measurements are exact.
Prediction: Reverse The Order
For positive binary64 terms, will reversal change:
the hexadecimal output?
the pass/fail result at \(10^{-10}\ \mathrm{J}\) ?
the above-\(9.5\ \mathrm{J}\) conclusion?
Pause for three separate predictions. Non-associativity makes a bit change possible; the conditioning and decision margin determine whether it matters.
Different Bits, Adequate Result
Original
\(9.787606036044348\)
\(3.40\times10^{-14}\)
Reverse
\(9.787606036044386\)
\(3.29\times10^{-15}\)
Increasing magnitude
\(9.787606036044386\)
\(3.29\times10^{-15}\)
All pass the budget and remain above \(9.5\ \mathrm{J}\) .
The hexadecimal values differ, so bitwise identity fails. Numerical and conclusion reproducibility pass for the tested orders.
Do Not Overstate The Pass
Supported:
Three tested orders satisfy the declared numerical budget
The tested conclusion has a large margin
Not established:
Every compiler, library, processor, or future input behaves likewise
Use the wording “over the tested matrix.” Absence of a failure in three orders is not a universal portability theorem.
Case 2: Cancellation-Sensitive Energy Ledger
Source: \(+2^{53}\ \mathrm{J}\)
Sink: \(-2^{53}\ \mathrm{J}\)
4,096 contributions: \(+0.5\ \mathrm{J}\) each
Exact stored-input total: \(2048\ \mathrm{J}\)
Balance is acceptable only when \(|E|\le100\ \mathrm{J}\) .
The case is synthetic and dimensioned for interpretation. It isolates arithmetic and does not validate a physical energy model.
Prediction: Where Do The Small Terms Go?
At \(2^{53}\) , binary64 spacing is \(2\ \mathrm{J}\) .
Compare:
source → small terms → sink
source → sink → small terms
small terms → source → sink
Ask which order lets 0.5 J terms accumulate at a scale where they are visible. Do not reveal the result until learners commit to a prediction.
One Order Reverses The Conclusion
Source, smalls, sink
\(0\)
Acceptable—wrong
Source, sink, smalls
\(2048\)
Material imbalance
Smalls, source, sink
\(2048\)
Material imbalance
One-percent numerical budget: \(|E-2048|\le1\ \mathrm{J}\) .
Zero is finite, deterministic, and plausible. The independent reference and decision threshold reject it.
Sensitivity Predicts Risk
\[
\kappa_{\mathrm{sum}}=
\frac{\sum_i|x_i|}{|\sum_i x_i|}
\approx8.80\times10^{12}
\]
Large contributions nearly cancel
The desired net is small relative to absolute input mass
Order, precision, and input uncertainty need scrutiny
Connect back to Module 4. Sensitivity explains why variation is amplified; it does not make a wrong decision acceptable.
Parallel Reduction = Numerical Algorithm
Partition the global data
Reduce within each partition
Combine partial results in a tree
Thread count, rank count, and scheduling can change both groupings.
One source-level call named sum can represent many arithmetic evaluation trees. Ask which execution parameters belong in the result record.
Partition Count Changes The Result
1
\(0\)
\(2048\)
2
\(1024\)
\(1024\)
4
\(1536\)
\(512\)
8
\(1792\)
\(256\)
16
\(1920\)
\(128\)
The selected trend is not guaranteed to continue.
Counts from two onward preserve the qualitative conclusion but fail the 1 J numerical tolerance. Conclusion reproducibility is weaker evidence here.
Deterministic Does Not Mean Accurate
Fixed tree: repeatable grouping, possibly repeatable error
Pairwise or compensated sum: usually more accurate, not necessarily bitwise
Long or exact accumulator: stronger result, additional cost
Tolerance check: useful only when tied to the scientific requirement
A reproducible algorithm still needs validation. Mention communication and scalability costs without presenting one strategy as universally best.
Accumulator Precision Is Part Of The Contract
Source, smalls, sink
\(0\)
\(0\)
Source, sink, smalls
\(2048\)
\(2048\)
Smalls, source, sink
\(2048\)
\(0\)
Record storage, product, and accumulator precision separately.
The notebook explicitly rounds each serial addition. It isolates precision but does not claim to emulate a named CPU or accelerator.
Compiler And Library Controls Have Scope
Strict modes can restrict reassociation or contraction
Library versions can change transcendental or reduction algorithms
A fixed flag name need not mean the same thing across toolchains
Serialization and exceptional values can break bitwise contracts
Verify executable behaviour; do not trust a label alone.
Keep correctness and performance separate. Stronger reproducibility controls can cost performance, but speed does not determine the required scientific contract.
Seeds Do Not Define Statistical Equivalence
When exact sequences matter, record:
generator family and algorithm;
library version and seed;
stream mapping to threads, ranks, or tasks.
When distributions matter, compare replicated statistical evidence.
One matching seeded run is not a distributional validation. Ask for sample size, uncertainty interval, practical effect size, and test power.
Run The Reproducibility Activity
quarto preview notebooks/08-environment-reproducibility.qmd
Predict three agreement levels separately
Change one partition count
Inspect result bits, error, and decision margin
Build a claim-environment-observation record
Switch to the authoritative tutorial. The complete publication build executes it and generates the downloadable Jupyter notebook.
Keep The Reproducibility Record With The Result
Source revision, build recipe, and dirty-state status
Input identity, units, range, preprocessing, and fingerprint
Algorithm, precision, tolerance, and termination reason
Libraries, hardware, threads/ranks, decomposition, and seeds
Observed difference, classification, and limitations
Avoid hostnames, credentials, or local paths in public records. A complete package dump does not replace identifying the factors relevant to the claim.
Interpret The Tested Matrix
Bits differ; tolerance passes
Numerically reproducible, if bits were not required
Tolerance fails; conclusion stays
Conclusion survived; accuracy contract failed
Conclusion changes
Claim is not reproducible over this change
All tested bits match
Bitwise identity over the tested matrix only
Treat NaN, infinity, and different termination reasons as categorical differences, not values to slip through a tolerance comparison.
Module 8 Takeaways
Define allowed changes and required agreement before running
Diagnose mechanisms, not vague machine labels
Treat reduction trees and precision as algorithm choices
Check numerical evidence and the scientific decision separately
Report the tested matrix and what remains unverified
Transition to Module 9: reproducibility evidence is only useful when its claim, criteria, environment scope, and limitations are communicated clearly.
Module 9: Communicating Numerical Reliability
Module Arc
Lead with the quantity, units, and intended decision
Keep error, uncertainty, variability, and model limits distinct
Match displayed digits to the supported scale
Compress evidence without replacing it
Write a qualified claim that remains useful
Module 8 produced a reproducibility record. Open by asking what another scientist needs before using its conclusion.
A Report Is A Compact Argument
Connect:
Claim — what is being asserted?
Evidence — what can challenge it?
Margin — how close is the requirement?
Scope — where does the conclusion apply?
Limitation — what could still change it?
Avoid both verdict flags and unreadable diagnostic dumps. The statement should index stronger evidence that remains available elsewhere.
Start With The Decision-Facing Quantity
Quantity and units
Input range and operating regime
Assumed model
Decision or downstream use
Accuracy scale that could change the decision
“Eight iterations” is evidence—not the scientific claim.
Four Layers, Four Questions
Result
What quantity was obtained?
Numerical evidence
Why is the computation adequate?
Interpretation
What decision follows?
Limitation
What remains unestablished?
Reporting Case: Heating Energy
\[
P(t)=P_0\exp(t/\tau),\qquad 0\le t\le\tau
\]
\[
E=P_0\tau\int_0^1e^x\,\mathrm{d}x
\]
\(P_0\) in kilowatts
\(\tau=1.00\ \mathrm{h}\)
\(E\) in kilowatt-hours
The exponential law is an assumed teaching model. Keep the final physical claim conditional because no observations validate it here.
Prediction: What Must The Report Prove?
Before calculating, identify evidence for:
numerical adequacy at 64 panels;
robustness over the power range;
harmless tested environment variation;
physical validity of the exponential model.
Which item cannot be established here?
The fourth item needs observational model validation. Keep it visible as a limitation rather than implying the computation tested it.
Quantify Numerical Error
Analytic model reference:
\[
E_{\mathrm{ref}}=20.6193819415085428\ldots\ \mathrm{kWh}
\]
64-panel result:
\[
E_{T,64}=20.619801442201130\ \mathrm{kWh}
\]
Absolute error: \(4.20\times10^{-4}\ \mathrm{kWh}\)
The observed error is about 24 times smaller than the 0.01 kWh budget. Name the metric and reference rather than saying only “small.”
Refinement Supports The Method Claim
8
\(2.68\times10^{-2}\)
—
16
\(6.71\times10^{-3}\)
\(2.00\)
32
\(1.68\times10^{-3}\)
\(2.00\)
64
\(4.20\times10^{-4}\)
\(2.00\)
Compress the table to its diagnostic result: the expected second-order trend is observed on the tested refinements.
Error Is Not A Generic Uncertainty
Keep separate:
Floating-point and discretization error
Iteration error and stopping evidence
Input range or measurement uncertainty
Model discrepancy
Stochastic and environment variability
Shared units do not justify adding them.
A deterministic range is not a confidence interval. A residual is not a probability distribution. Combining sources requires a stated model.
Prediction: Which Digits Belong In The Headline?
Candidate output:
20.619801442201130 kWh
Input-range envelope width:
about 0.34 kWh
What should a decision-facing report display?
Pause before the next slide. Distinguish full evidence precision from useful presentation precision.
Report The Supported Scale
Nominal result: \(20.62\ \mathrm{kWh}\)
Deterministic envelope: \([20.45,20.79]\ \mathrm{kWh}\)
Threshold: \(20.0\ \mathrm{kWh}\)
Conservative margin: \(0.45\ \mathrm{kWh}\)
Preserve full values in the evidence artifact.
There is no universal significant-digit recipe. The display choice follows the input range, numerical budget, and decision margin.
A Complete Tolerance Sentence
Include:
quantity and units;
reference;
metric;
threshold and rationale;
observation and outcome.
Read the example aloud: “Against the analytic model reference, absolute error is 4.20e-4 kWh, below the predeclared 0.01 kWh budget.”
Compress Evidence, Retain Scope
Numerical method adequate
Error passes; order two
Smooth model case
Input range preserves decision
Envelope above threshold
\(P_0\) only
Tested order variation harmless
Low-bit spread; same decision
One runtime
Model represents reality
No observations
Not established
The compact table points to the full notebook and environment record. It does not replace those artifacts.
Report Environment Variation At The Tested Level
Forward serial
\(20.619801442201130\)
Reverse serial
\(20.619801442201123\)
Accurate sum
\(20.619801442201119\)
Bits differ
Spread is about \(1.1\times10^{-14}\ \mathrm{kWh}\)
Budget and conclusion pass
Report numerical and conclusion reproducibility for these orders. Do not call this cross-platform evidence because no second platform was run.
Failed Checks Belong In The Result
Non-finite output is a categorical failure
Different termination reasons need explanation
An unevaluated regime is not a passing regime
A failed numerical criterion cannot be hidden by an unchanged classification
Do not summarize only successful rows.
Give the example “two GPU runs returned NaN” and ask why silently dropping them from an average corrupts the report.
Reliability Statement Structure
Claim and scope
Rounded result, range, and decision margin
Strongest numerical evidence
Tested variability
Assumptions, failures, and limitations
Weak Pattern: Overclaim
The system delivers exactly \(20.619801442201130\ \mathrm{kWh}\) and safely meets the requirement.
Problems:
model and inputs treated as exact;
unsupported digits;
no evidence or tested scope.
Ask which single word is most misleading. “Exactly” is a useful opening, but the other omissions matter too.
Weak Pattern: Verdict Or Data Dump
The result was validated and is reproducible.
n=8: 20.6462; n=16: 20.6261; n=32: 20.6211; n=64: 20.6198.
Neither statement connects evidence to a requirement.
The first hides everything; the second delegates interpretation to the reader. Ask learners to name the missing reference, metric, and conclusion.
Qualified Statement: Claim And Result
Under the exponential power model with \(P_0\in[11.9,12.1]\ \mathrm{kW}\) , accumulated energy is \([20.45,20.79]\ \mathrm{kWh}\) ; the nominal result is \(20.62\ \mathrm{kWh}\) .
The lower bound remains \(0.45\ \mathrm{kWh}\) above the requirement.
This slide gives the decision-facing claim. The next adds evidence and limits so the visible text does not become cramped.
Qualified Statement: Evidence And Limits
Absolute error is \(4.20\times10^{-4}\ \mathrm{kWh}\) against the analytic reference, refinement is second order, and tested reduction orders preserve the decision.
Not established:
physical validity of the exponential model;
probability for the input range;
duration uncertainty or untested platforms.
Layer The Communication Artifact
Headline result and qualification
Compact reliability statement
Evidence table and failed checks
Source, inputs, configuration, environment, complete outputs
Every layer must support the same claim.
Do not bury a conclusion-changing failure only in the machine artifact, and do not put a stronger claim in the headline than the evidence table supports.
Run The Reporting Activity
quarto preview notebooks/09-reliability-statement.qmd
Build the evidence record
Diagnose weak statements
Inspect full versus displayed precision
Revise the statement for a chosen audience
Switch to the authoritative tutorial. The complete build executes it and publishes a downloadable notebook.
Exercise: Change The Audience, Not The Evidence
Rewrite for:
a two-sentence paper result;
a numerical code review;
an operations threshold decision.
Retain units, scope, evidence, margin, and a consequential limitation.
The notebook’s mechanical phrase check is deliberately weak. Emphasize that automated completeness checks cannot approve a scientific claim.
Module 9 Takeaways
Lead with the conditional scientific claim
Keep error and uncertainty sources distinct
Report evidence, tolerance rationale, and margin together
Round for communication; retain full evidence precision
Make failures and limitations visible
Link concise prose to reproducible artifacts
Transition to Module 10: learners must now perform the complete investigation and use this structure for their capstone conclusion.
Module 10: Capstone Investigation
Module Arc
State the decision before changing the code
Reproduce the precision-dependent result
Distinguish residual, forward error, and sensitivity
Improve arithmetic and decision logic separately
Validate with complementary evidence
Report what remains indeterminate
This is the terminal integration activity. Use checkpoints so participants do not jump directly from the suspicious output to “use more precision.”
The Stable Total And The Unstable Split
Two compounds, two nearly indistinguishable sensor responses:
\[
y_1=c_A+c_B,
\qquad
y_2=c_A+(1+\delta)c_B.
\]
\(c_A,c_B\) in \(\mathrm{mg/L}\)
\(y_1,y_2\) in normalized response units
\(\delta\) measures sensor separation
State that the linear response model is assumed. The computation cannot by itself validate the calibration physically.
The Declared Case
\(y_1\)
\(1.0000000\) response units
\(y_2\)
\(1.0000004\) response units
\(\delta\)
\(10^{-6}\)
Bound on each reading
\(\pm5\times10^{-8}\) response units
Decision
\(c_A>0.61\ \mathrm{mg/L}\)
Required accuracy
\(0.01\ \mathrm{mg/L}\)
The reading bounds are deterministic, not probabilistic. Keep their interpretation visible throughout the exercise.
Prediction: What Could Reverse The Decision?
Consider:
an implementation defect;
inadequate arithmetic precision;
sensitivity of the inverse problem;
admissible variation in the readings;
an invalid physical response model.
What evidence would distinguish them?
Have groups record at least two competing hypotheses and one discriminating check before running anything.
Start The Capstone
cd hands-on/10-sensor-inversion/starter
python3 capstone.py
Record:
concentrations and decision;
residual quantity and units;
stored precision;
required accuracy and its units.
Do not reveal the reference result yet. Ask learners to identify which numbers can legitimately be compared.
The Suspicious Baseline
c_A: 0.625000000 mg/L
c_B: 0.375000000 mg/L
decision: yes
residual infinity norm: 2.500e-08 response units
Positive concentrations
Total equals \(1\ \mathrm{mg/L}\)
Small response residual
Plausible decision
Is the result accurate enough?
The answer is not established. The residual and required forward accuracy have different quantities and units.
Checkpoint 1: Do Not Rewrite Yet
Write down:
the exact scientific claim;
the reference you need;
the error metric you will use;
one controlled variation;
one conclusion-changing limitation.
Residual Is Not Forward Error
Response residual:
\[
\lVert A\widehat{c}-y\rVert_\infty
\quad\text{in response units}
\]
Required component error:
\[
|\widehat{c}_A-c_{A,\mathrm{ref}}|
\quad\text{in }\mathrm{mg/L}
\]
A bare comparison with 0.01 has no meaning.
Ask what additional relationship would make the residual informative about forward error. The answer involves scaling and conditioning.
Establish A Nominal Reference
\[
c_B=\frac{y_2-y_1}{\delta},
\qquad
c_A=y_1-c_B.
\]
For the declared decimal inputs:
\[
(c_A,c_B)=(0.6,0.4)\ \mathrm{mg/L}.
\]
What does this reference establish?
It establishes the nominal algebraic solution. It does not remove reading bounds or validate the sensor model.
Precision Changes The Nominal Decision
Binary32
\(0.625\)
yes
Binary64
\(0.5999999999885\)
no
Exact-decimal reference
\(0.6\)
no
Binary32 error: \(0.025\ \mathrm{mg/L}\)
Required accuracy: \(0.01\ \mathrm{mg/L}\)
Binary64 error: \(1.15\times10^{-11}\ \mathrm{mg/L}\)
Binary64 solves the declared nominal system adequately. Pause before allowing participants to call the scientific decision resolved.
Why Is The Split Sensitive?
\[
A=
\begin{bmatrix}
1&1\\
1&1+\delta
\end{bmatrix}
\]
\(\delta=0\) : identical rows, no unique split
Small \(\delta\) : solvable but sensitive
At \(\delta=10^{-6}\) :
\[
\kappa_2(A)\approx4.00\times10^6
\]
The condition number is a worst-case sensitivity bound, not an exact error forecast. Its scale is sufficient to motivate controlled experiments.
Avoid A Diagnostic Cancellation
For \(A^\mathsf{T}A\) :
\[
\operatorname{trace}=4+2\delta+\delta^2,
\qquad
\det=\delta^2.
\]
Compute \(\lambda_{\max}\) directly, then use
\[
\kappa_2(A)=\frac{\lambda_{\max}}{|\delta|}.
\]
Do not form the small eigenvalue by subtracting near-equal values.
This small derivation prevents the diagnostic itself from reproducing the cancellation problem being investigated.
Controlled Variation: Separate The Sensors
Keep \((c_A,c_B)=(0.6,0.4)\ \mathrm{mg/L}\) known.
\(10^{-1}\)
\(4.21\times10^1\)
\(5.01\times10^{-7}\)
\(10^{-2}\)
\(4.02\times10^2\)
\(4.79\times10^{-6}\)
\(10^{-4}\)
\(4.00\times10^4\)
\(4.77\times10^{-4}\)
\(10^{-6}\)
\(4.00\times10^6\)
\(2.50\times10^{-2}\)
This control changes sensitivity while preserving the known solution and code path. It is more discriminating than comparing two near-identical solvers.
A Revealing Edge Case
At \(\delta=10^{-8}\) in binary32:
sensor separation is zero after binary32 storage
Both response coefficients store as one
The components are not distinguishable on this path
Explicit failure is better than a plausible estimate
Connect to Module 2 exceptional states and Module 6 failure reporting. The code does not hide the loss of distinguishability.
Checkpoint 2: Which Cause Is Dominant?
Evidence so far:
Binary32 fails the nominal accuracy requirement
Binary64 agrees with the nominal reference
Error grows as sensor separation shrinks
The well-separated control succeeds
What remains untested before the scientific decision?
The declared reading bounds remain. Encourage learners to distinguish nominal arithmetic adequacy from robustness over admissible inputs.
Propagate The Reading Bounds
Each reading varies independently by \(\pm5\times10^{-8}\) response units.
Fixed nonzero \(\delta\)
Linear mapping from readings to concentrations
Rectangular input range
Extrema occur at the four corners
What range should the decision cover?
This is deterministic interval propagation, not Monte Carlo sampling and not a confidence interval.
The Stable Total And The Unstable Split
\(c_A\)
\([0.49999995,0.70000005]\)
\(c_B\)
\([0.30,0.50]\)
\(c_A+c_B\)
\([0.99999995,1.00000005]\)
Component interval crosses \(0.61\ \mathrm{mg/L}\)
Total remains tightly bounded by \(y_1\)
Ask which quantity the measurements support. Reporting the total preserves useful information but does not answer the component threshold question.
The Supported Decision
For the strict threshold:
yes: every admissible \(c_A>0.61\ \mathrm{mg/L}\)
no: every admissible \(c_A\le0.61\ \mathrm{mg/L}\)
indeterminate: the interval crosses the threshold
This case is indeterminate .
Treat this as a successful outcome. The computation now reports the limit of the evidence instead of forcing a Boolean answer.
Improve One Factor At A Time
Retain binary64
Nominal arithmetic passes
Input sensitivity
Use interval decision
Prevents overclaim
Range remains wide
Report total separately
Preserves robust result
Split unresolved
Higher precision cannot create missing measurement information.
Complementary Validation Portfolio
Exact-decimal nominal reference
Binary64 forward-error comparison
Well-separated synthetic control
Condition-number trend
Four-corner input envelope
Total-concentration invariant
Which checks share the same model assumption?
All computational checks share the linear sensor model. This is the explicit boundary between solution verification and physical model validation.
Run The Completion Checks
cd hands-on/10-sensor-inversion/starter
python3 capstone.py --report
python3 -m unittest -v
Tests check implementation and evidence structure
Inspect quantities, units, scope, and limitations
Passing tests are not scientific approval
The starter tests initially fail at TODOs. At completion they should match the same checks that pass for the separate reference solution.
Reliability Statement: Result And Evidence
Under the declared linear sensor model, binary64 gives \(c_A=0.600\ \mathrm{mg/L}\) and agrees with the exact-decimal nominal reference to \(1.15\times10^{-11}\ \mathrm{mg/L}\) , below the predeclared \(0.01\ \mathrm{mg/L}\) accuracy requirement.
Binary32 \(c_A\) error: \(0.025\ \mathrm{mg/L}\) , which exceeds the requirement
Nominal decision changes from no in binary64 to yes in binary32
\(\kappa_2(A)\approx4.00\times10^6\)
The input-bound consequence follows on the next slide.
Reliability Statement: Decision And Limits
The component interval crosses \(0.61\ \mathrm{mg/L}\) , so the supported decision is indeterminate. The total remains in \([0.99999995,1.00000005]\ \mathrm{mg/L}\) .
\(c_A\in[0.50,0.70]\ \mathrm{mg/L}\) over the deterministic reading bounds.
Not established:
physical validity of the linear calibration;
probability for the reading bounds;
behaviour on untested precision or hardware paths.
Compare participant statements by claim and evidence, not by exact wording.
What Would Resolve The Question?
A sensor with more distinct response coefficients
A third independently informative measurement
Tighter justified reading bounds
Physical calibration and validation over the intended regime
Regularization adds an assumption; it does not recover absent information.
This provides a natural bridge to advanced linear algebra, interval methods, and model validation without inserting them into the core exercise.
Capstone Completion Criteria
Suspicious result reproduced and quantified
Reference scope stated correctly
Conditioning diagnosis supported by a control
Arithmetic and input sensitivity separated
Two or more complementary checks recorded
Decision covers the complete declared range
Qualified reliability statement completed
Module 10 Takeaways
Start from the scientific claim and accuracy requirement
Treat residuals as diagnostics, not automatic error bounds
Change one explanatory factor at a time
Separate arithmetic adequacy from problem identifiability
Preserve robust quantities and explicit failure states
Make the conclusion no stronger than the evidence
Close the core course by returning to the opening theme: correct execution is only the start of numerical trust.