Stan is a C++ package providing
- full Bayesian inference using the No-U-Turn sampler (NUTS), a variant of Hamiltonian Monte Carlo (HMC),
- approximate Bayesian inference using automatic differentiation variational inference (ADVI), and
- penalized maximum likelihood estimation (MLE) using L-BFGS optimization.
It is built on top of the Stan Math library, which provides
- a full first- and higher-order automatic differentiation library based on C++ template overloads, and
- a supporting fully-templated matrix, linear algebra, and probability special function library.
There are interfaces available in R, Python, MATLAB, Julia, Stata, Mathematica, and for the command line.
Stan's home page, with links to everything you'll need to use Stan is:
There are separate repositories in the stan-dev GitHub organization for the interfaces, higher-level libraries and lower-level libraries.
Stan's source-code repository is hosted here on GitHub.
The Stan math library, core Stan code, and CmdStan are licensed under new BSD. RStan and PyStan are licensed under GPLv3, with other interfaces having other open-source licenses.