ROL
ROL::CompositeConstraint_SimOpt< Real > Class Template Reference

Defines a composite equality constraint operator interface for simulation-based optimization. More...

#include <ROL_CompositeConstraint_SimOpt.hpp>

+ Inheritance diagram for ROL::CompositeConstraint_SimOpt< Real >:

Public Member Functions

 CompositeConstraint_SimOpt (const ROL::Ptr< Constraint_SimOpt< Real > > &conVal, const ROL::Ptr< Constraint_SimOpt< Real > > &conRed, const Vector< Real > &cVal, const Vector< Real > &cRed, const Vector< Real > &u, const Vector< Real > &Sz, const Vector< Real > &z, bool storage=true, bool isConRedParametrized=false)
 
void update (const Vector< Real > &u, const Vector< Real > &z, bool flag=true, int iter=-1) override
 
void update_1 (const Vector< Real > &u, bool flag=true, int iter=-1) override
 
void update_2 (const Vector< Real > &z, bool flag=true, int iter=-1) override
 
void update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1) override
 
void update_1 (const Vector< Real > &u, UpdateType type, int iter=-1) override
 
void update_2 (const Vector< Real > &z, UpdateType type, int iter=-1) override
 
void solve_update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1) override
 
void value (Vector< Real > &c, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void solve (Vector< Real > &c, Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyJacobian_1 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyJacobian_2 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyInverseJacobian_1 (Vector< Real > &ijv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyAdjointJacobian_1 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyAdjointJacobian_2 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyInverseAdjointJacobian_1 (Vector< Real > &ijv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyAdjointHessian_11 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyAdjointHessian_12 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyAdjointHessian_21 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void applyAdjointHessian_22 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol) override
 
void setParameter (const std::vector< Real > &param) override
 
- Public Member Functions inherited from Constraint_SimOpt< Real >
 Constraint_SimOpt ()
 
virtual void update (const Vector< Real > &u, const Vector< Real > &z, bool flag=true, int iter=-1)
 Update constraint functions.
x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
 
virtual void update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1)
 
virtual void update (const Vector< Real > &x, bool flag=true, int iter=-1)
 Update constraint functions.
x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
 
virtual void update (const Vector< Real > &x, UpdateType type, int iter=-1)
 
virtual void update_1 (const Vector< Real > &u, bool flag=true, int iter=-1)
 Update constraint functions with respect to Sim variable.
x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
 
virtual void update_1 (const Vector< Real > &u, UpdateType type, int iter=-1)
 
virtual void update_2 (const Vector< Real > &z, bool flag=true, int iter=-1)
 Update constraint functions with respect to Opt variable. x is the optimization variable, flag = true if optimization variable is changed, iter is the outer algorithm iterations count.
 
virtual void update_2 (const Vector< Real > &z, UpdateType type, int iter=-1)
 
virtual void solve_update (const Vector< Real > &u, const Vector< Real > &z, UpdateType type, int iter=-1)
 Update SimOpt constraint during solve (disconnected from optimization updates).
 
virtual void value (Vector< Real > &c, const Vector< Real > &u, const Vector< Real > &z, Real &tol)=0
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).
 
virtual void value (Vector< Real > &c, const Vector< Real > &x, Real &tol)
 
virtual void solve (Vector< Real > &c, Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\).
 
virtual void setSolveParameters (ParameterList &parlist)
 Set solve parameters.
 
virtual void applyJacobian_1 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).
 
virtual void applyJacobian_2 (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).
 
virtual void applyInverseJacobian_1 (Vector< Real > &ijv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).
 
virtual void applyAdjointJacobian_1 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^* \in L(\mathcal{C}^*, \mathcal{U}^*)\), to the vector \(v\). This is the primary interface.
 
virtual void applyAdjointJacobian_1 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualv, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^* \in L(\mathcal{C}^*, \mathcal{U}^*)\), to the vector \(v\). This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
 
