ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
constraint
ROL_LinearConstraint_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_LINEARCONSTRAINT_DEF_H
11
#define ROL_LINEARCONSTRAINT_DEF_H
12
13
namespace
ROL
{
14
15
template
<
typename
Real>
16
LinearConstraint<Real>::LinearConstraint
(
const
Ptr<
const
LinearOperator<Real>
> &A,
17
const
Ptr<
const
Vector<Real>
> &b) :
A_
(A),
b_
(b) {}
18
19
template
<
typename
Real>
20
void
LinearConstraint<Real>::update
(
const
Vector<Real>
&x,
UpdateType
type,
int
iter ) {}
21
22
template
<
typename
Real>
23
void
LinearConstraint<Real>::update
(
const
Vector<Real>
&x,
bool
flag,
int
iter ) {}
24
25
template
<
typename
Real>
26
void
LinearConstraint<Real>::value
(
Vector<Real>
&c,
const
Vector<Real>
&x, Real &tol) {
27
A_
->apply(c,x,tol);
28
c.
plus
(*
b_
);
29
}
30
31
template
<
typename
Real>
32
void
LinearConstraint<Real>::applyJacobian
(
Vector<Real>
&jv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol) {
33
A_
->apply(jv,v,tol);
34
}
35
36
template
<
typename
Real>
37
void
LinearConstraint<Real>::applyAdjointJacobian
(
Vector<Real>
&ajv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol) {
38
A_
->applyAdjoint(ajv,v,tol);
39
}
40
41
template
<
typename
Real>
42
void
LinearConstraint<Real>::applyAdjointJacobian
(
Vector<Real>
&ajv,
const
Vector<Real>
&v,
const
Vector<Real>
&x,
const
Vector<Real>
&dualv, Real &tol) {
43
A_
->applyAdjoint(ajv,v,tol);
44
}
45
46
template
<
typename
Real>
47
void
LinearConstraint<Real>::applyAdjointHessian
(
Vector<Real>
&ahuv,
const
Vector<Real>
&u,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol) {
48
ahuv.
zero
();
49
}
50
51
template
<
typename
Real>
52
Ptr<Vector<Real>>
LinearConstraint<Real>::createRangeSpaceVector
(
void
)
const
{
53
return
b_
->clone();
54
}
55
56
}
// namespace ROL
57
58
#endif
ROL::LinearConstraint::createRangeSpaceVector
Ptr< Vector< Real > > createRangeSpaceVector(void) const
ROL::LinearConstraint::update
void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
ROL::LinearConstraint::applyAdjointHessian
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::LinearConstraint::LinearConstraint
LinearConstraint(const Ptr< const LinearOperator< Real > > &A, const Ptr< const Vector< Real > > &b)
ROL::LinearConstraint::applyAdjointJacobian
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::LinearConstraint::value
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
ROL::LinearConstraint::applyJacobian
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::ROL::LinearConstraint::A_
const Ptr< const LinearOperator< Real > > A_
Definition
ROL_Constraint_SerialSimOpt.hpp:28
ROL::ROL::LinearConstraint::b_
const Ptr< const Vector< Real > > b_
Definition
ROL_Constraint_SerialSimOpt.hpp:29
ROL::ROL::LinearOperator
Definition
ROL_Constraint_SerialSimOpt.hpp:37
ROL::ROL::Vector
Definition
ROL_Constraint_SerialSimOpt.hpp:51
ROL::ROL::Vector::plus
virtual void plus(const Vector &x)=0
Compute , where .
ROL::ROL::Vector::zero
virtual void zero()
Set to zero vector.
Definition
ROL_Constraint_SerialSimOpt.hpp:134
ROL::ROL::UpdateType
UpdateType
Definition
ROL_Constraint_SerialSimOpt.hpp:19
ROL
Definition
ROL_ElementwiseVector.hpp:27
Generated by
1.17.0