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

#include <BelosIteration.hpp>

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

Constructors/Destructor
 Iteration ()
 Default Constructor.
 Iteration (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem, const Teuchos::RCP< OutputManager< ScalarType > > &printer, const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &tester, const Teuchos::RCP< MatOrthoManager< ScalarType, MV, OP > > &ortho, Teuchos::ParameterList &params)
 Basic Constructor.
virtual ~Iteration ()
 Destructor.
Solver methods
virtual void iterate ()=0
 This method performs linear solver iterations until the status test indicates the need to stop or an error occurs (in which case, an std::exception is thrown).
virtual void initialize ()=0
 Initialize the solver with the initial vectors from the linear problem or random data.
Status methods
virtual int getNumIters () const =0
 Get the current iteration count.
virtual void resetNumIters (int iter=0)=0
 Reset the iteration count to iter.
virtual Teuchos::RCP< const
MV > 
getNativeResiduals (std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > *norms) const =0
 Get the residuals native to the solver.
virtual Teuchos::RCP< MV > getCurrentUpdate () const =0
 Get the current update to the linear system.
Accessor methods
virtual const LinearProblem<
ScalarType, MV, OP > & 
getProblem () const =0
 Get a constant reference to the linear problem.
virtual int getBlockSize () const =0
 Get the blocksize to be used by the iterative solver in solving this linear problem.
virtual void setBlockSize (int blockSize)=0
 Set the blocksize to be used by the iterative solver in solving this linear problem.
virtual bool isInitialized ()=0
 States whether the solver has been initialized or not.

Detailed Description

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

Definition at line 58 of file BelosIteration.hpp.


Constructor & Destructor Documentation

template<class ScalarType, class MV, class OP>
Belos::Iteration< ScalarType, MV, OP >::Iteration (  )  [inline]

Default Constructor.

Definition at line 66 of file BelosIteration.hpp.

template<class ScalarType, class MV, class OP>
Belos::Iteration< ScalarType, MV, OP >::Iteration ( const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &  problem,
const Teuchos::RCP< OutputManager< ScalarType > > &  printer,
const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &  tester,
const Teuchos::RCP< MatOrthoManager< ScalarType, MV, OP > > &  ortho,
Teuchos::ParameterList params 
)

Basic Constructor.

This constructor, implemented by all Belos iterations, takes an Belos::LinearProblem, Belos::OrthoManager, Belos::OutputManager, and Teuchos::ParameterList as input. These four arguments are sufficient enough for constructing any Belos::Iteration object.

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

Destructor.

Definition at line 80 of file BelosIteration.hpp.


Member Function Documentation

template<class ScalarType, class MV, class OP>
virtual void Belos::Iteration< ScalarType, MV, OP >::iterate (  )  [pure virtual]

This method performs linear solver iterations until the status test indicates the need to stop or an error occurs (in which case, an std::exception is thrown).

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Belos::Iteration< ScalarType, MV, OP >::initialize (  )  [pure virtual]

Initialize the solver with the initial vectors from the linear problem or random data.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual int Belos::Iteration< ScalarType, MV, OP >::getNumIters (  )  const [pure virtual]

Get the current iteration count.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Belos::Iteration< ScalarType, MV, OP >::resetNumIters ( int  iter = 0  )  [pure virtual]

Reset the iteration count to iter.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const MV> Belos::Iteration< ScalarType, MV, OP >::getNativeResiduals ( std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > *  norms  )  const [pure virtual]

Get the residuals native to the solver.

Returns:
A multivector with blockSize vectors containing the native residuals, else the native residual norm is returned.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<MV> Belos::Iteration< ScalarType, MV, OP >::getCurrentUpdate (  )  const [pure virtual]

Get the current update to the linear system.

Note:
Some solvers, like GMRES, do not compute updates to the solution every iteration. This method forces the computation of the current update.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual const LinearProblem<ScalarType,MV,OP>& Belos::Iteration< ScalarType, MV, OP >::getProblem (  )  const [pure virtual]

Get a constant reference to the linear problem.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual int Belos::Iteration< ScalarType, MV, OP >::getBlockSize (  )  const [pure virtual]

Get the blocksize to be used by the iterative solver in solving this linear problem.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Belos::Iteration< ScalarType, MV, OP >::setBlockSize ( int  blockSize  )  [pure virtual]

Set the blocksize to be used by the iterative solver in solving this linear problem.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual bool Belos::Iteration< ScalarType, MV, OP >::isInitialized (  )  [pure virtual]

States whether the solver has been initialized or not.

Implemented in Belos::BlockCGIter< ScalarType, MV, OP >, Belos::BlockFGmresIter< ScalarType, MV, OP >, Belos::BlockGmresIter< ScalarType, MV, OP >, Belos::CGIter< ScalarType, MV, OP >, Belos::GCRODRIter< ScalarType, MV, OP >, Belos::PseudoBlockGmresIter< ScalarType, MV, OP >, and Belos::RCGIter< ScalarType, MV, OP >.


The documentation for this class was generated from the following file:
Generated on Wed May 12 21:45:52 2010 for Belos by  doxygen 1.4.7