ROL
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Constraint_BurgersControl< Real > Class Template Reference

#include <test_04.hpp>

+ Inheritance diagram for Constraint_BurgersControl< Real >:

Public Member Functions

 Constraint_BurgersControl (const ROL::Ptr< BurgersFEM< Real > > &fem, const bool useHessian=true)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (int nx=128, Real nu=1.e-2, Real u0=1.0, Real u1=0.0, Real f=0.0)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (int nx=128, int nt=100, Real T=1, Real nu=1.e-2, Real u0=0.0, Real u1=0.0, Real f=0.0)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void solve (ROL::Vector< Real > &c, ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &hwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (int nx=128)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void solve (ROL::Vector< Real > &c, ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (ROL::Ptr< BurgersFEM< Real > > &fem, bool useHessian=true)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
 Constraint_BurgersControl (int nx=128)
 
void value (ROL::Vector< Real > &c, const ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\). More...
 
void solve (ROL::Vector< Real > &c, ROL::Vector< Real > &u, const ROL::Vector< Real > &z, Real &tol)
 Given \(z\), solve \(c(u,z)=0\) for \(u\). More...
 
void applyJacobian_1 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyInverseJacobian_1 (ROL::Vector< Real > &ijv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointJacobian_1 (ROL::Vector< Real > &ajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyAdjointJacobian_2 (ROL::Vector< Real > &jv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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. More...
 
void applyInverseAdjointJacobian_1 (ROL::Vector< Real > &iajv, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_11 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_12 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_21 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
void applyAdjointHessian_22 (ROL::Vector< Real > &ahwv, const ROL::Vector< Real > &w, const ROL::Vector< Real > &v, const ROL::Vector< Real > &u, const ROL::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\). More...
 
- Public Member Functions inherited from ROL::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. More...
 
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. More...
 
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. More...
 
virtual void setSolveParameters (ParameterList &parlist)
 Set solve parameters. More...
 
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. More...
 
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. More...
 
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

\[ \begin{pmatrix} I & c'(x)^* \\ c'(x) & 0 \end{pmatrix} \begin{pmatrix} v_{1} \\ v_{2} \end{pmatrix} = \begin{pmatrix} b_{1} \\ b_{2} \end{pmatrix} \]

where \(v_{1} \in \mathcal{X}\), \(v_{2} \in \mathcal{C}^*\), \(b_{1} \in \mathcal{X}^*\), \(b_{2} \in \mathcal{C}\), \(I : \mathcal{X} \rightarrow \mathcal{X}^*\) is an identity operator, and \(0 : \mathcal{C}^* \rightarrow \mathcal{C}\) is a zero operator. More...

 
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:

\[ c'(x) c'(x)^* P(x) v \approx v \,. \]

It is used by the solveAugmentedSystem method. More...

 
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. More...
 
virtual void value (Vector< Real > &c, const Vector< Real > &x, Real &tol)
 Evaluate the constraint operator \(c:\mathcal{X} \rightarrow \mathcal{C}\) at \(x\). More...
 
virtual void applyJacobian (Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 Apply the constraint Jacobian at \(x\), \(c'(x) \in L(\mathcal{X}, \mathcal{C})\), to vector \(v\). More...
 
virtual void applyAdjointJacobian (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 Apply the adjoint of the the constraint Jacobian at \(x\), \(c'(x)^* \in L(\mathcal{C}^*, \mathcal{X}^*)\), to vector \(v\). More...
 
virtual void applyAdjointHessian (Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, Real &tol)
 Apply the derivative of the adjoint of the constraint Jacobian at \(x\) to vector \(u\) in direction \(v\), according to \( v \mapsto c''(x)(v,\cdot)^*u \). More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 \) More...
 
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 \) More...
 
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 \) More...
 
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)
 
- Public Member Functions inherited from ROL::Constraint< Real >
virtual ~Constraint (void)
 
 Constraint (void)
 
virtual void applyAdjointJacobian (Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &dualv, Real &tol)
 Apply the adjoint of the the constraint Jacobian at \(x\), \(c'(x)^* \in L(\mathcal{C}^*, \mathcal{X}^*)\), to vector \(v\). More...
 
void activate (void)
 Turn on constraints. More...
 
void deactivate (void)
 Turn off constraints. More...
 
bool isActivated (void)
 Check if constraints are on. More...
 
virtual std::vector
< std::vector< Real > > 
checkApplyJacobian (const Vector< Real > &x, 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)
 Finite-difference check for the constraint Jacobian application. More...
 
virtual std::vector
< std::vector< Real > > 
checkApplyJacobian (const Vector< Real > &x, 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)
 Finite-difference check for the constraint Jacobian application. More...
 
virtual std::vector
< std::vector< Real > > 
checkApplyAdjointJacobian (const Vector< Real > &x, const Vector< Real > &v, const Vector< Real > &c, const Vector< Real > &ajv, const bool printToStream=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS)
 Finite-difference check for the application of the adjoint of constraint Jacobian. More...
 
virtual Real checkAdjointConsistencyJacobian (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, const bool printToStream=true, std::ostream &outStream=std::cout)
 
virtual Real checkAdjointConsistencyJacobian (const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &dualw, const Vector< Real > &dualv, const bool printToStream=true, std::ostream &outStream=std::cout)
 
virtual std::vector
< std::vector< Real > > 
checkApplyAdjointHessian (const Vector< Real > &x, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &hv, const std::vector< Real > &step, const bool printToScreen=true, std::ostream &outStream=std::cout, const int order=1)
 Finite-difference check for the application of the adjoint of constraint Hessian. More...
 
virtual std::vector
< std::vector< Real > > 
checkApplyAdjointHessian (const Vector< Real > &x, const Vector< Real > &u, const Vector< Real > &v, const Vector< Real > &hv, const bool printToScreen=true, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 Finite-difference check for the application of the adjoint of constraint Hessian. More...
 
virtual void setParameter (const std::vector< Real > &param)
 

Private Types

typedef H1VectorPrimal< Real > PrimalStateVector
 
typedef H1VectorDual< Real > DualStateVector
 
typedef L2VectorPrimal< Real > PrimalControlVector
 
typedef L2VectorDual< Real > DualControlVector
 
typedef H1VectorDual< Real > PrimalConstraintVector
 
typedef H1VectorPrimal< Real > DualConstraintVector
 
typedef H1VectorPrimal< Real > PrimalStateVector
 
typedef H1VectorDual< Real > DualStateVector
 
typedef L2VectorPrimal< Real > PrimalControlVector
 
typedef L2VectorDual< Real > DualControlVector
 
typedef H1VectorDual< Real > PrimalConstraintVector
 
typedef H1VectorPrimal< Real > DualConstraintVector
 
typedef H1VectorPrimal< Real > PrimalStateVector
 
typedef H1VectorDual< Real > DualStateVector
 
typedef L2VectorPrimal< Real > PrimalControlVector
 
typedef L2VectorDual< Real > DualControlVector
 
typedef H1VectorDual< Real > PrimalConstraintVector
 
typedef H1VectorPrimal< Real > DualConstraintVector
 
typedef H1VectorPrimal< Real > PrimalStateVector
 
typedef H1VectorDual< Real > DualStateVector
 
typedef L2VectorPrimal< Real > PrimalControlVector
 
typedef L2VectorDual< Real > DualControlVector
 
typedef H1VectorDual< Real > PrimalConstraintVector
 
typedef H1VectorPrimal< Real > DualConstraintVector
 
typedef std::vector< Real >
::size_type 
uint
 
typedef H1VectorPrimal< Real > PrimalStateVector
 
typedef H1VectorDual< Real > DualStateVector
 
typedef L2VectorPrimal< Real > PrimalControlVector
 
typedef L2VectorDual< Real > DualControlVector
 
typedef H1VectorDual< Real > PrimalConstraintVector
 
typedef H1VectorPrimal< Real > DualConstraintVector
 

Private Member Functions

Real compute_norm (const std::vector< Real > &r)
 
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
 
void scale (std::vector< Real > &u, const Real alpha=0.0)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z)
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)
 
Real compute_norm (const std::vector< Real > &r)
 
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
 
void scale (std::vector< Real > &u, const Real alpha=0.0)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &uold, const std::vector< Real > &zold, const std::vector< Real > &unew, const std::vector< Real > &znew)
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
 
void apply_pde_jacobian_new (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, bool adjoint=false)
 
void apply_pde_jacobian_old (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, bool adjoint=false)
 
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &vold, const std::vector< Real > &uold, const std::vector< Real > &vnew, const std::vector< Real > unew, bool adjoint=false)
 
void apply_pde_hessian (std::vector< Real > &hv, const std::vector< Real > &wold, const std::vector< Real > &vold, const std::vector< Real > &wnew, const std::vector< Real > &vnew)
 
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, bool adjoint=false)
 
void run_newton (std::vector< Real > &u, const std::vector< Real > &znew, const std::vector< Real > &uold, const std::vector< Real > &zold)
 
void linear_solve (std::vector< Real > &u, const std::vector< Real > &dl, const std::vector< Real > &d, const std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)
 
Real compute_norm (const std::vector< Real > &r)
 
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
 
void scale (std::vector< Real > &u, const Real alpha=0.0)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z)
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)
 
Real compute_norm (const std::vector< Real > &r)
 
Real dot (const std::vector< Real > &x, const std::vector< Real > &y)
 
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0)
 
