Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
|
Class for multidimensional, homogeneous random walk transition structures. These are characterized by. More...
#include <multiDimHomTransition.h>
Public Member Functions | |
multiDimHomTransition (int nbDims, int *dimSize, double *p, double *q) | |
General constructor of the class. More... | |
~multiDimHomTransition () | |
Destructor of the class. More... | |
int | dimSize (int d) |
Read accessor for the size of the state space in each dimension. More... | |
double | p (int d) |
Read accessor for the jump probability to the right in each dimension. More... | |
double | q (int d) |
Read accessor for the jump probability to the right in each dimension. More... | |
bool | setEntry (int i, int j, double val) |
Method to set the value associated with some transition. Not applicable here. More... | |
double | getEntry (int i, int j) |
Method to get the value associated with some transition. More... | |
int | getNbElts (int i) |
Method to get the number of non-zero entries in a transition from some state. This can be seen as the number of actually possible transitions from that state. More... | |
int | getCol (int i, int k) |
Method to get the number of the state corresponding to transition number k in the list of possible transitions from some state i. More... | |
double | getEntryByCol (int i, int k) |
Method to get the value attached to transition number k in the list of possible transitions from some state i. More... | |
discreteDistribution * | getTransDistrib (int i) |
Method to get the transition from some state as a probability distribution. More... | |
double | rowSum (int i) |
Sum of entries on some row i. Always 1.0 since this is a discrete-time transition structure. More... | |
multiDimHomTransition * | copy () |
Copying a transition structure. More... | |
multiDimHomTransition * | uniformize () |
Uniformizing a transition structure. Since the origin structure is already of discrete-time type, a copy is returned. More... | |
void | evaluateMeasure (double *d, double *res) |
Computing the action of the transition structure on some measure, the measure being represented as a vector of real numbers. This corresponds to the multiplication vector/matrix, the row vector being interpreted as a signed measure. The result is placed in an array that must have been previously allocated. More... | |
void | evaluateMeasure (discreteDistribution *d, discreteDistribution *res) |
Computing the action of the transition structure on some probability distribution. More... | |
void | evaluateValue (double *v, double *res) |
Computing the action of the transition structure on some vector of values. This corresponds to the multiplication matrix/vector, the column vector being interpreted as a vector of values attached to the states. More... | |
void | write (FILE *out, string format) |
Output method for the transition structure. Supported formats are: XBORNE, MARCA, Ers, Maple. More... | |
discreteDistribution * | getJumpDistribution () |
Getting a discrete distribution representing the generic jumps. The distribution has 2*nbDims + 1 values: 0, +/- 1, ..., +/- nDims. The coding is: More... | |
![]() | |
virtual | ~transitionStructure () |
Destructor of the class. More... | |
int | size () |
Read accessor for the size of the state space. More... | |
timeType | type () |
Read accessor for the time type. More... | |
double | uniformizationRate () |
Read accessor for the uniformization rate. Relevant mostly for discrete-time structures created by uniformization of a continuous-time one. More... | |
void | setType (timeType t) |
Write accessor for the time type. More... | |
void | setUniformizationRate (double rate) |
Write accessor for the uniformization rate. More... | |
bool | readEntry (FILE *input) |
Reading from a file, and adding an element to the matrix. The field must be in the form "row column value" with blank spaces as separators. More... | |
virtual void | write (FILE *out, std::string format)=0 |
Output method for a transition structure. More... | |
Protected Attributes | |
int | _nbDims |
the number of dimensions More... | |
int * | _dimSize |
size of the state space in each dimension More... | |
double * | _p |
probas to jump to the right in each dimension More... | |
double * | _q |
probas to jump to the left in each dimension More... | |
![]() | |
timeType | _type |
the time type of the structure: discrete or continuous. More... | |
long int | _size |
size of the state space. More... | |
double | _uniformizationRate |
value related to the uniformization procedure. More... | |
Additional Inherited Members | |
![]() | |
int | consolidate (int i, int *destinations, double *values) |
Method to consolidate (aggregate) transition probabilities from a given state. The method returns the number of different destination states, and modifies the arrays which will containt the lists of destinations and the corresponding probabilities. These arrays must have been allocated beforehand, with a size large enough to handle safely all possibilities. More... | |
Class for multidimensional, homogeneous random walk transition structures. These are characterized by.
multiDimHomTransition::multiDimHomTransition | ( | int | nbDims, |
int * | dimSize, | ||
double * | p, | ||
double * | q | ||
) |
General constructor of the class.
nbDims | the number of dimensions |
dimSize | the array of sizes |
p | the array of jump probabilities to the right |
q | the array of jump probabilities to the left |
multiDimHomTransition::~multiDimHomTransition | ( | ) |
Destructor of the class.
Destructor.
|
virtual |
|
inline |
Read accessor for the size of the state space in each dimension.
d | the dimension |
|
virtual |
Computing the action of the transition structure on some measure, the measure being represented as a vector of real numbers. This corresponds to the multiplication vector/matrix, the row vector being interpreted as a signed measure. The result is placed in an array that must have been previously allocated.
pi | the measure to evaluate |
res | the resulting measure |
Reimplemented from transitionStructure.
|
virtual |
Computing the action of the transition structure on some probability distribution.
d | the distribution to evaluate |
res | the resulting distribution |
Reimplemented from transitionStructure.
|
virtual |
Computing the action of the transition structure on some vector of values. This corresponds to the multiplication matrix/vector, the column vector being interpreted as a vector of values attached to the states.
v | the vector of values to evaluate |
res | the resulting vector |
Implements transitionStructure.
|
virtual |
Method to get the number of the state corresponding to transition number k in the list of possible transitions from some state i.
i | the origin state |
k | the index of transition from state i |
Implements transitionStructure.
|
virtual |
Method to get the value associated with some transition.
i | the origin state |
j | the destination state |
Implements transitionStructure.
|
virtual |
Method to get the value attached to transition number k in the list of possible transitions from some state i.
i | the origin state |
k | the index of the transition from state i |
Implements transitionStructure.
discreteDistribution * multiDimHomTransition::getJumpDistribution | ( | ) |
Getting a discrete distribution representing the generic jumps. The distribution has 2*nbDims + 1 values: 0, +/- 1, ..., +/- nDims. The coding is:
|
virtual |
Method to get the number of non-zero entries in a transition from some state. This can be seen as the number of actually possible transitions from that state.
i | the origin state |
Implements transitionStructure.
|
virtual |
Method to get the transition from some state as a probability distribution.
i | the origin state |
Implements transitionStructure.
|
inline |
Read accessor for the jump probability to the right in each dimension.
d | the dimension |
|
inline |
Read accessor for the jump probability to the right in each dimension.
d | the dimension |
|
virtual |
Sum of entries on some row i. Always 1.0 since this is a discrete-time transition structure.
i | the row to be summed |
Implements transitionStructure.
|
virtual |
Method to set the value associated with some transition. Not applicable here.
i | the origin state |
j | the destination state |
val | the value attached to the transition |
Implements transitionStructure.
|
virtual |
Uniformizing a transition structure. Since the origin structure is already of discrete-time type, a copy is returned.
Implements transitionStructure.
void multiDimHomTransition::write | ( | FILE * | out, |
string | format | ||
) |
Output method for the transition structure. Supported formats are: XBORNE, MARCA, Ers, Maple.
out | the file descriptor to which the structure should be written. |
format | the format/language to be used |
|
protected |
size of the state space in each dimension
|
protected |
the number of dimensions
|
protected |
probas to jump to the right in each dimension
|
protected |
probas to jump to the left in each dimension