ROL
|
Provides the interface to apply a 2x2 block operator to a partitioned vector. More...
#include <ROL_BlockOperator2.hpp>
Public Member Functions | |
BlockOperator2 (ROL::Ptr< OP > &a11, ROL::Ptr< OP > &a12, ROL::Ptr< OP > &a21, ROL::Ptr< OP > &a22) | |
void | apply (V &Hv, const V &v, Real &tol) const |
Apply linear operator. More... | |
void | applyInverse (V &Hv, const V &v, Real &tol) const |
Apply inverse of linear operator. More... | |
ROL::Ptr< LinearOperator< Real > > | getOperator (int row, int col) const |
Public Member Functions inherited from ROL::LinearOperator< Real > | |
virtual | ~LinearOperator () |
virtual void | update (const Vector< Real > &x, bool flag=true, int iter=-1) |
Update linear operator. More... | |
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 LinearOperator< Real > | OP |
Private Attributes | |
ROL::Ptr< OP > | bkop_ |
ROL::Ptr< std::vector < ROL::Ptr< OP > > > | ops_ |
Provides the interface to apply a 2x2 block operator to a partitioned vector.
Definition at line 26 of file ROL_BlockOperator2.hpp.
|
private |
Definition at line 28 of file ROL_BlockOperator2.hpp.
|
private |
Definition at line 29 of file ROL_BlockOperator2.hpp.
|
private |
Definition at line 30 of file ROL_BlockOperator2.hpp.
|
inline |
Definition at line 39 of file ROL_BlockOperator2.hpp.
References ROL::BlockOperator2< Real >::bkop_, and ROL::BlockOperator2< Real >::ops_.
|
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 57 of file ROL_BlockOperator2.hpp.
References ROL::BlockOperator2< Real >::bkop_.
Referenced by main().
|
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 62 of file ROL_BlockOperator2.hpp.
|
inline |
Definition at line 70 of file ROL_BlockOperator2.hpp.
References ROL::BlockOperator2< Real >::ops_.
|
private |
Definition at line 34 of file ROL_BlockOperator2.hpp.
Referenced by ROL::BlockOperator2< Real >::apply(), and ROL::BlockOperator2< Real >::BlockOperator2().
|
private |
Definition at line 35 of file ROL_BlockOperator2.hpp.
Referenced by ROL::BlockOperator2< Real >::BlockOperator2(), and ROL::BlockOperator2< Real >::getOperator().