beta#
Class is used for generation of beta distributed real types random numbers.
Description
The class object is used in the oneapi::mkl::rng::generate() function to provide random numbers beta distributed with 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 distribution is given by:
The cumulative distribution function is as follows:
Where \(B(p, 1)\) is the complete beta function.
class beta#
Syntax
namespace oneapi::mkl::rng {
template<typename RealType = float, typename Method = beta_method::by_default>
class beta {
public:
    using method_type = Method;
    using result_type = RealType;
    beta();
    explicit beta(RealType p, RealType q, RealType a, RealType b);
    RealType p() const;
    RealType q() const;
    RealType a() const;
    RealType b() const;
};
}
Template parameters
- typename RealType
 - Type of the produced values. Supported types:
 floatdouble
- typename Method = oneapi::mkl::rng::beta_method::by_default
 Transformation method, which will be used for generation. Supported types:
oneapi::mkl::rng::beta_method::by_defaultoneapi::mkl::rng::beta_method::cjaoneapi::mkl::rng::beta_method::cja_accurate
See description of the methods in Distributions methods template parameter.
Class Members
Routine  | 
Description  | 
|---|---|
Default constructor  | 
|
explicit beta(RealType p, RealType q, RealType a, RealType b)  | 
Constructor with parameters  | 
Method to obtain shape   | 
|
Method to obtain shape   | 
|
Method to obtain displacement \(\alpha\)  | 
|
Method to obtain scalefactor \(\beta\)  | 
Member types
beta::method_type = Method
Description
The type which defines transformation method for generation.
beta::result_type = RealType
Description
The type which defines type of generated random numbers.
Constructors
beta::beta()
Description
Default constructor for distribution, parameters set as p = 1.0, q = 0.0, \(\alpha\) = 1.0, \(\beta\) = 1.0.
explicit beta::beta(RealType p, RealType q, RealType a, RealType b)
Description
Constructor with parameters. p and q are shapes, \(\alpha\) is a displacement, \(\beta\) is a scalefactor.
Throws
- oneapi::mkl::invalid_argument
 Exception is thrown when \(p \leq 0.0f\), or \(q \leq 0.0f\), or \(\beta \leq 0.0f\)
Characteristics
RealType beta::p() const
Return Value
Returns the distribution parameter p - shape.
RealType beta::q() const
Return Value
Returns the distribution parameter q - shape.
RealType beta::a() const
Return Value
Returns the distribution parameter \(\alpha\) - displacement.
RealType beta::b() const
Return Value
Returns the distribution parameter \(\beta\) - scalefactor.
Parent topic: Host Distributions