NGSolve  4.9
Public Types | Public Member Functions | Protected Attributes
ngla::BlockJacobiPrecond< TM, TV_ROW, TV_COL > Class Template Reference

A block-Jacobi preconditioner. More...

#include <blockjacobi.hpp>

Inheritance diagram for ngla::BlockJacobiPrecond< TM, TV_ROW, TV_COL >:
ngla::BaseBlockJacobiPrecond ngla::S_BaseMatrix< mat_traits< TM >::TSCAL > ngla::BaseMatrix ngla::BaseMatrix

List of all members.

Public Types

typedef TV_ROW TVX
typedef mat_traits< TM >::TSCAL TSCAL

Public Member Functions

 BlockJacobiPrecond (const SparseMatrix< TM, TV_ROW, TV_COL > &amat, Table< int > &ablocktable)
int Height () const
 inline function VHeight
virtual int VHeight () const
 virtual function must be overloaded
int Width () const
 inline function VWidth
virtual int VWidth () const
 virtual function must be overloaded
virtual BaseVectorCreateVector () const
 creates a matching vector (for square matrices)
virtual void MultAdd (TSCAL s, const BaseVector &x, BaseVector &y) const
virtual void MultTransAdd (TSCAL s, const BaseVector &x, BaseVector &y) const
virtual void GSSmooth (BaseVector &x, const BaseVector &b, int steps=1) const
 performs steps Gauss-Seidel steps for the equation A x = b
virtual void GSSmoothResiduum (BaseVector &x, const BaseVector &b, BaseVector &res, int steps=1) const
 does smoothing. The vector res contains the residuum (b-Ax) before and after the smoothing
virtual void GSSmoothBack (BaseVector &x, const BaseVector &b, int steps=1) const
 does smoothing in reversed order
virtual void GSSmoothNumbering (BaseVector &x, const BaseVector &b, const Array< int > &numbering, int forward=1) const
virtual void MemoryUsage (Array< MemoryUsageStruct * > &mu) const

Protected Attributes

const SparseMatrix< TM, TV_ROW,
TV_COL > & 
mat
 a reference to the matrix
Array< Matrix< TM > * > invdiag
 inverses of the small blocks

Detailed Description

template<class TM, class TV_ROW, class TV_COL>
class ngla::BlockJacobiPrecond< TM, TV_ROW, TV_COL >

A block-Jacobi preconditioner.

The blocks are specified by a table container


The documentation for this class was generated from the following file: