Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
|
The Poisson distribution. The parameter is called "lambda". The Poisson distribution is discrete but does not inherit from discreteDistribution because its range is infinite. More...
#include <poissonDistribution.h>
Public Member Functions | |
poissonDistribution (double lambda) | |
Constructor for a Poisson distribution from its "lambda" parameter. The mean is calculated at creation. More... | |
~poissonDistribution () | |
Destructor for a Poisson distribution. More... | |
double | getProba (double k) |
Function to obtain the probability of a specific value k. More... | |
double | lambda () |
Function to obtain the parameter (or ratio) of the distribution. Redundant with p() but defined to be more explicit. More... | |
double | mean () |
computing the mathematical expectation or mean More... | |
double | rate () |
computing the "rate", defined as the inverse of the mean More... | |
double | moment (int order) |
Computing the moments of the distribution. More... | |
double | variance () |
Computing the variance of the random variable: the second moment minus the square of the first moment. Variance is the square of the coefficient of variation. The Distribution class offers a default implementation. More... | |
double | laplace (double s) |
computing the Laplace transform of the distribution at real point More... | |
double | dLaplace (double s) |
computing the derivative of the Laplace transform at real points More... | |
double | cdf (double x) |
computing the cumulative distribution function at some real point x. This is the probability that the random variable is less or equal to x. More... | |
double | ccdf (double x) |
computing the complementary cumulative distributon function (or tail) at some real point x. This is the probability that the random variable is strictly larger than x. The Distribution class offers a default implementation. More... | |
bool | hasMoment (int order) |
test for the existence of moments of any order More... | |
poissonDistribution * | rescale (double factor) |
rescaling a distribution by some real factor. Not all distributions allow this for any real factor. If the operation fails, or if the factor is 1.0, a copy of the distribution should be returned (not by using the copy() function). More... | |
poissonDistribution * | copy () |
copying a distribution. Typically implemented as rescale(1.0). More... | |
double | sample () |
Sample from the Poisson distibution. Uses the "R" package. More... | |
void | iidSample (int n, double *s) |
drawing an i.i.d. sample from the distribution. The result is returned in an array (that must have been already allocated) passed as a parameter. The Distribution class offers the default implementation with repeated call to sample(). More... | |
std::string | toString () |
an utility to convert the distribution into a string. More... | |
void | write (FILE *out, int mode) |
an utility to write the distribution to some file, according to some format. More... | |
![]() | |
virtual | ~Distribution () |
Standard destructor. More... | |
std::string | name () |
Read accessor to the type name of the distribution. More... | |
double | variance () |
Computing the variance of the random variable: the second moment minus the square of the first moment. Variance is the square of the coefficient of variation. The Distribution class offers a default implementation. More... | |
double | ccdf (double x) |
computing the complementary cumulative distributon function (or tail) at some real point x. This is the probability that the random variable is strictly larger than x. The Distribution class offers a default implementation. More... | |
void | iidSample (int n, double *s) |
drawing an i.i.d. sample from the distribution. The result is returned in an array (that must have been already allocated) passed as a parameter. The Distribution class offers the default implementation with repeated call to sample(). More... | |
virtual double | distanceL1 (Distribution *d) |
Computing generally the L1 distance between distributions. More... | |
virtual bool | hasProperty (std::string pro) |
Property test function. Current properties are: More... | |
void | fprint () |
write on stdout with NORMAL_PRINT_MODE More... | |
Additional Inherited Members | |
![]() | |
static double | u_0_1 (void) |
static double | exponential (double mean) |
![]() | |
std::string | _name |
double | _mean |
![]() | |
static const double | VALUE_TOLERANCE = 1.0e-8 |
The Poisson distribution. The parameter is called "lambda". The Poisson distribution is discrete but does not inherit from discreteDistribution because its range is infinite.
poissonDistribution::poissonDistribution | ( | double | lambda | ) |
Constructor for a Poisson distribution from its "lambda" parameter. The mean is calculated at creation.
lambda | a non-negative real number |
poissonDistribution::~poissonDistribution | ( | ) |
Destructor for a Poisson distribution.
double poissonDistribution::ccdf | ( | double | x | ) |
computing the complementary cumulative distributon function (or tail) at some real point x. This is the probability that the random variable is strictly larger than x. The Distribution class offers a default implementation.
x | the value at which to compute the ccdf |
|
virtual |
computing the cumulative distribution function at some real point x. This is the probability that the random variable is less or equal to x.
x | the value at which to compute the cdf |
Computation of the cumulative density function at some real point x
x | value at which the CDF is computed |
Implements Distribution.
|
virtual |
copying a distribution. Typically implemented as rescale(1.0).
Copying the law
Implements Distribution.
|
virtual |
computing the derivative of the Laplace transform at real points
s | the value at which to compute |
Computation of the derivative of the Laplace transform at some real point s
s | value at which the derivative is computed |
Implements Distribution.
double poissonDistribution::getProba | ( | double | k | ) |
Function to obtain the probability of a specific value k.
k | the value at which the probability should be computed |
Computation of the probability of some value
k | value at which the probability is computed |
|
virtual |
test for the existence of moments of any order
order | the order of the moment to be tested |
Implements Distribution.
void poissonDistribution::iidSample | ( | int | n, |
double * | s | ||
) |
drawing an i.i.d. sample from the distribution. The result is returned in an array (that must have been already allocated) passed as a parameter. The Distribution class offers the default implementation with repeated call to sample().
n | the number of values to sample |
s | an array to be filled with the sample |
|
inline |
Function to obtain the parameter (or ratio) of the distribution. Redundant with p() but defined to be more explicit.
|
virtual |
computing the Laplace transform of the distribution at real point
s | the value at which to compute |
Computation of the Laplace transform at some real point s
s | value at which the derivative is computed |
Implements Distribution.
|
virtual |
computing the mathematical expectation or mean
Calculation of the mean. Returns the value since it is pre-computed
Implements Distribution.
|
virtual |
Computing the moments of the distribution.
order | the order of the moment to be computed |
Implements Distribution.
|
virtual |
computing the "rate", defined as the inverse of the mean
Calculation of the rate, which is the inverse of the mean
Implements Distribution.
|
virtual |
rescaling a distribution by some real factor. Not all distributions allow this for any real factor. If the operation fails, or if the factor is 1.0, a copy of the distribution should be returned (not by using the copy() function).
factor | the real factor to be used |
Rescaling the law X by some real factor f
factor | the factor f |
Implements Distribution.
|
virtual |
Sample from the Poisson distibution. Uses the "R" package.
Implements Distribution.
|
virtual |
an utility to convert the distribution into a string.
Printing a representation of the law into a string
Implements Distribution.
double poissonDistribution::variance | ( | ) |
Computing the variance of the random variable: the second moment minus the square of the first moment. Variance is the square of the coefficient of variation. The Distribution class offers a default implementation.
|
virtual |
an utility to write the distribution to some file, according to some format.
out | the file descriptor of the file |
mode | a code for the format to be used |
Printing a representation of the law
out | the output stream |
mode | representation for the output |
Implements Distribution.