8 dim*Eigen::VectorXi::Ones(1))
18 outputs.at(0) = input.at(0).get();
20 for(
unsigned int i=1; i<input.size(); ++i)
21 outputs.at(0) += input.at(i).get();
26 unsigned int const inputDimWrt,
28 Eigen::VectorXd
const& sensitivity)
34 unsigned int const inputDimWrt,
41 unsigned int const inputDimWrt,
43 Eigen::VectorXd
const& vec)
49 unsigned int const inWrt1,
50 unsigned int const inWrt2,
52 Eigen::VectorXd
const& sens,
53 Eigen::VectorXd
const& vec)
55 hessAction = Eigen::VectorXd::Zero(vec.size());
Provides an abstract interface for defining vector-valued model components.
const Eigen::VectorXi inputSizes
std::vector< Eigen::VectorXd > outputs
Eigen::VectorXd hessAction
Eigen::VectorXd jacobianAction
virtual void GradientImpl(unsigned int const outputDimWrt, unsigned int const inputDimWrt, ref_vector< Eigen::VectorXd > const &input, Eigen::VectorXd const &sensitivity) override
virtual void ApplyJacobianImpl(unsigned int const outputDimWrt, unsigned int const inputDimWrt, ref_vector< Eigen::VectorXd > const &input, Eigen::VectorXd const &vec) override
SumPiece(unsigned int dim, unsigned int numInputs=2)
virtual void ApplyHessianImpl(unsigned int const outWrt, unsigned int const inWrt1, unsigned int const inWrt2, ref_vector< Eigen::VectorXd > const &input, Eigen::VectorXd const &sens, Eigen::VectorXd const &vec) override
virtual void EvaluateImpl(ref_vector< Eigen::VectorXd > const &input) override
virtual void JacobianImpl(unsigned int const outputDimWrt, unsigned int const inputDimWrt, ref_vector< Eigen::VectorXd > const &input) override
int numInputs
The number of inputs.
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...