Overview of DifferentialEquations.jl capabilities
masterDifferentialEquations.jl is a high-performance suite for numerically solving a wide variety of differential equations in Julia, with interfaces available for Python and R. It provides efficient implementations of classic algorithms and cutting-edge research methods, often outperforming standard C/Fortran implementations.
Supported Equation Types:
- Discrete equations (function maps, Gillespie/Markov simulations)
- Ordinary differential equations (ODEs)
- Split and Partitioned ODEs (Symplectic integrators, IMEX Methods)
- Stochastic ODEs (SODEs/SDEs) and SDAEs
- Random differential equations (RODEs/RDEs)
- Differential algebraic equations (DAEs)
- Delay differential equations (DDEs, NDDEs, RDDEs, DDAEs)
- Stochastic delay differential equations (SDDEs, SNDDEs, SRDDEs, SDDAEs)
- Mixed discrete and continuous equations (Hybrid Equations, Jump Diffusions)
- (Stochastic) partial differential equations ((S)PDEs) via finite difference and finite element methods
Key Integrations:
- Acceleration: GPU acceleration via
CUDA.jlandDiffEqGPU.jl. - Sparsity & Linear Algebra: Automatic sparsity detection with
Symbolics.jl, Jacobian coloring withSparseDiffTools.jl, and custom linear solvers viaLinearSolve.jl. - Analysis: Forward/Adjoint Sensitivity Analysis, Parameter Estimation, Bayesian Analysis, and Neural Differential Equations via
DiffEqFlux.jl. - Parallelism: Automatic distributed, multithreaded, and GPU parallel ensemble simulations.