5 #ifndef BPP_PHYL_MODEL_NUCLEOTIDE_T92_H
6 #define BPP_PHYL_MODEL_NUCLEOTIDE_T92_H
10 #include "../AbstractSubstitutionModel.h"
132 T92(std::shared_ptr<const NucleicAlphabet> alpha,
double kappa = 1.,
double theta = 0.5);
139 double Pij_t (
size_t i,
size_t j,
double d)
const override;
140 double dPij_dt (
size_t i,
size_t j,
double d)
const override;
141 double d2Pij_dt2(
size_t i,
size_t j,
double d)
const override;
146 std::string
getName()
const override {
return "T92"; }
151 void setFreq(std::map<int, double>& freqs)
override;
Specialisation abstract class for reversible nucleotide substitution model.
The Tamura (1992) substitution model for nucleotides.
double d2Pij_dt2(size_t i, size_t j, double d) const override
double dPij_dt(size_t i, size_t j, double d) const override
const Matrix< double > & getd2Pij_dt2(double d) const override
T92(std::shared_ptr< const NucleicAlphabet > alpha, double kappa=1., double theta=0.5)
const Matrix< double > & getPij_t(double d) const override
double Pij_t(size_t i, size_t j, double d) const override
void updateMatrices_() override
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
void setFreq(std::map< int, double > &freqs) override
This method is over-defined to actualize the 'theta' parameter too.
const Matrix< double > & getdPij_dt(double d) const override
std::string getName() const override
Get the name of the model.
T92 * clone() const override
Defines the basic types of data flow nodes.