{"id":21492037,"url":"https://github.com/johannesbuchner/ultranest","last_synced_at":"2025-04-05T09:08:56.924Z","repository":{"id":36931331,"uuid":"212592577","full_name":"JohannesBuchner/UltraNest","owner":"JohannesBuchner","description":"Fit and compare complex models reliably and rapidly. Advanced nested sampling.","archived":false,"fork":false,"pushed_at":"2024-05-21T20:17:44.000Z","size":163650,"stargazers_count":132,"open_issues_count":26,"forks_count":26,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-05-22T06:37:18.370Z","etag":null,"topics":["model-selection","monte-carlo","nested-sampling","parallel-computing","python"],"latest_commit_sha":null,"homepage":"https://johannesbuchner.github.io/UltraNest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JohannesBuchner.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-03T13:52:26.000Z","updated_at":"2024-05-29T19:18:14.170Z","dependencies_parsed_at":"2023-01-17T07:30:51.669Z","dependency_job_id":"249116c8-23ee-42b9-b1c1-35a39af5505e","html_url":"https://github.com/JohannesBuchner/UltraNest","commit_stats":{"total_commits":584,"total_committers":11,"mean_commits":53.09090909090909,"dds":0.03938356164383561,"last_synced_commit":"35a7565f199e955b7208dc989616ecbdc7470c57"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FUltraNest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FUltraNest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FUltraNest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FUltraNest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohannesBuchner","download_url":"https://codeload.github.com/JohannesBuchner/UltraNest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312081,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["model-selection","monte-carlo","nested-sampling","parallel-computing","python"],"created_at":"2024-11-23T15:21:42.341Z","updated_at":"2025-04-05T09:08:56.380Z","avatar_url":"https://github.com/JohannesBuchner.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=========\nUltraNest\n=========\n\nFit and compare complex models reliably and rapidly with advanced sampling techniques.\n\n.. image:: https://img.shields.io/pypi/v/ultranest.svg\n        :target: https://pypi.python.org/pypi/ultranest\n\n.. image:: https://circleci.com/gh/JohannesBuchner/UltraNest/tree/master.svg?style=shield\n        :target: https://circleci.com/gh/JohannesBuchner/UltraNest\n\n.. image:: https://img.shields.io/badge/docs-published-ok.svg\n        :target: https://johannesbuchner.github.io/UltraNest/\n        :alt: Documentation Status\n\n.. image:: https://img.shields.io/badge/GitHub-JohannesBuchner%2FUltraNest-blue.svg?style=flat\n        :target: https://github.com/JohannesBuchner/UltraNest/\n        :alt: Github repository\n\n.. image:: https://joss.theoj.org/papers/10.21105/joss.03001/status.svg\n        :target: https://doi.org/10.21105/joss.03001\n        :alt: Software paper\n\nCorrectness. Speed. Ease of use. 🦔\n\nAbout\n-----\n\nWhen scientific models are compared to data, two tasks are important:\n1) contraining the model parameters and 2) comparing the model to other models.\nDifferent techniques have been developed to explore model parameter spaces.\nThis package implements a Monte Carlo technique called nested sampling.\n\n**Nested sampling** allows Bayesian inference on arbitrary user-defined likelihoods.\nIn particular, posterior probability distributions on model parameters\nare constructed, and the marginal likelihood (\"evidence\") Z is computed.\nThe former can be used to describe the parameter constraints of the data,\nthe latter can be used for model comparison (via `Bayes factors`) \nas a measure of the prediction parsimony of a model.\n\nIn the last decade, multiple variants of nested sampling have been \ndeveloped. These differ in how nested sampling finds better and\nbetter fits while respecting the priors \n(constrained likelihood prior sampling techniques), and whether it is \nallowed to go back to worse fits and explore the parameter space more.\n\nThis package develops novel, advanced techniques for both (See \n`How it works \u003chttps://johannesbuchner.github.io/UltraNest/method.html\u003e`_).\nThey are especially remarkable for being free of tuning parameters \nand theoretically justified. Beyond that, UltraNest has support for \nBig Data sets and high-performance computing applications.\n\nUltraNest is intended for fitting complex physical models with slow\nlikelihood evaluations, with one to hundreds of parameters.\nUltraNest intends to replace heuristic methods like multi-ellipsoid\nnested sampling and dynamic nested sampling with more rigorous methods.\nUltraNest also attempts to provide feature parity compared to other packages\n(such as MultiNest).\n\nYou can help by testing UltraNest and reporting issues. Code contributions are welcome.\nSee the `Contributing page \u003chttps://johannesbuchner.github.io/UltraNest/contributing.html\u003e`_.\n\nFeatures\n---------\n\n* Pythonic\n\n  * pip and conda installable\n  * Easy to program for: Sanity checks with meaningful errors\n  * Can control the run programmatically and check status\n  * Reasonable defaults, but customizable\n  * Thoroughly tested with many unit and integration tests\n  * NEW: supports likelihood functions written in `Python \u003chttps://github.com/JohannesBuchner/UltraNest/tree/master/languages/python\u003e`_, `C \u003chttps://github.com/JohannesBuchner/UltraNest/tree/master/languages/c\u003e`_, `C++ \u003chttps://github.com/JohannesBuchner/UltraNest/tree/master/languages/c%2B%2B\u003e`_, `Fortran \u003chttps://github.com/JohannesBuchner/UltraNest/tree/master/languages/fortran\u003e`_, `Julia \u003chttps://github.com/JohannesBuchner/UltraNest/tree/master/languages/julia\u003e`_ and `R \u003chttps://github.com/JohannesBuchner/UltraNest/tree/master/languages/r\u003e`_\n\n* Robust exploration easily handles:\n\n  * Degenerate parameter spaces such as bananas or tight correlations\n  * Multiple modes/solutions in the parameter space\n  * Robust, parameter-free MLFriends algorithm \n    (metric learning RadFriends, Buchner+14,+19), with new improvements\n    (region follows new live points, clustering improves metric iteratively, \n    NEW in v4.0: refined local metric).\n  * High-dimensional problems with hit-and-run sampling\n  * Wrapped/circular parameters, derived parameters\n  * Fast-slow parameters\n\n* Lightweight and fast\n\n  * some functions implemented in Cython\n  * `vectorized likelihood function calls \u003chttps://johannesbuchner.github.io/UltraNest/performance.html\u003e`__, \n    optimally supporting models with deep learning emulators\n  * Use multiple cores, fully parallelizable from laptops to computing clusters\n  * `MPI support \u003chttps://johannesbuchner.github.io/UltraNest/performance.html\u003e`__\n\n* Advanced visualisation and crash recovery:\n\n  * Live view of the exploration for Jupyter notebooks and terminals\n  * Publication-ready visualisations\n  * Corner plots, run and parameter exploration diagnostic plots\n  * Checkpointing and resuming, even with different number of live points\n  * `Warm-start: resume from modified data / model \u003chttps://johannesbuchner.github.io/UltraNest/example-warmstart.html\u003e`__\n\n* strategic nested sampling\n\n  * can vary (increase) number of live points (akin to dynamic nested sampling, but with different targets)\n  * can sample clusters optimally (e.g., at least 50 points per cluster/mode/solution)\n  * can target minimizing parameter estimation uncertainties\n  * can target a desired evidence uncertainty threshold\n  * can target a desired number of effective samples\n  * or any combination of the above\n  * Robust ln(Z) uncertainties by bootstrapping live points.\n\nUsage\n^^^^^\n\n* `Get started! \u003chttps://johannesbuchner.github.io/UltraNest/using-ultranest.html\u003e`_\n\n* Read the full documentation with tutorials at:\n\n  * https://johannesbuchner.github.io/UltraNest/\n  * `API Reference \u003chttps://johannesbuchner.github.io/UltraNest/ultranest.html#ultranest.integrator.ReactiveNestedSampler\u003e`_.\n  * `Code repository: https://github.com/JohannesBuchner/UltraNest/ \u003chttps://github.com/JohannesBuchner/UltraNest/\u003e`_\n\nLicence\n^^^^^^^\n\nHow to `cite UltraNest \u003chttps://johannesbuchner.github.io/UltraNest/issues.html#how-should-i-cite-ultranest\u003e`_.\n\nGPLv3 (see LICENCE file). If you require another license, please contact me.\n\nThe cute hedgehog icon was made by `Freepik \u003chttps://www.flaticon.com/authors/freepik\u003e`_.\nIt symbolises UltraNest's approach of carefully walking up a likelihood,\nready to defend against any encountered danger.\n\nContributors\n^^^^^^^^^^^^\n\n* Nicholas Susemiehl\n* Quinn Gao\n* Sigfried Vanaverbeke\n* Warrick Ball\n* Adipol Phosrisom\n* Pieter Vuylsteke\n* Alexander Harvey Nitz\n* Gregory David Martinez\n* Grigorii Smirnov-Pinchukov\n* Fabio F Acero\n* Jacopo Tissino\n* Benjamin Beauchesne\n* Kyle Barbary (some ellipsoid code adopted from https://github.com/kbarbary/nestle)\n* Adam Moss (some architecture and parallelisation adopted from https://github.com/adammoss/nnest)\n* Josh Speagle (some visualisations adopted from https://github.com/joshspeagle/dynesty/)\n* Johannes Buchner\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohannesbuchner%2Fultranest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohannesbuchner%2Fultranest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohannesbuchner%2Fultranest/lists"}