Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
|
The Bernoulli distribution with two values. More...
#include <bernoulliDistribution.h>
Public Member Functions | |
bernoulliDistribution (double) | |
Unique onstructor for a Bernoulli distribution from the probability that it is equal to 1. More... | |
double | getParameter () |
Accessor to the parameter of the distribution. Redundant with the standard accessor proba() but more explicit. More... | |
double | proba () |
Accessor to the parameter of the distribution. Redundant with the accessor getParameter() but conform to the coding standard. 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 | 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... | |
bool | hasMoment (int order) |
test for the existence of moments of any order More... | |
bernoulliDistribution * | rescale (double factor) |
Rescaling the distribution. Bernoulli distributions cannot be rescaled. Ac copy is returned and an error message is issued if the factor is not 1.0. More... | |
bernoulliDistribution * | copy () |
copying a distribution. Typically implemented as rescale(1.0). More... | |
double | sample () |
drawing a (pseudo)random value according to the distribution. 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... | |
![]() | |
discreteDistribution (int sz, double *vals, double *probas) | |
Constructor for a general discrete distribution from arrays. The array is ***copied***, not taken as pointer. The mean is calculated at creation. More... | |
discreteDistribution (int sz, char *name) | |
Constructor for a general discrete distribution from a file. The file is assumed to contain only the probas. The values are arbitrarily chosen between 0 and sz-1. The mean is calculated at creation. More... | |
~discreteDistribution () | |
Destructor for a general discrete distribution. The convention is that internal arrays for values and probas are freed at this moment. If they are useful for something else, they sould be copied. More... | |
double | getProba (int i) |
Read accessor for the probas. This is a pseudo-accessor since it performs additional checks. More... | |
double | getValue (int i) |
Read accessor for the values. This is a pseudo-accessor since it performs additional checks. More... | |
int | nbVals () |
Read accessor to the number of values in the distribution. More... | |
bool | setProba (int i, double v) |
Write accessor for the probas. This is a pseudo-accessor since it performs additional checks. More... | |
double | mean () |
Calculation of the mean. Returns the value since it is pre-computed. More... | |
double | rate () |
Calculation of the rate, which is the inverse of the mean. If the mean is 0, the value INFINITE_RATE is returned. More... | |
double | moment (int order) |
Computing the moments of the distribution. 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) |
Computation of the cumulative density function at some real point x. More... | |
bool | hasMoment (int order) |
Test of existence of a moment. These distributions always have one. More... | |
discreteDistribution * | 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... | |
discreteDistribution * | copy () |
copying a distribution. Typically implemented as rescale(1.0). More... | |
double | sample () |
Sampling from the law This is the straightforward, non optimized, linear-time algorithm. More... | |
double | distanceL2 (discreteDistribution *d) |
Computes the L2 distance between two distributions. In case of incompatible or infinite sizes, a negative number is returned. More... | |
double | distanceL1 (discreteDistribution *d) |
Computes the L1 distance between this distribution and another one. In case of incompatible or infinite sizes, a negative number is returned. More... | |
double | distanceLinfinity (discreteDistribution *d) |
Computes the L-infinity distance between two distributions. In case of incompatible or infinite sizes, a negative number is returned. More... | |
std::string | toString () |
Printing a representation of the law into a string. More... | |
void | write (FILE *out, int mode) |
Printing a representation of the law. 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) |
![]() | |
discreteDistribution (int sz) | |
Constructor for a general discrete distribution from its size. Arrays are created to this size but not initialized. DANGEROUS to use since methods cannot check whether these arrays are correct or not. Use reserved to sub-types such as diracDistribution. More... | |
![]() | |
int | _nbVals |
double * | _values |
double * | _probas |
The Bernoulli distribution with two values.
bernoulliDistribution::bernoulliDistribution | ( | double | val | ) |
Unique onstructor for a Bernoulli distribution from the probability that it is equal to 1.
val | the value P( X = 1 ) |
|
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.
Computation of the cumulative density function at some real point x.
x | the value at which to compute the cdf |
Implements Distribution.
|
virtual |
copying a distribution. Typically implemented as rescale(1.0).
Implements Distribution.
|
virtual |
computing the derivative of the Laplace transform at real points
Computation of the derivative of the Laplace transform at some real point s.
s | the value at which to compute |
Implements Distribution.
|
inline |
Accessor to the parameter of the distribution. Redundant with the standard accessor proba() but more explicit.
|
virtual |
test for the existence of moments of any order
Test of existence of a moment. These distributions always have one.
order | the order of the moment to be tested |
Implements Distribution.
|
virtual |
computing the Laplace transform of the distribution at real point
Computation of the Laplace transform at some real point s.
s | the value at which to compute |
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.
Calculation of the of order n.
order | the order of the moment to be computed |
Implements Distribution.
|
inline |
Accessor to the parameter of the distribution. Redundant with the accessor getParameter() but conform to the coding standard.
|
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 the distribution. Bernoulli distributions cannot be rescaled. Ac copy is returned and an error message is issued if the factor is not 1.0.
factor | the real factor to be used |
Implements Distribution.
|
virtual |
drawing a (pseudo)random value according to the distribution.
Implements Distribution.
|
virtual |
an utility to convert the distribution into a string.
Printing a representation of the law into a string.
Implements Distribution.
|
virtual |
an utility to write the distribution to some file, according to some format.
Printing a representation of the law.
out | the file descriptor of the file |
mode | a code for the format to be used |
Implements Distribution.