bpp-phyl3  3.0.0
PhyloLikelihood.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
5 #ifndef BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_PHYLOLIKELIHOOD_H
6 #define BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_PHYLOLIKELIHOOD_H
7 
10 
11 #include "../DataFlow/LikelihoodCalculation.h"
12 
13 namespace bpp
14 {
22  public virtual SecondOrderDerivable
23 {
24 public:
27 
29 
30 public:
40  virtual bool isInitialized() const = 0;
41 
42  virtual const Context& context() const = 0;
43 
44  virtual Context& context() = 0;
45 
59  virtual ValueRef<DataLik> getLikelihoodNode() const = 0;
60 
66  double getLogLikelihood() const
67  {
68  return -getValue();
69  }
70 
76  // virtual double getDLogLikelihood(const std::string& variable) const = 0;
77 
78  // virtual double getD2LogLikelihood(const std::string& variable) const = 0;
79 
89 
91 
98 
105 
112 
119 
126 
130  virtual std::shared_ptr<LikelihoodCalculation> getLikelihoodCalculation() const = 0;
131 };
132 } // end of namespace bpp.
133 #endif // BPP_PHYL_LIKELIHOOD_PHYLOLIKELIHOODS_PHYLOLIKELIHOOD_H
Context for dataflow node construction.
Definition: DataFlow.h:527
virtual double getValue() const=0
The PhyloLikelihood interface, for phylogenetic likelihood.
virtual ParameterList getNonDerivableParameters() const =0
virtual ParameterList getSubstitutionModelParameters() const =0
Get the independent parameters associated to substitution model(s).
PhyloLikelihoodInterface * clone() const =0
virtual const Context & context() const =0
virtual Context & context()=0
virtual ValueRef< DataLik > getLikelihoodNode() const =0
virtual std::shared_ptr< LikelihoodCalculation > getLikelihoodCalculation() const =0
virtual ParameterList getRateDistributionParameters() const =0
Get the independent parameters associated to the rate distribution(s).
virtual ParameterList getBranchLengthParameters() const =0
Get the independent branch lengths parameters.
virtual ParameterList getDerivableParameters() const =0
double getLogLikelihood() const
Get the logarithm of the likelihood for the whole dataset.
virtual bool isInitialized() const =0
virtual ParameterList getRootFrequenciesParameters() const =0
Get the independent parameters associated to the root frequencies(s).
virtual LikelihoodCalculation & likelihoodCalculation() const =0
Defines the basic types of data flow nodes.
std::shared_ptr< Value< T > > ValueRef
Shared pointer alias for Value<T>.
Definition: DataFlow.h:84