ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
std
ROL_StdConstraint.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_STDEQUALITY_CONSTRAINT_H
11
#define ROL_STDEQUALITY_CONSTRAINT_H
12
13
#include "
ROL_Constraint.hpp
"
14
#include "
ROL_StdVector.hpp
"
15
21
22
namespace
ROL
{
23
24
template
<
typename
Real>
25
class
StdConstraint
:
public
virtual
Constraint
<Real> {
26
public
:
27
virtual
~StdConstraint
() {}
28
29
using
Constraint
<Real>
::update
;
30
void
update
(
const
Vector<Real>
&x,
bool
flag =
true
,
int
iter = -1 )
override
;
31
virtual
void
update
(
const
std::vector<Real> &x,
bool
flag =
true
,
int
iter = -1 ) {}
32
void
update
(
const
Vector<Real>
&x,
UpdateType
type,
int
iter = -1 )
override
;
33
virtual
void
update
(
const
std::vector<Real> &x,
UpdateType
type,
int
iter = -1 ) {}
34
35
using
Constraint
<Real>
::value
;
36
void
value
(
Vector<Real>
&c,
const
Vector<Real>
&x, Real &tol)
override
;
37
virtual
void
value
( std::vector<Real> &c,
const
std::vector<Real> &x, Real &tol ) = 0;
38
39
using
Constraint
<Real>
::applyJacobian
;
40
void
applyJacobian
(
Vector<Real>
&jv,
const
Vector<Real>
&v,
41
const
Vector<Real>
&x, Real &tol)
override
;
42
virtual
void
applyJacobian
( std::vector<Real> &jv,
const
std::vector<Real> &v,
43
const
std::vector<Real> &x, Real &tol );
44
45
using
Constraint
<Real>
::applyAdjointJacobian
;
46
void
applyAdjointJacobian
(
Vector<Real>
&ajv,
const
Vector<Real>
&v,
47
const
Vector<Real>
&x, Real &tol)
override
;
48
virtual
void
applyAdjointJacobian
( std::vector<Real> &ajv,
const
std::vector<Real> &v,
49
const
std::vector<Real> &x, Real &tol );
50
51
using
Constraint
<Real>
::applyAdjointHessian
;
52
void
applyAdjointHessian
(
Vector<Real>
&ahuv,
const
Vector<Real>
&u,
const
Vector<Real>
&v,
53
const
Vector<Real>
&x, Real &tol)
override
;
54
virtual
void
applyAdjointHessian
( std::vector<Real> &ahuv,
const
std::vector<Real> &u,
55
const
std::vector<Real> &v,
const
std::vector<Real> &x,
56
Real &tol );
57
58
using
Constraint
<Real>
::solveAugmentedSystem
;
59
std::vector<Real>
solveAugmentedSystem
(
Vector<Real>
&v1,
Vector<Real>
&v2,
60
const
Vector<Real>
&b1,
const
Vector<Real>
&b2,
61
const
Vector<Real>
&x, Real &tol)
override
;
62
virtual
std::vector<Real>
solveAugmentedSystem
( std::vector<Real> &v1, std::vector<Real> &v2,
63
const
std::vector<Real> &b1,
const
std::vector<Real> &b2,
64
const
std::vector<Real> &x, Real tol );
65
66
using
Constraint
<Real>
::applyPreconditioner
;
67
void
applyPreconditioner
(
Vector<Real>
&pv,
const
Vector<Real>
&v,
const
Vector<Real>
&x,
68
const
Vector<Real>
&g, Real &tol)
override
;
69
virtual
void
applyPreconditioner
( std::vector<Real> &pv,
const
std::vector<Real> &v,
70
const
std::vector<Real> &x,
const
std::vector<Real> &g, Real &tol );
71
72
};
// class StdConstraint
73
74
}
// namespace ROL
75
76
#include "
ROL_StdConstraint_Def.hpp
"
77
78
#endif
ROL_Constraint.hpp
update
virtual void update(const Vector< Real > &u_old, const Vector< Real > &u_new, const Vector< Real > &z, bool flag=true, int iter=-1)
Definition
ROL_Objective_TimeSimOpt.hpp:79
ROL_StdConstraint_Def.hpp
ROL_StdVector.hpp
ROL::Constraint
Defines the general constraint operator interface.
Definition
ROL_Constraint.hpp:52
ROL::ROL::Constraint::Constraint
Constraint(void)
Definition
ROL_Constraint_SerialSimOpt.hpp:59
ROL::StdConstraint
Defines the equality constraint operator interface for StdVectors.
Definition
ROL_StdConstraint.hpp:25
ROL::StdConstraint::value
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
Definition
ROL_StdConstraint_Def.hpp:28
ROL::StdConstraint::update
virtual void update(const std::vector< Real > &x, UpdateType type, int iter=-1)
Definition
ROL_StdConstraint.hpp:33
ROL::StdConstraint::value
virtual void value(std::vector< Real > &c, const std::vector< Real > &x, Real &tol)=0
ROL::StdConstraint::update
void update(const Vector< Real > &x, bool flag=true, int iter=-1) override
Definition
ROL_StdConstraint_Def.hpp:16
ROL::StdConstraint::applyAdjointHessian
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_StdConstraint_Def.hpp:81
ROL::StdConstraint::update
virtual void update(const std::vector< Real > &x, bool flag=true, int iter=-1)
Definition
ROL_StdConstraint.hpp:31
ROL::StdConstraint::~StdConstraint
virtual ~StdConstraint()
Definition
ROL_StdConstraint.hpp:27
ROL::StdConstraint::applyAdjointJacobian
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_StdConstraint_Def.hpp:58
ROL::StdConstraint::applyPreconditioner
void applyPreconditioner(Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g, Real &tol) override
Definition
ROL_StdConstraint_Def.hpp:139
ROL::StdConstraint::solveAugmentedSystem
std::vector< Real > solveAugmentedSystem(Vector< Real > &v1, Vector< Real > &v2, const Vector< Real > &b1, const Vector< Real > &b2, const Vector< Real > &x, Real &tol) override
Definition
ROL_StdConstraint_Def.hpp:108
ROL::StdConstraint::applyJacobian
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
Definition
ROL_StdConstraint_Def.hpp:35
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL
Definition
ROL_ElementwiseVector.hpp:27
ROL::value
ROL::Objective_SerialSimOpt Objective_SimOpt value(const V &u, const V &z, Real &tol) override
Definition
ROL_Objective_SerialSimOpt.hpp:50
ROL::UpdateType
UpdateType
Definition
ROL_UpdateType.hpp:18
Generated by
1.17.0