## zeus

zeus is a Python implementation of the Ensemble Slice Sampling method.

- Fast & Robust
*Bayesian Inference*, - Efficient
*Markov Chain Monte Carlo (MCMC)*, - Black-box inference, no hand-tuning,
- Excellent performance in terms of autocorrelation time and convergence rate,
- Scale to multiple CPUs without any extra effort.

## Example

For instance, if you wanted to draw samples from a 10-dimensional Gaussian, you would do something like:

```
import zeus
import numpy as np
def log_prob(x, ivar):
return - 0.5 * np.sum(ivar * x**2.0)
nsteps, nwalkers, ndim = 1000, 100, 10
ivar = 1.0 / np.random.rand(ndim)
start = np.random.randn(nwalkers,ndim)
sampler = zeus.EnsembleSampler(nwalkers, ndim, log_prob, args=[ivar])
sampler.run_mcmc(start, nsteps)
chain = sampler.get_chain(flat=True)
```

## Documentation

Read the docs at zeus-mcmc.readthedocs.io

## Installation

To install `zeus`

using `pip`

run:

```
pip install zeus-mcmc
```

To install `zeus`

in a [Ana]Conda environment use:

```
conda install -c conda-forge zeus-mcmc
```

## Attribution

Please cite the following papers if you found this code useful in your research:

```
@article{zeus,
title={zeus: A Python Implementation of the Ensemble Slice Sampling method},
author={Minas Karamanis and Florian Beutler},
year={2021},
note={in prep}
}
@article{ess,
title={Ensemble Slice Sampling},
author={Minas Karamanis and Florian Beutler},
year={2020},
eprint={2002.06212},
archivePrefix={arXiv},
primaryClass={stat.ML}
}
```