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
20namespace ROL {
21
22template<typename Real>
24public:
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
Provides the interface to evaluate trust-region model functions.
Provides interface for and implements trust-region subproblem solvers.
virtual void initialize(const Vector< Real > &x, const Vector< Real > &g)
virtual void solve(Vector< Real > &s, Real &snorm, Real &pRed, int &iflag, int &iter, const Real del, TrustRegionModel_U< Real > &model)=0
Defines the linear algebra or vector space interface.