NonUniformRandomVariateGeneration.jl

Non-uniform random variate generation
Author awllee
Popularity
1 Star
Updated Last
3 Years Ago
Started In
May 2018

Non-Uniform Random Variate Generation

CI codecov

This package provides some non-uniform random variate generation schemes. They can use specified random number generators, and hence can be used in multi-threaded applications with different random number generators associated to each thread.

The current emphasis is on stateless algorithms with distribution parameters passed in.

In the future, some of these approaches may be superseded by functionality in Distributions.jl.

Currently includes generation of the following random variates:

  • Binomial: W. Hörmann. The Generation of Binomial Random Variates, Journal of Statistical Computation and Simulation 46, 1993.

  • Multinomial: using Binomial random variates.

  • Gamma: Marsaglia, G. and Tsang, W.W., 2000. A simple method for generating gamma variables. ACM Transactions on Mathematical Software (TOMS), 26(3).

  • Beta: using Gamma random variates.

  • Poisson: Ahrens, J.H. and Dieter, U., 1982. Computer generation of Poisson deviates from modified normal distributions. ACM Transactions on Mathematical Software (TOMS), 8(2), pp. 163-179.

  • Sorted Uniforms: Uniform spacing method, Algorithm B, p. 214 of L. Devroye. Non-uniform random variate generation. 1986.

  • Categorical: using inversion with sorted uniforms. This method can be faster than the alias method, depending on the setting.

Required Packages

No packages found.