42 #ifndef NLPIP_NLP_DIRECT_THYRA_MODEL_EVALUATOR_HPP
43 #define NLPIP_NLP_DIRECT_THYRA_MODEL_EVALUATOR_HPP
47 #include "Thyra_DirectionalFiniteDiffCalculator.hpp"
51 namespace NLPInterfacePack {
78 const Teuchos::RCP<Thyra::ModelEvaluator<value_type> > &model
81 ,
const objDirecFiniteDiffCalculator_ptr_t objDirecFiniteDiffCalculator =
Teuchos::null
82 ,
const conDirecFiniteDiffCalculator_ptr_t conDirecFiniteDiffCalculator =
Teuchos::null
91 const Teuchos::RCP<Thyra::ModelEvaluator<value_type> > &model
94 ,
const objDirecFiniteDiffCalculator_ptr_t objDirecFiniteDiffCalculator =
Teuchos::null
95 ,
const conDirecFiniteDiffCalculator_ptr_t conDirecFiniteDiffCalculator =
Teuchos::null
163 #endif // NLPIP_NLP_DIRECT_THYRA_MODEL_EVALUATOR_HPP
virtual value_type & f()
Returns non-const *this->get_f().
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
Teuchos::RCP< Thyra::MultiVectorBase< value_type > > thyra_N_
const mat_sym_nonsing_fcty_ptr_t factory_S() const
const mat_fcty_ptr_t factory_D() const
Interface providing only direct first order sensitivity information.
Teuchos::RCP< Thyra::LinearOpWithSolveBase< value_type > > thyra_C_
void initialize(const Teuchos::RCP< Thyra::ModelEvaluator< value_type > > &model, const int p_idx, const int g_idx, const objDirecFiniteDiffCalculator_ptr_t objDirecFiniteDiffCalculator=Teuchos::null, const conDirecFiniteDiffCalculator_ptr_t conDirecFiniteDiffCalculator=Teuchos::null)
.Initialize given a Thyra::ModelEvaluator and a description of how to interpret it.
STANDARD_COMPOSITION_MEMBERS(Thyra::DirectionalFiniteDiffCalculator< value_type >, objDirecFiniteDiffCalculator)
Utility object that computes directional finite differences for objective.
Implements the base NLP interface using a Thyra::ModelEvaluator object.
Implement the NLPFirstOrder interface using a Thyra::ModelEvaluator object.
value_type calc_Gf_prod(const Vector &x, const Vector &d, bool newx) const
bool supports_Gf_prod() const
NLPDirectThyraModelEvaluator()
Initialize to uninitialized.
void calc_point(const Vector &x, value_type *f, VectorMutable *c, bool recalc_c, VectorMutable *Gf, VectorMutable *py, VectorMutable *rGf, MatrixOp *GcU, MatrixOp *D, MatrixOp *Uz) const
AbstractLinAlgPack::value_type value_type
Abstract interface for mutable coordinate vectors {abstract}.
void calc_semi_newton_step(const Vector &x, VectorMutable *c, bool recalc_c, VectorMutable *py) const
virtual VectorMutable & Gf()
Returns non-const *this->get_Gf().
STANDARD_MEMBER_COMPOSITION_MEMBERS(bool, DfDp_is_const)
Set if model.DfDp is constant or not.
Range1D var_indep() const
RangePack::Range1D Range1D
virtual VectorMutable & c()
Returns non-const *this->get_c().