44 #include "../AbstractSubstitutionModel.h" 46 #include <Bpp/Numeric/Constraints.h> 49 #include <Bpp/Seq/Alphabet/NucleicAlphabet.h> 50 #include <Bpp/Seq/Container/SequenceContainer.h> 166 mutable RowMatrix<double>
p_;
169 T92(
const NucleicAlphabet* alpha,
double kappa = 1.,
double theta = 0.5);
173 #ifndef NOVIRTUAL_COV_ 181 double Pij_t (
size_t i,
size_t j,
double d)
const;
182 double dPij_dt (
size_t i,
size_t j,
double d)
const;
183 double d2Pij_dt2(
size_t i,
size_t j,
double d)
const;
184 const Matrix<double>&
getPij_t(
double d)
const;
185 const Matrix<double>&
getdPij_dt(
double d)
const;
194 void setFreq(std::map<int, double>& freqs);
const Matrix< double > & getd2Pij_dt2(double d) const
const Matrix< double > & getPij_t(double d) const
The Tamura (1992) substitution model for nucleotides.
double d2Pij_dt2(size_t i, size_t j, double d) const
Partial implementation of the ReversibleSubstitutionModel interface.
void updateMatrices()
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
std::string getName() const
Get the name of the model.
double Pij_t(size_t i, size_t j, double d) const
const Matrix< double > & getdPij_dt(double d) const
Specialisation interface for nucleotide substitution model.
double dPij_dt(size_t i, size_t j, double d) const
void setFreq(std::map< int, double > &freqs)
This method is over-defined to actualize the 'theta' parameter too.
T92(const NucleicAlphabet *alpha, double kappa=1., double theta=0.5)