Distributions Template Parameter Method
Method Type |
Distributions |
Math Description |
|---|---|---|
uniform_method::standard uniform_method::accurate |
uniform |
Standard method. It involves transforming the output of a generator by scaling and shifting it to fit within the desired interval. uniform_method::accurate checks for additional s and d data types. For integer data types, it uses d as a BRNG data type (sBRNG data type is used in uniform_method::standard method on GPU). |
gaussian_method::box_muller |
gaussian |
Generates normally distributed random number x through the pair of uniformly distributed numbers u1 and u2 according to the formula: |
gaussian_method::box_muller2 |
gaussian |
Generates normally distributed random numbers x1 and x2 through the pair of uniformly distributed numbers u1 and u2 according to the formulas: |
gaussian_method::icdf geometric_method::icdf |
gaussian geometric |
Inverse cumulative distribution function (ICDF) method. |
exponential_method::icdf exponential_method::icdf_accurate |
exponential |
Inverse cumulative distribution function (ICDF) method. |
weibull_method::icdf weibull_method::icdf_accurate |
weibull |
Inverse cumulative distribution function (ICDF) method. |
cauchy_method::icdf |
cauchy |
Inverse cumulative distribution function (ICDF) method. |
rayleigh_method::icdf rayleigh_method::icdf_accurate |
rayleigh |
Inverse cumulative distribution function (ICDF) method. |
lognormal_method::icdf lognormal_method::icdf_accurate |
lognormal |
Inverse cumulative distribution function (ICDF) method. |
lognormal_method::box_muller2 lognormal_method::box_muller2_accurate |
lognormal |
Normally distributed random numbers x1 and x2 are produced through the pair of uniformly distributed numbers u1 and u2 according to the formulas: |
gumbel_method::icdf |
gumbel |
Inverse cumulative distribution function (ICDF) method. |
bernoulli_method::icdf |
bernoulli |
Inverse cumulative distribution function (ICDF) method. |
gamma_method::marsaglia gamma_method::marsaglia_accurate |
gamma |
For |
beta_method::cja beta_method::cja_accurate |
beta |
|
chi_square_method::gamma_based |
chi_square |
(most common): If |
gaussian_mv_method::box_muller gaussian_mv_method::box_muller2 gaussian_mv_method::icdf |
gaussian_mv |
BoxMuller method for multivariate Gaussian distribution. BoxMuller_2 method for multivariate Gaussian distribution. Inverse cumulative distribution function (ICDF) method. |
binomial_method::btpe |
binomial |
Acceptance/rejection method for Two parallelograms Triangle Left exponential tail Right exponential tail |
poisson_method::ptpe |
poisson |
Acceptance/rejection method for Two parallelograms Triangle Left exponential tail Right exponenetial tail |
poisson_method::gaussian_icdf_based poisson_v_method::gaussian_icdf_based |
poissonpoisson_v |
for |
hypergeometric_method::h2pe |
hypergeometric |
Acceptance/rejection method for large mode of distribution with decomposition into three regions: Rectangular Left exponential tail Right exponential tail |
negative_binomial_method::nbar |
negative_binomial |
Acceptance/rejection method for: Rectangular (2) trapezoid Left exponential tail Right exponential tail |
multinomial_method::poisson_icdf_based |
multinomial |
Multinomial distribution with parameters m, k, and a probability vector p. Random numbers of the multinomial distribution are generated by Poisson Approximation method. |
.
,
.
,
Then x1 and x2 are converted to lognormal distribution.
, a gamma distributed random number is generated as a cube of a properly scaled normal random number; for
, a gamma distributed random number is generated using rejection from Weibull distribution; for
, a gamma distributed random number is obtained using transformation of exponential power distribution; for
, gamma distribution is reduced to exponential distribution.
, Cheng method is used.
:
, Johnk method is used.
, Atkinson switching algorithm is used.
or
, inverse cumulative distribution function method is used
or ν is odd and
, a chi-square distribution is reduced to a Gamma distribution with these parameters: Shape
Offset
Scale factor
. The random numbers of the Gamma distribution are generated.
with decomposition into four regions:
with decomposition into four regions:
, method based on Poisson inverse CDF approximation by Gaussian inverse CDF; for
, table lookup method is used.
with decomposition into five regions: