Confederated modular differential equation APIs for accelerated algorithm development and benchmarking. (June 2019)
- Record Type:
- Journal Article
- Title:
- Confederated modular differential equation APIs for accelerated algorithm development and benchmarking. (June 2019)
- Main Title:
- Confederated modular differential equation APIs for accelerated algorithm development and benchmarking
- Authors:
- Rackauckas, Christopher
Nie, Qing - Abstract:
- Highlights: A Julia-based type-dispatch API is used to build a confederated system where researchers can use to add their own methods to the standard Julia differential equations ecosystem without requiring modification of core packages. Polyalgorithms over the available methods in the ecosystem are utilized to give intelligent default behavior for end users. The system allows for directly specifying the choice of algorithm in end user software, make it easy to utilize production scientific software as the benchmarking platform for the differential equation solvers. Abstract: 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 systemsHighlights: A Julia-based type-dispatch API is used to build a confederated system where researchers can use to add their own methods to the standard Julia differential equations ecosystem without requiring modification of core packages. Polyalgorithms over the available methods in the ecosystem are utilized to give intelligent default behavior for end users. The system allows for directly specifying the choice of algorithm in end user software, make it easy to utilize production scientific software as the benchmarking platform for the differential equation solvers. Abstract: 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. … (more)
- Is Part Of:
- Advances in engineering software. Volume 132(2019)
- Journal:
- Advances in engineering software
- Issue:
- Volume 132(2019)
- Issue Display:
- Volume 132, Issue 2019 (2019)
- Year:
- 2019
- Volume:
- 132
- Issue:
- 2019
- Issue Sort Value:
- 2019-0132-2019-0000
- Page Start:
- 1
- Page End:
- 6
- Publication Date:
- 2019-06
- Subjects:
- Differential equations -- Julia -- Generic programming -- Type-specialization -- Polyalgorithms -- API Design
Computer-aided engineering -- Periodicals
Engineering -- Computer programs -- Periodicals
Engineering -- Software -- Periodicals
Periodicals
620.0028553 - Journal URLs:
- http://www.sciencedirect.com/science/journal/09659978 ↗
http://www.elsevier.com/journals ↗ - DOI:
- 10.1016/j.advengsoft.2019.03.009 ↗
- Languages:
- English
- ISSNs:
- 0965-9978
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 0705.450000
British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 9990.xml