40 #ifndef _DECOMPOSITIONSUBSTITUTIONCOUNT_H_ 41 #define _DECOMPOSITIONSUBSTITUTIONCOUNT_H_ 45 #include <Bpp/Numeric/Matrix/Matrix.h> 68 mutable std::vector< RowMatrix<double> >
counts_;
126 void jFunction_(
const std::vector<double>& lambda,
double t, RowMatrix<double>& result)
const;
141 #endif // _DECOMPOSITIONSUBSTITUTIONCOUNT_H_ DecompositionSubstitutionCount * clone() const
std::vector< double > getNumberOfSubstitutionsForEachType(size_t initialState, size_t finalState, double length) const
Get the numbers of susbstitutions on a branch for all types, for an initial and final states...
Interface for all substitution models.
AbstractSubstitutionCount & operator=(const AbstractSubstitutionCount &asc)
const ReversibleSubstitutionModel * model_
Analytical substitution count using the eigen decomposition method.
RowMatrix< double > vInv_
Basic implementation of the the SubstitutionCount interface.
double getNumberOfSubstitutions(size_t initialState, size_t finalState, double length, size_t type=1) const
Get the number of susbstitutions on a branch, given the initial and final states, and the branch leng...
RowMatrix< double > jMat_
The SubstitutionRegister interface.
DecompositionSubstitutionCount & operator=(const DecompositionSubstitutionCount &dsc)
void computeCounts_(double length) const
void substitutionRegisterHasChanged()
std::vector< RowMatrix< double > > counts_
Interface for reversible substitution models.
virtual ~DecompositionSubstitutionCount()
void weightsHaveChanged()
Matrix< double > * getAllNumbersOfSubstitutions(double length, size_t type=1) const
Get the numbers of susbstitutions on a branch, for each initial and final states, and given the branc...
DecompositionSubstitutionCount(const DecompositionSubstitutionCount &dsc)
void setSubstitutionModel(const SubstitutionModel *model)
Set the substitution model.
std::vector< double > lambda_
DecompositionSubstitutionCount(const ReversibleSubstitutionModel *model, SubstitutionRegister *reg, const AlphabetIndex2 *weights=0)
AbstractWeightedSubstitutionCount & operator=(const AbstractWeightedSubstitutionCount &index)
std::vector< RowMatrix< double > > insideProducts_
Partial implementation of the WeightedSubstitutionCount interface.
void jFunction_(const std::vector< double > &lambda, double t, RowMatrix< double > &result) const
std::vector< RowMatrix< double > > bMatrices_