oneapi::mkl::rng::chi_square
¶
Generates chi-square distributed random values.
Syntax
template<typename RealType = float, typename Method = chi_square_method::by_default> class chi_square { public: using method_type = Method; using result_type = RealType; chi_square(): chi_square(5){} explicit chi_square(std::int32_t n); explicit chi_square(const param_type& pt); std::int32_t n() const; param_type param() const; void param(const param_type& pt); };
Devices supported: Host and CPU
Include Files
oneapi/mkl/rng.hpp
Description
The
`oneapi::mkl::rng::chi_square
class object is used in theoneapi::mkl::rng::generate
function to provide random numbers with chi-square distribution andν
degrees of freedom,n
∈N,n
> 0.The probability density function is:
F_{v}(x) = \begin{cases} \frac {x^{\frac {n-2}{2}} e^{-\frac{x}{2}}} {2^{n/2} \Gamma (\frac {n}{2})} dy, & x \geq 0 \\ 0, & x < 0 \end{cases}
The cumulative distribution function is:
F_{v}(x) = \begin{cases} \int _{0}^{x} \frac {y^{\frac {n-2}{2}} e^{-\frac{n}{2}}} {2^{n/2} \Gamma (\frac {n}{2})} dy, & x \geq 0 \\ 0, & x < 0 \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::chi_square_method::by_default
Generation method. The specific values are as follows:
oneapi::mkl::rng::chi_square_method::gamma_based
See brief descriptions of the methods in Distributions Template Parameter Method.
Input Parameters
Name
Type
Description
n
std::int32_t
Degrees of freedom.