ROL
|
Preconditioned GMRES solver. More...
#include <ROL_GMRES.hpp>
Public Member Functions | |
GMRES (ROL::ParameterList &parlist) | |
Real | run (Vector< Real > &x, LinearOperator< Real > &A, const Vector< Real > &b, LinearOperator< Real > &M, int &iter, int &flag) |
void | enableOutput (std::ostream &outStream) |
void | disableOutput () |
Public Member Functions inherited from ROL::Krylov< Real > | |
virtual | ~Krylov (void) |
Krylov (Real absTol=1.e-4, Real relTol=1.e-2, unsigned maxit=100) | |
Krylov (ROL::ParameterList &parlist) | |
void | resetAbsoluteTolerance (const Real absTol) |
void | resetRelativeTolerance (const Real relTol) |
void | resetMaximumIteration (const unsigned maxit) |
Real | getAbsoluteTolerance (void) const |
Real | getRelativeTolerance (void) const |
unsigned | getMaximumIteration (void) const |
Private Types | |
typedef LA::Matrix< Real > | SDMatrix |
typedef LA::Vector< Real > | SDVector |
Private Attributes | |
ROL::Ptr< Vector< Real > > | r_ |
ROL::Ptr< Vector< Real > > | z_ |
ROL::Ptr< Vector< Real > > | w_ |
ROL::Ptr< SDMatrix > | H_ |
ROL::Ptr< SDVector > | cs_ |
ROL::Ptr< SDVector > | sn_ |
ROL::Ptr< SDVector > | s_ |
ROL::Ptr< SDVector > | y_ |
ROL::Ptr< SDVector > | cnorm_ |
ROL::Ptr< std::vector< Real > > | res_ |
bool | isInitialized_ |
bool | useInexact_ |
bool | useInitialGuess_ |
bool | printIters_ |
ROL::Ptr< std::ostream > | outStream_ |
ROL::LAPACK< int, Real > | lapack_ |
Preconditioned GMRES solver.
Definition at line 60 of file ROL_GMRES.hpp.
|
private |
Definition at line 62 of file ROL_GMRES.hpp.
|
private |
Definition at line 63 of file ROL_GMRES.hpp.
|
inline |
Definition at line 90 of file ROL_GMRES.hpp.
References ROL::GMRES< Real >::cnorm_, ROL::GMRES< Real >::cs_, ROL::Krylov< Real >::getMaximumIteration(), ROL::GMRES< Real >::H_, ROL::GMRES< Real >::res_, ROL::GMRES< Real >::s_, ROL::GMRES< Real >::sn_, ROL::GMRES< Real >::useInexact_, ROL::GMRES< Real >::useInitialGuess_, ROL::GMRES< Real >::y_, and zero.
|
inlinevirtual |
Implements ROL::Krylov< Real >.
Definition at line 113 of file ROL_GMRES.hpp.
References ROL::LinearOperator< Real >::apply(), ROL::LinearOperator< Real >::applyInverse(), ROL::Vector< Real >::clone(), ROL::GMRES< Real >::cnorm_, ROL::GMRES< Real >::cs_, ROL::Krylov< Real >::getAbsoluteTolerance(), ROL::Krylov< Real >::getMaximumIteration(), ROL::Krylov< Real >::getRelativeTolerance(), ROL::GMRES< Real >::H_, ROL::GMRES< Real >::isInitialized_, ROL::GMRES< Real >::lapack_, ROL::GMRES< Real >::outStream_, ROL::Vector< Real >::plus(), ROL::GMRES< Real >::printIters_, ROL::GMRES< Real >::r_, ROL::GMRES< Real >::res_, ROL::GMRES< Real >::s_, ROL::GMRES< Real >::sn_, ROL::GMRES< Real >::useInexact_, ROL::GMRES< Real >::useInitialGuess_, ROL::GMRES< Real >::w_, ROL::GMRES< Real >::y_, ROL::GMRES< Real >::z_, zero, and ROL::Vector< Real >::zero().
|
inline |
Definition at line 266 of file ROL_GMRES.hpp.
References ROL::GMRES< Real >::outStream_, and ROL::GMRES< Real >::printIters_.
|
inline |
Definition at line 271 of file ROL_GMRES.hpp.
References ROL::GMRES< Real >::printIters_.
|
private |
Definition at line 67 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::run().
|
private |
Definition at line 68 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::run().
|
private |
Definition at line 69 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::run().
|
private |
Definition at line 71 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 72 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 73 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 74 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 75 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 76 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 78 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 80 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::run().
|
private |
Definition at line 81 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 82 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::GMRES(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 83 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::disableOutput(), ROL::GMRES< Real >::enableOutput(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 84 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::enableOutput(), and ROL::GMRES< Real >::run().
|
private |
Definition at line 86 of file ROL_GMRES.hpp.
Referenced by ROL::GMRES< Real >::run().