MUQ  0.4.3
CombineVectors.h
Go to the documentation of this file.
1 #ifndef COMBINEVECTORS_H_
2 #define COMBINEVECTORS_H_
3 
5 
6 namespace muq {
7  namespace Modeling {
8  class CombineVectors : public ModPiece {
9  public:
10  CombineVectors(Eigen::VectorXi const& inputSizes);
11 
12  virtual ~CombineVectors() = default;
13  private:
14 
15  virtual void EvaluateImpl(ref_vector<Eigen::VectorXd> const& inputs) override;
16 
17  virtual void JacobianImpl(unsigned int const outwrt, unsigned int const inwrt, ref_vector<Eigen::VectorXd> const& inputs) override;
18 
19  virtual void GradientImpl(unsigned int const outwrt, unsigned int const inwrt, ref_vector<Eigen::VectorXd> const& inputs, Eigen::VectorXd const& sens) override;
20 
21  virtual void ApplyJacobianImpl(unsigned int const outwrt, unsigned int const inwrt, ref_vector<Eigen::VectorXd> const& inputs, Eigen::VectorXd const& targ) override;
22  };
23  } // namespace Modeling
24 } // namespace muq
25 
26 #endif
virtual ~CombineVectors()=default
virtual void GradientImpl(unsigned int const outwrt, unsigned int const inwrt, ref_vector< Eigen::VectorXd > const &inputs, Eigen::VectorXd const &sens) override
virtual void ApplyJacobianImpl(unsigned int const outwrt, unsigned int const inwrt, ref_vector< Eigen::VectorXd > const &inputs, Eigen::VectorXd const &targ) override
virtual void JacobianImpl(unsigned int const outwrt, unsigned int const inwrt, ref_vector< Eigen::VectorXd > const &inputs) override
CombineVectors(Eigen::VectorXi const &inputSizes)
virtual void EvaluateImpl(ref_vector< Eigen::VectorXd > const &inputs) override
Provides an abstract interface for defining vector-valued model components.
Definition: ModPiece.h:148
const Eigen::VectorXi inputSizes
Definition: ModPiece.h:469
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...
Definition: WorkPiece.h:37