Developer Reference

Contents

Distributions Template Parameter Method

Method Type
Distributions
Math Description
uniform_method::standard
uniform_method::accurate
uniform
Standard method. Currently there is only one method for these functions.
uniform_method::accurate
checks for additional
s
and
d
data types. For
integer
data types, it uses
d
as a
BRNG
data type (
s
BRNG
data type is used in
uniform_method::standard
method on GPU).
gaussian_method::box_muller
gaussian
Generates normally distributed random number x thru the pair of uniformly distributed numbers u1 and u2 according to the formula: LaTex Math image.
gaussian_method::box_muller2
gaussian
Generates normally distributed random numbers x1 and x2 thru the pair of uniformly distributed numbers u1 and u2 according to the formulas: LaTex Math image. LaTex Math image. Lognormal distribution: generated normally distributed random numbers x1 and x2 are converted to lognormal distribution.
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: LaTex Math image. LaTex Math image. Then x1 and x2 are converted to lognormal distribution.
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
α > 1
, a gamma distributed random number is generated as a cube of properly scaled normal random number; for
0.6 ≤α < 1
, a gamma distributed random number is generated using rejection from Weibull distribution; for
α < 0.6
, a gamma distributed random number is obtained using transformation of exponential power distribution; for
α = 1
, gamma distribution is reduced to exponential distribution.
beta_method::cja
beta_method::cja_accurate
beta
Cheng-Johnk-Atkinson method. For
min(p, q) > 1
, Cheng method is used; for
min(p, q) < 1
, Johnk method is used, if
q + K·p2+ C≤ 0 (K = 0.852..., C=-0.956...)
otherwise, Atkinson switching algorithm is used; for
max(p, q) < 1
, method of Johnk is used; for
min(p, q) < 1, max(p, q)> 1
, Atkinson switching algorithm is used (CJA stands for Cheng, Johnk, Atkinson); for
p = 1or q = 1
, inverse cumulative distribution function method is used; for
p = 1
and
q = 1
, beta distribution is reduced to uniform distribution.
chi_square_method::gamma_based
chi_square
(most common): If
ν ≥ 17
or ν is odd and
5 ≤ ν ≤ 15
, a chi-square distribution is reduced to a Gamma distribution with these parameters: Shape
α = ν / 2
Offset a = 0 Scale factor
β = 2
. The random numbers of the Gamma distribution are generated.
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
ntrial·min(p, 1p) ≥ 30
with decomposition into four regions:
Two parallelograms
Triangle
Left exponential tail
Right exponenetial tail
poisson_method::ptpe
poisson
Acceptance/rejection method for
λ≥ 27
with decomposition into four regions:
Two parallelograms
Triangle
Left exponential tail
Right exponenetial tail
poisson_method::gaussian_icdf_based
poisson_v_method::gaussian_icdf_based
poisson
poisson_v
for
λ≥ 1
, method based on Poisson inverse CDF approximation by Gaussian inverse CDF; for
λ < 1
, table lookup method is used.
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: LaTex Math image.with decomposition into five regions:
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.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.