gaussian#

Generates normally distributed random numbers.

Description#

The class object is used in generate function to provide random numbers with normal (Gaussian) distribution with mean (a) and standard deviation (stddev, σ), where \(a, \sigma \in R; \sigma > 0\).

The probability density function is given by:

\[f_{a, \sigma} (x) = \frac{1}{\sigma \sqrt{2 \pi}} \exp \left( - \frac{(y-a)^2}{2\sigma^2} \right) dy, - \infty < x < + \infty\]

The cumulative distribution function is as follows:

\[F_{a, \sigma} (x) = \int_{-\infty}^{x} \frac{1}{\sigma \sqrt{2 \pi}} \exp \left( - \frac{(y-a)^2}{2\sigma^2} \right) dy, - \infty < x < + \infty\]

The cumulative distribution function \(Fa,\sigma (x)\) can be expressed in terms of standard normal distribution \(\phi(x)\) as \(Fa, \sigma ( \,x) \, = \phi( \, ( \, x-a) \, / \sigma ) \,\)

API#

Syntax#

namespace oneapi::mkl::rng {
  template<typename RealType = float,
           typename Method = gaussian_method::by_default>
  class gaussian {
  public:
    using method_type = Method;
    using result_type = RealType;

    gaussian(): gaussian(static_cast<RealType>(0.0), static_cast<RealType>(1.0)){}
    explicit gaussian(RealType mean, RealType stddev);
    explicit gaussian(const param_type& pt);

    RealType mean() const;
    RealType stddev() const;
    param_type param() const;
    void param(const param_type& pt);
  };
}

Devices supported: CPU and GPU.

Include Files#

  • oneapi/mkl/rng.hpp

Template Parameters#

Name

Description

typename RealType = float

Type of the produced values. The specific values are as follows:

float

double

typename Method = ``oneapi::mkl::rng::gaussian_method::by_default

Generation method. The specific values are as follows:

oneapi::mkl::rng::gaussian_method::box_muller

oneapi::mkl::rng::gaussian_method::box_muller2

oneapi::mkl::rng::gaussian_method::icdf

See brief descriptions of the methods in Distributions Template Parameter Method.

Input Parameters#

Name

Type

Description

mean

RealType (float, double)

Mean value a.

stddev

RealType (float, double)

Standard deviation σ.