chi_square

Class is used for generation of chi-square distributed real types random numbers.

Description

The class object is used in the oneapi::mkl::rng::generate() function to provide random numbers chi-square distributed with n degrees of freedom, nN;n>0.

The probability distribution is given by:

fn(x)={xn22ex22n/2Γ(n/2),x00,x<0

The cumulative distribution function is as follows:

Fn(x)={0xyn22ex22n/2Γ(n/2)dy,x00,x<0

class chi_square

Syntax

namespace oneapi::mkl::rng {
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();
    explicit chi_square(std::int32_t n);
    std::int32_t n() const;
};
}

Template parameters

typename RealType
Type of the produced values. Supported types:
  • float

  • double

typename Method = oneapi::mkl::rng::chi_square_method::by_default

Transformation method, which will be used for generation. Supported types:

  • oneapi::mkl::rng::chi_square_method::by_default

  • oneapi::mkl::rng::chi_square_method::gamma_based

See description of the methods in Distributions methods template parameter.

Class Members

Routine

Description

chi_square()

Default constructor

explicit chi_square(std::int32_t n)

Constructor with parameters

std::int32_t n() const

Method to obtain number of degrees of freedom n

Member types

chi_square::method_type = Method

Description

The type which defines transformation method for generation.

chi_square::result_type = RealType

Description

The type which defines type of generated random numbers.

Constructors

chi_square::chi_square()

Description

Default constructor for distribution, parameters set as n = 5.

explicit chi_square::chi_square(std::int32_t n)

Description

Constructor with parameters. n is the number of degrees of freedom.

Throws

oneapi::mkl::invalid_argument

Exception is thrown when n<1

Characteristics

std::int32_t chi_square::n() const

Return Value

Returns the distribution parameter n - number of degrees of freedom.

Parent topic: Distributions