Fit and compare complex models reliably and rapidly with advanced sampling techniques.
.. image:: https://img.shields.io/pypi/v/ultranest.svg :target: https://pypi.python.org/pypi/ultranest
.. image:: https://circleci.com/gh/JohannesBuchner/UltraNest/tree/master.svg?style=shield :target: https://circleci.com/gh/JohannesBuchner/UltraNest
.. image:: https://img.shields.io/badge/docs-published-ok.svg :target: https://johannesbuchner.github.io/UltraNest/ :alt: Documentation Status
.. image:: https://img.shields.io/badge/GitHub-JohannesBuchner%2FUltraNest-blue.svg?style=flat :target: https://github.com/JohannesBuchner/UltraNest/ :alt: Github repository
.. image:: https://joss.theoj.org/papers/10.21105/joss.03001/status.svg :target: https://doi.org/10.21105/joss.03001 :alt: Software paper
Correctness. Speed. Ease of use. 🦔
When scientific models are compared to data, two tasks are important: 1) contraining the model parameters and 2) comparing the model to other models. Different techniques have been developed to explore model parameter spaces. This package implements a Monte Carlo technique called nested sampling.
Nested sampling allows Bayesian inference on arbitrary user-defined likelihoods.
In particular, posterior probability distributions on model parameters
are constructed, and the marginal likelihood ("evidence") Z is computed.
The former can be used to describe the parameter constraints of the data,
the latter can be used for model comparison (via Bayes factors
)
as a measure of the prediction parsimony of a model.
In the last decade, multiple variants of nested sampling have been developed. These differ in how nested sampling finds better and better fits while respecting the priors (constrained likelihood prior sampling techniques), and whether it is allowed to go back to worse fits and explore the parameter space more.
This package develops novel, advanced techniques for both (See
How it works <https://johannesbuchner.github.io/UltraNest/method.html>
_).
They are especially remarkable for being free of tuning parameters
and theoretically justified. Beyond that, UltraNest has support for
Big Data sets and high-performance computing applications.
UltraNest is intended for fitting complex physical models with slow likelihood evaluations, with one to hundreds of parameters. UltraNest intends to replace heuristic methods like multi-ellipsoid nested sampling and dynamic nested sampling with more rigorous methods. UltraNest also attempts to provide feature parity compared to other packages (such as MultiNest).
You can help by testing UltraNest and reporting issues. Code contributions are welcome.
See the Contributing page <https://johannesbuchner.github.io/UltraNest/contributing.html>
_.
Pythonic
Python <https://github.com/JohannesBuchner/UltraNest/tree/master/languages/python>
, C <https://github.com/JohannesBuchner/UltraNest/tree/master/languages/c>
, C++ <https://github.com/JohannesBuchner/UltraNest/tree/master/languages/c%2B%2B>
, Fortran <https://github.com/JohannesBuchner/UltraNest/tree/master/languages/fortran>
, Julia <https://github.com/JohannesBuchner/UltraNest/tree/master/languages/julia>
and R <https://github.com/JohannesBuchner/UltraNest/tree/master/languages/r>
Robust exploration easily handles:
Lightweight and fast
vectorized likelihood function calls <https://johannesbuchner.github.io/UltraNest/performance.html>
__,
optimally supporting models with deep learning emulatorsMPI support <https://johannesbuchner.github.io/UltraNest/performance.html>
__Advanced visualisation and crash recovery:
Warm-start: resume from modified data / model <https://johannesbuchner.github.io/UltraNest/example-warmstart.html>
__strategic nested sampling
Usage ^^^^^
Get started! <https://johannesbuchner.github.io/UltraNest/using-ultranest.html>
_
Read the full documentation with tutorials at:
API Reference <https://johannesbuchner.github.io/UltraNest/ultranest.html#ultranest.integrator.ReactiveNestedSampler>
_.Code repository: https://github.com/JohannesBuchner/UltraNest/ <https://github.com/JohannesBuchner/UltraNest/>
_Licence ^^^^^^^
How to cite UltraNest <https://johannesbuchner.github.io/UltraNest/issues.html#how-should-i-cite-ultranest>
_.
GPLv3 (see LICENCE file). If you require another license, please contact me.
The cute hedgehog icon was made by Freepik <https://www.flaticon.com/authors/freepik>
_.
It symbolises UltraNest's approach of carefully walking up a likelihood,
ready to defend against any encountered danger.
Contributors ^^^^^^^^^^^^