10 #ifndef ROL_NEWTON_U_H
11 #define ROL_NEWTON_U_H
24 template<
typename Real>
31 Real tol = std::sqrt(ROL_EPSILON<Real>());
36 if (sdotg >= static_cast<Real>(0)) {
41 s.
scale(static_cast<Real>(-1));
48 std::string name =
"Newton's Method";
Provides the interface to evaluate objective functions.
virtual const Vector & dual() const
Return dual representation of , for example, the result of applying a Riesz map, or change of basis...
virtual void scale(const Real alpha)=0
Compute where .
virtual Real apply(const Vector< Real > &x) const
Apply to a dual vector. This is equivalent to the call .
std::string printName(void) const override
Contains definitions of custom data types in ROL.
Defines the linear algebra or vector space interface.
void compute(Vector< Real > &s, Real &snorm, Real &sdotg, int &iter, int &flag, const Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj) override
Provides the interface to compute optimization steps with Newton's method globalized using line searc...
virtual void invHessVec(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
Apply inverse Hessian approximation to vector.
virtual void set(const Vector &x)
Set where .
virtual Real norm() const =0
Returns where .
Provides the interface to compute unconstrained optimization steps for line search.