# sciml/differentialequations.jl

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sciml-differentialequations-jl).**

3,121 stars · 249 forks · Julia · NOASSERTION

## Links

- GitHub: https://github.com/SciML/DifferentialEquations.jl
- Homepage: https://docs.sciml.ai/DiffEqDocs/stable/
- awesome-repositories: https://awesome-repositories.com/repository/sciml-differentialequations-jl.md

## Topics

`dae` `dde` `delay-differential-equations` `differential-algebraic-equations` `differential-equations` `differentialequations` `dynamical-systems` `julia` `neural-differential-equations` `numerical` `ode` `python` `r` `scientific` `scientific-machine-learning` `sciml` `sde` `spde` `stochastic-differential-equations` `stochastic-processes`

## Description

DifferentialEquations.jl is a comprehensive numerical library designed for solving ordinary, stochastic, delay, and algebraic differential equations. It functions as a high-performance solver suite that integrates scientific machine learning, probabilistic programming, and automated differentiation into a unified framework. By leveraging multiple dispatch and symbolic-numeric integration, the library provides a flexible environment for complex mathematical modeling and simulation.

The project distinguishes itself through its ability to bridge traditional numerical analysis with modern machine learning techniques. It supports universal differential equation training, allowing users to embed neural networks directly into scientific simulators to learn unknown dynamics while maintaining physical constraints. Furthermore, the library offers advanced sensitivity analysis and parameter estimation tools, including adjoint methods and Bayesian inference, which enable efficient model calibration and automated discovery of governing equations from data.

The platform provides extensive capabilities for high-performance computing, including hardware-agnostic parallelism that dispatches simulations across CPUs, GPUs, and distributed clusters. It incorporates rigorous uncertainty quantification through interval arithmetic and Monte Carlo propagation, ensuring reliable error estimation in numerical experiments. Additionally, the system features sophisticated optimization routines, such as graph-based sparsity detection and matrix-free product computation, to accelerate performance in large-scale systems.

## Tags

### Scientific & Mathematical Computing

