Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

MatSchur(Type) Class Reference

implicit Schur complement matrix. More...

#include <MatSchur_Type.h>

Inheritance diagram for MatSchur(Type)::

Matrix_Type HandleId List of all members.

Public Methods

 MatSchur(Type) ()
 MatSchur(Type) (int n)
virtual ~MatSchur(Type) ()
virtual void attachUserCode (MatSchurUDC(Type) &user_code)
virtual int getNoRows () const
virtual int getNoColumns () const
virtual int getNoNonzeroes () const
virtual void size (int &m, int &n) const
virtual real getStorage () const
virtual bool makeItSimilar (Handle(Matrix(Type)) &M) const
virtual bool redim (const Matrix(prm_Type) &pm)
virtual bool redim (const VecSimple(int) &ivec, const VecSimple(int) &jvec, int new_nrows, int new_ncolumns)
virtual void getIndexSet (VecSimple(int) &ivec, VecSimple(int) &jvec) const
virtual bool validIndexSet (const VecSimple(int) &ivec, const VecSimple(int) &jvec, const int new_nrows, const int new_ncolumns)
virtual Type& elm (int i, int j)
virtual void fill (const Matrix(Type) &X)
virtual void fill (Type a)
virtual void add (Matrix(Type) &bm, Matrix(Type) &cm)
virtual void add (Matrix(Type) &bm, char s, Matrix(Type) &cm)
virtual void add (Matrix(Type) &bm, Type b, Matrix(Type) &cm)
virtual void add (Type a, Matrix(Type) &bm, Type b, Matrix(Type) &cm)
virtual void prod (const Vector(Type) &xb, Vector(Type) &yb, TransposeMode tpmode=NOT_TRANSPOSED, bool add_to_yb=false) const
virtual bool factorize (const FactStrategy &fstrategy)
virtual void forwBack (Vector(Type) &bb, Vector(Type) &xb)
virtual void SSOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void SSORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void SOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void SORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void Jacobi1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void Jacobisolve (Vector(Type) &y, const Vector(Type) &c, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void print (Os os, const char *header=NULL, int nentries_per_line=3) const
virtual void printAscii (Os os, const char *header=NULL) const
virtual void scan (Is is)
CLASS_INFO VIRTUAL_CAST (MatSchur(Type))

Protected Attributes

int mat_size
MatSchurUDC(Type)* udc

Detailed Description

implicit Schur complement matrix.

NAME: MatSchur(Type) - implicit Schur complement matrix

DESCRIPTION:

The class implements a diagonal matrix. Derivation from class "Matrix(Type)" ensures that the class is of matrix nature, while derivation from "Vec(Type)" enables implementation in terms of a vector.


Constructor & Destructor Documentation

MatSchur(Type)::MatSchur_Type ( )
 

See "Mat(Type)". Since a diagonal matrix is assumed to be square, i.e., with the same number of columns as of rows, there is also a special constructor accepting a single integer argument "n" specyfying the matrix dimension.

By definition, "MatSchur(Type)" is restricted to representation of square matrices only. Some constructors still accept both row and column dimensions in order to provide compatibility with other matrix formats. If these parameters have different values, an error message is given.

MatSchur(Type)::MatSchur_Type ( int n )
 

See documentation of one of the overloaded constructor.

MatSchur(Type)::~MatSchur(Type) ( ) [inline, virtual]
 


Member Function Documentation

void MatSchur(Type)::Jacobi1it ( Vector(Type) & xnew,
const Vector(Type) & xold,
const Vector(Type) & b,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::Jacobisolve ( Vector(Type) & y,
const Vector(Type) & c,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::SOR1it ( Vector(Type) & xnew,
const Vector(Type) & xold,
const Vector(Type) & b,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::SORsolve ( Vector(Type) & y,
const Vector(Type) & c,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::SSOR1it ( Vector(Type) & xnew,
const Vector(Type) & xold,
const Vector(Type) & b,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::SSORsolve ( Vector(Type) & y,
const Vector(Type) & c,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

CLASS_INFO MatSchur(Type)::VIRTUAL_CAST ( MatSchur(Type) )
 

void MatSchur(Type)::add ( Type a,
Matrix(Type) & bm,
Type b,
Matrix(Type) & cm ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::add ( Matrix(Type) & bm,
Type b,
Matrix(Type) & cm ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::add ( Matrix(Type) & bm,
char s,
Matrix(Type) & cm ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::add ( Matrix(Type) & bm,
Matrix(Type) & cm ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::attachUserCode ( MatSchurUDC(Type) & user_code ) [virtual]
 

Type & MatSchur(Type)::elm ( int i,
int j ) [virtual]
 

Reimplemented from Matrix(Type).

bool MatSchur(Type)::factorize ( const FactStrategy & fstrategy ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::fill ( Type a ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::fill ( const Matrix(Type) & X ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::forwBack ( Vector(Type) & bb,
Vector(Type) & xb ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::getIndexSet ( VecSimple(int) & ivec,
VecSimple(int) & jvec ) const [virtual]
 

Reimplemented from Matrix(Type).

int MatSchur(Type)::getNoColumns ( ) const [virtual]
 

returns the number of columns in the current object when viewed (logically) as a full matrix.

Reimplemented from Matrix(Type).

int MatSchur(Type)::getNoNonzeroes ( ) const [virtual]
 

returns the number of nonzero entries represented in the current object. Note that this function does not take symmetric storage formats into account. That is, it also counts entry "a(j,i)" even if this value is not stored due to symmetry properties. This function does not check for stored zero entries, but counts all entries represented by the chosen matrix format.

Reimplemented from Matrix(Type).

int MatSchur(Type)::getNoRows ( ) const [virtual]
 

returns the number of rows in the current object when viewed (logically) as a full matrix.

Reimplemented from Matrix(Type).

real MatSchur(Type)::getStorage ( ) const [virtual]
 

Reimplemented from Matrix(Type).

bool MatSchur(Type)::makeItSimilar ( Handle(Matrix(Type)) & M ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::print ( Os os,
const char * header = NULL,
int nentries_per_line = 3 ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::printAscii ( Os os,
const char * header = NULL ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::prod ( const Vector(Type) & xb,
Vector(Type) & yb,
TransposeMode tpmode = NOT_TRANSPOSED,
bool add_to_yb = false ) const [virtual]
 

Reimplemented from Matrix(Type).

bool MatSchur(Type)::redim ( const VecSimple(int) & ivec,
const VecSimple(int) & jvec,
int new_nrows,
int new_ncolumns ) [virtual]
 

Reimplemented from Matrix(Type).

bool MatSchur(Type)::redim ( const Matrix(prm_Type) & pm ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::scan ( Is is ) [virtual]
 

Reimplemented from Matrix(Type).

void MatSchur(Type)::size ( int & m,
int & n ) const [virtual]
 

Reimplemented from Matrix(Type).

bool MatSchur(Type)::validIndexSet ( const VecSimple(int) & ivec,
const VecSimple(int) & jvec,
const int new_nrows,
const int new_ncolumns ) [virtual]
 

Reimplemented from Matrix(Type).


Member Data Documentation

int MatSchur(Type)::mat_size [protected]
 

MatSchurUDC(Type) * MatSchur(Type)::udc [protected]
 


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.