oneapi::mkl::rng::lognormal
¶
Generates lognormally distributed random numbers.
Syntax
template<typename RealType = float, typename Method = lognormal_method::by_default> class lognormal { public: using method_type = Method; using result_type = RealType; lognormal(): lognormal((RealType)0.0, (RealType)1.0, (RealType) 0.0, (RealType)1.0){} explicit lognormal(RealType m, RealType s, RealType displ = RealType) 0.0, RealType scale = (RealType)1.0); explicit lognormal(const param_type& pt); RealType m() const; RealType s() const; RealType displ() const; RealType scale() const; param_type param() const; void param(const param_type& pt); };
Devices supported: Host, CPU, and GPU.
Include Files
oneapi/mkl/rng.hpp
Description
The
oneapi::mkl::rng::lognormal
class object is used in theoneapi::mkl::rng::generate
function to provide random numbers with average of distribution (m
,a
) and standard deviation (s
, σ) of subject normal distribution, displacement (displ
,b
), and scalefactor (scale
, β), wherea, σ, b, β ∈ R ; σ > 0 , β > 0
.The probability density function is given by:
F_{a, \sigma, b, \beta} (x) = \begin{cases} \frac{1}{\sigma (x - b) \sqrt {2\pi}} \exp \left( -\frac{\ln( \frac{x - b}{\beta}) - a)^2}{2\sigma^2} \right), & x > b \\ 0, & x \leq b \end{cases}
The cumulative distribution function is as follows:
F_{a, \sigma, b, \beta} (x) = \begin{cases} \Phi \left(\frac{\ln( \frac{x - b}{\beta}) - a}{\sigma} \right), & x > b \\ 0, & x \leq b \end{cases}
Template Parameters
typename RealType = float
Type of the produced values. The specific values are as follows:
float
double
typename Method = oneapi::mkl::rng::lognormal_method::by_default
Generation method. The specific values are as follows:
oneapi::mkl::rng::lognormal_method::box_muller2
oneapi::mkl::rng::lognormal_method::box_muller2_accurate
oneapi::mkl::rng::lognormal_method::icdf
oneapi::mkl::rng::lognormal_method::icdf_accurate
See brief descriptions of the methods in Distributions Template Parameter Method.
Input Parameters
Name
Type
Description
m
RealType (float, double)
Average
a
of the subject normal distribution.s
RealType (float, double)
Standard deviation σ of the subject normal distribution.
displ
RealType (float, double)
Displacement
displ
.scale
RealType (float, double)
Scalefactor
scale
.