5 #ifndef BPP_PHYL_MAPPING_DECOMPOSITIONMETHODS_H
6 #define BPP_PHYL_MAPPING_DECOMPOSITIONMETHODS_H
11 #include "../Model/SubstitutionModel.h"
29 std::shared_ptr<const SubstitutionModelInterface>
model_;
48 std::shared_ptr<const SubstitutionModelInterface> model,
49 std::shared_ptr<const SubstitutionRegisterInterface> reg);
Methods useful for analytical substitution count and rewards using the eigen decomposition method.
virtual ~DecompositionMethods()
ColMatrix< double > rightEigenVectors_
Real and imaginary eigenvectors, for non-reversible computation.
RowMatrix< double > leftIEigenVectors_
void computeExpectations(RowMatrix< double > &mapping, double length) const
RowMatrix< double > leftEigenVectors_
std::vector< RowMatrix< double > > insideIProducts_
void jFunction_(const std::vector< double > &lambda, double t, RowMatrix< double > &result) const
Compute the integral part of the computation.
ColMatrix< double > rightIEigenVectors_
RowMatrix< double > jIMat_
RowMatrix< double > jMat_
DecompositionMethods & operator=(const DecompositionMethods &dm)
std::vector< RowMatrix< double > > insideProducts_
DecompositionMethods(std::shared_ptr< const SubstitutionModelInterface > model, std::shared_ptr< const SubstitutionRegisterInterface > reg)
DecompositionMethods * clone() const
void setSubstitutionModel(std::shared_ptr< const SubstitutionModelInterface > model)
Set the substitution model.
DecompositionMethods(const DecompositionMethods &dm)
std::shared_ptr< const SubstitutionModelInterface > model_
std::vector< RowMatrix< double > > bMatrices_
computation matrices
Map the states of a given alphabet which have a model state.
Defines the basic types of data flow nodes.