MathTL
 All Classes Functions Variables Typedefs Enumerations
Public Types | Public Member Functions
MathTL::Preconditioner< VECTOR > Class Template Reference

#include <preconditioner.h>

Inheritance diagram for MathTL::Preconditioner< VECTOR >:
MathTL::IdentityPreconditioner< MATRIX, VECTOR > MathTL::JacobiPreconditioner< MATRIX, VECTOR >

List of all members.

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

Detailed Description

template<class VECTOR>
class MathTL::Preconditioner< VECTOR >

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


Member Typedef Documentation

template<class VECTOR >
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 >.


Constructor & Destructor Documentation

template<class VECTOR >
MathTL::Preconditioner< VECTOR >::~Preconditioner ( ) [pure virtual]

purely virtual destructor


Member Function Documentation

template<class VECTOR >
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 >.

template<class 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 >.

template<class VECTOR >
const size_type MathTL::Preconditioner< VECTOR >::column_dimension ( ) const [inline]

column dimension (== row dimension)

template<class VECTOR >
virtual const size_type MathTL::Preconditioner< VECTOR >::row_dimension ( ) const [pure virtual]

The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Enumerations