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

Public Methods | |
| virtual | ~PrecItSolver () |
| virtual void | init (PrecBasis &Apb) |
| virtual bool | ok () const |
| virtual void | apply (const LinEqVector &c, LinEqVector &d, TransposeMode tpmode=NOT_TRANSPOSED) |
| virtual int | getWork (const PrecondWork work_tp=APPLY_PREC_WORK) const |
| virtual real | getStorage () const |
| virtual void | performance (PrecondStatistics &precStat) |
| virtual void | get (LinEqMatrix &precmat, String &precname) const |
| void | get (Precond_prm &precprm_) const |
Protected Methods | |
| PrecItSolver (const Precond_prm &p) | |
Protected Attributes | |
| Handle(LinEqSystem) | psys |
| Handle(LinEqSolver) | piter |
| int | inner_steps |
NAME: PrecItSolver - base class for inner iteration preconditioners for linear systems
DESCRIPTION:
The base class describes an interface for preconditioning operations defined in terms of inner iterations.
|
|
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. |
|
|
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. |
|
|
returns the work estimate for the last performed preconditioning operation. Reimplemented from Precond. |
|
|
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 PrecJacobiIter, PrecSORIter, and PrecSSORIter. |
|
|
returns "true" if the preconditioner is in normal state, otherwise it returns "false". Reimplemented from Precond. |
|
|
records preconditioning statistics in the supplied "PrecondStatistics" object. This object is usually a part of a "LinEqStatBlk" object which is used to collect and performance statistics. Reimplemented from Precond. Reimplemented in PrecSORIter, and PrecSSORIter. |
|
|
|
|
|
|
|
|
|