First-year graduateComputationPlanned
Computational reproducibility
Making computational mathematics checkable by others: version control, pinned environments, tests, notebooks, random seeds and data provenance, and reporting results honestly as exact, numerical, statistical or experimental evidence.
math.comp.computational-reproducibility
The lesson for this topic has not been written yet. The outline below is part of the curriculum map and has not been reviewed.
Builds on
Required prerequisites, all the way down: 40
You will learn to
- Package a computation with pinned dependencies, tests and a single command that reproduces its results.
- Classify a computational claim as exact, numerical, statistical or experimental, and state its limitations.
- Archive code and data with persistent identifiers, and cite software properly.
Definition
- A computation is reproducible if others can obtain the same results from the same code, data and environment.
- A pinned environment fixes the exact versions of all software dependencies.
- Exact computation (integer or symbolic arithmetic) differs from floating-point approximation, whose results need error bounds to be meaningful.
Theorem
- Floating-point results can differ between hardware and library versions, so tolerances must be stated.
- A computer-assisted proof depends on the correctness of its code; formal verification or independent reimplementation strengthens the claim.
Common misconceptions
- Thinking a notebook that ran once is reproducible.
- Reporting agreement to many digits as if it were proof.
Optional discoveries
- Formalising published mathematics Formal verification is the strongest form of reproducibility for proofs, including computer-assisted ones.
- ← Statistical inference