void scale (std::vector< Real > &u, const Real alpha=0.0)
 
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z)
 
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u)
 
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false)
 

Private Attributes

ROL::Ptr< BurgersFEM< Real > > fem_
 
bool useHessian_
 
int nx_
 
Real dx_
 
Real nu_
 
Real u0_
 
Real u1_
 
Real f_
 
unsigned nx_
 
unsigned nt_
 
Real T_
 
Real dt_
 
std::vector< Real > u_init_
 

Additional Inherited Members

- Protected Member Functions inherited from ROL::Constraint< Real >
const std::vector< Real > getParameter (void) const
 
- Protected Attributes inherited from ROL::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<class Real>
class Constraint_BurgersControl< Real >

Definition at line 868 of file test_04.hpp.

Member Typedef Documentation

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 871 of file test_04.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 872 of file test_04.hpp.

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 874 of file test_04.hpp.

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 875 of file test_04.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 877 of file test_04.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 878 of file test_04.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 864 of file example_04.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 865 of file example_04.hpp.

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 867 of file example_04.hpp.

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 868 of file example_04.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 870 of file example_04.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 871 of file example_04.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 868 of file example_06.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 869 of file example_06.hpp.

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 871 of file example_06.hpp.

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 872 of file example_06.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 874 of file example_06.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 875 of file example_06.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 872 of file example_07.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 873 of file example_07.hpp.

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 875 of file example_07.hpp.

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 876 of file example_07.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 878 of file example_07.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 879 of file example_07.hpp.

