44 #include "../AbstractSubstitutionModel.h" 46 #include <Bpp/Numeric/Constraints.h> 49 #include <Bpp/Seq/Alphabet/NucleicAlphabet.h> 141 mutable RowMatrix<double>
p_;
146 const NucleicAlphabet* alphabet,
158 #ifndef NO_VIRTUAL_COV 166 double Pij_t (
size_t i,
size_t j,
double d)
const;
167 double dPij_dt (
size_t i,
size_t j,
double d)
const;
168 double d2Pij_dt2(
size_t i,
size_t j,
double d)
const;
169 const Matrix<double>&
getPij_t (
double d)
const;
170 const Matrix<double>&
getdPij_dt (
double d)
const;
172 std::string
getName()
const {
return "RN95"; }
176 void setFreq(std::map<int, double>&);
const Matrix< double > & getdPij_dt(double d) const
double d2Pij_dt2(size_t i, size_t j, double d) const
Partial implementation of the SubstitutionModel interface.
double Pij_t(size_t i, size_t j, double d) const
const Matrix< double > & getd2Pij_dt2(double d) const
std::string getName() const
Get the name of the model.
RN95(const NucleicAlphabet *alphabet, double alpha=1, double beta=1, double gamma=1, double delta=1, double epsilon=1, double kappa=1, double lambda=1, double sigma=1)
Specialisation interface for nucleotide substitution model.
void updateMatrices()
Diagonalize the matrix, and fill the eigenValues_, iEigenValues_, leftEigenVectors_ and rightEigenVe...
const Matrix< double > & getPij_t(double d) const
The model described by Rhetsky & Nei, where the only hypothesis is that the transversion rates are on...
double dPij_dt(size_t i, size_t j, double d) const
void setFreq(std::map< int, double > &)
Set equilibrium frequencies.