ROL
ROL_TrustRegion_U.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Rapid Optimization Library (ROL) Package
4 //
5 // Copyright 2014 NTESS and the ROL contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef ROL_TRUSTREGION_U_H
11 #define ROL_TRUSTREGION_U_H
12 
17 #include "ROL_Vector.hpp"
19 
20 namespace ROL {
21 
22 template<typename Real>
24 public:
25  virtual ~TrustRegion_U() {}
26 
27  virtual void initialize(const Vector<Real> &x, const Vector<Real> &g) {}
28 
29  virtual void solve(Vector<Real> &s, // Step (to be computed)
30  Real &snorm, // Step norm (to be computed)
31  Real &pRed, // Predicted reduction (to be computed)
32  int &iflag, // Exit flag (to be computed)
33  int &iter, // Iteration count (to be computed)
34  const Real del, // Trust-region radius
35  TrustRegionModel_U<Real> &model) = 0; // Trust-region model
36 };
37 
38 } // namespace ROL
39 
40 #endif
Defines the linear algebra or vector space interface.
Definition: ROL_Vector.hpp:46
virtual void initialize(const Vector< Real > &x, const Vector< Real > &g)
Provides the interface to evaluate trust-region model functions.
Provides interface for and implements trust-region subproblem solvers.
virtual void solve(Vector< Real > &s, Real &snorm, Real &pRed, int &iflag, int &iter, const Real del, TrustRegionModel_U< Real > &model)=0