template<class Real>
typedef std::vector<Real>::size_type Constraint_BurgersControl< Real >::uint
private

Definition at line 881 of file example_07.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalStateVector
private

Definition at line 696 of file example_08.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::DualStateVector
private

Definition at line 697 of file example_08.hpp.

template<class Real>
typedef L2VectorPrimal<Real> Constraint_BurgersControl< Real >::PrimalControlVector
private

Definition at line 699 of file example_08.hpp.

template<class Real>
typedef L2VectorDual<Real> Constraint_BurgersControl< Real >::DualControlVector
private

Definition at line 700 of file example_08.hpp.

template<class Real>
typedef H1VectorDual<Real> Constraint_BurgersControl< Real >::PrimalConstraintVector
private

Definition at line 702 of file example_08.hpp.

template<class Real>
typedef H1VectorPrimal<Real> Constraint_BurgersControl< Real >::DualConstraintVector
private

Definition at line 703 of file example_08.hpp.

Constructor & Destructor Documentation

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( const ROL::Ptr< BurgersFEM< Real > > &  fem,
const bool  useHessian = true 
)
inline

Definition at line 884 of file test_04.hpp.

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int  nx = 128,
Real  nu = 1.e-2,
Real  u0 = 1.0,
Real  u1 = 0.0,
Real  f = 0.0 
)
inline
template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int  nx = 128,
int  nt = 100,
Real  T = 1,
Real  nu = 1.e-2,
Real  u0 = 0.0,
Real  u1 = 0.0,
Real  f = 0.0 
)
inline
template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > &  fem,
bool  useHessian = true 
)
inline

