MUQ  0.4.3
DensityProduct.h
Go to the documentation of this file.
1 #ifndef DENSITYPRODUCT_H
2 #define DENSITYPRODUCT_H
3 
5 
6 namespace muq {
7  namespace Modeling {
8 
9  class DensityProduct : public DensityBase {
10  public:
11 
17  DensityProduct(int numPiecesIn);
18 
19  virtual ~DensityProduct() = default;
20 
21  private:
22 
23  virtual double LogDensityImpl(ref_vector<Eigen::VectorXd> const& inputs) override;
24 
25  virtual Eigen::VectorXd GradLogDensityImpl(unsigned int wrt,
26  ref_vector<Eigen::VectorXd> const& inputs) override;
27 
28  virtual Eigen::VectorXd ApplyLogDensityHessianImpl(unsigned int const inWrt1,
29  unsigned int const inWrt2,
30  ref_vector<Eigen::VectorXd> const& input,
31  Eigen::VectorXd const& vec) override;
32 
33  };
34  } // namespace Modeling
35 } // namespace muq
36 
37 #endif
virtual double LogDensityImpl(ref_vector< Eigen::VectorXd > const &inputs) override
Implement the log-density.
virtual Eigen::VectorXd GradLogDensityImpl(unsigned int wrt, ref_vector< Eigen::VectorXd > const &inputs) override
virtual ~DensityProduct()=default
virtual Eigen::VectorXd ApplyLogDensityHessianImpl(unsigned int const inWrt1, unsigned int const inWrt2, ref_vector< Eigen::VectorXd > const &input, Eigen::VectorXd const &vec) override
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...
Definition: WorkPiece.h:37