7 rowsIn*numInputCols*Eigen::VectorXi::Ones(1)),
15 assert(y.cols()==x.cols());
22 assert(y.cols()==x.cols());
26 Eigen::MatrixXd LinearOperator::GetMatrix()
29 Eigen::MatrixXd output(nrows, ncols);
30 Eigen::MatrixXd rhs = Eigen::MatrixXd::Identity(ncols, ncols);
32 for(
int i=0; i<ncols; ++i)
33 output.col(i) =
Apply(rhs.col(i));
45 unsigned int const inputDimWrt,
47 Eigen::VectorXd
const& sensitivity)
53 unsigned int const inputDimWrt,
60 unsigned int const inputDimWrt,
62 Eigen::VectorXd
const& vec)
71 Eigen::VectorXd
const& sens,
72 Eigen::VectorXd
const& vec)
LinearOperator(int rowsIn, int colsIn, int numInputCols=1)
virtual Eigen::MatrixXd Apply(Eigen::Ref< const Eigen::MatrixXd > const &x)=0
virtual Eigen::MatrixXd ApplyTranspose(Eigen::Ref< const Eigen::MatrixXd > const &x)=0
Provides an abstract interface for defining vector-valued model components.
virtual void GradientImpl(unsigned int const outputDimWrt, unsigned int const inputDimWrt, ref_vector< Eigen::VectorXd > const &input, Eigen::VectorXd const &sensitivity)
virtual void ApplyJacobianImpl(unsigned int const outputDimWrt, unsigned int const inputDimWrt, ref_vector< Eigen::VectorXd > const &input, Eigen::VectorXd const &vec)
std::vector< Eigen::VectorXd > outputs
virtual void EvaluateImpl(ref_vector< boost::any > const &inputs) override
User-implemented function that determines the behavior of this muq::Modeling::WorkPiece.
virtual void JacobianImpl(unsigned int const outputDimWrt, unsigned int const inputDimWrt, ref_vector< Eigen::VectorXd > const &input)
Eigen::VectorXd hessAction
Eigen::VectorXd jacobianAction
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)
std::vector< std::reference_wrapper< const T > > ref_vector
A vector of references to something ...