LinPrecond< T > Class Template Reference

The SparseMatrix<T> -preconditioner base class template. More...

#include <LinPrecond.hpp>

Inheritance diagram for LinPrecond< T >:

Inheritance graph
[legend]
Collaboration diagram for LinPrecond< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void PreProcess (void *&context, SparseMatrix< T > &A)=0
 Prepares the preconditioner for a given matrix.
virtual void Run (void *&context, MultiVector< T > &r, MultiVector< T > &c)=0
 Applies the preconditioner to a given vector 'r', i.e. computes $c \leftarrow W^{-1} \cdot r$.
virtual void PostProcess (void *&context)
 Releases the information referenced by the context context The context to release.

Detailed Description

template<typename T>
class LinPrecond< T >

The SparseMatrix<T> -preconditioner base class template.

Note:
'PrintParam' is inherited.


Member Function Documentation

template<typename T>
virtual void LinPrecond< T >::PreProcess ( void *&  context,
SparseMatrix< T > &  A 
) [pure virtual]

Prepares the preconditioner for a given matrix.

This function must be called only once for a given matrix. Then the preconditioner can be applied to any residual and any right-hand side. This function does not return any value but may throw exceptions

Parameters:
[in] context The context to initialize
[in] A The matrix

Implemented in GSPrecond< T >, LexILUPrecond< T >, IdentityPrecond< T >, SORPrecond< T >, and SORaPrecond< T >.

template<typename T>
virtual void LinPrecond< T >::Run ( void *&  context,
MultiVector< T > &  r,
MultiVector< T > &  c 
) [pure virtual]

Applies the preconditioner to a given vector 'r', i.e. computes $c \leftarrow W^{-1} \cdot r$.

Note:
In some cases 'c' and 'r' must be physically different vectors, but they should have equal sizes. This function does not return any value but may throw exceptions

Implemented in GSPrecond< T >, LexILUPrecond< T >, IdentityPrecond< T >, SORPrecond< T >, and SORaPrecond< T >.

template<typename T>
virtual void LinPrecond< T >::PostProcess ( void *&  context  )  [virtual]

Releases the information referenced by the context context The context to release.

Implements SysPrecond< T >.

Reimplemented in LexILUPrecond< T >, IdentityPrecond< T >, and SORaPrecond< T >.


The documentation for this class was generated from the following files:
Generated on Fri Sep 21 12:34:17 2007 for SG2 by  doxygen 1.5.2