beta#
Generates Beta distributed random numbers.
Description#
The beta
class object is used in the generate
function to provide
random numbers with beta distribution that has shape parameters \(p\) and \(q\),
displacement \(\alpha\), and scale parameter \((b, \beta)\), where \(p\), \(q\),
\(\alpha\), \(\beta\) \(\in R; p > 0; q > 0; \beta > 0\).
The probability density function is given by:
The cumulative distribution function is as follows:
Where \(B(p, 1)\) is the complete beta function.
API#
Syntax#
namespace oneapi::mkl::rng::device {
template<typename RealType, typename Method>
class beta {
public:
using method_type = Method;
using result_type = RealType;
beta() : beta((RealType)1.0, (RealType)1.0, (RealType)0.0, (RealType)1.0){}
explicit beta(RealType p, RealType q, RealType a, RealType b);
explicit beta(const param_type& pt);
RealType p() const;
RealType q() const;
RealType a() const;
RealType b() const;
param_type param() const;
std::size_t count_rejected_numbers() 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:
See brief descriptions of the methods in Distributions Template Parameter Method |
Note
To enable extra optimizations 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.
Input Parameters#
Name |
Type |
Description |
---|---|---|
p |
|
Shape |
q |
|
Shape |
a |
|
Displacement \(\alpha\). |
b |
|
Scalefactor \(\beta\). |
Special methods#
std::size_t count_rejected_numbers() const
Returns the amount of random numbers that were rejected during the last generate
function call.
If no generate
calls, returns 0
.