Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
felsenstein81.h
1 #ifndef FELSENSTEIN81_H
2 #define FELSENSTEIN81_H
3 
4 #include "markovChain.h"
5 #include "Distribution/discreteDistribution.h"
6 
15 class felsenstein81 : public markovChain
16 {
17  public:
26  felsenstein81( double p[4] , double mu);
35  felsenstein81( discreteDistribution* d, double mu);
45  void makeMarkovChain();
46 
58 
70  simulateChain( double tMax,
71  bool stats, bool traj,
72  bool withIncrements,
73  bool trace );
74 
82  Distribution* hittingTimeDistribution( int iState, bool* hittingSet);
83 
90  double* averageHittingTime( bool* hittingSet );
91 
92 
93 protected:
94  int _size;
95  double* _stateSpace;
97  double _transSpeed;
99 };
100 
101 #endif // FELSENSTEIN81_H
Markov Chain class.
Definition: markovChain.h:32
simulationResult * simulateChain(double tMax, bool stats, bool traj, bool withIncrements, bool trace)
Definition: felsenstein81.cpp:120
felsenstein81(double p[4], double mu)
Definition: felsenstein81.cpp:24
Distribution * hittingTimeDistribution(int iState, bool *hittingSet)
Computes the hitting time distribution. It is an exponential distribution with parameter equal to the...
Definition: felsenstein81.cpp:244
discreteDistribution * stationaryDistribution()
Definition: felsenstein81.cpp:111
A class for representing probability distributions.
Definition: Distribution.h:44
double * _stateSpace
representation of the state space
Definition: felsenstein81.h:110
int _size
the number of values; 4 at the moment
Definition: felsenstein81.h:109
void makeMarkovChain()
Definition: felsenstein81.cpp:71
double * averageHittingTime(bool *hittingSet)
Computes the average hitting time from every state. It is either 0, or the inverse of the speed times...
Definition: felsenstein81.cpp:258
Ajout de fonctionalites sur les matrices F81 (Felsenstein 81) Ce sont des matrices 4x4 qui sont carac...
Definition: felsenstein81.h:30
discreteDistribution * _transDistrib
the distribution "p"
Definition: felsenstein81.h:111
~felsenstein81()
Definition: felsenstein81.cpp:64
double _transSpeed
the speed parameter "mu"
Definition: felsenstein81.h:112
The general discrete distribution with finite support.
Definition: discreteDistribution.h:25
The class for transmitting (Monte Carlo) simulation results between objects. Simulation results may b...
Definition: simulationResult.h:18
discreteDistribution * transientDistribution(double)
Definition: felsenstein81.cpp:90