poisson

poisson

Class is used for generation of Poisson distributed integer types random numbers.

Description

The class object is used in the oneapi::mkl::rng::generate() function to provide random numbers Poisson distributed with distribution parameter \(\lambda\), where \(\lambda \in R; \lambda > 0;\).

The probability distribution is given by:

\[P(X = k) = \frac{\lambda^ke^{-\lambda}}{k!}.\]

The cumulative distribution function is as follows:

\[\begin{split}F_{\lambda}(x) = \left\{ \begin{array}{rcl} \sum_{k = 0}^{\lfloor x \rfloor} \frac{\lambda^ke^{-\lambda}}{k!}, x \ge 0 \\ 0, x < 0 \end{array}\right.\end{split}\]

class poisson

Syntax

namespace oneapi::mkl::rng {
template<typename IntType = std::int32_t, typename Method = poisson_method::by_default>
class poisson {
public:
    using method_type = Method;
    using result_type = IntType;
    poisson();
    explicit poisson(double lambda);
    double lambda() const;
};
}

Template parameters

typename IntType
Type of the produced values. Supported types:
  • std::int32_t

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

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

  • oneapi::mkl::rng::poisson_method::by_default

  • oneapi::mkl::rng::poisson_method::ptpe

  • oneapi::mkl::rng::poisson_method::gaussian_icdf_based

See description of the methods in Distributions methods template parameter.

Class Members

Routine

Description

poisson()

Default constructor

explicit poisson(double lambda)

Constructor with parameters

double lambda() const

Method to obtain distribution parameter

Member types

poisson::method_type = Method

Description

The type which defines transformation method for generation.

poisson::result_type = IntType

Description

The type which defines type of generated random numbers.

Constructors

poisson::poisson()

Description

Default constructor for distribution, parameters set as lambda = 0.5.

explicit poisson::poisson(double lambda)

Description

Constructor with parameters. lambda is a distribution parameter.

Throws

oneapi::mkl::invalid_argument

Exception is thrown when \(lambda \leq 0.0\)

Characteristics

double poisson::lambda() const

Return Value

Returns the distribution parameter lambda.

Parent topic: Distributions