Git Product home page Git Product logo

cobaya's Introduction

Cobaya, a code for Bayesian analysis in Cosmology

Author: Jesus Torrado and Antony Lewis
Source:Source code at GitHub
Documentation:Documentation at Readthedocs
Licence:LGPL + mandatory bug reporting asap + mandatory arXiv'ing of publications using it (see LICENCE.txt for exceptions). The documentation is licensed under the GFDL.
E-mail list:https://cosmocoffee.info/cobaya/sign up for important bugs and release announcements!
Support:For general support, CosmoCoffee; for bugs and issues, use the issue tracker.
Installation:pip install cobaya --upgrade --user (see the installation instructions; in general do not clone)
https://secure.travis-ci.org/CobayaSampler/cobaya.png?branch=master https://img.shields.io/pypi/v/cobaya.svg?style=flat https://readthedocs.org/projects/cobaya/badge/?version=latest

Cobaya (code for bayesian analysis, and Spanish for Guinea Pig) is a framework for sampling and statistical modelling: it allows you to explore an arbitrary prior or posterior using a range of Monte Carlo samplers (including the advanced MCMC sampler from CosmoMC, and the advanced nested sampler PolyChord). The results of the sampling can be analysed with GetDist. It supports MPI parallelization (and very soon HPC containerization with Docker/Shifter and Singularity).

Its authors are Jesus Torrado and Antony Lewis. Some ideas and pieces of code have been adapted from other codes (e.g CosmoMC by Antony Lewis and contributors, and Monte Python, by Julien Lesgourgues and Benjamin Audren).

Cobaya has been conceived from the beginning to be highly and effortlessly extensible: without touching cobaya's source code, you can define your own priors and likelihoods, create new parameters as functions of other parameters...

Though cobaya is a general purpose statistical framework, it includes interfaces to cosmological theory codes (CAMB and CLASS) and likelihoods of cosmological experiments (Planck, Bicep-Keck, SDSS... and more coming soon). Automatic installers are included for all those external modules. You can also use cobaya simply as a wrapper for cosmological models and likelihoods, and integrate it in your own sampler/pipeline.

The interfaces to most cosmological likelihoods are agnostic as to which theory code is used to compute the observables, which facilitates comparison between those codes. Those interfaces are also parameter-agnostic, so using your own modified versions of theory codes and likelihoods requires no additional editing of cobaya's source.

The overhead per posterior evaluation is < 0.1 ms x dimension per posterior evaluation (mostly due to evaluating scipy.stats logpdf's in the prior), which makes it suitable for most cosmological applications (CAMB and CLASS take seconds to run), but not necessarily for more general statistical applications, if the evaluation time per pdf involved is of that order or smaller.

How to cite us

As of this version, there is no scientific publication yet associated to this software, so simply mention its GitHub repository.

To appropriately cite the modules (samplers, theory codes, likelihoods) that you have used, simply run the script cobaya-citation with your input file(s) as argument(s), and you will get bibtex references and a short suggested text snippet for each module mentioned in your input file. You can find a usage example here.

Acknowledgements

Thanks to Julien Lesgourgues for support on interfacing CLASS, and to Guadalupe Cañas Herrera and Vivian Miranda for extensive and somewhat painful testing.


University of Sussex European Research Council

cobaya's People

Contributors

jesustorrado avatar cmbant avatar stefan-heimersheim avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.