ROL
ROL_LowerBoundToConstraint.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_LOWER_BOUND_TO_CONSTRAINT_H
11 #define ROL_LOWER_BOUND_TO_CONSTRAINT_H
12 
13 #include "ROL_BoundConstraint.hpp"
14 #include "ROL_Constraint.hpp"
15 
21 namespace ROL {
22 
23 template<typename Real>
24 class LowerBoundToConstraint : public Constraint<Real> {
25 private:
26  Ptr<Vector<Real>> lo_;
27 
28 public:
31 
32  void value(Vector<Real> &c, const Vector<Real> &x, Real &tol) override;
33  void applyJacobian(Vector<Real> &jv, const Vector<Real> &v, const Vector<Real> &x, Real &tol) override;
34  void applyAdjointJacobian(Vector<Real> &ajv, const Vector<Real> &v, const Vector<Real> &x, Real &tol) override;
35  void applyAdjointHessian(Vector<Real> &ahuv, const Vector<Real> &u, const Vector<Real> &v,
36  const Vector<Real> &x, Real &tol) override;
37 };
38 
39 }
40 
42 
43 #endif
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
Evaluate the constraint operator at .
Defines the linear algebra or vector space interface.
Definition: ROL_Vector.hpp:46
LowerBoundToConstraint(BoundConstraint< Real > &bnd)
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply the adjoint of the the constraint Jacobian at , , to vector .
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply the constraint Jacobian at , , to vector .
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Apply the derivative of the adjoint of the constraint Jacobian at to vector in direction ...
Provides the interface to apply upper and lower bound constraints.
Defines the general constraint operator interface.
Provides an implementation for lower bound constraints.