44 #ifndef ROL_NONLINEARLEASTSQUARESOBJECTIVE_SIMOPT_H
45 #define ROL_NONLINEARLEASTSQUARESOBJECTIVE_SIMOPT_H
73 class Constraint_SimOpt;
78 const ROL::Ptr<Constraint_SimOpt<Real> >
con_;
95 const bool GNH =
false)
105 Real tol = std::sqrt(ROL_EPSILON<Real>());
106 con_->update_1(u,flag,iter);
122 con_->applyAdjointJacobian_1(hv,
c2_->dual(),u,*
z_,tol);
130 con_->applyInverseAdjointJacobian_1(*
cdual_,v,u,*
z_,tol);
131 con_->applyInverseJacobian_1(pv,
cdual_->dual(),u,*
z_,tol);
138 con_->setParameter(param);
Provides the interface to evaluate objective functions.
NonlinearLeastSquaresObjective_SimOpt(const ROL::Ptr< Constraint_SimOpt< Real > > &con, const Vector< Real > &uvec, const Vector< Real > &zvec, const Vector< Real > &cvec, const bool GNH=false)
Constructor.
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
virtual ROL::Ptr< Vector > clone() const =0
Clone to make a new (uninitialized) vector.
virtual void plus(const Vector &x)=0
Compute , where .
void update(const Vector< Real > &u, bool flag=true, int iter=-1)
Update objective function.
const bool GaussNewtonHessian_
Contains definitions of custom data types in ROL.
void hessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &u, Real &tol)
Apply Hessian approximation to vector.
Provides the interface to evaluate nonlinear least squares objective functions.
Defines the linear algebra or vector space interface.
ROL::Ptr< Vector< Real > > c2_
ROL::Ptr< Vector< Real > > cdual_
void gradient(Vector< Real > &g, const Vector< Real > &u, Real &tol)
Compute gradient.
const ROL::Ptr< Constraint_SimOpt< Real > > con_
void precond(Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &u, Real &tol)
Apply preconditioner to vector.
virtual void setParameter(const std::vector< Real > ¶m)
ROL::Ptr< Vector< Real > > udual_
void setParameter(const std::vector< Real > ¶m)
ROL::Ptr< Vector< Real > > c1_
ROL::Ptr< Vector< Real > > z_
Defines the constraint operator interface for simulation-based optimization.
Real value(const Vector< Real > &x, Real &tol)
Compute value.