English

Reconditioning your quantile function

Computation 2018-02-16 v3 Data Analysis, Statistics and Probability

Abstract

Monte Carlo simulation is an important tool for modeling highly nonlinear systems (like particle colliders and cellular membranes), and random, floating-point numbers are their fuel. These random samples are frequently generated via the inversion method, which harnesses the mapping of the quantile function Q(u) (e.g. to generate proposal variates for rejection sampling). Yet the increasingly large sample size of these simulations makes them vulnerable to a flaw in the inversion method; Q(u) is ill-conditioned in a distribution's tails, stripping precision from its sample. This flaw stems from limitations in machine arithmetic which are often overlooked during implementation (e.g. in popular C++ and Python libraries). This paper introduces a robust inversion method, which reconditions Q(u) by carefully drawing and using uniform variates. pqRand, a free C++ and Python package, implements this novel method for a number of popular distributions (exponential, normal, gamma, and more).

Keywords

Cite

@article{arxiv.1704.07949,
  title  = {Reconditioning your quantile function},
  author = {Keith Pedersen},
  journal= {arXiv preprint arXiv:1704.07949},
  year   = {2018}
}

Comments

11 pages, 3 figures, 2 algorithms

R2 v1 2026-06-22T19:27:59.537Z