#include <preconditioner.h>
Public Types | |
typedef VECTOR::size_type | size_type |
Public Member Functions | |
virtual | ~Preconditioner ()=0 |
virtual const size_type | row_dimension () const =0 |
const size_type | column_dimension () const |
virtual void | apply (const VECTOR &x, VECTOR &Px) const =0 |
virtual void | apply_preconditioner (const VECTOR &Px, VECTOR &x) const =0 |
Abstract base class for preconditioners P of (finite) linear systems Ax=b.
In applications, the class will be used to model both preconditioning
Preconditioners P behave like square matrices, the solution of linear systems Px=y should be cheap.
References:
[B] M. Benzi: Preconditioning Techniques for Large Linear Systems: A Survey J. Comput. Phys. 182(2002), 418-477
typedef VECTOR::size_type MathTL::Preconditioner< VECTOR >::size_type |
type of indices and size type (cf. STL containers)
Reimplemented in MathTL::JacobiPreconditioner< MATRIX, VECTOR >, and MathTL::IdentityPreconditioner< MATRIX, VECTOR >.
MathTL::Preconditioner< VECTOR >::~Preconditioner | ( | ) | [pure virtual] |
purely virtual destructor
virtual void MathTL::Preconditioner< VECTOR >::apply | ( | const VECTOR & | x, |
VECTOR & | Px | ||
) | const [pure virtual] |
apply P, i.e., reverse the preconditioning
Implemented in MathTL::JacobiPreconditioner< MATRIX, VECTOR >, and MathTL::IdentityPreconditioner< MATRIX, VECTOR >.
virtual void MathTL::Preconditioner< VECTOR >::apply_preconditioner | ( | const VECTOR & | Px, |
VECTOR & | x | ||
) | const [pure virtual] |
apply P^{-1}, i.e., perform the preconditioning
Implemented in MathTL::JacobiPreconditioner< MATRIX, VECTOR >, and MathTL::IdentityPreconditioner< MATRIX, VECTOR >.
const size_type MathTL::Preconditioner< VECTOR >::column_dimension | ( | ) | const [inline] |
column dimension (== row dimension)
virtual const size_type MathTL::Preconditioner< VECTOR >::row_dimension | ( | ) | const [pure virtual] |
row dimension
Implemented in MathTL::JacobiPreconditioner< MATRIX, VECTOR >, and MathTL::IdentityPreconditioner< MATRIX, VECTOR >.