|
NGSolve
4.9
|
A block-Jacobi preconditioner. More...
#include <blockjacobi.hpp>
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 BaseVector * | CreateVector () 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 | |
A block-Jacobi preconditioner.
The blocks are specified by a table container
1.7.6.1