A Taxonomy of Numerical Differentiation Methods
Pavel Komarov, Floris van Breugel, J. Nathan Kutz

TL;DR
This paper reviews various numerical differentiation methods, compares their advantages, and provides a practical guide and an open-source Python package to help scientists and engineers choose suitable algorithms for noisy data.
Contribution
It offers a comprehensive taxonomy, theoretical insights, and a practical Python toolkit for numerical differentiation in noisy data contexts.
Findings
Comparison of differentiation methods and their robustness to noise
Guidelines for selecting appropriate differentiation algorithms
Introduction of the PyNumDiff Python package
Abstract
Differentiation is a cornerstone of computing and data analysis in every discipline of science and engineering. Indeed, most fundamental physics laws are expressed as relationships between derivatives in space and time. However, derivatives are rarely directly measurable and must instead be computed, often from noisy, potentially corrupt data streams. There is a rich and broad literature of computational differentiation algorithms, but many impose extra constraints to work correctly, e.g. periodic boundary conditions, or are compromised in the presence of noise and corruption. It can therefore be challenging to select the method best-suited to any particular problem. Here we review a broad range of numerical methods for calculating derivatives, present important contextual considerations and choice points, compare relative advantages, and provide basic theory for each algorithm in order…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical methods for differential equations · Advanced Optimization Algorithms Research · Model Reduction and Neural Networks
