**Turing** is a *universal* probabilistic programming language with an intuitive modelling interface, composable probabilistic inference and computational scalability.

Turing provides **Hamiltonian Monte Carlo** (HMC) and **particle MCMC** sampling algorithms for complex posterior distributions (e.g. those involving discrete variables and stochastic control flows). Current features include:

**Universal**probabilistic programming with an intuitive modelling interface;**Hamiltonian Monte Carlo**(HMC) sampling for differentiable posterior distributions;**Particle MCMC**sampling for complex posterior distributions involving discrete variables and stochastic control flow; and**Gibbs**sampling that combines particle MCMC, HMC and many other MCMC algorithms.

# Resources

Please visit the Turing.jl documentation for documentation, tutorials (e.g. get started) and other topics (e.g. advanced usages). Below are some example models for Turing.

- Introduction
- Gaussian Mixture Model
- Bayesian Hidden Markov Model
- Factorical Hidden Markov Model
- Topic Models: LDA and MoC

# Citing Turing

To cite Turing, please refer to the following paper. A sample BiBTeX entry entry is given below:

```
@InProceedings{turing17,
title = {{T}uring: a language for flexible probabilistic inference},
author = {Ge, Hong and Xu, Kai and Ghahramani, Zoubin},
booktitle = {Proceedings of the 21th International Conference on Artificial Intelligence and Statistics},
year = {2018},
series = {Proceedings of Machine Learning Research},
publisher = {PMLR},
}
```