ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
operator
ROL_LinearOperatorFromConstraint.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_LINEAROPERATOR_FROM_EQUALITYCONSTRAINT_H
11
#define ROL_LINEAROPERATOR_FROM_EQUALITYCONSTRAINT_H
12
13
#include "
ROL_Vector.hpp
"
14
#include "
ROL_Constraint.hpp
"
15
#include "
ROL_LinearOperator.hpp
"
16
24
25
26
namespace
ROL
{
27
28
template
<
class
Real>
29
class
LinearOperatorFromConstraint
:
public
LinearOperator
<Real> {
30
private
:
31
const
ROL::Ptr<const Vector<Real> >
x_
;
32
ROL::Ptr<Constraint<Real> >
con_
;
33
34
35
public
:
36
37
LinearOperatorFromConstraint
(
const
ROL::Ptr<
const
Vector<Real>
> &x,
38
const
ROL::Ptr<
Constraint<Real>
> &con ) :
39
x_
(x),
con_
(con) {
40
}
41
42
virtual
~LinearOperatorFromConstraint
() {}
43
44
virtual
void
apply
(
Vector<Real>
&Hv,
const
Vector<Real>
&v, Real &tol )
const
{
45
con_
->applyJacobian(Hv,v,*
x_
,tol);
46
}
47
48
// Not implemented for generic equality constraint
49
virtual
void
applyInverse
(
Vector<Real>
&Hv,
const
Vector<Real>
&v, Real &tol )
const
{
50
Hv.
set
(v);
51
}
52
53
};
// class LinearOperator
54
55
}
// namespace ROL
56
57
#endif
ROL_Constraint.hpp
ROL_LinearOperator.hpp
ROL_Vector.hpp
ROL::Constraint
Defines the general constraint operator interface.
Definition
ROL_Constraint.hpp:52
ROL::LinearOperatorFromConstraint::con_
ROL::Ptr< Constraint< Real > > con_
Definition
ROL_LinearOperatorFromConstraint.hpp:32
ROL::LinearOperatorFromConstraint::apply
virtual void apply(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Definition
ROL_LinearOperatorFromConstraint.hpp:44
ROL::LinearOperatorFromConstraint::~LinearOperatorFromConstraint
virtual ~LinearOperatorFromConstraint()
Definition
ROL_LinearOperatorFromConstraint.hpp:42
ROL::LinearOperatorFromConstraint::x_
const ROL::Ptr< const Vector< Real > > x_
Definition
ROL_LinearOperatorFromConstraint.hpp:31
ROL::LinearOperatorFromConstraint::applyInverse
virtual void applyInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Definition
ROL_LinearOperatorFromConstraint.hpp:49
ROL::LinearOperatorFromConstraint::LinearOperatorFromConstraint
LinearOperatorFromConstraint(const ROL::Ptr< const Vector< Real > > &x, const ROL::Ptr< Constraint< Real > > &con)
Definition
ROL_LinearOperatorFromConstraint.hpp:37
ROL::LinearOperator
Provides the interface to apply a linear operator.
Definition
ROL_LinearOperator.hpp:37
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL::Vector::set
virtual void set(const Vector &x)
Set where .
Definition
ROL_Vector.hpp:176
ROL
Definition
ROL_ElementwiseVector.hpp:27
Generated by
1.17.0