- [Differential Equation Solvers](https://awesome-repositories.com/f/scientific-mathematical-computing/differential-equation-solvers.md) — Provides a comprehensive suite of high-performance numerical solvers for ordinary, stochastic, delay, and algebraic differential equations.
- [Differentiable ODE Integrators](https://awesome-repositories.com/f/scientific-mathematical-computing/differential-equation-solvers/differentiable-ode-integrators.md) — Integrates with differentiation libraries to compute gradients of differential equation solvers using forward and adjoint sensitivity analysis. ([source](https://docs.sciml.ai/SciMLSensitivity/stable/))
- [Ensemble Simulation Engines](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/parallel-computing-simulators/ensemble-simulation-engines.md) — Runs large-scale parallel simulations across distributed or GPU-accelerated hardware to analyze model behavior across diverse parameter sets.
- [Scientific Computing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing.md) — Implements advanced parameter optimization techniques like adjoint methods for scientific models on CPUs and GPUs. ([source](https://docs.sciml.ai/SciMLSensitivity/stable/))
- [Scientific Machine Learning](https://awesome-repositories.com/f/scientific-mathematical-computing/scientific-machine-learning.md) — Integrates neural networks with differential equations to learn physical dynamics and perform automated model discovery.
- [Sensitivity Derivative Computations](https://awesome-repositories.com/f/scientific-mathematical-computing/sensitivity-derivative-computations.md) — Scientific computing library calculating fast derivatives of differential equation solutions to analyze model sensitivities, calibrate parameters to data, and perform automated model discovery. ([source](https://docs.sciml.ai/SciMLSensitivity/stable/))
- [Symbolic-Numeric Integration Engines](https://awesome-repositories.com/f/scientific-mathematical-computing/symbolic-numeric-integration-engines.md) — Combines symbolic expression manipulation with numerical solvers to automatically generate optimized code and compute exact derivatives.
- [Batched Sensitivity Computations](https://awesome-repositories.com/f/scientific-mathematical-computing/batched-sensitivity-computations.md) — Scientific computing library processing multiple parameter sets in parallel by passing matrix-based inputs to the solver to improve performance during large-scale sensitivity analysis. ([source](https://docs.sciml.ai/GlobalSensitivity/stable/))
- [Bayesian Probabilistic Programming Frameworks](https://awesome-repositories.com/f/scientific-mathematical-computing/bayesian-probabilistic-programming-frameworks.md) — Provides a collection of methods for quantifying uncertainty through Bayesian inference and Monte Carlo propagation.
- [GPU-Accelerated Solvers](https://awesome-repositories.com/f/scientific-mathematical-computing/differential-equation-solvers/gpu-accelerated-solvers.md) — Executes numerical solvers in parallel across graphics hardware to accelerate large-scale simulations. ([source](https://docs.sciml.ai/DiffEqGPU/dev/))
- [Symbolic Equation Discoverers](https://awesome-repositories.com/f/scientific-mathematical-computing/differential-equation-solvers/symbolic-equation-discoverers.md) — Identifies the symbolic structure or functional form of differential equations that best describe input data. ([source](https://docs.sciml.ai/Overview/stable/highlevels/inverse_problems/))
- [Global Sensitivity Analyses](https://awesome-repositories.com/f/scientific-mathematical-computing/global-sensitivity-analyses.md) — Scientific computing library quantifying how uncertainty in model inputs influences output variability by applying statistical methods to parameter ranges or pre-defined design matrices. ([source](https://docs.sciml.ai/GlobalSensitivity/stable/))
- [Parallel Execution Backends](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/parallel-computing-simulators/parallel-execution-backends.md) — Enables selection of serial, multi-threaded, distributed, or GPU-accelerated backends to optimize performance. ([source](https://docs.sciml.ai/DiffEqDocs/stable/features/ensemble/))
- [Matrix-Vector Products](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/matrix-operations/matrix-vector-products.md) — Calculates Jacobian-vector and Hessian-vector products without explicit matrix construction to enable efficient iterative solving. ([source](https://docs.sciml.ai/SparseDiffTools/stable/))
- [Interval-Based Numerical Solvers](https://awesome-repositories.com/f/scientific-mathematical-computing/interval-based-numerical-solvers.md) — Performs numerical integration using floating-point intervals to provide mathematically guaranteed bounds on solution errors.
- [Interval Representations](https://awesome-repositories.com/f/scientific-mathematical-computing/interval-representations.md) — Executes rigorous computations using finite-precision floating-point intervals to guarantee solution bounds. ([source](https://docs.sciml.ai/Overview/stable/highlevels/uncertainty_quantification/))
- [Jacobian Matrix Computations](https://awesome-repositories.com/f/scientific-mathematical-computing/jacobian-matrix-computations.md) — Scientific computing library reducing the number of function evaluations needed to compute sparse matrices by using graph coloring to group independent columns or rows together. ([source](https://docs.sciml.ai/SparseDiffTools/stable/))
- [Linear System Solvers](https://awesome-repositories.com/f/scientific-mathematical-computing/linear-system-solvers.md) — Provides high-performance solvers for linear systems ranging from small matrices to large-scale sparse systems. ([source](https://docs.sciml.ai/LinearSolve/stable/))
- [Monte Carlo Sampling](https://awesome-repositories.com/f/scientific-mathematical-computing/monte-carlo-sampling.md) — Quantifies uncertainty by sampling input distributions and propagating parameter sets through solvers. ([source](https://docs.sciml.ai/Overview/stable/highlevels/uncertainty_quantification/))
- [Performance Accelerators](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/optimization-solvers/nonlinear-optimization-solvers/performance-accelerators.md) — Accelerates complex computations through automated sparsity detection, matrix coloring, and hardware offloading. ([source](https://github.com/sciml/differentialequations.jl#readme))
- [Symbolic Code Generators](https://awesome-repositories.com/f/scientific-mathematical-computing/optimization-problem-solvers/symbolic-code-generators.md) — Automatically produces high-performance code for solving linear systems based on symbolic problem definitions. ([source](https://docs.sciml.ai/LinearSolve/stable/))
- [Polynomial Chaos Expansion Solvers](https://awesome-repositories.com/f/scientific-mathematical-computing/polynomial-chaos-expansion-solvers.md) — Provides automated computation of output probability distributions using polynomial chaos expansion techniques. ([source](https://docs.sciml.ai/Overview/stable/highlevels/uncertainty_quantification/))
- [Simulation Metrics Analysis](https://awesome-repositories.com/f/scientific-mathematical-computing/simulation-metrics-analysis.md) — Computes mean, variance, and covariance bounds across ensemble trajectories to quantify uncertainty in numerical experiments. ([source](https://docs.sciml.ai/DiffEqDocs/stable/features/ensemble/))
- [Coloring Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/sparse-matrix-storage/block-sparse-matrix-arithmetic/sparse-matrix-manipulations/coloring-algorithms.md) — Scientific computing library assigning colors to sparse matrix columns or rows based on sparsity patterns to minimize the total number of partial derivatives required. ([source](https://docs.sciml.ai/SparseDiffTools/stable/))
- [Symbolic Differentiation Tools](https://awesome-repositories.com/f/scientific-mathematical-computing/symbolic-differentiation-tools.md) — Integrates symbolic-numeric techniques to compute precise gradients and derivatives for complex mathematical models.

### Artificial Intelligence & ML

- [Automatic Differentiation Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/automatic-differentiation-frameworks.md) — Provides a comprehensive engine for computing exact gradients and Jacobians using forward and adjoint sensitivity analysis.
- [Adjoint Gradient Calculation](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-computation/adjoint-gradient-calculation.md) — Calculates gradients of simulation outputs by solving auxiliary equations backward in time for efficient optimization.
- [Ensemble Simulation Runners](https://awesome-repositories.com/f/artificial-intelligence-ml/ensemble-methods/ensemble-execution-acceleration/ensemble-simulation-runners.md) — Enables the execution of multiple variations of differential equation problems in parallel by modifying initial conditions or parameters. ([source](https://docs.sciml.ai/DiffEqDocs/stable/))
- [Parameter Estimation Methods](https://awesome-repositories.com/f/artificial-intelligence-ml/model-parameter-management/parameter-estimation-methods.md) — Implements advanced parameter estimation and calibration tools, including Bayesian inference and sensitivity analysis for scientific models.

### Part of an Awesome List

- [Universal Differential Equation Trainers](https://awesome-repositories.com/f/awesome-lists/ai/neural-differential-equations/universal-differential-equation-trainers.md) — Embeds neural networks within scientific simulators to learn unknown model components while maintaining physical constraints. ([source](https://docs.sciml.ai/SciMLSensitivity/stable/))
- [Simulation Result Analyzers](https://awesome-repositories.com/f/awesome-lists/data/data-analysis-and-visualization/simulation-result-analyzers.md) — Provides standardized interfaces for interpolating, differentiating, and visualizing numerical simulation results. ([source](https://docs.sciml.ai/DiffEqDocs/dev/))

### Software Engineering & Architecture

- [Composable Solver Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/composable-solver-interfaces.md) — Provides a unified framework where disparate numerical methods and machine learning components interoperate through standardized functional interfaces.
- [Multiple Dispatch Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/multiple-dispatch-abstractions.md) — Uses language-level type specialization to select optimal numerical algorithms and hardware backends without sacrificing code readability.

### Data & Databases

- [Graph Coloring Algorithms](https://awesome-repositories.com/f/data-databases/graph-computing-systems/graph-theory/graph-libraries/graph-coloring-algorithms.md) — Utilizes graph coloring algorithms to identify independent components and minimize function evaluations during Jacobian computations.

### Programming Languages & Runtimes

- [Hardware-Agnostic Parallelism](https://awesome-repositories.com/f/programming-languages-runtimes/hardware-agnostic-parallelism.md) — Dispatches simulation trajectories across CPUs, GPUs, and distributed clusters by abstracting execution logic from numerical integration routines.
