ROL
|
#include <ROL_PrimalDualInteriorPointOperator.hpp>
Public Member Functions | |
PrimalDualInteriorPointBlock22 (const ROL::Ptr< BND > &bnd, const Vector< Real > &x) | |
virtual void | update (const Vector< Real > &x, bool flag=true, int iter=-1) |
Update linear operator. More... | |
virtual void | apply (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply linear operator. More... | |
virtual void | applyInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply inverse of linear operator. More... | |
Public Member Functions inherited from ROL::LinearOperator< Real > | |
virtual | ~LinearOperator () |
virtual void | applyAdjoint (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of linear operator. More... | |
virtual void | applyAdjointInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of the inverse linear operator. More... | |
Private Types | |
typedef Vector< Real > | V |
typedef PartitionedVector< Real > | PV |
typedef BoundConstraint< Real > | BND |
Private Attributes | |
ROL::Ptr< const V > | x_ |
ROL::Ptr< const V > | xl_ |
ROL::Ptr< const V > | xu_ |
Elementwise::Multiply< Real > | mult_ |
Elementwise::Multiply< Real > | divinv_ |
Static Private Attributes | |
static const size_type | OPT = 0 |
static const size_type | LOWER = 0 |
static const size_type | UPPER = 1 |
Definition at line 246 of file ROL_PrimalDualInteriorPointOperator.hpp.
|
private |
Definition at line 248 of file ROL_PrimalDualInteriorPointOperator.hpp.
|
private |
Definition at line 249 of file ROL_PrimalDualInteriorPointOperator.hpp.
|
private |
Definition at line 250 of file ROL_PrimalDualInteriorPointOperator.hpp.
|
inline |
Definition at line 266 of file ROL_PrimalDualInteriorPointOperator.hpp.
References ROL::PartitionedVector< Real >::get(), ROL::PrimalDualInteriorPointBlock22< Real >::OPT, ROL::PrimalDualInteriorPointBlock22< Real >::x_, ROL::PrimalDualInteriorPointBlock22< Real >::xl_, and ROL::PrimalDualInteriorPointBlock22< Real >::xu_.
|
inlinevirtual |
Update linear operator.
This function updates the linear operator at new iterations.
[in] | x | is the new iterate. |
[in] | flag | is true if the iterate has changed. |
[in] | iter | is the outer algorithm iterations count. |
Reimplemented from ROL::LinearOperator< Real >.
Definition at line 276 of file ROL_PrimalDualInteriorPointOperator.hpp.
References ROL::PartitionedVector< Real >::get(), ROL::PrimalDualInteriorPointBlock22< Real >::OPT, and ROL::PrimalDualInteriorPointBlock22< Real >::x_.
|
inlinevirtual |
Apply linear operator.
This function applies the linear operator to a vector.
[out] | Hv | is the output vector. |
[in] | v | is the input vector. |
[in] | tol | is a tolerance for inexact linear operator application. |
Implements ROL::LinearOperator< Real >.
Definition at line 282 of file ROL_PrimalDualInteriorPointOperator.hpp.
References ROL::PartitionedVector< Real >::get(), ROL::PrimalDualInteriorPointBlock22< Real >::LOWER, ROL::PrimalDualInteriorPointBlock22< Real >::mult_, ROL::PrimalDualInteriorPointBlock22< Real >::UPPER, ROL::PrimalDualInteriorPointBlock22< Real >::x_, ROL::PrimalDualInteriorPointBlock22< Real >::xl_, and ROL::PrimalDualInteriorPointBlock22< Real >::xu_.
|
inlinevirtual |
Apply inverse of linear operator.
This function applies the inverse of linear operator to a vector.
[out] | Hv | is the output vector. |
[in] | v | is the input vector. |
[in] | tol | is a tolerance for inexact linear operator application. |
Reimplemented from ROL::LinearOperator< Real >.
Definition at line 306 of file ROL_PrimalDualInteriorPointOperator.hpp.
References ROL::PrimalDualInteriorPointBlock22< Real >::divinv_, ROL::PartitionedVector< Real >::get(), ROL::PrimalDualInteriorPointBlock22< Real >::LOWER, ROL::PrimalDualInteriorPointBlock22< Real >::UPPER, ROL::PrimalDualInteriorPointBlock22< Real >::x_, ROL::PrimalDualInteriorPointBlock22< Real >::xl_, and ROL::PrimalDualInteriorPointBlock22< Real >::xu_.
|
staticprivate |
Definition at line 252 of file ROL_PrimalDualInteriorPointOperator.hpp.
Referenced by ROL::PrimalDualInteriorPointBlock22< Real >::PrimalDualInteriorPointBlock22(), and ROL::PrimalDualInteriorPointBlock22< Real >::update().
|
staticprivate |
Definition at line 253 of file ROL_PrimalDualInteriorPointOperator.hpp.
Referenced by ROL::PrimalDualInteriorPointBlock22< Real >::apply(), and ROL::PrimalDualInteriorPointBlock22< Real >::applyInverse().
|
staticprivate |
Definition at line 254 of file ROL_PrimalDualInteriorPointOperator.hpp.
Referenced by ROL::PrimalDualInteriorPointBlock22< Real >::apply(), and ROL::PrimalDualInteriorPointBlock22< Real >::applyInverse().
|
private |
Definition at line 256 of file ROL_PrimalDualInteriorPointOperator.hpp.
Referenced by ROL::PrimalDualInteriorPointBlock22< Real >::apply(), ROL::PrimalDualInteriorPointBlock22< Real >::applyInverse(), ROL::PrimalDualInteriorPointBlock22< Real >::PrimalDualInteriorPointBlock22(), and ROL::PrimalDualInteriorPointBlock22< Real >::update().
|
private |
|
private |
|
private |
Definition at line 260 of file ROL_PrimalDualInteriorPointOperator.hpp.
Referenced by ROL::PrimalDualInteriorPointBlock22< Real >::apply().
|
private |
Definition at line 261 of file ROL_PrimalDualInteriorPointOperator.hpp.
Referenced by ROL::PrimalDualInteriorPointBlock22< Real >::applyInverse().