Definition at line 877 of file example_04.hpp.

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int  nx = 128)
inline

Definition at line 190 of file example_05.hpp.

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > &  fem,
bool  useHessian = true 
)
inline

Definition at line 881 of file example_06.hpp.

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > &  fem,
bool  useHessian = true 
)
inline

Definition at line 887 of file example_07.hpp.

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( ROL::Ptr< BurgersFEM< Real > > &  fem,
bool  useHessian = true 
)
inline

Definition at line 709 of file example_08.hpp.

template<class Real>
Constraint_BurgersControl< Real >::Constraint_BurgersControl ( int  nx = 128)
inline

Definition at line 192 of file example_10.hpp.

Member Function Documentation

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 888 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

Referenced by Constraint_BurgersControl< Real >::solve().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 900 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 914 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 928 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 942 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 956 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 970 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

Referenced by main().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 984 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1005 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1025 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1045 of file test_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > &  r)
inlineprivate
template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
)
inlineprivate

Definition at line 105 of file burgers-control/example_02.hpp.

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 193 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::compute_residual().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 204 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::dx_, Constraint_BurgersControl< Real >::nu_, Constraint_BurgersControl< Real >::nx_, Constraint_BurgersControl< Real >::u0_, and Constraint_BurgersControl< Real >::u1_.

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 232 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::dx_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 248 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 267 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::dx_, Constraint_BurgersControl< Real >::nu_, Constraint_BurgersControl< Real >::nx_, Constraint_BurgersControl< Real >::u0_, and Constraint_BurgersControl< Real >::u1_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 295 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::dx_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 324 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 341 of file burgers-control/example_02.hpp.

References Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 365 of file burgers-control/example_02.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 369 of file burgers-control/example_02.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 373 of file burgers-control/example_02.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > &  r)
inlineprivate

Definition at line 84 of file example_03.hpp.

References Constraint_BurgersControl< Real >::dot().

template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
)
inlineprivate

Definition at line 107 of file example_03.hpp.

template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
)
inlineprivate

Definition at line 113 of file example_03.hpp.

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  uold,
const std::vector< Real > &  zold,
const std::vector< Real > &  unew,
const std::vector< Real > &  znew 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_jacobian_new ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
bool  adjoint = false 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_jacobian_old ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
const std::vector< Real > &  u,
bool  adjoint = false 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  vold,
const std::vector< Real > &  uold,
const std::vector< Real > &  vnew,
const std::vector< Real >  unew,
bool  adjoint = false 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::apply_pde_hessian ( std::vector< Real > &  hv,
const std::vector< Real > &  wold,
const std::vector< Real > &  vold,
const std::vector< Real > &  wnew,
const std::vector< Real > &  vnew 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::apply_control_jacobian ( std::vector< Real > &  jv,
const std::vector< Real > &  v,
bool  adjoint = false 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::run_newton ( std::vector< Real > &  u,
const std::vector< Real > &  znew,
const std::vector< Real > &  uold,
const std::vector< Real > &  zold 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > &  u,
const std::vector< Real > &  dl,
const std::vector< Real > &  d,
const std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 446 of file example_03.hpp.

References Constraint_BurgersControl< Real >::compute_residual(), Constraint_BurgersControl< Real >::nt_, Constraint_BurgersControl< Real >::nx_, and Constraint_BurgersControl< Real >::u_init_.

template<class Real>
void Constraint_BurgersControl< Real >::solve ( ROL::Vector< Real > &  c,
ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Given \(z\), solve \(c(u,z)=0\) for \(u\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in,out]uis the solution vector; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

The defualt implementation is Newton's method globalized with a backtracking line search.


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 485 of file example_03.hpp.

References ROL::Vector< Real >::norm(), Constraint_BurgersControl< Real >::nt_, Constraint_BurgersControl< Real >::nx_, Constraint_BurgersControl< Real >::run_newton(), Constraint_BurgersControl< Real >::u_init_, and Constraint_BurgersControl< Real >::value().

Referenced by main().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 519 of file example_03.hpp.

References Constraint_BurgersControl< Real >::apply_pde_jacobian(), Constraint_BurgersControl< Real >::nt_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 546 of file example_03.hpp.

References Constraint_BurgersControl< Real >::apply_control_jacobian(), Constraint_BurgersControl< Real >::nt_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 575 of file example_03.hpp.

References Constraint_BurgersControl< Real >::apply_pde_jacobian_old(), Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), Constraint_BurgersControl< Real >::nt_, Constraint_BurgersControl< Real >::nx_, and Constraint_BurgersControl< Real >::update().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 611 of file example_03.hpp.

References Constraint_BurgersControl< Real >::apply_pde_jacobian(), Constraint_BurgersControl< Real >::nt_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 636 of file example_03.hpp.

References Constraint_BurgersControl< Real >::apply_control_jacobian(), Constraint_BurgersControl< Real >::nt_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 666 of file example_03.hpp.

References Constraint_BurgersControl< Real >::apply_pde_jacobian_old(), Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), Constraint_BurgersControl< Real >::nt_, Constraint_BurgersControl< Real >::nx_, and Constraint_BurgersControl< Real >::update().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 700 of file example_03.hpp.

References Constraint_BurgersControl< Real >::apply_pde_hessian(), Constraint_BurgersControl< Real >::nt_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 725 of file example_03.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 729 of file example_03.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 733 of file example_03.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 880 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 893 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 906 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 919 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 932 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 945 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 958 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 971 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 991 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1010 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1029 of file example_04.hpp.

References Constraint_BurgersControl< Real >::fem_, Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > &  r)
inlineprivate

Definition at line 71 of file example_05.hpp.

References Constraint_BurgersControl< Real >::dot().

template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
)
inlineprivate

