---
title: 'Bouncy Particle Sampler: Non-Reversible MCMC'
url: https://www.emergentmind.com/topics/bouncy-particle-sampler
type: topic
---

# Bouncy Particle Sampler: Non-Reversible MCMC

The Bouncy Particle Sampler (BPS) is a continuous-time, non-reversible Markov chain Monte Carlo (MCMC) method based on piecewise-deterministic Markov processes (PDMPs). BPS operates by evolving a particle deterministically through the state space along linear trajectories, interrupted by random reflection (“bounce”) and refreshment events. This architecture enables rejection-free, irreducible, and potentially highly efficient exploration of high-dimensional and complex target distributions, and extends naturally to factorized, infinite-dimensional, and non-smooth settings. Theoretical guarantees and empirical studies establish BPS as a competitive and often superior alternative to traditional reversible MCMC methods such as Hamiltonian Monte Carlo (HMC), particularly when tailored to problem-specific structure or extended with parallel tempering, adaptivity, and surrogate or stochastic gradient strategies.

## 1. Mathematical Formulation and Invariance

Let the target measure of interest be π(x) ∝ exp(–U(x)), for x ∈ ℝᵈ, where U(x) is the negative log-density (potential energy). The BPS augments the state with a velocity v ∈ ℝᵈ, sampled typically from 𝒩(0, I). The joint target is Π(x, v) = π(x) ϕ(v) ∝ exp(–U(x) – ½‖v‖²), with ϕ(v) the standard Gaussian density [2405.08290], [1510.02451].

The process evolves as follows (using notation from [2405.08290]):

- **Deterministic Flow (free flight):**
  $$
  \frac{dx}{dt} = v, \qquad \frac{dv}{dt} = 0
  $$
  yielding linear motion.

- **Bounce Events:**  
  Occur at Poisson rate
  $$
  \lambda(x, v) = \max\{0, v \cdot \nabla U(x)\}
  $$
  At a bounce, velocity is reflected across the plane orthogonal to ∇U(x):
  $$
  R(x, v) = v - 2\frac{v \cdot \nabla U(x)}{\|\nabla U(x)\|^2} \nabla U(x)
  $$
  This map is involutive and volume-preserving; it ensures the invariance of Π(x, v).

- **Velocity Refreshment:**  
  To guarantee irreducibility and ergodicity (breaking periodic or trapped trajectories), at Poisson times with rate γ > 0, v is resampled from its marginal law.