virtual void applyAdjointJacobian_2 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_z(u,z)^* \in L(\mathcal{C}^*, \mathcal{Z}^*)\), to vector \(v\). This is the primary interface.
 
virtual void applyAdjointJacobian_2 (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualv, Real &tol)
 Apply the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_z(u,z)^* \in L(\mathcal{C}^*, \mathcal{Z}^*)\), to vector \(v\). This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
 
virtual void applyInverseAdjointJacobian_1 (Vector< Real > &iajv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the inverse of the adjoint of the partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-*} \in L(\mathcal{U}^*, \mathcal{C}^*)\), to the vector \(v\).
 
virtual void applyAdjointHessian_11 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{uu}(u,z)(v,\cdot)^*w\).
 
virtual void applyAdjointHessian_12 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{uz}(u,z)(v,\cdot)^*w\).
 
virtual void applyAdjointHessian_21 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{zu}(u,z)(v,\cdot)^*w\).
 
virtual void applyAdjointHessian_22 (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, Real &tol)
 Apply the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at \((u,z)\) to the vector \(w\) in the direction \(v\), according to \(v\mapsto c_{zz}(u,z)(v,\cdot)^*w\).
 
virtual std::vector< Real > solveAugmentedSystem (Vector< Real > &v1, Vector< Real > &v2, const Vector< Real > &b1, const Vector< Real > &b2, const Vector< Real > &x, Real &tol)
 Approximately solves the augmented system
 
virtual void applyPreconditioner (Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g, Real &tol)
 Apply a constraint preconditioner at \(x\), \(P(x) \in L(\mathcal{C}, \mathcal{C})\), to vector \(v\). In general, this preconditioner satisfies the following relationship:
 
