Public Member Functions
TSFExtended::PreconditionerBase< Scalar > Class Template Reference

Base class for preconditioners. More...

Inheritance diagram for TSFExtended::PreconditionerBase< Scalar >:
Sundance::Handleable< PreconditionerBase< Scalar > > TSFExtended::GenericLeftPreconditioner< Scalar > TSFExtended::GenericLeftPreconditioner< Scalar > TSFExtended::GenericRightPreconditioner< Scalar >

List of all members.

Public Member Functions

 PreconditionerBase ()
 empty ctor
virtual ~PreconditionerBase ()
 virtual dtor
virtual LinearOperator< Scalar > left () const =0
virtual LinearOperator< Scalar > right () const =0
virtual bool hasLeft () const =0
 return true if this preconditioner has a nontrivial left component
virtual bool hasRight () const =0
 return true if this preconditioner has a nontrivial right component

Detailed Description

template<class Scalar>
class TSFExtended::PreconditionerBase< Scalar >

Base class for preconditioners.

A general preconditioner object is split into a left preconditioner M1^-1 and a right preconditioner M2^-1. To solve A x = b, we define the auxiliary system M2^-1 y = x, and solve M1^-1 A M2^-1 y = M1^-1 b to obtain y. Having y, we can quickly recover x by applying M2^-1 to y.

The base class implements neither a left nor a right preconditioner.

Definition at line 52 of file TSFPreconditionerBase.hpp.


Constructor & Destructor Documentation

template<class Scalar >
TSFExtended::PreconditionerBase< Scalar >::PreconditionerBase ( ) [inline]

empty ctor

Definition at line 56 of file TSFPreconditionerBase.hpp.

template<class Scalar >
virtual TSFExtended::PreconditionerBase< Scalar >::~PreconditionerBase ( ) [inline, virtual]

virtual dtor

Definition at line 59 of file TSFPreconditionerBase.hpp.


Member Function Documentation

template<class Scalar >
virtual bool TSFExtended::PreconditionerBase< Scalar >::hasLeft ( ) const [pure virtual]
template<class Scalar >
virtual bool TSFExtended::PreconditionerBase< Scalar >::hasRight ( ) const [pure virtual]
template<class Scalar >
virtual LinearOperator<Scalar> TSFExtended::PreconditionerBase< Scalar >::left ( ) const [pure virtual]
template<class Scalar >
virtual LinearOperator<Scalar> TSFExtended::PreconditionerBase< Scalar >::right ( ) const [pure virtual]

Site Contact