oneapi::mkl::rng::device::gaussian¶
Generates normally distributed random numbers.
Description¶
The oneapi::mkl::rng::device::gaussian
class object is used in the
oneapi::mkl::rng::device::generate
function to provide random numbers
with normal (Gaussian) distribution with mean (a
) and standard deviation
(stddev
, \(\sigma\) ), where \(a, \sigma \in \mathbb{R}; \sigma > 0\)
The probability density function is given by:
The cumulative distribution function is as follows:
The cumulative distribution function \(F_{a, \sigma}(x)\) can be expressed in terms of standard normal distribution \(\phi(x)\) as
API¶
Syntax¶
template<typename RealType, typename Method>
class gaussian {
public:
using method_type = Method;
using result_type = RealType;
gaussian(): gaussian((RealType)0.0, (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);
};
Include Files¶
oneapi/mkl/rng/device.hpp
Template Parameters¶
|
Type of the produced values. The specific values are as follows:
|
|
Generation method. The specific values are as follows:
|
Note: To enable oneapi::mkl::rng::device::gaussian_method::box_muller2
based on Vector Math functions, define the MKL_RNG_USE_BINARY_CODE macro and
link static oneMKL libraries according to the output produced by
Intel® oneAPI Math Kernel Library Link Line Advisor.
It may improve performance on some hardware.
Note: oneapi::mkl::rng::device::gaussian_method::icdf
is available only if the MKL_RNG_USE_BINARY_CODE macro is defined.
Also link static oneMKL libraries according to the output produced by
Intel® oneAPI Math Kernel Library Link Line Advisor.
Input Parameters¶
Name |
Type |
Description |
---|---|---|
mean |
|
Mean value |
stddev |
|
Standard deviation \(\sigma\). |