研究生一年级Computation课程已上线
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
前置知识
40 项必需的前置知识(一直追溯到底)
你将学会
- 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.
定义
- 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.
定理
- 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.
常见误解
- Thinking a notebook that ran once is reproducible.
- Reporting agreement to many digits as if it were proof.
可选发现
- Formalising published mathematics Formal verification is the strongest form of reproducibility for proofs, including computer-assisted ones.
- ← Statistical inference
学习路径
延伸阅读
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms (2002)
- Geir Kjetil Sandve, Anton Nekrutenko, James Taylor and Eivind Hovig, Ten Simple Rules for Reproducible Computational Research (2013)