Four questions before trusting a result

LayerQuestion
ModelDo the equations and assumptions represent the phenomenon at the scale being studied?
ConditioningDoes a small change in valid input produce a large change in the exact answer?
DiscretizationHow does replacing a continuous object with a finite approximation change the result?
AlgorithmDoes the computational procedure amplify rounding and truncation error?

Conditioning is not stability

An ill-conditioned problem is inherently sensitive: nearby inputs can have very different exact outputs. An unstable algorithm adds avoidable sensitivity through its procedure. A stable method cannot remove the underlying conditioning of the problem, but it should avoid introducing much more error than that conditioning requires.

Why smaller steps are not always better

Reducing a finite-difference step can decrease truncation error, but eventually subtraction of nearly equal floating-point values can amplify roundoff. Reliable computation therefore studies an error regime rather than assuming that the smallest representable step is the most accurate.

f′(x) ≈ [f(x+h) - f(x)] / h

As h shrinks, the approximation improves in exact arithmetic up to the order of the method. In floating-point arithmetic, cancellation in the numerator and division by a tiny h can eventually make the estimate worse.

Minimum reproducibility recordReport the method, input data, units, step or mesh, tolerance, precision, stopping rule, software/version, and an error or convergence study. A plot alone is not numerical validation.

Boundary-specific risks

  • Sampling never reaches an excluded singular endpoint, so a cutoff must be explicit.
  • A coarse mesh can hide a boundary layer or steep gradient.
  • Clipping or chart scaling can make divergent behavior look bounded.
  • Regularization can improve computation while changing the original problem.
  • A stable-looking finite run does not establish convergence of an infinite limiting process.

Sources