44 #include "../AbstractSubstitutionModel.h" 46 #include <Bpp/Numeric/Constraints.h> 49 #include <Bpp/Seq/Alphabet/NucleicAlphabet.h> 184 double kappa_,
k1_,
k2_,
r_,
piA_,
piC_,
piG_,
piT_,
piY_,
piR_,
theta_,
theta1_,
theta2_;
186 mutable RowMatrix<double>
p_;
190 const NucleicAlphabet * alpha,
199 #ifndef NO_VIRTUAL_COV 207 double Pij_t (
size_t i,
size_t j,
double d)
const;
208 double dPij_dt (
size_t i,
size_t j,
double d)
const;
209 double d2Pij_dt2(
size_t i,
size_t j,
double d)
const;
210 const Matrix<double> &
getPij_t (
double d)
const;
211 const Matrix<double> &
getdPij_dt (
double d)
const;
214 std::string
getName()
const {
return "HKY85"; }
219 void setFreq(std::map<int, double>& freqs);
void updateMatrices()
Compute and diagonalize the matrix, and fill the eigenValues_, leftEigenVectors_ and rightEigenVecto...
double dPij_dt(size_t i, size_t j, double d) const
void setFreq(std::map< int, double > &freqs)
This method is redefined to actualize the corresponding parameters piA, piT, piG and piC too...
const Matrix< double > & getdPij_dt(double d) const
double d2Pij_dt2(size_t i, size_t j, double d) const
HKY85(const NucleicAlphabet *alpha, double kappa=1., double piA=0.25, double piC=0.25, double piG=0.25, double piT=0.25)
Partial implementation of the ReversibleSubstitutionModel interface.
std::string getName() const
Get the name of the model.
The Hasegawa M, Kishino H and Yano T (1985) substitution model for nucleotides.
const Matrix< double > & getPij_t(double d) const
Specialisation interface for nucleotide substitution model.
const Matrix< double > & getd2Pij_dt2(double d) const
double Pij_t(size_t i, size_t j, double d) const