Belos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Belos::GmresIteration< ScalarType, MV, OP > Class Template Referenceabstract

#include <BelosGmresIteration.hpp>

Inheritance diagram for Belos::GmresIteration< ScalarType, MV, OP >:
Inheritance graph
[legend]

State methods

virtual void initializeGmres (GmresIterationState< ScalarType, MV > &newstate)=0
 Initialize the solver to an iterate, providing a complete state. More...
 
virtual GmresIterationState
< ScalarType, MV > 
getState () const =0
 Get the current state of the linear solver. More...
 

Status methods

virtual void updateLSQR (int dim=-1)=0
 Method for updating QR factorization of upper Hessenberg matrix. More...
 
virtual int getCurSubspaceDim () const =0
 Get the dimension of the search subspace used to generate the current solution to the linear problem. More...
 
virtual int getMaxSubspaceDim () const =0
 Get the maximum dimension allocated for the search subspace. More...
 

Accessor methods

virtual void setSize (int blockSize, int numBlocks)=0
 Set the blocksize and number of blocks to be used by the iterative solver in solving this linear problem. More...
 

Detailed Description

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

Definition at line 109 of file BelosGmresIteration.hpp.

Member Function Documentation

template<class ScalarType , class MV , class OP >
virtual void Belos::GmresIteration< ScalarType, MV, OP >::initializeGmres ( GmresIterationState< ScalarType, MV > &  newstate)
pure virtual

Initialize the solver to an iterate, providing a complete state.

The GmresIteration contains a certain amount of state, consisting of the current residual, preconditioned residual, and decent direction.

initialize() gives the user the opportunity to manually set these, although only the current unpreconditioned residual is required.

Postcondition
isInitialized() == true (see post-conditions of isInitialize())
Note
For any pointer in newstate which directly points to the multivectors in the solver, the data is not copied.

Implemented in Belos::BlockGmresIter< ScalarType, MV, OP >, and Belos::BlockFGmresIter< ScalarType, MV, OP >.

template<class ScalarType , class MV , class OP >
virtual GmresIterationState<ScalarType,MV> Belos::GmresIteration< ScalarType, MV, OP >::getState ( ) const
pure virtual

Get the current state of the linear solver.

The data is only valid if isInitialized() == true.

Returns
A GmresIterationState object containing const pointers to the current solver state.

Implemented in Belos::BlockGmresIter< ScalarType, MV, OP >, and Belos::BlockFGmresIter< ScalarType, MV, OP >.

template<class ScalarType , class MV , class OP >
virtual void Belos::GmresIteration< ScalarType, MV, OP >::updateLSQR ( int  dim = -1)
pure virtual

Method for updating QR factorization of upper Hessenberg matrix.

Note
If dim >= getCurSubspaceDim() and dim < getMaxSubspaceDim(), then the dim-th equations of the least squares problem will be updated.

Implemented in Belos::BlockFGmresIter< ScalarType, MV, OP >, and Belos::BlockGmresIter< ScalarType, MV, OP >.

template<class ScalarType , class MV , class OP >
virtual int Belos::GmresIteration< ScalarType, MV, OP >::getCurSubspaceDim ( ) const
pure virtual

Get the dimension of the search subspace used to generate the current solution to the linear problem.

Implemented in Belos::BlockFGmresIter< ScalarType, MV, OP >, and Belos::BlockGmresIter< ScalarType, MV, OP >.

template<class ScalarType , class MV , class OP >
virtual int Belos::GmresIteration< ScalarType, MV, OP >::getMaxSubspaceDim ( ) const
pure virtual

Get the maximum dimension allocated for the search subspace.

Implemented in Belos::BlockFGmresIter< ScalarType, MV, OP >, and Belos::BlockGmresIter< ScalarType, MV, OP >.

template<class ScalarType , class MV , class OP >
virtual void Belos::GmresIteration< ScalarType, MV, OP >::setSize ( int  blockSize,
int  numBlocks 
)
pure virtual

Set the blocksize and number of blocks to be used by the iterative solver in solving this linear problem.

Changing either the block size or the number of blocks will reset the solver to an uninitialized state.

Implemented in Belos::BlockFGmresIter< ScalarType, MV, OP >, and Belos::BlockGmresIter< ScalarType, MV, OP >.


The documentation for this class was generated from the following file: