DifferentialEquations.jl Documentation

repository·master·Indexed 25 days ago

https://github.com/sciml/differentialequations.jl

A 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.

Tokens
728
Snippets
0
Records
5
Agent score
35%

What's inside DifferentialEquations.jl

  1. Overview of DifferentialEquations.jl

    master
    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.
  2. Supported Differential Equation Types

    master

    The 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.
  3. DifferentialEquations.jl Ecosystem Integrations

    master

    DifferentialEquations.jl integrates with several specialized packages to extend its functionality:

    • GPU Acceleration: via CUDA.jl and DiffEqGPU.jl.
    • Sparsity & Jacobians: Automated sparsity detection with Symbolics.jl and automatic Jacobian coloring with SparseDiffTools.jl.
    • Linear Solvers: Custom linear solver specification via LinearSolve.jl.
    • Scientific ML & Sensitivity: Forward/Adjoint Sensitivity Analysis via SciMLSensitivity.jl, and Neural Differential Equations via DiffEqFlux.jl.
    • Parallelism: Automatic distributed, multithreaded, and GPU parallel ensemble simulations.
    • Other Features: Unit-checked arithmetic with Unitful.jl and arbitrary precision with BigFloats and Arbfloats.