#include <PrecAlgebraic.h>
Inheritance diagram for PrecAlgebraic::

Public Methods | |
| virtual | ~PrecAlgebraic () |
| virtual void | init (PrecBasis &Apb) |
| virtual bool | ok () const |
| virtual void | apply (const LinEqVector &, LinEqVector &, TransposeMode=NOT_TRANSPOSED) |
| virtual real | getStorage () const |
| virtual void | get (LinEqMatrix &precmat, String &precname) const |
| void | get (Precond_prm &precprm_) const |
Protected Methods | |
| PrecAlgebraic (const Precond_prm &p) | |
| virtual bool | allocate (const LinEqMatrix &mat) |
Protected Attributes | |
| Handle(LinEqMatrix) | C |
NAME: PrecAlgebraic - base class for algebraic preconditioners for linear systems
DESCRIPTION:
The base class describes an interface for preconditioning operations defined in terms of a preconditioning matrix.
|
|
The only constructor accepts a "Precond_prm" object containing the preconditioning parameters. Note that this constructor is accessible only to derived classes. |
|
|
|
|
|
|
|
|
computes the result of applying the current preconditoner to a "LinEqVector" object "c". The result is returned in "d". Depending on the "TransposeMode" parameter, the preconditoner can be used as is (default) or as transposed/conjugate transposed operator. Reimplemented from Precond. Reimplemented in PrecUserDefLU, PrecUserDefInv, PrecUserDefMat, PrecRILU, PrecJacobi, PrecSOR, and PrecSSOR. |
|
|
returns the current set of preconditoning parameters. If the chosen preconditioner is of algebraic type, an overloaded version can be used to access the preconditioning matrix. Reimplemented from Precond. |
|
|
See documentation of one of the overloaded functions. Reimplemented from Precond. |
|
|
returns the amount of storage needed for the current preconditioner. Reimplemented from Precond. Reimplemented in PrecRILU. |
|
|
initializes the preconditioner, e.g. by computing an incomplete factorization. The function "init" should perform internal redimensioning if necessary. For algebraic preconditioners where C is based directly on A with the same sparsity pattern, C should be redimensioned by a "C.redim(A)" statement like we have for "LinEqVector" objects. The "Matrix"-heriarchy must then have a virtual makeItSimilar function (see "Vector"). Reimplemented from Precond. Reimplemented in PrecUserDefLU, and PrecRILU. |
|
|
returns "true" if the preconditioner is in normal state, otherwise it returns "false". Reimplemented from Precond. Reimplemented in PrecUserDefMat. |
|
|
|