# PolytopeWalk: Sparse MCMC Sampling over Polytopes

arXiv: https://arxiv.org/abs/2412.06629 · HTML: https://mlsanity.com/paper/2412.06629/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Builds on 4 of its 15 references that are in the map.
- First posted on arXiv 9 Dec 2024.

## Builds on (most cited first, 4 of 4)

- [Sampling with Riemannian Hamiltonian Monte Carlo in a Constrained Space](https://mlsanity.com/paper/2202.01908/) (2022)
- [Strong Self-Concordance and Sampling](https://mlsanity.com/paper/1911.05656/) (2019)
- [The Mixing Time of the Dikin Walk in a Polytope - A Simple Proof](https://mlsanity.com/paper/1508.01977/) (2015)
- [Practical volume computation of structured convex bodies, and an application to modeling portfolio dependencies and financial crises](https://mlsanity.com/paper/1803.05861/) (2018)

## Built on by (most cited first, 1 of 1)

- [Flows on convex polytopes](https://mlsanity.com/paper/2503.10232/) (2025)

## Abstract (arXiv)

High dimensional sampling is an important computational tool in statistics and other computational disciplines, with applications ranging from Bayesian statistical uncertainty quantification, metabolic modeling in systems biology to volume computation. We present textsfPolytopeWalk, a new scalable Python library designed for uniform sampling over polytopes. The library provides an end-to-end solution, which includes preprocessing algorithms such as facial reduction and initialization methods. Six state-of-the-art MCMC algorithms on polytopes are implemented, including the Dikin, Vaidya, and John Walk. Additionally, we introduce novel sparse constrained formulations of these algorithms, enabling efficient sampling from sparse polytopes of the form K2 = x ∈ ℝd  |  Ax = b, x succeqk 0. This implementation maintains sparsity in A, ensuring scalability to high dimensional settings (d > 105). We demonstrate the improved sampling efficiency and per-iteration cost on both Netlib datasets and structured polytopes. textsfPolytopeWalk is available at github.com/ethz-randomwalk/polytopewalk with documentation at polytopewalk.readthedocs.io .
