SciML/DifferentialEquations.jl

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.

What it solves

It provides a comprehensive suite of high-performance numerical solvers for a vast array of differential equations, enabling researchers and engineers to solve complex mathematical models efficiently across different programming languages (Julia, Python, and R).

How it works

The package implements a wide variety of algorithms, ranging from classic C/Fortran methods to modern research-driven solvers optimized for high-precision and HPC applications. It integrates with the Julia ecosystem to provide GPU acceleration, automated sparsity detection, and arbitrary precision arithmetic. It also allows users to switch between different solvers—including those from other languages—by changing a single line of code for easy benchmarking.

Who it’s for

Scientists, mathematicians, and engineers who need to solve differential equations for research, teaching, or industrial applications, as well as those working in scientific machine learning (SciML).

Highlights

  • Extensive Equation Support: Solves ODEs, SDEs, DAEs, DDEs, PDEs, and hybrid equations.
  • Scientific AI Integration: Supports neural differential equations via DiffEqFlux.jl for scientific machine learning.
  • High Performance: Benchmarks as some of the fastest implementations available, with support for GPU acceleration and multithreaded simulations.
  • Advanced Analysis: Includes built-in tools for forward and adjoint sensitivity analysis, parameter estimation, Bayesian analysis, and uncertainty quantification.

Related

  • Project
  • Project
  • Project
  • Project
  • Project