5 #ifndef BPP_PHYL_LIKELIHOOD_DATAFLOW_MODEL_H
6 #define BPP_PHYL_LIKELIHOOD_DATAFLOW_MODEL_H
13 #include <unordered_map>
21 return {Eigen::Index (nbState), Eigen::Index (nbState)};
46 public Value<std::shared_ptr<BranchModelInterface>>,
92 std::shared_ptr<BranchModelInterface>
model_;
108 using T = Eigen::RowVectorXd;
146 using T = Eigen::MatrixXd;
169 return "TransitionMatrix";
219 return "TransitionFunction";
247 using T = Eigen::RowVectorXd;
const Parameter & parameter(const std::string &name) const override
const ParameterList & getParameters() const override
Interface for all Branch models.
Context for dataflow node construction.
NodeRef recreate(Context &c, NodeRefVec &&deps) final
Recreate the node with different dependencies.
EquilibriumFrequenciesFromModel Self
NodeRef derive(Context &c, const Node_DF &node) final
Returns a node computing d(this_node_expression)/d(node_expression).
Dimension< T > targetDimension_
EquilibriumFrequenciesFromModel(NodeRefVec &&deps, const Dimension< T > &dim)
std::string color() const final
bool compareAdditionalArguments(const Node_DF &other) const
Compare node-specific configuration to another.
std::string debugInfo() const final
Node debug info (default = ""): user defined detailed info for DF graph debug.
void compute() final
Computation implementation.
Base dataflow Node class.
Dimension< T > targetDimension_
std::string shape() const
bpp::TransitionFunction T
std::string description() const final
Node pretty name (default = type name).
std::string shape() const
std::string description() const final
Node pretty name (default = type name).
Dimension< T > targetDimension_
Abstract Node storing a value of type T.
Defines the basic types of data flow nodes.
std::vector< NodeRef > NodeRefVec
Alias for a dependency vector (of NodeRef).
RowVectorDimension equilibriumFrequenciesDimension(std::size_t nbState)
std::shared_ptr< Node_DF > NodeRef
std::function< VectorLik(const VectorLik &)> TransitionFunction
MatrixDimension transitionMatrixDimension(std::size_t nbState)
Store a dimension for type T.
Basic matrix dimension type.
Configuration for a numerical derivation: what delta to use, and type of derivation.