DifferentialEquations.jl Documentation
repository·master·Indexed 25 days ago
https://github.com/sciml/differentialequations.jlA high-performance suite for solving various types of differential equations in Julia, including ODEs, SDEs, DDEs, PDEs, and DAEs. Part of the SciML ecosystem, it supports GPU acceleration, automatic differentiation, and scientific machine learning, with availability in Python and R.
What's inside DifferentialEquations.jl
- DifferentialEquations.jl is a high-performance suite for numerically solving a wide variety of differential equations in Julia, with availability in Python and R. It provides efficient implementations of classic algorithms and recent research-driven methods, often outperforming standard C/Fortran implementations. It is designed for high-precision, HPC applications, and integrates deeply with the Julia ecosystem for GPU acceleration, automatic differentiation, and scientific machine learning.
Access Documentation and Tutorials
masterDepending on your needs, you can access different versions of the documentation and learning materials:
- Stable Documentation: https://docs.sciml.ai/DiffEqDocs/stable/
- In-Development Documentation (unreleased features): https://docs.sciml.ai/DiffEqDocs/dev/
- IJulia Tutorial Notebooks: Available in the DiffEqTutorials.jl repository.
- Benchmarks: Available in the DiffEqBenchmarks.jl repository.
Migrate from DifferentialEquations.jl v7 to v8
masterVersion 8 of DifferentialEquations.jl introduced many breaking changes. If you are upgrading from an older version, you must follow the migration guide to update your code to be compatible with the new API and structure.
Detailed migration instructions can be found in the OrdinaryDiffEq.jl NEWS.md.
Supported Differential Equation Types
masterThe package supports a comprehensive range of mathematical models, including:
- Discrete equations: Function maps, discrete stochastic (Gillespie/Markov) simulations.
- Ordinary Differential Equations (ODEs) and Split/Partitioned ODEs (Symplectic integrators, IMEX Methods).
- Stochastic equations: SDEs, SDAEs, RDEs, and SDDEs.
- Delay Differential Equations (DDEs): Including Neutral (NDDEs), Retarded (RDDEs), and Algebraic Delay (DDAEs).
- Differential Algebraic Equations (DAEs).
- Hybrid Equations: Mixed discrete and continuous equations (e.g., Jump Diffusions).
- Partial Differential Equations ((S)PDEs): Supported via finite difference and finite element methods.
DifferentialEquations.jl Ecosystem Integrations
masterDifferentialEquations.jl integrates with several specialized packages to extend its functionality:
- GPU Acceleration: via
CUDA.jlandDiffEqGPU.jl. - Sparsity & Jacobians: Automated sparsity detection with
Symbolics.jland automatic Jacobian coloring withSparseDiffTools.jl. - Linear Solvers: Custom linear solver specification via
LinearSolve.jl. - Scientific ML & Sensitivity: Forward/Adjoint Sensitivity Analysis via
SciMLSensitivity.jl, and Neural Differential Equations viaDiffEqFlux.jl. - Parallelism: Automatic distributed, multithreaded, and GPU parallel ensemble simulations.
- Other Features: Unit-checked arithmetic with
Unitful.jland arbitrary precision withBigFloatsandArbfloats.
- GPU Acceleration: via