44 #ifndef ROL_PRIMALDUALINTERIORPOINTREDUCEDRESIDUAL_H
45 #define ROL_PRIMALDUALINTERIORPOINTREDUCEDRESIDUAL_H
113 typedef ROL::ParameterList
PL;
134 ROL::Ptr<const V>
x_;
135 ROL::Ptr<const V>
l_;
155 const ROL::Ptr<CON> &con,
157 ROL::Ptr<V> &scratch ) :
164 ROL::Ptr<BND> bnd =
penalty_->getBoundConstraint();
165 xl_ = bnd->getLowerBound();
166 xu_ = bnd->getUpperBound();
170 const PV &x_pv =
dynamic_cast<const PV&
>(x);
183 const PV &x_pv =
dynamic_cast<const PV&
>(x);
190 obj_->update(*
x_,flag,iter);
191 con_->update(*
x_,flag,iter);
199 PV &c_pv =
dynamic_cast<PV&
>(c);
200 const PV &x_pv =
dynamic_cast<const PV&
>(x);
207 ROL::Ptr<V> cx = c_pv.
get(
OPT);
217 con_->value(*cl_,*
x_,tol);
225 PV &jv_pv =
dynamic_cast<PV&
>(jv);
226 const PV &v_pv =
dynamic_cast<const PV&
>(v);
227 const PV &x_pv =
dynamic_cast<const PV&
>(x);
230 ROL::Ptr<V> jvx = jv_pv.
get(
OPT);
234 ROL::Ptr<const V> vx = v_pv.
get(
OPT);
235 ROL::Ptr<const V> vl = v_pv.
get(
EQUAL);
241 obj_->hessVec(*jvx,*vx,*
x_,tol);
250 Elementwise::DivideAndInvert<Real> divinv;
251 Elementwise::Multiply<Real> mult;
299 #endif // ROL_PRIMALDUALKKTOPERATOR_H
Provides the interface to evaluate objective functions.
void value(V &c, const V &x, Real &tol)
Evaluate the constraint operator at .
int getNumberGradientEvaluations(void) const
ROL::Ptr< const Vector< Real > > get(size_type i) const
static const size_type OPT
const ROL::Ptr< const V > maskU_
Defines the linear algebra of vector space on a generic partitioned vector.
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update constraint functions. x is the optimization variable, flag = true if optimization variable is ...
static const size_type UPPER
Symmetrized form of the KKT operator for the Type-EB problem with equality and bound multipliers...
Defines the linear algebra or vector space interface.
PartitionedVector< Real > PV
static const size_type LOWER
const ROL::Ptr< const V > maskL_
int getNumberFunctionEvaluations(void) const
Elementwise::ValueSet< Real > ValueSet
Provides the interface to evaluate the Interior Pointy log barrier penalty function with upper and lo...
const ROL::Ptr< OBJ > obj_
static const size_type EQUAL
BoundConstraint< Real > BND
PrimalDualInteriorPointResidual(const ROL::Ptr< PENALTY > &penalty, const ROL::Ptr< CON > &con, const V &x, ROL::Ptr< V > &scratch)
void applyJacobian(V &jv, const V &v, const V &x, Real &tol)
Apply the constraint Jacobian at , , to vector .
Provides the interface to apply a linear operator.
Provides the interface to apply upper and lower bound constraints.
int getNumberConstraintEvaluations(void) const
std::vector< PV >::size_type size_type
LinearOperator< Real > LOP
InteriorPointPenalty< Real > PENALTY
const ROL::Ptr< CON > con_
const ROL::Ptr< PENALTY > penalty_
Defines the general constraint operator interface.