42 #include "NLPInterfacePack_NLPFirstOrder.hpp"
43 #include "AbstractLinAlgPack_MatrixOp.hpp"
44 #include "Teuchos_Assert.hpp"
47 const char name_Gc[] =
"Gc";
50 namespace NLPInterfacePack {
86 return StandardCompositionRelationshipsPack::get_role_name(Gc_,
false, name_Gc);
94 return StandardCompositionRelationshipsPack::role_name(Gc_,
false, name_Gc);
102 return StandardCompositionRelationshipsPack::role_name(Gc_,
false, name_Gc);
118 StandardCompositionRelationshipsPack::assert_role_name_set(Gc_,
"NLP::calc_Gc()", name_Gc);
128 return num_Gc_evals_;
void initialize(bool test_setup)
Initialize the NLP for its first use.
void unset_quantities()
Call to unset all storage quantities (both in this class and all subclasses).
virtual void calc_Gc(const Vector &x, bool newx=true) const
Update the matrix for Gc at the point x and put it in the stored reference.
NLPFirstOrder()
Initialize to no reference set to calculation quanities.
void initialize(bool test_setup)
Initialize the NLP for its first use.
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
virtual void imp_calc_Gc(const Vector &x, bool newx, const FirstOrderInfo &first_order_info) const =0
Overridden to compute Gc(x) and perhaps Gf(x), f(x) and c(x).
const FirstOrderInfo first_order_info() const
Return objective gradient and zero order information.
virtual size_type num_Gc_evals() const
Gradient of constraints matrix Gc evaluations count.
void unset_quantities()
Call to unset all storage quantities (both in this class and all subclasses).
virtual MatrixOp & Gc()
Returns non-const *this->get_Gc().
virtual MatrixOp * get_Gc()
Return pointer passed to this->set_Gc().
virtual size_type m() const
Return the number of general equality constraints.
virtual const basis_sys_ptr_t basis_sys() const
Return a BasisSystem object compatible with Gc and Gh.
virtual void set_Gc(MatrixOp *Gc)
Set a pointer to a matrix object to be updated when this->calc_Gc() is called.