1 #ifndef HESSIANOPERATOR_H
2 #define HESSIANOPERATOR_H
24 std::vector<Eigen::VectorXd>
const& inputsIn,
25 unsigned int outWrtIn,
26 unsigned int inWrt1In,
27 unsigned int inWrt2In,
28 Eigen::VectorXd
const& sensIn,
35 virtual Eigen::MatrixXd
Apply(Eigen::Ref<const Eigen::MatrixXd>
const& x)
override;
38 virtual Eigen::MatrixXd
ApplyTranspose(Eigen::Ref<const Eigen::MatrixXd>
const& x)
override;
43 const std::vector<Eigen::VectorXd>
inputs;
48 const Eigen::VectorXd
sens;
Creates a linear operator for the action of the Hessian of a ModPiece on a vector....
const unsigned int outWrt
HessianOperator(std::shared_ptr< ModPiece > const &pieceIn, std::vector< Eigen::VectorXd > const &inputsIn, unsigned int outWrtIn, unsigned int inWrt1In, unsigned int inWrt2In, Eigen::VectorXd const &sensIn, double scaleIn=1.0, double nuggetIn=0.0)
const unsigned int inWrt1
const Eigen::VectorXd sens
const std::vector< Eigen::VectorXd > inputs
virtual Eigen::MatrixXd Apply(Eigen::Ref< const Eigen::MatrixXd > const &x) override
virtual ~HessianOperator()=default
std::shared_ptr< ModPiece > basePiece
const unsigned int inWrt2
virtual Eigen::MatrixXd ApplyTranspose(Eigen::Ref< const Eigen::MatrixXd > const &x) override
Generic linear operator base class.