Skip to main content

Eryn: an omni-MCMC sampling package.

Project description

Eryn: a multi-purpose MCMC sampler

Eryn is an advanced MCMC sampler. It has the capability to run with parallel tempering, multiple model types, and unknown counts within each model type using Reversible Jump MCMC techniques. Eryn is heavily based on emcee. The emcee base structure with the Ensemble Sampler, State objects, proposal setup, and storage backends is carried over into Eryn with small changes to account for the increased complexity. In a simple sense, Eryn is an advanced (and slightly more complicated) version of emcee.

If you use Eryn in your publication, please cite the paper arXiv:2303.02164, its zenodo, and emcee. The documentation for Eryn can be found here: mikekatz04.github.io/Eryn. You will find the code on Github: github.com/mikekatz04/Eryn.

Getting Started

Below is a quick set of instructions to get you started with eryn.

pip install eryn

To import eryn:

from eryn.ensemble import EnsembleSampler

See examples notebook for more info. You can also navigate the Documentation pages.

Prerequisites

Eryn has only a few python-based dependencies: tqdm, corner for plotting, numpy, matplotlib.

Installing

If you are not planning to develop the code, you can just install the latest version with the pip installation technique given above. Otherwise, you can just clone the repo and run pip install . inside of the Eryn directory. To run tests on Eryn during development, you can run the following in the main Eryn directory:

python -m unittest discover

Running the Tests

In the main directory of the package run in the terminal:

python -m unittest discover

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Citation

When using this package, please cite at minimum the following sources:

@article{Karnesis:2023ras,
    author = "Karnesis, Nikolaos and Katz, Michael L. and Korsakova, Natalia and Gair, Jonathan R. and Stergioulas, Nikolaos",
    title = "{Eryn : A multi-purpose sampler for Bayesian inference}",
    eprint = "2303.02164",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.IM",
    month = "3",
    year = "2023"
}

@software{michael_katz_2023_7705496,
  author       = {Michael Katz and
                  Nikolaos Karnesis and
                  Natalia Korsakova},
  title        = {mikekatz04/Eryn: first full release},
  month        = mar,
  year         = 2023,
  publisher    = {Zenodo},
  version      = {v1.0.0},
  doi          = {10.5281/zenodo.7705496},
  url          = {https://doi.org/10.5281/zenodo.7705496}
}

@ARTICLE{2013PASP..125..306F,
       author = {{Foreman-Mackey}, Daniel and {Hogg}, David W. and {Lang}, Dustin and {Goodman}, Jonathan},
        title = "{emcee: The MCMC Hammer}",
      journal = {\pasp},
     keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Physics - Computational Physics, Statistics - Computation},
         year = 2013,
        month = mar,
       volume = {125},
       number = {925},
        pages = {306},
          doi = {10.1086/670067},
archivePrefix = {arXiv},
       eprint = {1202.3665},
 primaryClass = {astro-ph.IM},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2013PASP..125..306F},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Depending on which proposals are used, you may be required to cite more sources. Please make sure you do this properly.

Authors

  • Michael Katz
  • Nikos Karnesis
  • Natalia Korsakova
  • Jonathan Gair

Contibutors

  • Maybe you!

License

This project is licensed under the GNU License - see the LICENSE.md file for details.

Acknowledgments

  • We wish to thank S. Babak, M. Le Jeune, S. Marsat, T. Littenberg, and N. Cornish for their useful comments and very fruitful discussions.
  • N Stergioulas and N Karnesis acknowledge support from the Gr-PRODEX 2019 funding program (PEA 4000132310).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eryn-1.2.5.tar.gz (91.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eryn-1.2.5-py3-none-any.whl (112.9 kB view details)

Uploaded Python 3

File details

Details for the file eryn-1.2.5.tar.gz.

File metadata

  • Download URL: eryn-1.2.5.tar.gz
  • Upload date:
  • Size: 91.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for eryn-1.2.5.tar.gz
Algorithm Hash digest
SHA256 4ad5602d07fd9a71496deab01cc63c39d9d1d3ceccfd24c25d7fbf26849ecb44
MD5 c200d44d78fda0552aff82e4d0f29ffe
BLAKE2b-256 29e8831703510bd023412c6621a9f0c2002b4b689151b2b76d54381c2e8c2e14

See more details on using hashes here.

File details

Details for the file eryn-1.2.5-py3-none-any.whl.

File metadata

  • Download URL: eryn-1.2.5-py3-none-any.whl
  • Upload date:
  • Size: 112.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for eryn-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d1544586843b00f49c15b0fd417db57502a73a96ef7f23726ab11eab13fd2b5f
MD5 19760e5696ab54c07ccf1ada0b7d30fb
BLAKE2b-256 edc889da6e46b67423c3ee0e808a948c061f9c5665ed8148b7ce383eac1b294d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page