ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
constraint
ROL_ReducedLinearConstraint_Def.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_REDUCED_LINEAR_CONSTRAINT_DEF_H
11
#define ROL_REDUCED_LINEAR_CONSTRAINT_DEF_H
12
13
namespace
ROL
{
14
15
template
<
typename
Real>
16
ReducedLinearConstraint<Real>::ReducedLinearConstraint
(
const
Ptr<
Constraint<Real>
> &con,
17
const
Ptr<
BoundConstraint<Real>
> &bnd,
18
const
Ptr<
const
Vector<Real>
> &x)
19
:
con_
(con),
bnd_
(bnd),
x_
(x),
prim_
(x->clone()) {}
20
21
template
<
typename
Real>
22
void
ReducedLinearConstraint<Real>::setX
(
const
Ptr<
const
Vector<Real>
> &x) {
23
x_
= x;
24
}
25
26
template
<
typename
Real>
27
void
ReducedLinearConstraint<Real>::value
(
Vector<Real>
&c,
const
Vector<Real>
&x, Real &tol) {
28
const
Real
zero
(0);
29
prim_
->set(x);
30
bnd_
->pruneActive(*
prim_
,*
x_
,
zero
);
31
con_
->value(c,*
prim_
,tol);
32
}
33
34
template
<
typename
Real>
35
void
ReducedLinearConstraint<Real>::applyJacobian
(
Vector<Real>
&jv,
36
const
Vector<Real>
&v,
37
const
Vector<Real>
&x, Real &tol) {
38
const
Real
zero
(0);
39
prim_
->set(v);
40
bnd_
->pruneActive(*
prim_
,*
x_
,
zero
);
41
con_
->applyJacobian(jv,*
prim_
,x,tol);
42
}
43
44
template
<
typename
Real>
45
void
ReducedLinearConstraint<Real>::applyAdjointJacobian
(
Vector<Real>
&jv,
46
const
Vector<Real>
&v,
47
const
Vector<Real>
&x, Real &tol) {
48
const
Real
zero
(0);
49
con_
->applyAdjointJacobian(jv,v,x,tol);
50
bnd_
->pruneActive(jv,*
x_
,
zero
);
51
}
52
53
template
<
typename
Real>
54
void
ReducedLinearConstraint<Real>::applyAdjointHessian
(
Vector<Real>
&ahuv,
55
const
Vector<Real>
&u,
56
const
Vector<Real>
&v,
57
const
Vector<Real>
&x, Real &tol) {
58
ahuv.
zero
();
59
}
60
61
}
// namespace ROL
62
63
#endif
// ROL_REDUCED_LINEAR_CONSTRAINT_H
zero
Objective_SerialSimOpt(const Ptr< Obj > &obj, const V &ui) z0 zero)()
Definition
ROL_Objective_SerialSimOpt.hpp:77
ROL::BoundConstraint
Provides the interface to apply upper and lower bound constraints.
Definition
ROL_BoundConstraint.hpp:39
ROL::ROL::Constraint::Constraint
Constraint(void)
Definition
ROL_Constraint_SerialSimOpt.hpp:59
ROL::ReducedLinearConstraint::prim_
const Ptr< Vector< Real > > prim_
Definition
ROL_ReducedLinearConstraint.hpp:38
ROL::ReducedLinearConstraint::applyAdjointJacobian
void applyAdjointJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_ReducedLinearConstraint_Def.hpp:45
ROL::ReducedLinearConstraint::ReducedLinearConstraint
ReducedLinearConstraint(const Ptr< Constraint< Real > > &con, const Ptr< BoundConstraint< Real > > &bnd, const Ptr< const Vector< Real > > &x)
Definition
ROL_ReducedLinearConstraint_Def.hpp:16
ROL::ReducedLinearConstraint::bnd_
const Ptr< BoundConstraint< Real > > bnd_
Definition
ROL_ReducedLinearConstraint.hpp:36
ROL::ReducedLinearConstraint::applyJacobian
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_ReducedLinearConstraint_Def.hpp:35
ROL::ReducedLinearConstraint::value
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
Definition
ROL_ReducedLinearConstraint_Def.hpp:27
ROL::ReducedLinearConstraint::applyAdjointHessian
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_ReducedLinearConstraint_Def.hpp:54
ROL::ReducedLinearConstraint::con_
const Ptr< Constraint< Real > > con_
Definition
ROL_ReducedLinearConstraint.hpp:35
ROL::ReducedLinearConstraint::x_
Ptr< const Vector< Real > > x_
Definition
ROL_ReducedLinearConstraint.hpp:37
ROL::ReducedLinearConstraint::setX
void setX(const Ptr< const Vector< Real > > &x)
Definition
ROL_ReducedLinearConstraint_Def.hpp:22
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL::Vector::zero
virtual void zero()
Set to zero vector.
Definition
ROL_Vector.hpp:134
ROL
Definition
ROL_ElementwiseVector.hpp:27
Generated by
1.17.0