Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
|
Abstract class for transition structures. These are structures which describe transitions to one state to another one, to which is attached a numeric label. Typical instances should be one-step transition matrices of discrete-time Markov chains, and infinitesimal generators of continuous-time Markov chains. More...
#include <transitionStructure.h>
Public Member Functions | |
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... | |
virtual bool | setEntry (int i, int j, double val)=0 |
Method to set the value associated with some transition. More... | |
virtual double | getEntry (int i, int j)=0 |
Method to get the value associated with some transition. When state parameters are out of bounds, the returned value should be 0. More... | |
virtual int | getNbElts (int i)=0 |
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... | |
virtual int | getCol (int i, int k)=0 |
Method to get the number of the state corresponding to transition number k in the list of possible transitions from some state i. More... | |
virtual double | getEntryByCol (int i, int k)=0 |
Method to get the value attached to transition number k in the list of possible transitions from some state i. More... | |
virtual discreteDistribution * | getTransDistrib (int i)=0 |
Method to get the transition from some state as a probability distribution. 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 double | rowSum (int i)=0 |
Calculating the sum of values corresponding to transitions from some state. More... | |
virtual transitionStructure * | copy ()=0 |
Copying a transition structure. More... | |
virtual transitionStructure * | uniformize ()=0 |
Uniformizing a transition structure. The structure should be of continuous time type. The resulting one will be of discrete time type. If uniformization fails, a NULL pointer should be returned. If the origin structure is already of discrete-time type, a copy should be returned. More... | |
virtual 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. More... | |
virtual void | evaluateMeasure (discreteDistribution *d, discreteDistribution *res) |
Computing the action of the transition structure on some probability distribution. More... | |
virtual void | evaluateValue (double *v, double *res)=0 |
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... | |
virtual void | write (FILE *out, std::string format)=0 |
Output method for a transition structure. 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... | |
virtual bool | setEntry (int i, int j, double val)=0 |
Method to set the value associated with some transition. More... | |
virtual double | getEntry (int i, int j)=0 |
Method to get the value associated with some transition. When state parameters are out of bounds, the returned value should be 0. More... | |
virtual int | getNbElts (int i)=0 |
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... | |
virtual int | getCol (int i, int k)=0 |
Method to get the number of the state corresponding to transition number k in the list of possible transitions from some state i. More... | |
virtual double | getEntryByCol (int i, int k)=0 |
Method to get the value attached to transition number k in the list of possible transitions from some state i. More... | |
virtual discreteDistribution * | getTransDistrib (int i)=0 |
Method to get the transition from some state as a probability distribution. 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 double | rowSum (int i)=0 |
Calculating the sum of values corresponding to transitions from some state. More... | |
virtual transitionStructure * | copy ()=0 |
Copying a transition structure. More... | |
virtual transitionStructure * | uniformize ()=0 |
Uniformizing a transition structure. The structure should be of continuous time type. The resulting one will be of discrete time type. If uniformization fails, a NULL pointer should be returned. If the origin structure is already of discrete-time type, a copy should be returned. More... | |
virtual 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. More... | |
virtual void | evaluateMeasure (discreteDistribution *d, discreteDistribution *res) |
Computing the action of the transition structure on some probability distribution. More... | |
virtual void | evaluateValue (double *v, double *res)=0 |
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... | |
virtual void | write (FILE *out, std::string format)=0 |
Output method for a transition structure. More... | |
Protected Member Functions | |
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... | |
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... | |
Protected Attributes | |
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... | |
Abstract class for transition structures. These are structures which describe transitions to one state to another one, to which is attached a numeric label. Typical instances should be one-step transition matrices of discrete-time Markov chains, and infinitesimal generators of continuous-time Markov chains.
|
inlinevirtual |
Destructor of the class.
|
inlinevirtual |
Destructor of the class.
|
protected |
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.
i | the origin state |
destinations | the list of destinations |
values | the list of probabilities |
|
protected |
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.
i | the origin state |
destinations | the list of destinations |
values | the list of probabilities |
|
pure virtual |
Copying a transition structure.
Implemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
pure virtual |
Copying a transition structure.
Implemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
inlinevirtual |
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.
d | the measure to evaluate |
res | the resulting measure |
Reimplemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
inlinevirtual |
Computing the action of the transition structure on some probability distribution.
d | the distribution to evaluate |
res | the resulting distribution |
Reimplemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
inlinevirtual |
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.
d | the measure to evaluate |
res | the resulting measure |
Reimplemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
inlinevirtual |
Computing the action of the transition structure on some probability distribution.
d | the distribution to evaluate |
res | the resulting distribution |
Reimplemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
pure 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 |
Implemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
pure 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 |
Implemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
pure 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 |
Implemented in multiDimHomTransition, sparseMatrix, multiDimHomTransition, sparseMatrix, eventMixture, and eventMixture.
|
pure 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 |
Implemented in multiDimHomTransition, sparseMatrix, multiDimHomTransition, sparseMatrix, eventMixture, and eventMixture.
|
pure virtual |
Method to get the value associated with some transition. When state parameters are out of bounds, the returned value should be 0.
i | the origin state |
j | the destination state |
Implemented in multiDimHomTransition, multiDimHomTransition, sparseMatrix, eventMixture, sparseMatrix, and eventMixture.
|
pure virtual |
Method to get the value associated with some transition. When state parameters are out of bounds, the returned value should be 0.
i | the origin state |
j | the destination state |
Implemented in multiDimHomTransition, multiDimHomTransition, sparseMatrix, eventMixture, sparseMatrix, and eventMixture.
|
pure 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 |
Implemented in multiDimHomTransition, sparseMatrix, multiDimHomTransition, sparseMatrix, eventMixture, and eventMixture.
|
pure 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 |
Implemented in multiDimHomTransition, sparseMatrix, multiDimHomTransition, sparseMatrix, eventMixture, and eventMixture.
|
pure 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 |
Implemented in multiDimHomTransition, sparseMatrix, multiDimHomTransition, eventMixture, sparseMatrix, and eventMixture.
|
pure 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 |
Implemented in multiDimHomTransition, sparseMatrix, multiDimHomTransition, eventMixture, sparseMatrix, and eventMixture.
|
pure virtual |
Method to get the transition from some state as a probability distribution.
i | the origin state |
Implemented in sparseMatrix, multiDimHomTransition, sparseMatrix, multiDimHomTransition, eventMixture, and eventMixture.
|
pure virtual |
Method to get the transition from some state as a probability distribution.
i | the origin state |
Implemented in sparseMatrix, multiDimHomTransition, sparseMatrix, multiDimHomTransition, eventMixture, and eventMixture.
bool transitionStructure::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.
input | is the input flow from which the data is read |
bool transitionStructure::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.
input | is the input flow from which the data is read |
|
pure virtual |
Calculating the sum of values corresponding to transitions from some state.
i | the state |
Implemented in sparseMatrix, multiDimHomTransition, sparseMatrix, multiDimHomTransition, eventMixture, and eventMixture.
|
pure virtual |
Calculating the sum of values corresponding to transitions from some state.
i | the state |
Implemented in sparseMatrix, multiDimHomTransition, sparseMatrix, multiDimHomTransition, eventMixture, and eventMixture.
|
pure virtual |
Method to set the value associated with some transition.
i | the origin state |
j | the destination state |
val | the value attached to the transition |
Implemented in multiDimHomTransition, multiDimHomTransition, eventMixture, sparseMatrix, eventMixture, and sparseMatrix.
|
pure virtual |
Method to set the value associated with some transition.
i | the origin state |
j | the destination state |
val | the value attached to the transition |
Implemented in multiDimHomTransition, multiDimHomTransition, eventMixture, sparseMatrix, eventMixture, and sparseMatrix.
|
inline |
Write accessor for the time type.
t | the time type to be set |
|
inline |
Write accessor for the time type.
t | the time type to be set |
|
inline |
Write accessor for the uniformization rate.
rate | the rate to be set |
|
inline |
Write accessor for the uniformization rate.
rate | the rate to be set |
|
inline |
Read accessor for the size of the state space.
|
inline |
Read accessor for the size of the state space.
|
inline |
Read accessor for the time type.
|
inline |
Read accessor for the time type.
|
inline |
Read accessor for the uniformization rate. Relevant mostly for discrete-time structures created by uniformization of a continuous-time one.
|
inline |
Read accessor for the uniformization rate. Relevant mostly for discrete-time structures created by uniformization of a continuous-time one.
|
pure virtual |
Uniformizing a transition structure. The structure should be of continuous time type. The resulting one will be of discrete time type. If uniformization fails, a NULL pointer should be returned. If the origin structure is already of discrete-time type, a copy should be returned.
Implemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
pure virtual |
Uniformizing a transition structure. The structure should be of continuous time type. The resulting one will be of discrete time type. If uniformization fails, a NULL pointer should be returned. If the origin structure is already of discrete-time type, a copy should be returned.
Implemented in sparseMatrix, sparseMatrix, multiDimHomTransition, multiDimHomTransition, eventMixture, and eventMixture.
|
pure virtual |
Output method for a transition structure.
out | the file descriptor to which the structure should be written. |
format | the format/language to be used. |
Implemented in sparseMatrix, sparseMatrix, eventMixture, and eventMixture.
|
pure virtual |
Output method for a transition structure.
out | the file descriptor to which the structure should be written. |
format | the format/language to be used. |
Implemented in sparseMatrix, sparseMatrix, eventMixture, and eventMixture.
|
protected |
size of the state space.
|
protected |
the time type of the structure: discrete or continuous.
This determines the nature of the numeric label: probabilities or rates.
|
protected |
value related to the uniformization procedure.