The infinitesimal generator for any smooth test function f(x, v) is:
$$
\mathcal{L}f(x, v) = v \cdot \nabla_x f(x, v) + \lambda(x, v)[f(x, R(x, v)) - f(x, v)] + \gamma \int [f(x, v') - f(x, v)]\,\varphi(dv')
$$
The Markov process with this generator has unique invariant measure π(x) after marginalizing out v [2405.08290], [1510.02451].

## 2. Connections to Hamiltonian Monte Carlo and PDMPs

BPS can be understood via the broader framework unifying Hamiltonian Monte Carlo (HMC) and PDMP samplers. While HMC proposes Metropolis moves using time-reversible, volume-preserving Hamiltonian dynamics, BPS removes the accept/reject step by using a surrogate kinetic energy (linear free-flight) and compensates with deterministic reflections ("bounces") to correct for the true potential [2405.08290].

Recent work establishes that any reversible deterministic dynamics provides a valid Metropolis proposal, and that PDMP velocity changes such as the BPS bounce constitute a rejection-free alternative to Metropolis acceptance-rejection. By increasing the frequency of velocity refreshment, BPS interpolates between HMC (pure surrogate dynamics, Metropolis correction) and pure PDMP samplers (no accept-reject) [2405.08290].

## 3. Algorithms, Extensions, and Implementation

### Basic BPS Simulation

Pseudocode for exact continuous-time BPS (see [2405.08290], [1510.02451]):
```python
t = 0
while t < T:
    # Sample time to next bounce: Δb
    u ~ Uniform(0,1)
    Find smallest positive Δb solving ∫₀^{Δb} [v · ∇U(x + s v)]⁺ ds = –log u
    
    # Sample time to velocity refresh: Δr ~ Exp(γ)
    Δ = min(Δb, Δr)
    x += Δ * v
    t += Δ
    if Δ == Δb:
        v = v - 2 * ((∇U(x)·v)/‖∇U(x)‖²) * ∇U(x)
    else:
        v ~ N(0, I)
```
*Event-time calculations may be performed via root-finding, analytic inversion (Gaussian targets), or Poisson thinning strategies for more complicated models* [1510.02451], [2405.08290].

### Exploiting Structure: Local, Blocked, and Factorized BPS

Factorized targets π(x) = ∏_{f} γ_f(x_{N_f}) admit “local BPS” in which bounce rates and reflections are computed per-factor, updating only the relevant sub-block of v. This enables sublinear per-event cost in sparse models and efficient mixing in graphical models, CTMCs, and state-space models [1510.02451], [2101.03079], [1905.13120]. Coordinated blocking (including spatiotemporal blocks) and parallel even-odd partitioning further scale BPS to high dimensions and enable parallelism, retaining invariance and improving ESS/sec substantially [2101.03079].

### Infinite Dimensional BPS

BPS extends to infinite-dimensional settings, e.g., to Hilbert spaces or function spaces for Bayesian inverse problems. Here the velocity lives in a second copy of the Hilbert space, and reflections employ the geometry (e.g., via the Cameron-Martin norm or covariance operator) [2205.11452].

### Handling Piecewise-Smooth/Non-Smooth Targets

BPS can be adapted to targets with discontinuities or boundaries using tailored boundary rules that guarantee invariance. At discontinuities, explicit probabilistic criteria govern whether the process passes through, reflects, or resamples to maintain stationarity [2111.05859], [1711.00922].

### Generalizations and Parameter-Free Variants

- **Generalized BPS (GBPS):**  
  Introduces randomized bounce rules, resampling the orthogonal velocity component to avoid reducibility without explicit refreshment [1706.04781].
- **Binary BPS:**  
  Through piecewise-differentiable augmentations, BPS applies to discrete-state and binary graphical models, using boundary crossing and Metropolis-type reflection at orthant boundaries [1711.00922].
- **Discrete BPS (DBPS):**  
  Discrete-time analogues, with partial velocity refreshment, recover BPS in the continuous-time scaling limit and allow practical implementation with minimal requirements [1707.05200].

## 4. Surrogate, Stochastic, and Adaptive Techniques

### Thinning-Based Event Simulation and Surrogates

For expensive or black-box targets, BPS event simulation may leverage surrogate models (constant, Laplace, or GP-based) on the potential and its gradient. Through offset-corrected Poisson thinning (with robust correction and acceptance criteria), exact sampling can be maintained, with the surrogate model controlling computational overhead [2602.05559]. This yields large gains in effective sample size per expensive model evaluation relative to NUTS or RWM.

### Stochastic Gradients

Stochastic BPS (SBPS) employs unbiased mini-batch gradient estimators in the bounce rate calculation, thin using regression-based predictive bounds, and introduces only controlled, negligible bias if the violation rate is monitored and controlled. This enables efficient application to large-scale Bayesian learning tasks [1609.00770].

### Covariance Adaptation and Riemannian Extensions

To enhance performance on anisotropic or poorly conditioned targets, adaptive BPS schemes learn and apply estimated global or local covariance/metric structure—either via preconditioning or a fully position-dependent velocity law as in the Covariance-Adaptive BPS (CA-BPS) [2012.13924], [2509.24847]. The latter uses a local metric (e.g., Hessian or SoftAbs of negative log-density) to define N(0, G(x)^{-1}) velocity, requiring extra PDMP events that trigger metric updates [2509.24847]. These enhancements yield orders-of-magnitude gains on highly anisotropic targets.

## 5. Theoretical Properties and Scaling

BPS is geometrically (and often exponentially) ergodic under verifiable tail and curvature assumptions. Foster–Lyapunov drift and minorization conditions yield explicit spectral gap bounds and central limit theorems for ergodic averages [1705.04579], [1807.05401]. In the scaling limit for strongly log-concave targets, BPS for fixed marginals approaches Randomized Hamiltonian Monte Carlo (RHMC), yielding dimension-free mixing rates and optimal cost O(√d) per marginal [1808.04299].

BPS is non-reversible and does not satisfy detailed balance, but global balance guarantees invariant measure [1510.02451]. In high dimensions or multimodal settings, parallel tempering extensions exploiting infinite exchange or block-symmetrized permutations accelerate mode-mixing while maintaining correct stationary law [2509.02003].

## 6. Applications, Limitations, and Empirical Performance

BPS is effective across diverse domains: from high-dimensional graphical models and CTMC parameter inference [1905.13120], [1510.02451], to Bayesian PDE inverse problems [2602.05559], to large-scale imaging and non-smooth inverse problems via hybrid BPS–Gibbs strategies [2409.07874]. Empirical studies routinely demonstrate improved effective sample size per computation and faster mixing relative to alternative MCMC schemes, especially for high-dimensional, structured, or factorized targets. 

Limitations include challenges in efficiently handling sharp discontinuities (though explicit boundary mechanisms exist), situations requiring exact integration along highly curved trajectories (more natural for HMC), or cases where global refreshment is not infrequent enough to preserve highly persistent ballistic motion.

## 7. Summary Table: BPS Variants and Features

| Variant                        | Key Feature                        | Reference          |
|-------------------------------|-------------------------------------|--------------------|
| Standard BPS                  | Non-reversible PDMP, global bounce  | [1510.02451], [2405.08290] |
| Local/Blocked/Factorized BPS  | Exploits structure/sparsity         | [2101.03079], [1905.13120] |
| Infinite-Dimensional BPS      | Hilbert-space/functional targets    | [2205.11452]       |
| Surrogate/Offset BPS          | Surrogate/thin/acceptance correction| [2602.05559]       |
| Stochastic BPS                | Mini-batch gradients, regression thinning | [1609.00770]  |
| Generalized/Randomized BPS    | Avoids reducibility via random bounce| [1706.04781]   |
| Binary BPS                    | Piecewise differentiable, discrete  | [1711.00922]       |
| Covariance-Adaptive BPS       | Local Hessian-based metric/covariance | [2509.24847], [2012.13924] |
| Parallel Tempering BPS        | Infinite-exchange, multimodal       | [2509.02003]       |

BPS constitutes a paradigm-class MCMC method with versatility in both classical and modern Bayesian computation. It leverages non-reversibility, structure-exploitation, and a suite of extensions to efficiently address the demands of contemporary statistical inference.

Source: https://www.emergentmind.com/topics/bouncy-particle-sampler