Confederated Modular Differential Equation APIs for Accelerated Algorithm Development and Benchmarking
This work addresses the need for consistent benchmarking and method selection in scientific modeling, though it is incremental as it builds on existing software.
The paper tackles the problem of verifying theoretical advances and comparing methods in differential equation solving by introducing a confederated modular API in DifferentialEquations.jl, which enables researchers to benchmark methods in production settings and helps users select state-of-the-art methods through abstraction.
Performant numerical solving of differential equations is required for large-scale scientific modeling. In this manuscript we focus on two questions: (1) how can researchers empirically verify theoretical advances and consistently compare methods in production software settings and (2) how can users (scientific domain experts) keep up with the state-of-the-art methods to select those which are most appropriate? Here we describe how the confederated modular API of DifferentialEquations.jl addresses these concerns. We detail the package-free API which allows numerical methods researchers to readily utilize and benchmark any compatible method directly in full-scale scientific applications. In addition, we describe how the complexity of the method choices is abstracted via a polyalgorithm. We show how scientific tooling built on top of DifferentialEquations.jl, such as packages for dynamical systems quantification and quantum optics simulation, both benefit from this structure and provide themselves as convenient benchmarking tools.