Skip to main content

A package for exploring rare-events in high-dimensional dynamical systems

Project description

pyREVS: python Rare-EVent Sampling package

RSD DOI build PyPI version sonarcloud workflow scc badge github license badge

Overview

Rare-events algorithms are powerful techniques allowing to sample rare occurrences of a computational model at a much lower cost than brute force Monte-Carlo. However, running such algorithms on models featuring more than a handfull of dimensions become cumbersome as both compute and memory requirements increase. pyREVS is a modular implementation of rare-event algorithms, initially focused on adaptive multilevel splitting (AMS) and its TAMS variant introduced by Lestang et al., aiming at alleviating the difficulty of performing rare event algorithms on high-dimensional systems such as the ones encountered in geophysical or engineering applications. The package is built from basic building blocks that can be used to implement new rare-event algorithms.

Installation

To install pyREVS from GitHub repository, do:

git clone git@github.com:nlesc-eTAOC/pyREVS.git
cd pyREVS
python -m pip install .

Note that the latest version of pyREVS is available on PyPI here and can be installed with pip install pyrevs, but built-in examples are not readily available using the PyPI version.

To run the example cases shipped with pyREVS, additional dependencies are required. To install the examples dependencies, run:

python -m pip install .[exec]

You can check that the package was successfully installed using:

pyrevs_check

Quick start

To get started with pyREVS, let's have a look at the classical double-well potential case. Although it is not a high-dimensional system, it provides a good overview of pyREVS capabilities. A 2D version of the double-well is available in the examples folder. To run the case, simply do:

cd examples/DoubleWell2D
python sample_dw2dim.py

This minimal example runs the TAMS 10 times in order to get an estimate of the transition probability as well as the corresponding relative error. For a more in-depth explanation about this case, setting up the model and running the simulations, have a look at the tutorial here.

Documentation

doc

pyREVS documentation is hosted on GitHub here

Contributing

If you want to contribute to the development of pyREVS, have a look at the contribution guidelines.

Acknowledgements

The development of pyREVS was supported by the Netherlands eScience Center in collaboration with the Institute for Marine and Atmospheric research Utrecht IMAU.

This package was created with Cookiecutter and the NLeSC/python-template.

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

pyrevs-1.1.0.tar.gz (85.3 kB view details)

Uploaded Source

Built Distribution

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

pyrevs-1.1.0-py3-none-any.whl (87.5 kB view details)

Uploaded Python 3

File details

Details for the file pyrevs-1.1.0.tar.gz.

File metadata

  • Download URL: pyrevs-1.1.0.tar.gz
  • Upload date:
  • Size: 85.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for pyrevs-1.1.0.tar.gz
Algorithm Hash digest
SHA256 a2ace25bfbac2d778886efcf56aded17ccb2829b3ac3b27e43b638060f6359a8
MD5 98e1b37f4d5f06178b5c40d8b46a8d09
BLAKE2b-256 e55d61c5438d229a4f24c4c4c137a083ff48f00c10c46e4fb1239d4c510b9a79

See more details on using hashes here.

File details

Details for the file pyrevs-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyrevs-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 87.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for pyrevs-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 953351ece0c1befde13ff725a131d31131c555d8e84400d19ed94dbfc8f91090
MD5 2a7c5777f23c1a83922816a7b7aceb96
BLAKE2b-256 a42389f40493f3d3a3e1b722640c728d464efc60def1958e5001caa08109f544

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