Belos
Version of the Day
|
Belos's class for applying the GMRES polynomial operator that is used by the hybrid-GMRES linear solver. More...
#include <BelosGmresPolyOp.hpp>
Public Member Functions | |
Constructor/Destructor | |
GmresPolyOp (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem_in, const Teuchos::RCP< Teuchos::ParameterList > ¶ms_in) | |
Basic contstructor. More... | |
GmresPolyOp (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem_in) | |
Create a simple polynomial of dimension 1. More... | |
virtual | ~GmresPolyOp () |
Destructor. More... | |
Parameter processing method | |
void | setParameters (const Teuchos::RCP< Teuchos::ParameterList > ¶ms_in) |
Process the passed in parameters. More... | |
Polynomial creation method | |
void | generateArnoldiPoly () |
This routine takes the matrix, preconditioner, and vectors from the linear problem as well as the parameters to generate the Arnoldi polynomial. More... | |
void | generateGmresPoly () |
This routine takes the matrix, preconditioner, and vectors from the linear problem as well as the parameters to generate the Gmres polynomial. More... | |
Public Member Functions inherited from Belos::Operator< ScalarType > | |
Operator () | |
Default constructor (does nothing). More... | |
virtual | ~Operator () |
Virtual destructor, for memory safety of derived classes. More... | |
virtual bool | HasApplyTranspose () const |
Whether this operator implements applying the transpose. More... | |
Operator application method | |
void | ApplyPoly (const MV &x, MV &y) const |
This routine takes the MV x and applies the polynomial operator phi(OP) to it resulting in the MV y , which is returned. More... | |
void | ApplyArnoldiPoly (const MV &x, MV &y) const |
void | ApplyGmresPoly (const MV &x, MV &y) const |
void | Apply (const MultiVec< ScalarType > &x, MultiVec< ScalarType > &y, ETrans=NOTRANS) const |
This routine casts the MultiVec to GmresPolyMv to retrieve the MV. Then the above apply method is called. More... | |
int | polyDegree () const |
Belos's class for applying the GMRES polynomial operator that is used by the hybrid-GMRES linear solver.
This operator is used as the interface to the matrix polynomial (phi(A)
), solution (X
), and right-hand side (B
) of the linear system phi(A)X = B
. Furthermore, it is also the interface to left/right preconditioning of the linear system.
Definition at line 193 of file BelosGmresPolyOp.hpp.
|
inline |
Basic contstructor.
Definition at line 200 of file BelosGmresPolyOp.hpp.
|
inline |
Create a simple polynomial of dimension 1.
Definition at line 229 of file BelosGmresPolyOp.hpp.
|
inlinevirtual |
Destructor.
Definition at line 237 of file BelosGmresPolyOp.hpp.
void Belos::GmresPolyOp< ScalarType, MV, OP >::setParameters | ( | const Teuchos::RCP< Teuchos::ParameterList > & | params_in | ) |
Process the passed in parameters.
Definition at line 339 of file BelosGmresPolyOp.hpp.
void Belos::GmresPolyOp< ScalarType, MV, OP >::generateArnoldiPoly | ( | ) |
This routine takes the matrix, preconditioner, and vectors from the linear problem as well as the parameters to generate the Arnoldi polynomial.
Definition at line 493 of file BelosGmresPolyOp.hpp.
void Belos::GmresPolyOp< ScalarType, MV, OP >::generateGmresPoly | ( | ) |
This routine takes the matrix, preconditioner, and vectors from the linear problem as well as the parameters to generate the Gmres polynomial.
Definition at line 396 of file BelosGmresPolyOp.hpp.
void Belos::GmresPolyOp< ScalarType, MV, OP >::ApplyPoly | ( | const MV & | x, |
MV & | y | ||
) | const |
This routine takes the MV x
and applies the polynomial operator phi(OP)
to it resulting in the MV y
, which is returned.
\note It is expected that any problem with applying this operator to \c x will be
indicated by an std::exception being thrown.
Definition at line 627 of file BelosGmresPolyOp.hpp.
void Belos::GmresPolyOp< ScalarType, MV, OP >::ApplyArnoldiPoly | ( | const MV & | x, |
MV & | y | ||
) | const |
Definition at line 680 of file BelosGmresPolyOp.hpp.
void Belos::GmresPolyOp< ScalarType, MV, OP >::ApplyGmresPoly | ( | const MV & | x, |
MV & | y | ||
) | const |
Definition at line 642 of file BelosGmresPolyOp.hpp.
|
inlinevirtual |
This routine casts the MultiVec to GmresPolyMv to retrieve the MV. Then the above apply method is called.
Implements Belos::Operator< ScalarType >.
Definition at line 277 of file BelosGmresPolyOp.hpp.
|
inline |
Definition at line 284 of file BelosGmresPolyOp.hpp.