Notes for Intel® oneAPI Math Kernel Library Vector Statistics

ID 772987
Date 12/04/2020
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Visible to Intel only — GUID: GUID-756C294E-617E-49C4-9927-5D96CDACB10D

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.