  Determinantal Point Processes (DPPs) were introduced by Macchi as a model for
repulsive (fermionic) particle distributions. But their recent popularization
is largely due to their usefulness for encouraging diversity in the final stage
of a recommender system.
  The standard sampling scheme for finite DPPs is a spectral decomposition
followed by an equivalent of a randomly diagonally-pivoted Cholesky
factorization of an orthogonal projection, which is only applicable to
Hermitian kernels and has an expensive setup cost. Researchers have begun to
connect DPP sampling to $LDL^H$ factorizations as a means of avoiding the
initial spectral decomposition, but existing approaches have only outperformed
the spectral decomposition approach in special circumstances, where the number
of kept modes is a small percentage of the ground set size.
  This article proves that trivial modifications of $LU$ and $LDL^H$
factorizations yield efficient direct sampling schemes for non-Hermitian and
Hermitian DPP kernels, respectively. Further, it is experimentally shown that
even dynamically-scheduled, shared-memory parallelizations of high-performance
dense and sparse-direct factorizations can be trivially modified to yield DPP
sampling schemes with essentially identical performance.
  The software developed as part of this research, Catamari,
https://hodgestar.com/catamari, is released under the Mozilla Public License
v2.0. It contains header-only, C++14 plus OpenMP 4.0 implementations of dense
and sparse-direct, Hermitian and non-Hermitian DPP samplers.
