All Projects → SciML → Differentialequations.jl

SciML / Differentialequations.jl

Licence: other
Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Differentialequations.jl

diffeqr
Solving differential equations in R using DifferentialEquations.jl and the SciML Scientific Machine Learning ecosystem
Stars: ✭ 118 (-94.17%)
Mutual labels:  ode, dde, differential-equations, sde, dae, stochastic-differential-equations, delay-differential-equations, differential-algebraic-equations, scientific-machine-learning, sciml
SciMLBenchmarks.jl
Benchmarks for scientific machine learning (SciML) software and differential equation solvers
Stars: ✭ 195 (-90.36%)
Mutual labels:  ode, dde, partial-differential-equations, differential-equations, differentialequations, sde, pde, dae, scientific-machine-learning, sciml
DiffEqGPU.jl
GPU-acceleration routines for DifferentialEquations.jl and the broader SciML scientific machine learning ecosystem
Stars: ✭ 131 (-93.52%)
Mutual labels:  ode, dde, differential-equations, differentialequations, sde, dae, scientific-machine-learning, neural-differential-equations, sciml
MultiScaleArrays.jl
A framework for developing multi-scale arrays for use in scientific machine learning (SciML) simulations
Stars: ✭ 63 (-96.89%)
Mutual labels:  ode, dde, differential-equations, differentialequations, sde, dae, scientific-machine-learning, neural-differential-equations, sciml
DiffEqParamEstim.jl
Easy scientific machine learning (SciML) parameter estimation with pre-built loss functions
Stars: ✭ 36 (-98.22%)
Mutual labels:  ode, dde, differential-equations, differentialequations, sde, dae, stochastic-differential-equations, differential-algebraic-equations
DiffEqDevTools.jl
Benchmarking, testing, and development tools for differential equations and scientific machine learning (SciML)
Stars: ✭ 37 (-98.17%)
Mutual labels:  ode, dde, differential-equations, sde, dae, scientific-machine-learning, sciml
DiffEqCallbacks.jl
A library of useful callbacks for hybrid scientific machine learning (SciML) with augmented differential equation solvers
Stars: ✭ 43 (-97.87%)
Mutual labels:  ode, dde, differential-equations, sde, dae, scientific-machine-learning, sciml
sciml.ai
The SciML Scientific Machine Learning Software Organization Website
Stars: ✭ 38 (-98.12%)
Mutual labels:  ode, dde, differential-equations, sde, dae, scientific-machine-learning, sciml
DiffEqSensitivity.jl
A component of the DiffEq ecosystem for enabling sensitivity analysis for scientific machine learning (SciML). Optimize-then-discretize, discretize-then-optimize, and more for ODEs, SDEs, DDEs, DAEs, etc.
Stars: ✭ 186 (-90.81%)
Mutual labels:  ode, dde, differentialequations, sde, dae, scientific-machine-learning, sciml
Sundials.jl
Julia interface to Sundials, including a nonlinear solver (KINSOL), ODE's (CVODE and ARKODE), and DAE's (IDA) in a SciML scientific machine learning enabled manner
Stars: ✭ 167 (-91.74%)
Mutual labels:  ode, differential-equations, differentialequations, dae, differential-algebraic-equations, scientific-machine-learning, sciml
DiffEqUncertainty.jl
Fast uncertainty quantification for scientific machine learning (SciML) and differential equations
Stars: ✭ 61 (-96.98%)
Mutual labels:  ode, differential-equations, differentialequations, scientific-machine-learning, sciml
BoundaryValueDiffEq.jl
Boundary value problem (BVP) solvers for scientific machine learning (SciML)
Stars: ✭ 23 (-98.86%)
Mutual labels:  differential-equations, differentialequations, scientific-machine-learning, neural-differential-equations, sciml
DiffEqPhysics.jl
A library for building differential equations arising from physical problems for physics-informed and scientific machine learning (SciML)
Stars: ✭ 46 (-97.73%)
Mutual labels:  ode, differential-equations, differentialequations, scientific-machine-learning, sciml
DiffEqNoiseProcess.jl
A library of noise processes for stochastic systems like stochastic differential equations (SDEs) and other systems that are present in scientific machine learning (SciML)
Stars: ✭ 34 (-98.32%)
Mutual labels:  sde, stochastic-processes, scientific-machine-learning, sciml
GlobalSensitivity.jl
Robust, Fast, and Parallel Global Sensitivity Analysis (GSA) in Julia
Stars: ✭ 30 (-98.52%)
Mutual labels:  ode, differential-equations, scientific-machine-learning, sciml
CellMLToolkit.jl
CellMLToolkit.jl is a Julia library that connects CellML models to the Scientific Julia ecosystem.
Stars: ✭ 50 (-97.53%)
Mutual labels:  ode, differential-equations, scientific-machine-learning, sciml
Kinetic.jl
Universal modeling and simulation of fluid dynamics upon machine learning
Stars: ✭ 82 (-95.95%)
Mutual labels:  differential-equations, pde, scientific-machine-learning, sciml
SDETools
Matlab Toolbox for the Numerical Solution of Stochastic Differential Equations
Stars: ✭ 80 (-96.05%)
Mutual labels:  dynamical-systems, sde, stochastic-differential-equations, stochastic-processes
LatentDiffEq.jl
Latent Differential Equations models in Julia.
Stars: ✭ 34 (-98.32%)
Mutual labels:  dynamical-systems, differential-equations, scientific-machine-learning, sciml
rom-operator-inference-Python3
Operator Inference for data-driven, non-intrusive model reduction of dynamical systems.
Stars: ✭ 31 (-98.47%)
Mutual labels:  ode, dynamical-systems, pde

