ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
constraint
ROL_LinearConstraint.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_H
11
#define ROL_LINEARCONSTRAINT_H
12
13
#include "
ROL_Constraint.hpp
"
14
#include "
ROL_LinearOperator.hpp
"
15
22
23
namespace
ROL
{
24
25
template
<
typename
Real>
26
class
LinearConstraint
:
public
Constraint
<Real> {
27
private
:
28
const
Ptr<const LinearOperator<Real>>
A_
;
29
const
Ptr<const Vector<Real>>
b_
;
30
31
public
:
32
LinearConstraint
(
const
Ptr<
const
LinearOperator<Real>
> &A,
33
const
Ptr<
const
Vector<Real>
> &b);
34
35
void
update
(
const
Vector<Real>
&x,
UpdateType
type,
int
iter = -1 )
override
;
36
void
update
(
const
Vector<Real>
&x,
bool
flag =
true
,
int
iter = -1 )
override
;
37
void
value
(
Vector<Real>
&c,
const
Vector<Real>
&x, Real &tol)
override
;
38
void
applyJacobian
(
Vector<Real>
&jv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol)
override
;
39
void
applyAdjointJacobian
(
Vector<Real>
&ajv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol)
override
;
40
void
applyAdjointJacobian
(
Vector<Real>
&ajv,
const
Vector<Real>
&v,
const
Vector<Real>
&x,
const
Vector<Real>
&dualv, Real &tol)
override
;
41
void
applyAdjointHessian
(
Vector<Real>
&ahuv,
const
Vector<Real>
&u,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol)
override
;
42
43
Ptr<Vector<Real>>
createRangeSpaceVector
(
void
)
const
;
44
45
};
// class LinearConstraint
46
47
}
// namespace ROL
48
49
#include "
ROL_LinearConstraint_Def.hpp
"
50
51
#endif
ROL_Constraint.hpp
ROL_LinearConstraint_Def.hpp
ROL_LinearOperator.hpp
ROL::LinearConstraint::update
void update(const Vector< Real > &x, bool flag=true, int iter=-1) override
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::A_
const Ptr< const LinearOperator< Real > > A_
Definition
ROL_LinearConstraint.hpp:28
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::applyAdjointJacobian
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &dualv, 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::b_
const Ptr< const Vector< Real > > b_
Definition
ROL_LinearConstraint.hpp:29
ROL::LinearConstraint::applyJacobian
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::LinearOperator
Provides the interface to apply a linear operator.
Definition
ROL_LinearOperator.hpp:37
ROL::ROL::Constraint::Constraint
Constraint(void)
Definition
ROL_Constraint_SerialSimOpt.hpp:59
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL
Definition
ROL_ElementwiseVector.hpp:27
ROL::UpdateType
UpdateType
Definition
ROL_UpdateType.hpp:18
Generated by
1.17.0