Definition at line 94 of file example_05.hpp.

template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
)
inlineprivate

Definition at line 100 of file example_05.hpp.

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
)
inlineprivate

Definition at line 170 of file example_05.hpp.

References Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 192 of file example_05.hpp.

References Constraint_BurgersControl< Real >::compute_residual().

template<class Real>
void Constraint_BurgersControl< Real >::solve ( ROL::Vector< Real > &  c,
ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Given \(z\), solve \(c(u,z)=0\) for \(u\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in,out]uis the solution vector; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

The defualt implementation is Newton's method globalized with a backtracking line search.


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 203 of file example_05.hpp.

References ROL::Constraint_SimOpt< Real >::solve().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 210 of file example_05.hpp.

References Constraint_BurgersControl< Real >::dx_, ROL::Constraint< Real >::getParameter(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 243 of file example_05.hpp.

References Constraint_BurgersControl< Real >::dx_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 259 of file example_05.hpp.

References Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 278 of file example_05.hpp.

References Constraint_BurgersControl< Real >::dx_, ROL::Constraint< Real >::getParameter(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 311 of file example_05.hpp.

References Constraint_BurgersControl< Real >::dx_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 340 of file example_05.hpp.

References Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 357 of file example_05.hpp.

References Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 381 of file example_05.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 385 of file example_05.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 389 of file example_05.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 884 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 900 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 918 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 936 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 954 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 972 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 990 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1008 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1033 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1057 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1081 of file example_06.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 890 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 906 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 924 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 942 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 960 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 978 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 996 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1014 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1039 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1063 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 1087 of file example_07.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 712 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 728 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 746 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 764 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 782 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 800 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 818 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, and ROL::Constraint< Real >::getParameter().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 836 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 861 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 885 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 909 of file example_08.hpp.

References Constraint_BurgersControl< Real >::fem_, ROL::Constraint< Real >::getParameter(), Constraint_BurgersControl< Real >::useHessian_, and ROL::Vector< Real >::zero().

template<class Real>
Real Constraint_BurgersControl< Real >::compute_norm ( const std::vector< Real > &  r)
inlineprivate

Definition at line 73 of file example_10.hpp.

References Constraint_BurgersControl< Real >::dot().

template<class Real>
Real Constraint_BurgersControl< Real >::dot ( const std::vector< Real > &  x,
const std::vector< Real > &  y 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::update ( std::vector< Real > &  u,
const std::vector< Real > &  s,
const Real  alpha = 1.0 
)
inlineprivate

Definition at line 96 of file example_10.hpp.

template<class Real>
void Constraint_BurgersControl< Real >::scale ( std::vector< Real > &  u,
const Real  alpha = 0.0 
)
inlineprivate

Definition at line 102 of file example_10.hpp.

template<class Real>
void Constraint_BurgersControl< Real >::compute_residual ( std::vector< Real > &  r,
const std::vector< Real > &  u,
const std::vector< Real > &  z 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::compute_pde_jacobian ( std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  u 
)
inlineprivate
template<class Real>
void Constraint_BurgersControl< Real >::linear_solve ( std::vector< Real > &  u,
std::vector< Real > &  dl,
std::vector< Real > &  d,
std::vector< Real > &  du,
const std::vector< Real > &  r,
const bool  transpose = false 
)
inlineprivate

Definition at line 172 of file example_10.hpp.

References Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::value ( ROL::Vector< Real > &  c,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Evaluate the constraint operator \(c:\mathcal{U}\times\mathcal{Z} \rightarrow \mathcal{C}\) at \((u,z)\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in]uis the constraint argument; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

On return, \(\mathsf{c} = c(u,z)\), where \(\mathsf{c} \in \mathcal{C}\), \(\mathsf{u} \in \mathcal{U}\), and $ \(\mathsf{z} \in\mathcal{Z}\).


Implements ROL::Constraint_SimOpt< Real >.

Definition at line 194 of file example_10.hpp.

References Constraint_BurgersControl< Real >::compute_residual().

template<class Real>
void Constraint_BurgersControl< Real >::solve ( ROL::Vector< Real > &  c,
ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Given \(z\), solve \(c(u,z)=0\) for \(u\).

Parameters
[out]cis the result of evaluating the constraint operator at \((u,z)\); a constraint-space vector
[in,out]uis the solution vector; a simulation-space vector
[in]zis the constraint argument; an optimization-space vector
[in,out]tolis a tolerance for inexact evaluations; currently unused

The defualt implementation is Newton's method globalized with a backtracking line search.


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 205 of file example_10.hpp.

References ROL::Constraint_SimOpt< Real >::solve().

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_1 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_u(u,z) \in L(\mathcal{U}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is a simulation-space vector
  @param[in]       u   is the constraint argument; an simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#201, where

\(v \in \mathcal{U}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 212 of file example_10.hpp.

References Constraint_BurgersControl< Real >::dx_, ROL::Constraint< Real >::getParameter(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyJacobian_2 ( ROL::Vector< Real > &  jv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the partial constraint Jacobian at \((u,z)\), \(c_z(u,z) \in L(\mathcal{Z}, \mathcal{C})\), to the vector \(v\).

  @param[out]      jv  is the result of applying the constraint Jacobian to @b v at @b  \form#196; a constraint-space vector
  @param[in]       v   is an optimization-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#204, where

\(v \in \mathcal{Z}\), \(\mathsf{jv} \in \mathcal{C}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 245 of file example_10.hpp.

References Constraint_BurgersControl< Real >::dx_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseJacobian_1 ( ROL::Vector< Real > &  ijv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

Apply the inverse partial constraint Jacobian at \((u,z)\), \(c_u(u,z)^{-1} \in L(\mathcal{C}, \mathcal{U})\), to the vector \(v\).

  @param[out]      ijv is the result of applying the inverse constraint Jacobian to @b v at @b  \form#196; a simulation-space vector
  @param[in]       v   is a constraint-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#207, where

\(v \in \mathcal{C}\), \(\mathsf{ijv} \in \mathcal{U}\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 261 of file example_10.hpp.

References Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_1 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b (u,z); a dual simulation-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#210, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 280 of file example_10.hpp.

References Constraint_BurgersControl< Real >::dx_, ROL::Constraint< Real >::getParameter(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointJacobian_2 ( ROL::Vector< Real > &  ajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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.

  @param[out]      ajv    is the result of applying the adjoint of the constraint Jacobian to @b v at @b  \form#196; a dual optimization-space vector
  @param[in]       v      is a dual constraint-space vector
  @param[in]       u      is the constraint argument; a simulation-space vector
  @param[in]       z      is the constraint argument; an optimization-space vector
  @param[in,out]   tol    is a tolerance for inexact evaluations; currently unused

  On return, \form#213, where

\(v \in \mathcal{C}^*\), \(\mathsf{ajv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 313 of file example_10.hpp.

References Constraint_BurgersControl< Real >::dx_, and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyInverseAdjointJacobian_1 ( ROL::Vector< Real > &  iajv,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      iajv is the result of applying the inverse adjoint of the constraint Jacobian to @b v at @b (u,z); a dual constraint-space vector
  @param[in]       v   is a dual simulation-space vector
  @param[in]       u   is the constraint argument; a simulation-space vector
  @param[in]       z   is the constraint argument; an optimization-space vector
  @param[in,out]   tol is a tolerance for inexact evaluations; currently unused

  On return, \form#216, where

\(v \in \mathcal{U}^*\), \(\mathsf{iajv} \in \mathcal{C}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 342 of file example_10.hpp.

References Constraint_BurgersControl< Real >::compute_pde_jacobian(), Constraint_BurgersControl< Real >::linear_solve(), and Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_11 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#221, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 359 of file example_10.hpp.

References Constraint_BurgersControl< Real >::nx_.

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_12 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint simulation-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a simulation-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#225, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{U}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 383 of file example_10.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_21 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the simulation-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual simulation-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#228, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{U}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 387 of file example_10.hpp.

References ROL::Vector< Real >::zero().

template<class Real>
void Constraint_BurgersControl< Real >::applyAdjointHessian_22 ( ROL::Vector< Real > &  ahwv,
const ROL::Vector< Real > &  w,
const ROL::Vector< Real > &  v,
const ROL::Vector< Real > &  u,
const ROL::Vector< Real > &  z,
Real &  tol 
)
inlinevirtual

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\).

  @param[out]      ahwv is the result of applying the optimization-space derivative of the adjoint of the constraint optimization-space Jacobian at @b  \form#196 to the vector @b  \form#219 in direction @b  \form#219; a dual optimization-space vector
  @param[in]       w    is the direction vector; a dual constraint-space vector
  @param[in]       v    is a optimization-space vector
  @param[in]       u    is the constraint argument; a simulation-space vector
  @param[in]       z    is the constraint argument; an optimization-space vector
  @param[in,out]   tol  is a tolerance for inexact evaluations; currently unused

  On return, \form#230, where

\(w \in \mathcal{C}^*\), \(v \in \mathcal{Z}\), and \(\mathsf{ahwv} \in \mathcal{Z}^*\).


Reimplemented from ROL::Constraint_SimOpt< Real >.

Definition at line 391 of file example_10.hpp.

References ROL::Vector< Real >::zero().

Member Data Documentation

template<class Real>
ROL::Ptr< BurgersFEM< Real > > Constraint_BurgersControl< Real >::fem_
private
template<class Real>
bool Constraint_BurgersControl< Real >::useHessian_
private
template<class Real>
int Constraint_BurgersControl< Real >::nx_
private
template<class Real>
Real Constraint_BurgersControl< Real >::dx_
private
template<class Real>
Real Constraint_BurgersControl< Real >::nu_
private
template<class Real>
Real Constraint_BurgersControl< Real >::u0_
private
template<class Real>
Real Constraint_BurgersControl< Real >::u1_
private
template<class Real>
Real Constraint_BurgersControl< Real >::f_
private
template<class Real>
unsigned Constraint_BurgersControl< Real >::nx_
private

Definition at line 70 of file example_03.hpp.

template<class Real>
unsigned Constraint_BurgersControl< Real >::nt_
private
template<class Real>
Real Constraint_BurgersControl< Real >::T_
private

Definition at line 74 of file example_03.hpp.

template<class Real>
Real Constraint_BurgersControl< Real >::dt_
private
template<class Real>
std::vector<Real> Constraint_BurgersControl< Real >::u_init_
private

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