21 shared_ptr<const NucleicAlphabet> alpha,
28 beta_(beta), gamma_(gamma), delta_(delta), theta_(theta),
29 piA_((1. - theta) / 2.), piC_(theta / 2.), piG_(theta / 2.), piT_((1. - theta) / 2.)
void addParameter_(Parameter *parameter)
void setParameterValue(const std::string &name, double value) override
double getParameterValue(const std::string &name) const override
Specialisation abstract class for reversible nucleotide substitution model.
virtual void updateMatrices_() override
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
RowMatrix< double > exchangeability_
The exchangeability matrix of the model, defined as . When the model is reversible,...
Vdouble freq_
The vector of equilibrium frequencies.
This class implements a state map where all resolved states are modeled.
static const std::shared_ptr< IntervalConstraint > PROP_CONSTRAINT_EX
static const std::shared_ptr< IntervalConstraint > R_PLUS_STAR
void setFreq(std::map< int, double > &) override
This method is redefined to actualize the corresponding parameters theta too.
void updateMatrices_() override
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
SSR(std::shared_ptr< const NucleicAlphabet > alpha, double beta=1., double gamma=1., double delta=1., double theta=0.5)
Defines the basic types of data flow nodes.