A Fast, Robust Elliptical Slice Sampling Implementation for Linearly Truncated Multivariate Normal Distributions
Kaiwen Wu, Jacob R. Gardner
TL;DR
This work tackles efficient sampling from a $d$-dimensional standard normal truncated to a polytope $\\mathcal{D}=\\{ \\mathbf{A}\\mathbf{x} \\le \\mathbf{b}\\}$ via elliptical slice sampling. It introduces an $\\mathcal{O}(m \\log m)$ algorithm to analytically construct the ellipse–polytope intersection, enabling rejection-free updates that are numerically robust and highly parallelizable on GPUs. The approach yields large practical speedups, achieving over $10\\x$ faster per-iteration performance than a BoTorch baseline in high dimensions, and enabling batched multi-chain sampling. The method includes stability enhancements (interval trimming and selective rejection) and has potential extensions to linear equality constraints and differentiable sampling, broadening its applicability to scalable truncated normal problems.
Abstract
Elliptical slice sampling, when adapted to linearly truncated multivariate normal distributions, is a rejection-free Markov chain Monte Carlo method. At its core, it requires analytically constructing an ellipse-polytope intersection. The main novelty of this paper is an algorithm that computes this intersection in $\mathcal{O}(m \log m)$ time, where $m$ is the number of linear inequality constraints representing the polytope. We show that an implementation based on this algorithm enhances numerical stability, speeds up running time, and is easy to parallelize for launching multiple Markov chains.
