DifferentialEquations
Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
Science Score: 51.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
2 of 33 committers (6.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.1%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
Basic Info
- Host: GitHub
- Owner: SciML
- License: other
- Language: Julia
- Default Branch: master
- Homepage: https://docs.sciml.ai/DiffEqDocs/stable/
- Size: 169 MB
Statistics
- Stars: 2,994
- Watchers: 55
- Forks: 241
- Open Issues: 169
- Releases: 75
Topics
Metadata Files
README.md
DifferentialEquations.jl
This is a suite for numerically solving differential equations written in Julia and available for use in Julia, Python, and R. The purpose of this package is to supply efficient Julia implementations of solvers for various differential equations. Equations within the realm of this package include:
- Discrete equations (function maps, discrete stochastic (Gillespie/Markov) simulations)
- Ordinary differential equations (ODEs)
- Split and Partitioned ODEs (Symplectic integrators, IMEX Methods)
- Stochastic ordinary differential equations (SODEs or SDEs)
- Stochastic differential-algebraic equations (SDAEs)
- Random differential equations (RODEs or RDEs)
- Differential algebraic equations (DAEs)
- Delay differential equations (DDEs)
- Neutral, retarded, and algebraic delay differential equations (NDDEs, RDDEs, and DDAEs)
- Stochastic delay differential equations (SDDEs)
- Experimental support for stochastic neutral, retarded, and algebraic delay differential equations (SNDDEs, SRDDEs, and SDDAEs)
- Mixed discrete and continuous equations (Hybrid Equations, Jump Diffusions)
- (Stochastic) partial differential equations ((S)PDEs) (with both finite difference and finite element methods)
The well-optimized DifferentialEquations solvers benchmark as some of the fastest implementations of classic algorithms. It also includes algorithms from recent research which routinely outperform the "standard" C/Fortran methods, and algorithms optimized for high-precision and HPC applications. Simultaneously, it wraps the classic C/Fortran methods, making it easy to switch over to them whenever necessary. Solving differential equations with different methods from different languages and packages can be done by changing one line of code, allowing for easy benchmarking to ensure you are using the fastest method possible.
DifferentialEquations.jl integrates with the Julia package sphere with:
- GPU acceleration through CUDA.jl and DiffEqGPU.jl
- Automated sparsity detection with Symbolics.jl
- Automatic Jacobian coloring with SparseDiffTools.jl, allowing for fast solutions to problems with sparse or structured (Tridiagonal, Banded, BlockBanded, etc.) Jacobians
- Allowing the specification of linear solvers for maximal efficiency with LinearSolve.jl
- Progress meter integration with the Visual Studio Code IDE for estimated time to solution
- Automatic plotting of time series and phase plots
- Built-in interpolations
- Wraps for common C/Fortran methods like Sundials and Hairer's radau
- Arbitrary precision with BigFloats and Arbfloats
- Arbitrary array types, allowing the definition of differential equations on matrices and distributed arrays
- Unit checked arithmetic with Unitful
Additionally, DifferentialEquations.jl comes with built-in analysis features, including:
- Forward and Adjoint Sensitivity Analysis (Automatic Differentiation) for fast gradient computations
- Parameter Estimation and Bayesian Analysis
- Neural differential equations with DiffEqFlux.jl for efficient scientific machine learning (scientific ML) and scientific AI.
- Automatic distributed, multithreaded, and GPU Parallel Ensemble Simulations
- Global Sensitivity Analysis
- Uncertainty Quantification
This gives a powerful mixture of speed and productivity features to help you solve and analyze your differential equations faster.
For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation which contains the unreleased features.
All of the algorithms are thoroughly tested to ensure accuracy via convergence tests. The algorithms are continuously tested to show correctness. IJulia tutorial notebooks can be found at DiffEqTutorials.jl. Benchmarks can be found at DiffEqBenchmarks.jl. If you find any equation where there seems to be an error, please open an issue.
If you have any questions, or just want to chat about solvers/using the package, please feel free to chat in the Gitter channel. For bug reports, feature requests, etc., please submit an issue. If you're interested in contributing, please see the Developer Documentation.
Supporting and Citing
The software in this ecosystem was developed as part of academic research. If you would like to help support it, please star the repository, as such metrics may help us secure funding in the future. If you use SciML software as part of your research, teaching, or other activities, we would be grateful if you could cite our work. Please see our citation page for guidelines.
Video Tutorial
Video Introduction
Comparison with MATLAB, R, Julia, Python, C, Mathematica, Maple, and Fortran
See the corresponding blog post
Example Images

Owner
- Name: SciML Open Source Scientific Machine Learning
- Login: SciML
- Kind: organization
- Email: contact@chrisrackauckas.com
- Website: https://sciml.ai
- Twitter: SciML_Org
- Repositories: 170
- Profile: https://github.com/SciML
Open source software for scientific machine learning
Citation (CITATION.bib)
@article{DifferentialEquations.jl-2017,
author = {Rackauckas, Christopher and Nie, Qing},
doi = {10.5334/jors.151},
journal = {The Journal of Open Research Software},
keywords = {Applied Mathematics},
note = {Exported from https://app.dimensions.ai on 2019/05/05},
number = {1},
pages = {},
title = {DifferentialEquations.jl – A Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia},
url = {https://app.dimensions.ai/details/publication/pub.1085583166 and http://openresearchsoftware.metajnl.com/articles/10.5334/jors.151/galley/245/download/},
volume = {5},
year = {2017}
}
GitHub Events
Total
- Create event: 11
- Release event: 3
- Issues event: 50
- Watch event: 149
- Delete event: 5
- Issue comment event: 179
- Push event: 12
- Pull request event: 12
- Fork event: 19
Last Year
- Create event: 11
- Release event: 3
- Issues event: 50
- Watch event: 149
- Delete event: 5
- Issue comment event: 179
- Push event: 12
- Pull request event: 12
- Fork event: 19
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Christopher Rackauckas | Me@C****m | 1,140 |
| CompatHelper Julia | c****y@j****g | 9 |
| dependabot[bot] | 4****] | 7 |
| Anshul Singhvi | a****7@s****u | 6 |
| Anant Thazhemadam | a****m@g****m | 6 |
| github-actions[bot] | 4****] | 5 |
| Yingbo Ma | m****5@g****m | 5 |
| Oscar Smith | o****h@g****m | 3 |
| Hossein Pourbozorg | p****g@g****m | 3 |
| Chris Rackauckas | c****c@p****n | 2 |
| Chris de Graaf | me@c****v | 2 |
| David Widmann | d****n | 2 |
| Lilith Orion Hafner | 6****r | 2 |
| Michael Hatherly | m****y@g****m | 2 |
| ScottPJones | s****s@a****u | 2 |
| Pepijn de Vos | p****s@j****m | 1 |
| Arno Strouwen | a****n@t****e | 1 |
| Colin Caine | c****e@g****m | 1 |
| Elliot Saba | s****t@g****m | 1 |
| Hendrik Ranocha | m****l@r****e | 1 |
| Julia TagBot | 5****t | 1 |
| Kvaz1r | a****m@y****u | 1 |
| Max G | j****r | 1 |
| Qingyu Qu | 5****Y | 1 |
| Sam Isaacson | i****s | 1 |
| Sheehan Olver | s****r@m****m | 1 |
| The Gitter Badger | b****r@g****m | 1 |
| Thomas Vetter | 8****t | 1 |
| c123w | c****w | 1 |
| dextorious | d****s@g****m | 1 |
| and 3 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 194
- Total pull requests: 51
- Average time to close issues: 6 months
- Average time to close pull requests: 12 days
- Total issue authors: 159
- Total pull request authors: 13
- Average comments per issue: 4.89
- Average comments per pull request: 0.88
- Merged pull requests: 39
- Bot issues: 0
- Bot pull requests: 21
Past Year
- Issues: 39
- Pull requests: 12
- Average time to close issues: 10 days
- Average time to close pull requests: about 8 hours
- Issue authors: 33
- Pull request authors: 5
- Average comments per issue: 3.41
- Average comments per pull request: 0.33
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 5
Top Authors
Issue Authors
- ChrisRackauckas (13)
- MartinOtter (4)
- dtxl (3)
- prbzrg (3)
- liushang0322 (2)
- evan-wehi (2)
- ytdHuang (2)
- jonaswickman (2)
- LilithHafner (2)
- meson800 (2)
- TrumeAAA (2)
- kar1504 (2)
- fgittins (2)
- yuyuexi (2)
- MasonProtter (2)
Pull Request Authors
- github-actions[bot] (17)
- ChrisRackauckas (14)
- dependabot[bot] (10)
- thazhemadam (7)
- devmotion (3)
- thomvet (2)
- oscardssmith (2)
- rikhuijzer (2)
- isaacsas (1)
- prbzrg (1)
- ranocha (1)
- ArnoStrouwen (1)
- ErikQQY (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- julia 2,785 total
-
Total dependent packages: 99
(may contain duplicates) -
Total dependent repositories: 28
(may contain duplicates) - Total versions: 239
juliahub.com: DifferentialEquations
Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
- Homepage: https://docs.sciml.ai/DiffEqDocs/stable/
- Documentation: https://docs.juliahub.com/General/DifferentialEquations/stable/
- License: MIT
-
Latest release: 7.16.1
published 11 months ago
Rankings
proxy.golang.org: github.com/sciml/differentialequations.jl
- Documentation: https://pkg.go.dev/github.com/sciml/differentialequations.jl#section-documentation
- License: other
-
Latest release: v7.16.1+incompatible
published 11 months ago
Rankings
proxy.golang.org: github.com/SciML/DifferentialEquations.jl
- Documentation: https://pkg.go.dev/github.com/SciML/DifferentialEquations.jl#section-documentation
- License: other
-
Latest release: v7.16.1+incompatible
published 11 months ago