virtual void applyJacobian (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 
virtual void applyAdjointJacobian (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 
virtual void applyAdjointHessian (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 
virtual Real checkSolve (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &c, const bool printToStream=true, std::ostream &outStream=std::cout)
 
virtual Real checkAdjointConsistencyJacobian_1 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the primary interface.
 
virtual Real checkAdjointConsistencyJacobian_1 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualw, const Vector< Real > &dualv, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
 
virtual Real checkAdjointConsistencyJacobian_2 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the primary interface.
 
virtual Real checkAdjointConsistencyJacobian_2 (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &dualw, const Vector< Real > &dualv, const bool printToStream=true, std::ostream &outStream=std::cout)
 Check the consistency of the Jacobian and its adjoint. This is the secondary interface, for use with dual spaces where the user does not define the dual() operation.
 
virtual Real checkInverseJacobian_1 (const Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
 
virtual Real checkInverseAdjointJacobian_1 (const Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &z, const bool printToStream=true, std::ostream &outStream=std::cout)
 
std::vector< std::vector< Real > > checkApplyJacobian_1 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
std::vector< std::vector< Real > > checkApplyJacobian_1 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 
std::vector< std::vector< Real > > checkApplyJacobian_2 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
std::vector< std::vector< Real > > checkApplyJacobian_2 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &v, const Vector< Real > &jv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_11 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_11 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_21 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 \( u\in U \), \( z\in Z \), \( p\in C^\ast \), \( v \in U \), \( hv \in U^\ast \)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_21 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 \( u\in U \), \( z\in Z \), \( p\in C^\ast \), \( v \in U \), \( hv \in U^\ast \)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_12 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 \( u\in U \), \( z\in Z \), \( p\in C^\ast \), \( v \in U \), \( hv \in U^\ast \)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_12 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_22 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
std::vector< std::vector< Real > > checkApplyAdjointHessian_22 (const Vector< Real > &u, const Vector< Real > &z, const Vector< Real > &p, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &steps, const bool printToStream=true, std::ostream &outStream=std::cout, const int order=1)
 

Private Member Functions

void solveConRed (Vector< Real > &Sz, const Vector< Real > &z, Real &tol)
 
void applySens (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &Sz, const Vector< Real > &z, Real &tol)
 
void applyAdjointSens (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &Sz, const Vector< Real > &z, Real &tol)
 

Private Attributes

const ROL::Ptr< Constraint_SimOpt< Real > > conVal_
 
const ROL::Ptr< Constraint_SimOpt< Real > > conRed_
 
ROL::Ptr< Vector< Real > > Sz_
 
ROL::Ptr< Vector< Real > > primRed_
 
ROL::Ptr< Vector< Real > > dualRed_
 
ROL::Ptr< Vector< Real > > primZ_
 
ROL::Ptr< Vector< Real > > dualZ_
 
ROL::Ptr< Vector< Real > > dualZ1_
 
ROL::Ptr< Vector< Real > > primU_
 
ROL::Ptr< VectorController< Real > > stateStore_
 
bool updateFlag_
 
bool newUpdate_
 
int updateIter_
 
UpdateType updateType_
 
const bool storage_
 
const bool isConRedParametrized_
 

Additional Inherited Members

- Protected Attributes inherited from Constraint_SimOpt< Real >
Real atol_
 
Real rtol_
 
Real stol_
 
Real factor_
 
Real decr_
 
int maxit_
 
bool print_
 
bool zero_
 
int solverType_
 
bool firstSolve_
 

Detailed Description

template<typename Real>
class ROL::CompositeConstraint_SimOpt< Real >

Defines a composite equality constraint operator interface for simulation-based optimization.

This equality constraint interface inherits from ROL_Constraint_SimOpt, for the use case when \(\mathcal{X}=\mathcal{U}\times\mathcal{Z}\) where \(\mathcal{U}\) and \(\mathcal{Z}\) are Banach spaces. \(\mathcal{U}\) denotes the "simulation space" and \(\mathcal{Z}\) denotes the "optimization space" (of designs, controls, parameters). The simulation-based constraints are of the form

\[ c(u,S(z)) = 0 \]

where \(S(z)\) solves the reducible constraint

\[ c_0(S(z),z) = 0. \]


Definition at line 74 of file ROL_CompositeConstraint_SimOpt.hpp.

Constructor & Destructor Documentation

◆ CompositeConstraint_SimOpt()

Member Function Documentation

◆ update() [1/2]

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::update ( const Vector< Real > & u,
const Vector< Real > & z,
bool flag = true,
int iter = -1 )
override

Definition at line 74 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References flag, iter, and ROL::update_2().

◆ update_1() [1/2]

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::update_1 ( const Vector< Real > & u,
bool flag = true,
int iter = -1 )
override

Definition at line 82 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References flag, and iter.

◆ update_2() [1/2]

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::update_2 ( const Vector< Real > & z,
bool flag = true,
int iter = -1 )
override

Definition at line 89 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References flag, and iter.

◆ update() [2/2]

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::update ( const Vector< Real > & u,
const Vector< Real > & z,
UpdateType type,
int iter = -1 )
override

Definition at line 98 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References iter, and ROL::update_2().

◆ update_1() [2/2]

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::update_1 ( const Vector< Real > & u,
UpdateType type,
int iter = -1 )
override

Definition at line 106 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References iter.

◆ update_2() [2/2]

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::update_2 ( const Vector< Real > & z,
UpdateType type,
int iter = -1 )
override

Definition at line 113 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References iter.

◆ solve_update()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::solve_update ( const Vector< Real > & u,
const Vector< Real > & z,
UpdateType type,
int iter = -1 )
override

Definition at line 122 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

References iter, and ROL::ROL_EPSILON().

◆ value()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::value ( Vector< Real > & c,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 131 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ solve()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::solve ( Vector< Real > & c,
Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 140 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyJacobian_1()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyJacobian_1 ( Vector< Real > & jv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 149 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyJacobian_2()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyJacobian_2 ( Vector< Real > & jv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 159 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyInverseJacobian_1()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyInverseJacobian_1 ( Vector< Real > & ijv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 170 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyAdjointJacobian_1()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointJacobian_1 ( Vector< Real > & ajv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 180 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyAdjointJacobian_2()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointJacobian_2 ( Vector< Real > & ajv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 190 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyInverseAdjointJacobian_1()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyInverseAdjointJacobian_1 ( Vector< Real > & ijv,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 201 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyAdjointHessian_11()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_11 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 211 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyAdjointHessian_12()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_12 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 222 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyAdjointHessian_21()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_21 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

Definition at line 234 of file ROL_CompositeConstraint_SimOpt_Def.hpp.

◆ applyAdjointHessian_22()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointHessian_22 ( Vector< Real > & ahwv,
const Vector< Real > & w,
const Vector< Real > & v,
const Vector< Real > & u,
const Vector< Real > & z,
Real & tol )
override

◆ setParameter()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::setParameter ( const std::vector< Real > & param)
override

◆ solveConRed()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::solveConRed ( Vector< Real > & Sz,
const Vector< Real > & z,
Real & tol )
private

◆ applySens()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applySens ( Vector< Real > & jv,
const Vector< Real > & v,
const Vector< Real > & Sz,
const Vector< Real > & z,
Real & tol )
private

◆ applyAdjointSens()

template<typename Real >
void ROL::CompositeConstraint_SimOpt< Real >::applyAdjointSens ( Vector< Real > & ajv,
const Vector< Real > & v,
const Vector< Real > & Sz,
const Vector< Real > & z,
Real & tol )
private

Member Data Documentation

◆ conVal_

template<typename Real >
const ROL::Ptr<Constraint_SimOpt<Real> > ROL::CompositeConstraint_SimOpt< Real >::conVal_
private

Definition at line 77 of file ROL_CompositeConstraint_SimOpt.hpp.

◆ conRed_

template<typename Real >
const ROL::Ptr<Constraint_SimOpt<Real> > ROL::CompositeConstraint_SimOpt< Real >::conRed_
private

Definition at line 77 of file ROL_CompositeConstraint_SimOpt.hpp.

◆ Sz_

template<typename Real >
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::Sz_
private

◆ primRed_

template<typename Real >
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::primRed_
private

◆ dualRed_

template<typename Real >
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::dualRed_
private

◆ primZ_

template<typename Real >
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::primZ_
private

◆ dualZ_

template<typename Real >
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::dualZ_
private

◆ dualZ1_

template<typename Real >
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::dualZ1_
private

◆ primU_

template<typename Real >
ROL::Ptr<Vector<Real> > ROL::CompositeConstraint_SimOpt< Real >::primU_
private

◆ stateStore_

template<typename Real >
ROL::Ptr<VectorController<Real> > ROL::CompositeConstraint_SimOpt< Real >::stateStore_
private

◆ updateFlag_

template<typename Real >
bool ROL::CompositeConstraint_SimOpt< Real >::updateFlag_
private

Definition at line 83 of file ROL_CompositeConstraint_SimOpt.hpp.

◆ newUpdate_

template<typename Real >
bool ROL::CompositeConstraint_SimOpt< Real >::newUpdate_
private

Definition at line 83 of file ROL_CompositeConstraint_SimOpt.hpp.

◆ updateIter_

template<typename Real >
int ROL::CompositeConstraint_SimOpt< Real >::updateIter_
private

Definition at line 84 of file ROL_CompositeConstraint_SimOpt.hpp.

◆ updateType_

template<typename Real >
UpdateType ROL::CompositeConstraint_SimOpt< Real >::updateType_
private

Definition at line 85 of file ROL_CompositeConstraint_SimOpt.hpp.

◆ storage_

template<typename Real >
const bool ROL::CompositeConstraint_SimOpt< Real >::storage_
private

Definition at line 87 of file ROL_CompositeConstraint_SimOpt.hpp.

◆ isConRedParametrized_

template<typename Real >
const bool ROL::CompositeConstraint_SimOpt< Real >::isConRedParametrized_
private

Definition at line 87 of file ROL_CompositeConstraint_SimOpt.hpp.


The documentation for this class was generated from the following files: