# Documentation and Tutorials

The SciML organization is an opinionated collection of tools for scientific machine learning and differential equation modeling. The organization provides well-maintained tools which compose together as a coherent ecosystem. The following are the relevant resources for users interested in the functionality.

## Differential Equations

- DifferentialEquations.jl documentation
- DiffEqTutorials
- diffeqpy: DifferentialEquations.jl from Python
- diffeqr: DifferentialEquations.jl from R

These resources cover:

- 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)
- Random differential equations (RODEs or RDEs)
- Differential algebraic equations (DAEs)
- Delay differential equations (DDEs)
- Mixed discrete and continuous equations (Hybrid Equations, Jump Diffusions)
- (Stochastic) partial differential equations ((S)PDEs) (with both finite difference and finite element methods)

## Partial Differential Equation Modeling

- DiffEqOperators.jl (Finite Difference Methods)
- NeuralNetDiffEq.jl (Physics-Informed Neural Networks)
- FEniCS.jl

## Scientific Machine Learning Model Discovery

- DiffEqFlux.jl documentation
- NeuralNetDiffEq.jl
- DataDrivenDiffEq.jl documentation
- ReservoirComputing.jl

## Surrogate Acceleration and Optimization

## Modeling Languages and Domain-Specific Languages

## Modeling Tools and Primatives

## Numerical Tools and Primatives

- ExponentialUtilities.jl: Fast and GPU matrix exponentials
- Quadrature.jl: Common interface for quadrature and numerical integration
- QuasiMonteCarlo.jl
- SparsityDetection.jl: Automated Jacobian and Hessian sparsity patterns
- PoissonRandom.jl: Fast Poisson random numbers
- AutoOffload.jl: Automatic GPU, TPU, FPGA, Xeon Phi, Multithreaded, Distributed, etc. offloading

# Developer Documentation

Please see the developer documentation for information on getting started with developing in the SciML organization. Please see Colprac for the community development practices.

# External Tutorials and Teaching Materials

- MIT 18.337J/6.338J: Parallel Computing and Scientific Machine Learning
- MIT 6.S083/18.S190: Computational thinking with Julia + application to the COVID-19 pandemic
- MIT 18.S096 Special Subject in Mathematics: Applications of Scientific Machine Learning
- Various implementations of the classical SIR model in Julia
- Programming for Mathematical Applications

# External Applications Libraries

There are many external libraries which connect and utilize SciML utilities under the hood. The following an incomplete list of software organizations providing domain modeling tools that are built upon SciML. If you would like your institutionâ€™s tools added to the list, please open a pull request.

- CliMA: Climate Modeling Alliance
- QuantumOptics
- New York Federal Reserve Bank
- Julia Robotics
- Pumas-AI: Pharmaceutical Modeling and Simulation
- Brazilian National Institute for Space Research (INPE)
- CMU+MIT+Citrine: Accelerated Computational Electrochemical Systems Discovery (ACED)
- Los Alamos National Lab: Model Analaysis & Decision Support (MADS)
- ModiaSim: Modia.jl
- Safe Blues: A Method for Estimation and Control in the Fight Against COVID-19