Diffpack Documentation


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

CGS Class Reference

Conjugate Gradient Squared method for nonsymmetric systems. More...

#include <CGS.h>

Inheritance diagram for CGS::

KrylovItSolver IterativeSolver LinEqSolver HandleId List of all members.

Public Methods

 CGS ()
 CGS (const LinEqSolver_prm &pm)
 ~CGS ()
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
LinEqVector r_bar0
LinEqVector p
LinEqVector q
LinEqVector u
LinEqVector v
Handle(LinEqVectory
Handle(LinEqVectort
Handle(LinEqVectortmp

Detailed Description

Conjugate Gradient Squared method for nonsymmetric systems.

NAME: CGS - Conjugate Gradient Squared method for nonsymmetric systems

DESCRIPTION:

The class implements an attractive variant of the Bi-Conjugate Gradient method, designed to solve certain classes of nonsymmetric linear systems. However, CGS may lead to a rather irregular convergence behaviour (in contrast to the Bi-Conjugate Gradient Stabilized method, see class "BiCGStab").


Constructor & Destructor Documentation

CGS::CGS ( )
 

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

CGS::CGS ( const LinEqSolver_prm & pm )
 

See documentation of one of the overloaded constructor.

CGS::~CGS ( ) [inline]
 


Member Function Documentation

String CGS::description ( ) const [virtual]
 

Reimplemented from LinEqSolver.

bool CGS::ok ( ) const [virtual]
 

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

Reimplemented from KrylovItSolver.

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

CGS::CLASS_INFO
 

NUMT CGS::alpha [protected]
 

NUMT CGS::beta [protected]
 

LinEqVector CGS::p [protected]
 

LinEqVector CGS::q [protected]
 

LinEqVector CGS::r_bar0 [protected]
 

NUMT CGS::rho [protected]
 

NUMT CGS::rho1 [protected]
 

Handle(LinEqVector) CGS::t [protected]
 

Handle(LinEqVector) CGS::tmp [protected]
 

LinEqVector CGS::u [protected]
 

LinEqVector CGS::v [protected]
 

Handle(LinEqVector) CGS::y [protected]
 


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