Journal of Open Research Software· 2017Q3
DifferentialEquations.jl – A Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia
- 1,714citations
- Q3SCImago
- 2017year
Short summary
DifferentialEquations.jl provides a unified, high-performance Julia ecosystem for solving a wide range of differential equation types, from discrete to partial differential equations, integrating advanced features like arbitrary number systems and parallelism.
AI-generated from the title and abstract; the full text is not read.
Key points
- Supports a broad spectrum of differential equation types: discrete, ODEs, SDEs, DDEs, PDEs, and hybrid systems.
- Achieves high performance and feature richness through Julia's multiple dispatch, metaprogramming, and FFI.
- Integrates advanced features such as arbitrary precision number systems, physical units, multithreading, and symbolic Jacobians.
- Includes a built-in algorithm testing and benchmarking suite for accuracy assurance and method development.
AI-generated from the title and abstract; the full text is not read.
Abstract
DifferentialEquations.jl is a package for solving differential equations in Julia. It covers discrete equations (function maps, discrete stochastic (Gillespie/Markov) simulations), ordinary differential equations, stochastic differential equations, algebraic differential equations, delay differential equations, hybrid differential equations, jump diffusions, and (stochastic) partial differential equations. Through extensive use of multiple dispatch, metaprogramming, plot recipes, foreign function interfaces (FFI), and call-overloading, DifferentialEquations.jl offers a unified user interface to solve and analyze various forms of differential equations while not sacrificing features or performance. Many modern features are integrated into the solvers, such as allowing arbitrary user-defined number systems for high-precision and arithmetic with physical units, built-in multithreading and parallelism, and symbolic calculation of Jacobians. Integrated into the package is an algorithm testing and benchmarking suite to both ensure accuracy and serve as an easy way for researchers to develop and distribute their own methods. Together, these features build a highly extendable suite which is feature-rich and highly performant.Funding statement: This work was partially supported by NIH grants P50GM76516 and R01GM107264 and NSF grants DMS1562176 and DMS1161621. This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-1321846, the National Academies of Science, Engineering, and Medicine via the Ford Foundation, and the National Institutes of Health Award T32 EB009418. Its contents are solely the responsibility of the authors and do not necessarily represent the official views of the NIH.
The authors' abstract, as published at the source. Journal of Open Research Software, 2017 · DOI ↗
Continue with a free account
Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.
Continue free on the webSign in with Google or Apple; no card needed. You come back to this paper.
On your phone:
Field: Computer Networks and Communications
Computer Networks and CommunicationsComputer Science