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

This class implements the preconditioned Conjugate Gradient algorithm for solving real symmetric positive definite linear systems of equations AX = B, where B is a matrix containing one or more right-hand sides. More...

#include <BelosBlockCG.hpp>

Inheritance diagram for Belos::BlockCG< 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
 BlockCG (const RefCountPtr< LinearProblem< ScalarType, MV, OP > > &lp, const RefCountPtr< StatusTest< ScalarType, MV, OP > > &stest, const RefCountPtr< OutputManager< ScalarType > > &om, const RefCountPtr< ParameterList > &pl=Teuchos::null)
 Belos::BlockCG constructor.
virtual ~BlockCG ()
 BlockCG 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 [not valid for CG].
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 actual residual vectors for the current block of linear systems.
RefCountPtr< LinearProblem<
ScalarType, MV, OP > > 
GetLinearProblem () const
 Get a constant reference to the current linear problem.
RefCountPtr< StatusTest< ScalarType,
MV, OP > > 
GetStatusTest () const
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::BlockCG< ScalarType, MV, OP >

This class implements the preconditioned Conjugate Gradient algorithm for solving real symmetric positive definite linear systems of equations AX = B, where B is a matrix containing one or more right-hand sides.

Author:
Teri Barth and Heidi Thornquist

Definition at line 82 of file BelosBlockCG.hpp.


Member Typedef Documentation

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

Definition at line 87 of file BelosBlockCG.hpp.

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

Definition at line 88 of file BelosBlockCG.hpp.

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

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

Definition at line 89 of file BelosBlockCG.hpp.

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

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

Definition at line 90 of file BelosBlockCG.hpp.


Constructor & Destructor Documentation

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

Belos::BlockCG constructor.

Definition at line 208 of file BelosBlockCG.hpp.

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

BlockCG destructor.

Definition at line 103 of file BelosBlockCG.hpp.


Member Function Documentation

template<class ScalarType, class MV, class OP>
int Belos::BlockCG< 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 110 of file BelosBlockCG.hpp.

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

Get the restart count of the iteration method for the current block of linear systems [not valid for CG].

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

Definition at line 113 of file BelosBlockCG.hpp.

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

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

Note:
The memory for the residual MultiVec must be handled by the calling routine.

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

Definition at line 248 of file BelosBlockCG.hpp.

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

Get the actual residual vectors for the current block of linear systems.

This may force the solver to compute a current residual for its linear systems. For CG, this method is not useful since the linear problem manager always has the current solution (even when the blocksize is larger than the current number of linear systems being solved for).

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

Definition at line 127 of file BelosBlockCG.hpp.

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

Get a constant reference 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 132 of file BelosBlockCG.hpp.

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

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

Definition at line 134 of file BelosBlockCG.hpp.

template<class ScalarType, class MV, class OP>
void Belos::BlockCG< 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 263 of file BelosBlockCG.hpp.

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

Method to return description of the block GMRES solver.

Reimplemented from Teuchos::Describable.

Definition at line 986 of file BelosBlockCG.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