Belos::BlockGmres< ScalarType, MV, OP > Class Template Reference

This class implements the Restarted Block GMRES algorithm for solving real nonsymmetric linear systems of equations AX = B, where B is a matrix containing one or more right-hand sides, and X is the matrix of corresponding solutions. More...

#include <BelosBlockGmres.hpp>

Inheritance diagram for Belos::BlockGmres< ScalarType, MV, OP >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef MultiVecTraits< ScalarType,
MV > 
MVT
typedef OperatorTraits< ScalarType,
MV, OP > 
OPT
typedef Teuchos::ScalarTraits<
ScalarType > 
SCT
typedef SCT::magnitudeType MagnitudeType

Public Member Functions

Constructor/Destructor
 BlockGmres (const RefCountPtr< LinearProblem< ScalarType, MV, OP > > &lp, const RefCountPtr< StatusTest< ScalarType, MV, OP > > &stest, const RefCountPtr< OutputManager< ScalarType > > &om, const RefCountPtr< ParameterList > &pl)
 Belos::BlockGmres constructor.
virtual ~BlockGmres ()
 Belos::BlockGmres destructor.
Accessor methods
int GetNumIters () const
 Get the iteration count for the current block of linear systems.
int GetNumRestarts () const
 Get the restart count of the iteration method for the current block of linear systems.
RefCountPtr< const MV > GetNativeResiduals (std::vector< MagnitudeType > *normvec) const
 Get the solvers native residuals for the current block of linear systems.
RefCountPtr< MV > GetCurrentSoln ()
 Get the true residuals for the current block of linear systems.
RefCountPtr< LinearProblem<
ScalarType, MV, OP > > 
GetLinearProblem () const
 Get a pointer to the current linear problem.
RefCountPtr< StatusTest< ScalarType,
MV, OP > > 
GetStatusTest () const
 Get a pointer to the current status test.
int Reset (const RefCountPtr< ParameterList > &pl=null)
 Reset the solver, can pass in a new parameter list to change solver parameters.
Solver application method.
void Solve ()
 This method uses the iterative method to compute approximate solutions to the original problem. This method can return unconverged if the maximum number of iterations is reached, or numerical breakdown is observed.
Overridden from Teuchos::Describable
std::string description () const
 Method to return description of the block GMRES solver.

Detailed Description

template<class ScalarType, class MV, class OP>
class Belos::BlockGmres< ScalarType, MV, OP >

This class implements the Restarted Block GMRES algorithm for solving real nonsymmetric linear systems of equations AX = B, where B is a matrix containing one or more right-hand sides, and X is the matrix of corresponding solutions.

Author:
Teri Barth and Heidi Thornquist

Definition at line 86 of file BelosBlockGmres.hpp.


Member Typedef Documentation

template<class ScalarType, class MV, class OP>
typedef MultiVecTraits<ScalarType,MV> Belos::BlockGmres< ScalarType, MV, OP >::MVT
 

Definition at line 92 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
typedef OperatorTraits<ScalarType,MV,OP> Belos::BlockGmres< ScalarType, MV, OP >::OPT
 

Definition at line 93 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
typedef Teuchos::ScalarTraits<ScalarType> Belos::BlockGmres< ScalarType, MV, OP >::SCT
 

Reimplemented from Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 94 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
typedef SCT::magnitudeType Belos::BlockGmres< ScalarType, MV, OP >::MagnitudeType
 

Reimplemented from Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 95 of file BelosBlockGmres.hpp.


Constructor & Destructor Documentation

template<class ScalarType, class MV, class OP>
Belos::BlockGmres< ScalarType, MV, OP >::BlockGmres const RefCountPtr< LinearProblem< ScalarType, MV, OP > > &  lp,
const RefCountPtr< StatusTest< ScalarType, MV, OP > > &  stest,
const RefCountPtr< OutputManager< ScalarType > > &  om,
const RefCountPtr< ParameterList > &  pl
 

Belos::BlockGmres constructor.

Definition at line 252 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
virtual Belos::BlockGmres< ScalarType, MV, OP >::~BlockGmres  )  [inline, virtual]
 

Belos::BlockGmres destructor.

Definition at line 107 of file BelosBlockGmres.hpp.


Member Function Documentation

template<class ScalarType, class MV, class OP>
int Belos::BlockGmres< ScalarType, MV, OP >::GetNumIters  )  const [inline, virtual]
 

Get the iteration count for the current block of linear systems.

Implements Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 114 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
int Belos::BlockGmres< ScalarType, MV, OP >::GetNumRestarts  )  const [inline, virtual]
 

Get the restart count of the iteration method for the current block of linear systems.

Implements Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 117 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
RefCountPtr< const MV > Belos::BlockGmres< ScalarType, MV, OP >::GetNativeResiduals std::vector< MagnitudeType > *  normvec  )  const [virtual]
 

Get the solvers native residuals for the current block of linear systems.

For GMRES this is not the same as the actual residual of the linear system and the residual is not in MultiVec form, so the normvec will be populated with the residual norm.

Implements Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 296 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
RefCountPtr< MV > Belos::BlockGmres< ScalarType, MV, OP >::GetCurrentSoln  )  [virtual]
 

Get the true residuals for the current block of linear systems.

For GMRES this will force the solver to compute a current residual for its linear systems, the current solution is not stored. This is an expensive computation, so a convergence test using these residuals should be secondary to using the native residuals.

Implements Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 323 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
RefCountPtr<LinearProblem<ScalarType,MV,OP> > Belos::BlockGmres< ScalarType, MV, OP >::GetLinearProblem  )  const [inline, virtual]
 

Get a pointer to the current linear problem.

This may include a current solution, if the solver has recently restarted or completed.

Implements Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 136 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
RefCountPtr<StatusTest<ScalarType,MV,OP> > Belos::BlockGmres< ScalarType, MV, OP >::GetStatusTest  )  const [inline, virtual]
 

Get a pointer to the current status test.

Implements Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 139 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
int Belos::BlockGmres< ScalarType, MV, OP >::Reset const RefCountPtr< ParameterList > &  pl = null  )  [virtual]
 

Reset the solver, can pass in a new parameter list to change solver parameters.

Reimplemented from Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 593 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
void Belos::BlockGmres< ScalarType, MV, OP >::Solve  )  [virtual]
 

This method uses the iterative method to compute approximate solutions to the original problem. This method can return unconverged if the maximum number of iterations is reached, or numerical breakdown is observed.

Implements Belos::IterativeSolver< ScalarType, MV, OP >.

Definition at line 366 of file BelosBlockGmres.hpp.

template<class ScalarType, class MV, class OP>
std::string Belos::BlockGmres< ScalarType, MV, OP >::description  )  const [virtual]
 

Method to return description of the block GMRES solver.

Reimplemented from Teuchos::Describable.

Definition at line 1344 of file BelosBlockGmres.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:30:12 2008 for Belos by doxygen 1.3.9.1