SolverFGMRES< VECTOR > Class Template Reference
[Linear solver classes]

Inheritance diagram for SolverFGMRES< VECTOR >:

Inheritance graph
[legend]

List of all members.

Classes

struct  AdditionalData

Public Member Functions

 SolverFGMRES (SolverControl &cn, VectorMemory< VECTOR > &mem, const AdditionalData &data=AdditionalData())
 SolverFGMRES (SolverControl &cn, const AdditionalData &data=AdditionalData())
template<class MATRIX , class PRECONDITIONER >
void solve (const MATRIX &A, VECTOR &x, const VECTOR &b, const PRECONDITIONER &precondition)

Private Attributes

AdditionalData additional_data
FullMatrix< doubleH
FullMatrix< doubleH1


Detailed Description

template<class VECTOR = Vector<double>>
class SolverFGMRES< VECTOR >

Implementation of the Generalized minimal residual method with flexible preconditioning method.

This version of the GMRES method allows for the use of a different preconditioner in each iteration step. Therefore, it is also more robust with respect to inaccurate evaluation of the preconditioner. An important application is also the use of a Krylov space method inside the preconditioner.

FGMRES needs two vectors in each iteration steps yielding a total of 2*AdditionalDatamax_basis_size+1 auxiliary vectors.

Caveat: documentation of this class is not up to date. There are also a few parameters of GMRES we would like to introduce here.

Author:
Guido Kanschat, 2003

Constructor & Destructor Documentation

template<class VECTOR = Vector<double>>
SolverFGMRES< VECTOR >::SolverFGMRES ( SolverControl cn,
VectorMemory< VECTOR > &  mem,
const AdditionalData data = AdditionalData() 
)

Constructor.

template<class VECTOR = Vector<double>>
SolverFGMRES< VECTOR >::SolverFGMRES ( SolverControl cn,
const AdditionalData data = AdditionalData() 
)

Constructor. Use an object of type GrowingVectorMemory as a default to allocate memory.


Member Function Documentation

template<class VECTOR = Vector<double>>
template<class MATRIX , class PRECONDITIONER >
void SolverFGMRES< VECTOR >::solve ( const MATRIX &  A,
VECTOR &  x,
const VECTOR &  b,
const PRECONDITIONER &  precondition 
) [inline]

Solve the linear system $Ax=b$ for x.

Referenced by SolverSelector< VECTOR >::solve().


Member Data Documentation

template<class VECTOR = Vector<double>>
AdditionalData SolverFGMRES< VECTOR >::additional_data [private]

Additional flags.

template<class VECTOR = Vector<double>>
FullMatrix<double> SolverFGMRES< VECTOR >::H [private]

Projected system matrix

template<class VECTOR = Vector<double>>
FullMatrix<double> SolverFGMRES< VECTOR >::H1 [private]

Auxiliary matrix for inverting H


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

deal.II documentation generated on Sat Aug 15 16:52:18 2009 by doxygen 1.5.9