Skip to main content

SciML

3.8. Scientific Machine Learning (Differential Equation and ML)

Zymrael/awesome-neural-ode: A collection of resources regarding the interplay between differential equations, deep learning, dynamical systems, control and numerical methods.

massastrello/awesome-implicit-neural-models

High-Dimensional Partial Differential Equations - Deep PDE

3.8.1. Universal Differential Equations. (Neural differential equations)

Julia:

SciML/DiffEqFlux.jl: Universal neural differential equations with O(1) backprop, GPUs, and stiff+non-stiff DE solvers, demonstrating scientific machine learning (SciML) and physics-informed machine learning methods

avik-pal/FastDEQ.jl: Deep Equilibrium Networks (but faster!!!)

UDE with Gaussion ProcessCrown421/GPDiffEq.jl

Python:

DiffEqML/torchdyn: A PyTorch based library for all things neural differential equations and implicit neural models.

rtqichen/torchdiffeq: Differentiable ODE solvers with full GPU support and O(1)-memory backpropagation.

patrick-kidger/diffrax at zzun.app

3.8.2. Physical Informed Neural Netwworks

Predictive Intelligence Lab

Julia:

SciML/NeuralPDE.jl: Physics-Informed Neural Networks (PINN) and Deep BSDE Solvers of Differential Equations for Scientific Machine Learning (SciML) accelerated simulation

Python:

lululxvi/deepxde: Deep learning library for solving differential equations and more

sciann/sciann: Deep learning for Engineers - Physics Informed Deep Learning

3.8.3. Neural Operator

Julia:

foldfelis/NeuralOperators.jl: learning the solution operator for partial differential equations in pure Julia.

CliMA/OperatorFlux.jl: Operator layers for Flux.jl

brekmeuris/DrMZ.jl: Deep renormalized Mori-Zwanzig (DrMZ) Julia package.

Implicit Layers

facebookresearch/theseus: A library for differentiable nonlinear optimization

3.9. Data Driven Methods (Equation Searching Methods)

Julia package including SINDy, Symbolic Regression, DMD

SciML/DataDrivenDiffEq.jl: Data driven modeling and automated discovery of dynamical systems for the SciML Scientific Machine Learning organization

nmheim/NeuralArithmetic.jl: Collection of layers that can perform arithmetic operations

3.9.1. Symbolic Regression

cavalab/srbench: A living benchmark framework for symbolic regression

Python:

nasa/bingo

trevorstephens/gplearn: Genetic Programming in Python, with a scikit-learn inspired API

MilesCranmer/PySR: Simple, fast, and parallelized symbolic regression in Python/Julia via regularized evolution and simulated annealing

Julia:

MilesCranmer/SymbolicRegression.jl: Distributed High-Performance symbolic regression in Julia

sisl/ExprOptimization.jl: Algorithms for optimization of Julia expressions

3.9.2. SINDy (Sparse Identification of Nonlinear Dynamics from Data)

dynamicslab/pysindy: A package for the sparse identification of nonlinear dynamical systems from data

dynamicslab/modified-SINDy: Example code for paper: Automatic Differentiation to Simultaneously Identify Nonlinear Dynamics and Extract Noise Probability Distributions from Data

3.9.3. DMD (Dynamic Mode Decomposition)

mathLab/PyDMD: Python Dynamic Mode Decomposition

foldfelis/NeuralOperators.jl: learning the solution operator for partial differential equations in pure Julia.