ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
constraint
ROL_AffineTransformConstraint.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_AFFINE_TRANSFORM_CONSTRAINT_H
11
#define ROL_AFFINE_TRANSFORM_CONSTRAINT_H
12
13
#include "
ROL_Constraint.hpp
"
14
#include "
ROL_LinearConstraint.hpp
"
15
#include "
ROL_VectorController.hpp
"
16
24
25
namespace
ROL
{
26
27
template
<
class
Real>
28
class
AffineTransformConstraint
:
public
Constraint
<Real> {
29
private
:
30
const
Ptr<Constraint<Real>>
con_
;
31
const
Ptr<Constraint<Real>>
acon_
;
32
33
Ptr<VectorController<Real>>
storage_
;
34
Ptr<Vector<Real>>
primal_
,
dual_
,
Av_
;
35
36
public
:
37
virtual
~AffineTransformConstraint
() {}
38
AffineTransformConstraint
(
const
Ptr<
Constraint<Real>
> &con,
39
const
Ptr<
Constraint<Real>
> &acon,
40
const
Vector<Real>
&range,
41
const
Ptr<
VectorController<Real>
> &storage = nullPtr);
42
AffineTransformConstraint
(
const
Ptr<
Constraint<Real>
> &con,
43
const
Ptr<
LinearConstraint<Real>
> &acon,
44
const
Ptr<
VectorController<Real>
> &storage = nullPtr);
45
AffineTransformConstraint
(
const
Ptr<
Constraint<Real>
> &con,
46
const
Ptr<
const
LinearOperator<Real>
> &A,
47
const
Ptr<
const
Vector<Real>
> &b,
48
const
Ptr<
VectorController<Real>
> &storage = nullPtr);
49
50
void
update
(
const
Vector<Real>
&x,
UpdateType
type,
int
iter = -1 )
override
;
51
void
update
(
const
Vector<Real>
&x,
bool
flag =
true
,
int
iter = -1 )
override
;
52
void
value
(
Vector<Real>
&c,
const
Vector<Real>
&x, Real &tol )
override
;
53
void
applyJacobian
(
Vector<Real>
&jv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
54
void
applyAdjointJacobian
(
Vector<Real>
&ajv,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
55
void
applyAdjointHessian
(
Vector<Real>
&ahuv,
const
Vector<Real>
&u,
const
Vector<Real>
&v,
const
Vector<Real>
&x, Real &tol )
override
;
56
57
private
:
58
Ptr<const Vector<Real>>
transform
(
const
Vector<Real>
&x);
59
60
};
// class AffineTransformConstraint
61
62
}
// namespace ROL
63
64
#include "
ROL_AffineTransformConstraint_Def.hpp
"
65
66
#endif
// ROL_AFFINE_TRANSFORM_OBJECTIVE_H
ROL_AffineTransformConstraint_Def.hpp
ROL_Constraint.hpp
ROL_LinearConstraint.hpp
ROL_VectorController.hpp
ROL::AffineTransformConstraint::Av_
Ptr< Vector< Real > > Av_
Definition
ROL_AffineTransformConstraint.hpp:34
ROL::AffineTransformConstraint::dual_
Ptr< Vector< Real > > dual_
Definition
ROL_AffineTransformConstraint.hpp:34
ROL::AffineTransformConstraint::acon_
const Ptr< Constraint< Real > > acon_
Definition
ROL_AffineTransformConstraint.hpp:31
ROL::AffineTransformConstraint::con_
const Ptr< Constraint< Real > > con_
Definition
ROL_AffineTransformConstraint.hpp:30
ROL::AffineTransformConstraint::~AffineTransformConstraint
virtual ~AffineTransformConstraint()
Definition
ROL_AffineTransformConstraint.hpp:37
ROL::AffineTransformConstraint::update
void update(const Vector< Real > &x, UpdateType type, int iter=-1) override
ROL::AffineTransformConstraint::applyAdjointHessian
void applyAdjointHessian(Vector< Real > &ahuv, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::AffineTransformConstraint::AffineTransformConstraint
AffineTransformConstraint(const Ptr< Constraint< Real > > &con, const Ptr< Constraint< Real > > &acon, const Vector< Real > &range, const Ptr< VectorController< Real > > &storage=nullPtr)
ROL::AffineTransformConstraint::value
void value(Vector< Real > &c, const Vector< Real > &x, Real &tol) override
ROL::AffineTransformConstraint::AffineTransformConstraint
AffineTransformConstraint(const Ptr< Constraint< Real > > &con, const Ptr< LinearConstraint< Real > > &acon, const Ptr< VectorController< Real > > &storage=nullPtr)
ROL::AffineTransformConstraint::primal_
Ptr< Vector< Real > > primal_
Definition
ROL_AffineTransformConstraint.hpp:34
ROL::AffineTransformConstraint::transform
Ptr< const Vector< Real > > transform(const Vector< Real > &x)
ROL::AffineTransformConstraint::applyAdjointJacobian
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::AffineTransformConstraint::update
void update(const Vector< Real > &x, bool flag=true, int iter=-1) override
ROL::AffineTransformConstraint::AffineTransformConstraint
AffineTransformConstraint(const Ptr< Constraint< Real > > &con, const Ptr< const LinearOperator< Real > > &A, const Ptr< const Vector< Real > > &b, const Ptr< VectorController< Real > > &storage=nullPtr)
ROL::AffineTransformConstraint::storage_
Ptr< VectorController< Real > > storage_
Definition
ROL_AffineTransformConstraint.hpp:33
ROL::AffineTransformConstraint::applyJacobian
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol) override
ROL::LinearConstraint
Defines the general affine constraint with the form .
Definition
ROL_LinearConstraint.hpp:26
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::VectorController
Definition
ROL_VectorController.hpp:21
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