45 #include "../AbstractSubstitutionModel.h" 48 #include <Bpp/Seq/Alphabet/NucleicAlphabet.h> 157 mutable RowMatrix<double>
p_;
160 K80(
const NucleicAlphabet* alpha,
double kappa = 1.);
164 #ifndef NO_VIRTUAL_COV 172 double Pij_t (
size_t i,
size_t j,
double d)
const;
173 double dPij_dt (
size_t i,
size_t j,
double d)
const;
174 double d2Pij_dt2(
size_t i,
size_t j,
double d)
const;
175 const Matrix<double>&
getPij_t (
double d)
const;
176 const Matrix<double>&
getdPij_dt (
double d)
const;
const Matrix< double > & getdPij_dt(double d) const
double d2Pij_dt2(size_t i, size_t j, double d) const
double dPij_dt(size_t i, size_t j, double d) const
The Kimura 2-rates substitution model for nucleotides.
Partial implementation of the ReversibleSubstitutionModel interface.
K80(const NucleicAlphabet *alpha, double kappa=1.)
double Pij_t(size_t i, size_t j, double d) const
Specialisation interface for nucleotide substitution model.
std::string getName() const
Get the name of the model.
void setFreqFromData(const SequenceContainer &data, double pseudoCount=0)
This method is disabled in this model since frequencies are not free parameters.
void updateMatrices()
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
const Matrix< double > & getPij_t(double d) const
const Matrix< double > & getd2Pij_dt2(double d) const