DifferentialEquations.jl

Join the chat at https://gitter.im/JuliaDiffEq/Lobby Build Status Stable Dev DOI

This is a suite for numerically solving differential equations written in Julia and available for use in Julia, Python, and R. The purpose of this package is to supply efficient Julia implementations of solvers for various differential equations. Equations within the realm of this package include:

  • Discrete equations (function maps, discrete stochastic (Gillespie/Markov) simulations)
  • Ordinary differential equations (ODEs)
  • Split and Partitioned ODEs (Symplectic integrators, IMEX Methods)
  • Stochastic ordinary differential equations (SODEs or SDEs)
  • Stochastic differential-algebraic equations (SDAEs)
  • Random differential equations (RODEs or RDEs)
  • Differential algebraic equations (DAEs)
  • Delay differential equations (DDEs)
  • Neutral, retarded, and algebraic delay differential equations (NDDEs, RDDEs, and DDAEs)
  • Stochastic delay differential equations (SDDEs)
  • Experimental support for stochastic neutral, retarded, and algebraic delay differential equations (SNDDEs, SRDDEs, and SDDAEs)
  • Mixed discrete and continuous equations (Hybrid Equations, Jump Diffusions)
  • (Stochastic) partial differential equations ((S)PDEs) (with both finite difference and finite element methods)

The well-optimized DifferentialEquations solvers benchmark as some of the fastest implementations of classic algorithms. It also includes algorithms from recent research which routinely outperform the "standard" C/Fortran methods, and algorithms optimized for high-precision and HPC applications. Simultaneously, it wraps the classic C/Fortran methods, making it easy to switch over to them whenever necessary. Solving differential equations with different methods from different languages and packages can be done by changing one line of code, allowing for easy benchmarking to ensure you are using the fastest method possible.

DifferentialEquations.jl integrates with the Julia package sphere with:

  • GPU acceleration through CUDAnative.jl and CuArrays.jl
  • Automated sparsity detection with SparsityDetection.jl
  • Automatic Jacobian coloring with SparseDiffTools.jl, allowing for fast solutions to problems with sparse or structured (Tridiagonal, Banded, BlockBanded, etc.) Jacobians
  • Allowing the specification of linear solvers for maximal efficiency
  • Progress meter integration with the Juno IDE for estimated time to solution
  • Automatic plotting of time series and phase plots
  • Built-in interpolations
  • Wraps for common C/Fortran methods, like Sundials and Hairer's radau
  • Arbitrary precision with BigFloats and Arbfloats
  • Arbitrary array types, allowing the definition of differential equations on matrices and distributed arrays
  • Unit-checked arithmetic with Unitful

Additionally, DifferentialEquations.jl comes with built-in analysis features, including:

This gives a powerful mixture of speed and productivity features to help you solve and analyze your differential equations faster.

For information on using the package, see the stable documentation. Use the in-development documentation for the version of the documentation which contains the unreleased features.

All of the algorithms are thoroughly tested to ensure accuracy via convergence tests. The algorithms are continuously tested to show correctness. IJulia tutorial notebooks can be found at DiffEqTutorials.jl. Benchmarks can be found at DiffEqBenchmarks.jl. If you find any equation where there seems to be an error, please open an issue.

If you have any questions, or just want to chat about solvers/using the package, please feel free to chat in the Gitter channel. For bug reports, feature requests, etc., please submit an issue. If you're interested in contributing, please see the Developer Documentation.

Supporting and Citing

The software in this ecosystem was developed as part of academic research. If you would like to help support it, please star the repository, as such metrics may help us secure funding in the future. If you use SciML software as part of your research, teaching, or other activities, we would be grateful if you could cite our work. Please see our citation page for guidelines.


Video Tutorial

Video Tutorial

Video Introduction

Video Introduction to DifferentialEquations.jl

Comparison with MATLAB, R, Julia, Python, C, Mathematica, Maple, and Fortran

Comparison Of Differential Equation Solver Software

See the corresponding blog post

Example Images

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].