Skip to main content

Persistent Sampling

Project description

TEMPEST

Tempest is a Python implementation of the Persistent Sampling method for accelerated Bayesian inference

License: MIT Documentation Status

Getting started

Brief introduction

Tempest is a Python package for fast Bayesian posterior and model evidence estimation. It leverages the Persistent Sampling (PS) algorithm, offering significant speed improvements over traditional methods like MCMC and Nested Sampling. Ideal for large-scale scientific problems with expensive likelihood evaluations, non-linear correlations, and multimodality, Tempest provides efficient and scalable posterior sampling and model evidence estimation. Widely used in cosmology and astronomy, Tempest is user-friendly, flexible, and actively maintained.

Documentation

Read the docs at tempest-sampler.readthedocs.io for more information, examples and tutorials. For a detailed list of changes, see the CHANGELOG.md.

Installation

To install tempest using pip run:

pip install tempest-sampler

or, to install from source:

git clone https://github.com/minaskar/tempest.git
cd tempest
pip install .

Basic example

For instance, if you wanted to draw samples from a 10-dimensional Rosenbrock distribution with a uniform prior, you would do something like:

import tempest as tp
import numpy as np

n_dim = 10  # Number of dimensions

# Define prior transform: U(-10, 10) for each dimension
def prior_transform(u):
    return 20 * u - 10

# Define log-likelihood
def log_likelihood(x):
    return -np.sum(10.0*(x[:,::2]**2.0 - x[:,1::2])**2.0 \
            + (x[:,::2] - 1.0)**2.0, axis=1)

# Create and run sampler
sampler = tp.Sampler(
    prior_transform=prior_transform,
    log_likelihood=log_likelihood,
    n_dim=n_dim,
    vectorize=True,
)
sampler.run()

samples, weights, logl = sampler.posterior() # Weighted posterior samples

logz, logz_err = sampler.evidence() # Bayesian model evidence estimate and uncertainty

Attribution & Citation

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

@article{karamanis2025persistent,
  title={Persistent Sampling: Enhancing the Efficiency of Sequential Monte Carlo},
  author={Karamanis, Minas and Seljak, Uro{\v{s}}},
  journal={Statistics and Computing},
  volume={35},
  number={5},
  pages={1--22},
  year={2025},
  publisher={Springer}
}

Licence

Copyright 2026-Present Minas Karamanis and contributors.

Tempest is free software made available under the MIT License. For details see the LICENCE file.

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

tempest_sampler-0.1.3.tar.gz (62.2 kB view details)

Uploaded Source

Built Distribution

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

tempest_sampler-0.1.3-py3-none-any.whl (43.0 kB view details)

Uploaded Python 3

File details

Details for the file tempest_sampler-0.1.3.tar.gz.

File metadata

  • Download URL: tempest_sampler-0.1.3.tar.gz
  • Upload date:
  • Size: 62.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tempest_sampler-0.1.3.tar.gz
Algorithm Hash digest
SHA256 32e2fbed5c6bac2df49791ff1b2d88309d814f1c78029c8e291103856e62e56d
MD5 0ddf4c117dd6a410a8fde2444e47eb6f
BLAKE2b-256 767edbe8a0192b7d1e74a5c85e0544d73b55028b4d0d767d6f9b1dd7c9d20911

See more details on using hashes here.

Provenance

The following attestation bundles were made for tempest_sampler-0.1.3.tar.gz:

Publisher: pypi-deploy.yml on minaskar/tempest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tempest_sampler-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for tempest_sampler-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a12a421a14c19658065d8af30eb12fb5795e75d4e6bf6916eadec6ae77e9a6b7
MD5 2edc7d2d3f660c548bfe265d8cf9abbf
BLAKE2b-256 a891f30c1905c403f059c7744c7b8c1a82eeb2fb8711d8df245352d16cae6d54

See more details on using hashes here.

Provenance

The following attestation bundles were made for tempest_sampler-0.1.3-py3-none-any.whl:

Publisher: pypi-deploy.yml on minaskar/tempest

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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