This repository contains different versions of an algorithm for MCMC sampling. For target distribution that are high-dimensional and multimodal, we suppose the existence of a good subset of variables (CV) that captures the multimodality. For the case that an efficient proposal sampler in the CV space is available (e.g. a normalizing flow), the algorithm here allows to employ this to generate unbiased samples in the full space. This is also known as "Nonequilibrium candidate Monte Carlo" sampling or "Hybrid Nonequilibrium Molecular Dynamics".
We provide here the implementations of the different versions of the algorithm that we discuss in
C.Schönle, M. Gabrié, T. Lelièvre, G. Stoltz. "Sampling metastable systems using collective variables and Jarzynski-Crooks paths", arXiv:2405.18160 (2024).
The five valid sampling algorithms described in the manuscript can be found in samplers.py
as well as three biased versions in samplers_biased.py.
A basic usage example for a simple example (Gaussian tunnel) example is given in the notebook gaussian_tunnel.ipynb.