Ziggurat
The Ziggurat Method for Generating Random Variables. We provide a new version of our ziggurat method for generating a random variable from a given decreasing density. It is faster and simpler than the original, and will produce, for example, normal or exponential variates at the rate of 15 million per second with a C version on a 400MHz PC. It uses two tables, integers ki, and reals wi. Some 99% of the time, the required x is produced by: Generate a random 32-bit integer j and let i be the index formed from the rightmost 8 bits of j. If j < k, return x = j x wi. We illustrate with C code that provides for inline generation of both normal and exponential variables, with a short procedure for settting up the necessary tables.
This software is also peer reviewed by journal JSS.
This software is also peer reviewed by journal JSS.
Keywords for this software
References in zbMATH (referenced in 47 articles )
Showing results 1 to 20 of 47.
Sorted by year (- Aguiar e Oliveira, Hime jun.: Deterministic sampling from uniform distributions with Sierpiński space-filling curves (2022)
- Giles, Michael; Sheridan-Methven, Oliver: Analysis of nested multilevel Monte Carlo using approximate normal random variables (2022)
- Battaglia, Francesco; Cucina, Domenico; Rizzo, Manuel: Detection and estimation of additive outliers in seasonal time series (2020)
- Belov, A. A.; Kalitkin, N. N.; Tintul, M. A.: Unreliability of available pseudorandom number generators (2020)
- Kurita, Takamitsu: Likelihood-based tests for parameter constancy in (I(2)) CVAR models with an application to fixed-term deposit data (2020)
- Aletti, Giacomo: Generation of discrete random variables in scalable frameworks (2018)
- Bercin, Kutalmis M.; Xie, Zheng-Tong; Turnock, Stephen R.: Exploration of digital-filter and forward-stepwise synthetic turbulence generators and an improvement for their skewness-kurtosis (2018)
- Minh, Nguyen Dang; To Duc, Khanh; Tuan, Nguyen Huy; Trong, Dang Duc: A two-dimensional backward heat problem with statistical discrete data (2018)
- Nane, Erkan; Tuan, Nguyen Huy: Approximate solutions of inverse problems for nonlinear space fractional diffusion equations with randomly perturbed data (2018)
- Nguyen, Nguyet; Xu, Linlin; Ökten, Giray: A quasi-Monte Carlo implementation of the ziggurat method (2018)
- Spantini, Alessio; Bigoni, Daniele; Marzouk, Youssef: Inference via low-dimensional couplings (2018)
- Nowak, Piotr; Romaniuk, Maciej: Catastrophe bond pricing for the two-factor Vasicek interest rate model with automatized fuzzy decision making (2017)
- Sun, Yunpeng; Mendoza-Arriaga, Rafael; Linetsky, Vadim: Marshall-Olkin distributions, subordinators, efficient simulation, and applications to credit risk (2017)
- Karney, Charles F. F.: Sampling exactly from the normal distribution (2016)
- Loyola R, Diego G.; Pedergnana, Mattia; Gimeno García, Sebastián: Smart sampling and incremental function learning for very large high dimensional data (2016)
- McFarland, Christopher D.: A modified ziggurat algorithm for generating exponentially and normally distributed pseudorandom numbers (2016)
- Riesinger, Christoph; Neckel, Tobias; Rupp, Florian: Solving random ordinary differential equations on GPU clusters using multiple levels of parallelism (2016)
- Huthmacher, Klaus; Herzwurm, André; Gnewuch, Michael; Ritter, Klaus; Rethfeld, Baerbel: Monte Carlo simulation of electron dynamics in liquid water (2015)
- Rakshit, Pratyusha; Konar, Amit: Differential evolution for noisy multiobjective optimization (2015)
- Ceperic, Vladimir; Gielen, Georges; Baric, Adrijan: Sparse varepsilon (\varepsilon)-tube support vector regression by active learning (2014) ioport