Abstract base preconditioner class. More...
#include <precond.hpp>
Public Member Functions | |
| virtual | ~Precond () |
| Virtual destructor. More... | |
| virtual Precond * | copy (void) const =0 |
| Get a new copy of preconditiner. More... | |
| virtual void | prepare (const CRowMatrix &A)=0 |
| Prepare preconditioner for matrices with non-zero pattern equal to A. More... | |
| virtual void | construct (const CRowMatrix &A)=0 |
| Construct preconditioner for matrix A. More... | |
| virtual void | clear (void)=0 |
| Clear preconditioner. More... | |
| virtual bool | is_prepared (void) const =0 |
| Return false if prepare is needed. More... | |
| virtual std::string | typestring (void) const =0 |
| Return string indicating type of preconditioner. More... | |
| virtual void | solve (Vector &x, const Vector &b) const =0 |
| Solve M* x = b and return x. Here M is a preconditioner matrix built for matrix A. See implementations of Precond for more information. More... | |
Detailed Description
Abstract base preconditioner class.
Preconditioners are made in two steps. A prepare() function is called to prepare the preconditioner for processing matrices with a certain non-zero pattern. The construct() function can then be used to build the preconditioner for a certain matrix of this type.
Constructor & Destructor Documentation
|
inlinevirtual |
Virtual destructor.
Member Function Documentation
|
pure virtual |
Clear preconditioner.
Clears preconditioner. Both prepare() and construct() functions have to be called after this.
Implemented in ILU1_Precond, ILU0_Precond, Diag_Precond, and Empty_Precond.
|
pure virtual |
Construct preconditioner for matrix A.
Implemented in ILU1_Precond, ILU0_Precond, Diag_Precond, and Empty_Precond.
|
pure virtual |
Get a new copy of preconditiner.
Implemented in ILU1_Precond, Diag_Precond, ILU0_Precond, and Empty_Precond.
|
pure virtual |
Return false if prepare is needed.
Returns true if prepare is not needed and false if it is.
Implemented in ILU1_Precond, ILU0_Precond, Diag_Precond, and Empty_Precond.
|
pure virtual |
Prepare preconditioner for matrices with non-zero pattern equal to A.
Implemented in ILU1_Precond, ILU0_Precond, Diag_Precond, and Empty_Precond.
Solve M* x = b and return x. Here M is a preconditioner matrix built for matrix A. See implementations of Precond for more information.
Implemented in ILU1_Precond, ILU0_Precond, Diag_Precond, and Empty_Precond.
|
pure virtual |
Return string indicating type of preconditioner.
Implemented in ILU1_Precond, ILU0_Precond, Diag_Precond, and Empty_Precond.
The documentation for this class was generated from the following file: