NGSolve  4.9
Public Member Functions | Protected Attributes
ngla::BaseMatrix Class Reference

The base for all matrices in the linalg. More...

#include <basematrix.hpp>

Inheritance diagram for ngla::BaseMatrix:
ngcomp::BilinearFormApplication ngcomp::Preconditioner ngla::BaseBlockJacobiPrecond ngla::BaseJacobiPrecond ngla::BaseSparseMatrix ngla::ChebyshevIteration ngla::CommutingAMG ngla::KrylovSpaceSolver ngla::Real2ComplexMatrix< TVR, TVC > ngla::S_BaseMatrix< SCAL > ngla::S_BaseMatrix< Complex > ngla::Small2BigNonSymMatrix< TVSMALL, TVBIG > ngla::SparseFactorization ngla::SuperLUInverse< TM, TV_ROW, TV_COL > ngla::Sym2NonSymMatrix< TVR > ngla::Transpose ngla::VScaleMatrix ngmg::MultigridPreconditioner ngmg::SmoothingPreconditioner ngmg::TwoLevelMatrix ngla::S_BaseMatrix< mat_traits< TM >::TSCAL >

List of all members.

Public Member Functions

 BaseMatrix (ParallelDofs *aparalleldofs)
virtual int VHeight () const
 virtual function must be overloaded
virtual int VWidth () const
 virtual function must be overloaded
int Height () const
 inline function VHeight
int Width () const
 inline function VWidth
BaseMatrixoperator= (double s)
 scalar assignment
virtual BaseVectorAsVector ()
 linear access of matrix memory
virtual const BaseVectorAsVector () const
 linear access of matrix memory
virtual ostream & Print (ostream &ost) const
virtual void MemoryUsage (Array< MemoryUsageStruct * > &mu) const
virtual BaseMatrixCreateMatrix () const
 creates matrix of same type
virtual BaseVectorCreateRowVector () const
 creates matrix of same type
virtual BaseVectorCreateColVector () const
 creates a matching vector, size = height
virtual BaseVectorCreateVector () const
 creates a matching vector (for square matrices)
virtual void Mult (const BaseVector &x, BaseVector &y) const
 y = matrix * x. Multadd should be implemented, instead
virtual void MultAdd (double s, const BaseVector &x, BaseVector &y) const
 y += s matrix * x
virtual void MultAdd (Complex s, const BaseVector &x, BaseVector &y) const
 y += s matrix * x
virtual void MultTransAdd (double s, const BaseVector &x, BaseVector &y) const
 y += s Trans(matrix) * x
virtual void MultTransAdd (Complex s, const BaseVector &x, BaseVector &y) const
 y += s Trans(matrix) * x
virtual void MultAdd1 (double s, const BaseVector &x, BaseVector &y, const BitArray *ainner=NULL, const Array< int > *acluster=NULL) const
 to split mat x vec for symmetric matrices only rows with inner or cluster true need by added (but more can be ...)
virtual void MultAdd2 (double s, const BaseVector &x, BaseVector &y, const BitArray *ainner=NULL, const Array< int > *acluster=NULL) const
 only cols with inner or cluster true need by added (but more can be ...)
void SetParallelDofs (const ParallelDofs *pardofs)
const ParallelDofs * GetParallelDofs () const
virtual BaseMatrixInverseMatrix (const BitArray *subset=0) const
virtual BaseMatrixInverseMatrix (const Array< int > *clusters) const
virtual INVERSETYPE SetInverseType (INVERSETYPE ainversetype) const
virtual INVERSETYPE SetInverseType (string ainversetype) const
virtual INVERSETYPE GetInverseType () const

Protected Attributes

const ParallelDofs * paralleldofs

Detailed Description

The base for all matrices in the linalg.


Member Function Documentation

virtual BaseVector* ngla::BaseMatrix::CreateRowVector ( ) const [virtual]

creates matrix of same type

creates a matching vector, size = width


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