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
◆ ~Precond()
|
inlinevirtual |
Virtual destructor.
Member Function Documentation
◆ clear()
|
pure virtual |
Clear preconditioner.
Clears preconditioner. Both prepare() and construct() functions have to be called after this.
Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.
◆ construct()
|
pure virtual |
Construct preconditioner for matrix A.
Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.
◆ copy()
|
pure virtual |
Get a new copy of preconditiner.
Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.
◆ is_prepared()
|
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, Empty_Precond, and Diag_Precond.
◆ prepare()
|
pure virtual |
Prepare preconditioner for matrices with non-zero pattern equal to A.
Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.
◆ solve()
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, Empty_Precond, and Diag_Precond.
◆ typestring()
|
pure virtual |
Return string indicating type of preconditioner.
Implemented in ILU1_Precond, ILU0_Precond, Empty_Precond, and Diag_Precond.
The documentation for this class was generated from the following file: