Diffpack Documentation


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

BiCGStab Class Reference

BiConjugate Gradient Stabilized method for nonsymmetric systems. More...

#include <BiCGStab.h>

Inheritance diagram for BiCGStab::

KrylovItSolver IterativeSolver LinEqSolver HandleId List of all members.

Public Methods

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

Public Attributes

 CLASS_INFO

Protected Methods

virtual bool redim (LinEqSystem &system)

Protected Attributes

NUMT alpha
NUMT beta
NUMT rho
NUMT rho1
NUMT omega
LinEqVector r_bar0
LinEqVector p
LinEqVector u
LinEqVector v
LinEqVector t
Handle(LinEqVectorp_hat
Handle(LinEqVectoru_hat

Detailed Description

BiConjugate Gradient Stabilized method for nonsymmetric systems.

NAME: BiCGStab - BiConjugate Gradient Stabilized method for nonsymmetric systems

DESCRIPTION:

The class implements the stabilized biconjugate gradients (BICGSTAB) method for solving nonsymmetric systems of linear equations. The method is meant to avoid the irregular convergence patterns of the Conjugate Gradient Squared method (see class "CGS").


Constructor & Destructor Documentation

BiCGStab::BiCGStab ( )
 

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".

BiCGStab::BiCGStab ( const LinEqSolver_prm & pm )
 

See documentation of one of the overloaded constructor.

BiCGStab::~BiCGStab ( ) [inline]
 


Member Function Documentation

String BiCGStab::description ( ) const [virtual]
 

Reimplemented from LinEqSolver.

bool BiCGStab::ok ( ) const [virtual]
 

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

Reimplemented from KrylovItSolver.

bool BiCGStab::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 BiCGStab::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

BiCGStab::CLASS_INFO
 

NUMT BiCGStab::alpha [protected]
 

NUMT BiCGStab::beta [protected]
 

NUMT BiCGStab::omega [protected]
 

LinEqVector BiCGStab::p [protected]
 

Handle(LinEqVector) BiCGStab::p_hat [protected]
 

LinEqVector BiCGStab::r_bar0 [protected]
 

NUMT BiCGStab::rho [protected]
 

NUMT BiCGStab::rho1 [protected]
 

LinEqVector BiCGStab::t [protected]
 

LinEqVector BiCGStab::u [protected]
 

Handle(LinEqVector) BiCGStab::u_hat [protected]
 

LinEqVector BiCGStab::v [protected]
 


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