NGSolve  4.9
Public Types | Public Member Functions | Protected Types | Protected Attributes
ngla::BlockJacobiPrecondSymmetric< TM, TV > Class Template Reference
Inheritance diagram for ngla::BlockJacobiPrecondSymmetric< TM, TV >:
ngla::BaseBlockJacobiPrecond ngla::S_BaseMatrix< mat_traits< TM >::TSCAL > ngla::BaseMatrix ngla::BaseMatrix

List of all members.

Public Types

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

Public Member Functions

 BlockJacobiPrecondSymmetric (const SparseMatrixSymmetric< TM, TV > &amat, Table< int > &ablocktable)
FlatBandCholeskyFactors< TM > InvDiag (int i) const
void ComputeBlockFactor (FlatArray< int > block, int bw, FlatBandCholeskyFactors< TM > &inv) const
virtual void MultAdd (TSCAL s, const BaseVector &x, BaseVector &y) const
virtual void MultTransAdd (TSCAL s, const BaseVector &x, BaseVector &y) const
virtual BaseVectorCreateVector () const
 creates a matching vector (for square matrices)
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 void GSSmooth (BaseVector &x, const BaseVector &b, int steps=1) const
 performs steps Gauss-Seidel steps for the equation A x = b
virtual void GSSmoothPartial (BaseVector &x, const BaseVector &b, BaseVector &y) const
 performs steps Gauss-Seidel steps for the equation A x = b with partial residual y
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 GSSmoothBackPartial (BaseVector &x, const BaseVector &b, BaseVector &y) const
void SmoothBlock (int i, FlatVector< TVX > &x, FlatVector< TVX > &y) const
virtual void GSSmoothNumbering (BaseVector &x, const BaseVector &b, const Array< int > &numbering, int forward=1) const

Protected Types

enum  { NBLOCKS = 20 }

Protected Attributes

const SparseMatrixSymmetric
< TM, TV > & 
mat
Array< int, size_t > blockstart
Array< int, size_t > blocksize
Array< int, size_t > blockbw
Array< TM, size_t > data [NBLOCKS]
bool lowmem

template<class TM, class TV>
class ngla::BlockJacobiPrecondSymmetric< TM, TV >


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