Find a numerical failure before trusting an experiment
Does an apparently sensible floating-point answer survive a separately formulated reference calculation?
Make this plan your own ↓Read, edit and export without an account. This is preparation; no run or result is claimed.
What to compare
Use exact represented float values when constructing an error, and preserve the explicit sequential summation baseline. A rounded reference is not an exact oracle.
Useful outputs
- Fixed adversarial inputs and exact/high-precision references.
- Baseline and stable-form outputs with absolute error, overflow and cancellation recorded separately.
- A minimal regression fixture tied to the exact source/runtime version.
Inputs and prerequisites
- Four original cases are prepared for the qualified standard-library runtime.
- External packages remain unexecuted; their environment needs qualification.
What this work would not establish
- Passing these inputs does not establish a general error bound.
- No external library was executed by catalog preparation.
Start with these sources.
Stable log-sum-exp on overflowing inputs
Compare naive exponentiation with a shifted log-sum-exp calculation and a 70-digit Decimal reference on three fixed large inputs.
Rationalization and subtractive cancellation
Measure loss of precision in sqrt(x+1)-sqrt(x) at x=10^16 and compare an algebraically rationalized expression with a high-precision reference.
Summation with a large dynamic range
Compare sequential sum and math.fsum on a repeated cancellation pattern, with a Fraction reference for the exact represented inputs.
Variance estimation for nearly equal large values
Compare a raw second-moment formula, Welford accumulation, and statistics.pvariance on five large observations with an exact population variance of two.
mpmath
Arbitrary-precision real and complex arithmetic with special functions and numerical calculus.
NumPy
Multidimensional array operations and numerical linear algebra for scientific Python.
Make the question your own.
Edit freely. Export a copy before reloading or leaving. Your text stays in this tab until you choose to copy, download or save it privately.