9 unsigned int const outWrtIn,
10 unsigned int const inWrtIn) :
ModPiece(GetInputSizes(basePieceIn,outWrtIn),
11 GetOutputSizes(basePieceIn, inWrtIn)),
12 basePiece(basePieceIn),
28 unsigned int const inputDimWrt,
30 Eigen::VectorXd
const& vec)
32 assert(outputDimWrt==0);
40 unsigned int const outWrt)
52 unsigned int const inWrt)
static Eigen::VectorXi GetOutputSizes(std::shared_ptr< ModPiece > const &basePiece, unsigned int const inWrt)
virtual void EvaluateImpl(ref_vector< Eigen::VectorXd > const &input) override
static Eigen::VectorXi GetInputSizes(std::shared_ptr< ModPiece > const &basePiece, unsigned int const outWrt)
virtual void ApplyJacobianImpl(unsigned int const outputDimWrt, unsigned int const inputDimWrt, ref_vector< Eigen::VectorXd > const &input, Eigen::VectorXd const &vec) override
GradientPiece(std::shared_ptr< ModPiece > const &basePieceIn, unsigned int const outWrt, unsigned int const inWrt)
const unsigned int outWrt
std::shared_ptr< ModPiece > basePiece
Provides an abstract interface for defining vector-valued model components.
const Eigen::VectorXi inputSizes
std::vector< Eigen::VectorXd > outputs
const Eigen::VectorXi outputSizes
Eigen::VectorXd jacobianAction
int numInputs
The number of inputs.
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...