DPPy: Sampling DPPs with Python

Determinantal point processes (DPPs) are specific probability distributions over clouds of points that are used as models and computational tools across physics, probability, statistics, and more recently machine learning. Sampling from DPPs is a challenge and therefore we present DPPy, a Python toolbox that gathers known exact and approximate sampling algorithms for both finite and continuous DPPs. The project is hosted on GitHub and equipped with an extensive documentation.

[1]  Francis R. Bach,et al.  Learning Determinantal Point Processes in Sublinear Time , 2016, AISTATS.

[2]  Mohamed Slim Kammoun Monotonous subsequences and the descent process of invariant random permutations , 2018, 1805.05253.

[3]  Pushmeet Kohli,et al.  Batched Gaussian Process Bandit Optimization via Determinantal Point Processes , 2016, NIPS.

[4]  R. Killip,et al.  Matrix models for circular ensembles , 2004, math/0410034.

[5]  Nima Anari,et al.  Monte Carlo Markov Chain Algorithms for Sampling Strongly Rayleigh Distributions and Determinantal Point Processes , 2016, COLT.

[6]  Ben Taskar,et al.  Nystrom Approximation for Large-Scale Determinantal Processes , 2013, AISTATS.

[7]  Pierre-Olivier Amblard,et al.  Optimized Algorithms to Sample Determinantal Point Processes , 2018, ArXiv.

[8]  Daniele Calandriello,et al.  Exact sampling of determinantal point processes with sublinear time preprocessing , 2019, NeurIPS.

[9]  A. Soshnikov Determinantal random point fields , 2000, math/0002099.

[10]  Ben Taskar,et al.  Determinantal Point Processes for Machine Learning , 2012, Found. Trends Mach. Learn..

[11]  W. Koenig Orthogonal polynomial ensembles in probability theory , 2004, math/0403090.

[12]  D. Kirkner,et al.  Random Point Fields , 2001 .

[13]  E. M.,et al.  Statistical Mechanics , 2021, Manual for Theoretical Chemistry.

[14]  Jack Poulson,et al.  High-performance sampling of generic determinantal point processes , 2019, Philosophical Transactions of the Royal Society A.

[15]  Michal Valko,et al.  On two ways to use determinantal point processes for Monte Carlo integration , 2019, NeurIPS.

[16]  Jennifer Gillenwater Approximate inference for determinantal point processes , 2014 .

[17]  Carl E. Rasmussen,et al.  Gaussian processes for machine learning , 2005, Adaptive computation and machine learning.

[18]  Michal Valko,et al.  Zonotope Hit-and-run for Efficient Sampling from Projection DPPs , 2017, ICML.

[19]  J. Coeurjolly,et al.  Projections of determinantal point processes , 2019, Spatial Statistics.

[20]  A. Hardy,et al.  Monte Carlo with determinantal point processes , 2016, The Annals of Applied Probability.

[21]  Y. Peres,et al.  Determinantal Processes and Independence , 2005, math/0503110.

[22]  David Bruce Wilson,et al.  How to Get a Perfectly Random Sample from a Generic Markov Chain and Generate a Random Spanning Tree of a Directed Graph , 1998, J. Algorithms.

[23]  O. Macchi The coincidence approach to stochastic point processes , 1975, Advances in Applied Probability.

[24]  Suvrit Sra,et al.  Fast Mixing Markov Chains for Strongly Rayleigh Measures, DPPs, and Constrained Sampling , 2016, NIPS.

[25]  Ulrich Paquet,et al.  Low-Rank Factorization of Determinantal Point Processes , 2016, AAAI.

[26]  Bruno Galerne,et al.  Exact sampling of determinantal point processes without eigendecomposition , 2018, Journal of Applied Probability.

[27]  P. Diaconis,et al.  On adding a list of numbers (and other one-dependent determinantal processes) , 2009, 0904.3740.

[28]  A. Edelman,et al.  Matrix models for beta ensembles , 2002, math-ph/0206043.

[29]  Adrian Baddeley,et al.  spatstat: An R Package for Analyzing Spatial Point Patterns , 2005 .

[30]  Carl E. Rasmussen,et al.  Rates of Convergence for Sparse Variational Gaussian Process Regression , 2019, ICML.