Markovian T-tessellation. More...
#include <ttessel.h>
Public Types | |
| enum | ModType { SPLIT = 1, MERGE, FLIP } |
| Types of modifications applicable to a T-tessellation. More... | |
Public Member Functions | |
| SMFChain (Energy *, double, double) | |
| Constructor for class SMFChain. More... | |
| void | set_energy (Energy *e) |
| Set the energy function of the model to be simulated. | |
| Energy * | get_energy () |
| Get the energy function of the model to be simulated. | |
| void | set_smf_prob (double, double) |
| Set the probabilities of proposing a split and a merge. More... | |
| ModType | propose_modif_type () |
| Draw a type of modification (split or merge or flip) | |
| double | Hasting_ratio (TTessel::Split &, double *) |
| Compute the Hastings ratio for a given split. More... | |
| double | Hasting_ratio (TTessel::Merge &, double *) |
| Compute the Hastings ratio for a given merge. More... | |
| double | Hasting_ratio (TTessel::Flip &, double *) |
| Compute the Hastings ratio for a given flip. More... | |
| ModifCounts | step (unsigned long int=1) |
| Proceed to update(s) of the SMF chain. More... | |
Markovian T-tessellation.
Updates are splits, merges and flips. Transitions ruled according a Metropolis-Hastings-Green construction.
| enum SMFChain::ModType |
| SMFChain::SMFChain | ( | Energy * | e, |
| double | prob_split, | ||
| double | prob_merge | ||
| ) |
Constructor for class SMFChain.
| e | : pointer to an Energy object defining the distribution to be simulated. |
| prob_split | : probability of proposing a split |
| prob_merge | : probability of proposing a merge |
The probability of proposing a flip is complementary to the sum of probabilities of proposing a split or a merge. Therefore, the sum of the latter probabilities should be less than 1.
| double SMFChain::Hasting_ratio | ( | TTessel::Split & | s, |
| double * | e_var | ||
| ) |
Compute the Hastings ratio for a given split.
| s | : the split for which the Hastings ratio is computed |
| e_var | : the address of a double where to store the energy variation |
| double SMFChain::Hasting_ratio | ( | TTessel::Merge & | m, |
| double * | e_var | ||
| ) |
Compute the Hastings ratio for a given merge.
| m | : the merge for which the Hastings ratio is computed |
| e_var | : the address of a double where to store the energy variation |
| double SMFChain::Hasting_ratio | ( | TTessel::Flip & | f, |
| double * | e_var | ||
| ) |
Compute the Hastings ratio for a given flip.
| f | : the flip for which the Hastings ratio is computed |
| e_var | : the address of a double where to store the energy variation |
| void SMFChain::set_smf_prob | ( | double | s, |
| double | m | ||
| ) |
Set the probabilities of proposing a split and a merge.
| s | : probability to propose a split |
| m | : probability to propose a merge |
The sum s+m should be smaller than 1. The probability to propose a flip is 1-s-m.
| ModifCounts SMFChain::step | ( | unsigned long int | nb_step = 1 | ) |
Proceed to update(s) of the SMF chain.
| nb_step | : number of updates to be done |
1.8.6