Notes for Intel® oneAPI Math Kernel Library Vector Statistics

ID 772987
Date 12/04/2020
Public
Document Table of Contents

Gamma (VSL_RNG_METHOD_GAMMA_GNORM/ VSL_RNG_METHOD_GAMMA_GNORM_ACCURATE)

Random number generator of the gamma distribution with parameters shape α, offset a, and scale factor β. You can generate any successive random number γα of the standard gamma distribution (a = 0, β = 1) as follows:

  1. If α > 1, a gamma distributed random number can be generated as a cube of properly scaled normal random number [Mars2000]. The algorithm is based on the acceptance/rejection method using squeeze technique.

  2. If α < 1, a gamma distributed random number is generated using two acceptance/rejection based algorithms:

    • If α < 0.6, a gamma distributed random number is obtained by transformation of exponential power distributed random number [Dev86],
    • Otherwise, rejection method from Weibull distribution is used [Vad77], [Dev86].

When α = 1 gamma distribution is reduced to exponential distribution with parameters a, β. The random numbers of the exponential distribution are generated using method VSL_RNG_METHOD_EXPONENTIAL_ICDF. The gamma distributed random number γ with parameters α, a, and β is transformed from γα using scale and shift γ = a + βγα.

See Intel® oneAPI Math Kernel Library Vector Statistics Random Number Generator Performance Data for test results summary.