ROL
|
Implements a preconditioner for the augmented system. More...
#include <ROL_AugmentedSystemPrecOperator.hpp>
Public Member Functions | |
virtual | ~AugmentedSystemPrecOperator () |
AugmentedSystemPrecOperator (const Ptr< Constraint< Real >> &con, const Ptr< Vector< Real >> &x) | |
void | apply (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply linear operator. More... | |
void | applyAdjoint (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of linear operator. More... | |
void | applyInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply inverse of linear operator. More... | |
void | applyAdjointInverse (Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const |
Apply adjoint of the inverse linear operator. More... | |
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... | |
Private Attributes | |
const Ptr< Constraint< Real > > | con_ |
const Ptr< Vector< Real > > | x_ |
Implements a preconditioner for the augmented system.
Definition at line 60 of file ROL_AugmentedSystemPrecOperator.hpp.
|
inlinevirtual |
Definition at line 66 of file ROL_AugmentedSystemPrecOperator.hpp.
|
inline |
Definition at line 67 of file ROL_AugmentedSystemPrecOperator.hpp.
|
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 71 of file ROL_AugmentedSystemPrecOperator.hpp.
|
inlinevirtual |
Apply adjoint of linear operator.
This function applies the adjoint of a linear operator to a vector. Default behavior assumes operator is self-adjoint.
[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 75 of file ROL_AugmentedSystemPrecOperator.hpp.
|
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 79 of file ROL_AugmentedSystemPrecOperator.hpp.
References ROL::AugmentedSystemPrecOperator< Real >::con_, ROL::PartitionedVector< Real >::get(), ROL::PartitionedVector< Real >::set(), ROL::AugmentedSystemPrecOperator< Real >::x_, and zero.
Referenced by ROL::AugmentedSystemPrecOperator< Real >::applyAdjointInverse().
|
inlinevirtual |
Apply adjoint of the inverse linear operator.
This function applies the adjoint of the inverse linear operator to a vector. Default behavior assumes operator is self-adjoint.
[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 89 of file ROL_AugmentedSystemPrecOperator.hpp.
References ROL::AugmentedSystemPrecOperator< Real >::applyInverse().
|
private |
Definition at line 62 of file ROL_AugmentedSystemPrecOperator.hpp.
Referenced by ROL::AugmentedSystemPrecOperator< Real >::applyInverse().
|
private |
Definition at line 63 of file ROL_AugmentedSystemPrecOperator.hpp.
Referenced by ROL::AugmentedSystemPrecOperator< Real >::applyInverse().