Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

TFQMR Class Reference

Transpose-free Quasi-minimal residual method for nonsymmetric systems. More...

#include <TFQMR.h>

Inheritance diagram for TFQMR::

KrylovItSolver IterativeSolver LinEqSolver HandleId List of all members.

Public Methods

 TFQMR ()
 TFQMR (const LinEqSolver_prm &pm)
 ~TFQMR ()
virtual bool ok () const
virtual bool solve (LinEqSystem &system)
virtual String description () const

Public Attributes

 CLASS_INFO

Protected Methods

virtual bool redim (LinEqSystem &system)
virtual void initCommBlk ()

Protected Attributes

NUMT alpha
NUMT beta
NUMT tau
NUMT theta
NUMT eta
NUMT rho
NUMT rho1
NUMT sigma
NUMT gamma
NUMT c
real resnormest
LinEqVector w_tilde
LinEqVector w
LinEqVector d
LinEqVector g
LinEqVector s0_tilde
LinEqVector y
LinEqVector t
LinEqVector v
Handle(LinEqVectorp_tilde
Handle(LinEqVectorp

Detailed Description

Transpose-free Quasi-minimal residual method for nonsymmetric systems.

NAME: TFQMR - Transpose-free Quasi-minimal residual method for nonsymmetric systems

DESCRIPTION:

The class implements the iterative method of transpose-free quasi-minimal residuals (TFQMR). This method is designed for solving nonsymmetric systems of linear equations. The method is meant to avoid the irregular convergence patterns of the BiCG and CGS (see class CGS). Please note that this method is not as stable as the full QMR method with look-ahead (see papers by Freund and co-authors).


Constructor & Destructor Documentation

TFQMR::TFQMR ( )
 

There is a default constructor without arguments. For the sake of comaptibility, there is also a constructor accepting a "LinEqSolver_prm" object, aimed to be used by "LinEqSolver_prm create".

TFQMR::TFQMR ( const LinEqSolver_prm & pm )
 

See documentation of one of the overloaded constructor.

TFQMR::~TFQMR ( ) [inline]
 


Member Function Documentation

String TFQMR::description ( ) const [virtual]
 

Reimplemented from LinEqSolver.

void TFQMR::initCommBlk ( ) [protected, virtual]
 

initializes the communication block needed for communication with attached "LinEqSystem", "EigenEstimator", "Precond" and "ConvMonitor" objects. This function is typically called by "init". (For internal use only).

Reimplemented from KrylovItSolver.

bool TFQMR::ok ( ) const [virtual]
 

checks whether all the internal vectors are ready in addition to the standard "KrylovItSolver ok()".

Reimplemented from KrylovItSolver.

bool TFQMR::redim ( LinEqSystem & system ) [protected, virtual]
 

redimensions internal storage based on the given "LinEqSystem" object. This function is typically called from "solve".

Reimplemented from KrylovItSolver.

bool TFQMR::solve ( LinEqSystem & system ) [virtual]
 

takes an input argument of type "LinEqSystem" which must be properly filled. The solution process is carried out inside the function. If successful, a "true" value will be returned.

Reimplemented from KrylovItSolver.


Member Data Documentation

TFQMR::CLASS_INFO
 

NUMT TFQMR::alpha [protected]
 

NUMT TFQMR::beta [protected]
 

NUMT TFQMR::c [protected]
 

LinEqVector TFQMR::d [protected]
 

NUMT TFQMR::eta [protected]
 

LinEqVector TFQMR::g [protected]
 

NUMT TFQMR::gamma [protected]
 

Handle(LinEqVector) TFQMR::p [protected]
 

Handle(LinEqVector) TFQMR::p_tilde [protected]
 

real TFQMR::resnormest [protected]
 

NUMT TFQMR::rho [protected]
 

NUMT TFQMR::rho1 [protected]
 

LinEqVector TFQMR::s0_tilde [protected]
 

NUMT TFQMR::sigma [protected]
 

LinEqVector TFQMR::t [protected]
 

NUMT TFQMR::tau [protected]
 

NUMT TFQMR::theta [protected]
 

LinEqVector TFQMR::v [protected]
 

LinEqVector TFQMR::w [protected]
 

LinEqVector TFQMR::w_tilde [protected]
 

LinEqVector TFQMR::y [protected]
 


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.