SciML: Open Source Software for Scientific Machine Learning

Unified Ecosystem

Open source software created to unify the packages for scientific ML.

Modular Design

Support software for differential equation solvers, inverse problems, and automated model discovery.

Performant

Using Julia, we deliver state of the art performance!

Responsive image

Differential Equation Solving

The library DifferentialEquations.jl is a library for solving ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and hybrid differential equations which include multi-scale models and mixtures with agent-based simulations.

Responsive image

Physics-Informed Model Discovery

SciML contains a litany of modules for automating the process of model discovery and fitting. Tools like DiffEqParamEstim.jl and DiffEqBayes.jl provide classical maximum likelihood and Bayesian estimation for differential equation based models, while DiffEqFlux.jl enables the training of embedded neural networks inside of differential equations (neural differential equations or universal differential equations) for discovering unknown dynamical equations.

Responsive image

Polyglot Userbase

While the majority of the tooling for SciML is built using the Julia programming language, SciML is committed to ensure that these methodologies can be used throughout the greater scientific community. Tools like diffeqpy and diffeqr bridge the DifferentialEquations.jl solvers to Python and R respectively, and we hope to see many more developments along these lines in the near future.

Responsive image

Compiler-Assisted Model Analysis and Sparsity Acceleration

Scientific models generally have structures like locality which leads to sparsity in the program structures that can be exploited for major performance acceleration. The SciML builds a set of interconnected tools for generating numerical solver code directly on the models that are being simulated. SparsityDetection.jl can automatically detect the sparsity patterns of Jacobians and Hessians from arbitrary source code, while ModelingToolkit.jl can rewrite differential equation models to re-arrange equations for better stability and automatically parallelize code.

Responsive image

ML-Assisted Tooling for Model Acceleration

SciML supports the development of the latest ML-accelerated toolsets for scientific machine learning. Methods like Physics-Informed Neural Networks (PINNs) are productionized in the NeuralPDE.jl library, while the Deep BSDE, the Deep Splitting and the MLP methods for solving 1000 dimensional partial differential equations are availble in the HighDimPDE.jl library. Surrogate-based acceleration methods are provided by Surrogates.jl.

Responsive image

Differentiable Scientific Data Structures and Simulators

The SciML ecosystem contains pre-built scientific simulation tools along with data structures for accelerating the development of models. Tools like LabelledArrays.jl and MultiScaleArrays.jl make it easy to build large-scale scientific models, while other tools like NBodySimulator.jl provide full-scale simulation simulators.

Responsive image

Tools for Accelerated Algorithm Development and Research

SciML is an organization dedicated to helping state-of-the-art research in both numerical simulation methods and methodologies in scientific machine learning. Many tools throughout the organization automate the process of benchmarking and testing new methodologies to ensure they are safe and battle tested, both to accelerate the translation of the methods to publications and to users. We invite the larger research community to make use of our tooling like DiffEqDevTools.jl and our large suite of wrapped algorithms for quickly test and deploying new algorithms.

Watch SciMLCon 2022 Talks:

Our Sponsors