ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | Friends | List of all members
TSquareMatrix2D Class Reference
Inheritance diagram for TSquareMatrix2D:
Inheritance graph
[legend]
Collaboration diagram for TSquareMatrix2D:
Collaboration graph
[legend]

Public Member Functions

 TSquareMatrix2D (TSquareStructure2D *squarestructure)
 
void SetStructure (TSquareStructure2D *squarestructure)
 
 ~TSquareMatrix2D ()
 
TFESpace2DGetFESpace () const
 
TSquareStructure2DGetMatrixStructure () const
 
TSquareStructure2DGetStructure () const
 
TSquareMatrix2Doperator*= (double alpha)
 scale matrix by scalar (only active entries)
 
TSquareMatrix2Doperator+= (TSquareMatrix2D &rhsMat)
 add another matrix to this one (only active entries)
 
TSquareMatrix2Doperator+= (TSquareMatrix2D *rhsMat)
 add another matrix to this one (only active entries)
 
TSquareMatrix2Doperator= (const TSquareMatrix2D &rhs)
 copy matrix 'rhs' to this
 
- Public Member Functions inherited from TSquareMatrix
 TSquareMatrix (TSquareStructure *structure)
 
 ~TSquareMatrix ()
 
void ResetActive ()
 
void resetNonActive ()
 set zeros in nonactive rows. More...
 
void ReNumbering (int *&Numbers) const
 
int GetActiveBound () const
 
int GetColOrder () const
 
void SetStructure (TSquareStructure *structure)
 
TSquareStructureGetStructure () const
 
int Write (const char *filename)
 
void Print ()
 
- Public Member Functions inherited from TMatrix
 TMatrix (TStructure *structure)
 
 TMatrix (TStructure *structure, double *Entries)
 
void SetStructure (TStructure *structure)
 reset the structure, this may mean that the entries need to be reallocated
 
 TMatrix (int nRows, int nCols)
 
 ~TMatrix ()
 
void Reset ()
 
int GetN_Rows () const
 
int GetN_Columns () const
 
int GetN_Entries () const
 
int GetHangingN_Entries () const
 
int * GetKCol () const
 
int * GetHangingKCol () const
 
int * GetHangingRowPtr () const
 
int * GetRowPtr () const
 
TStructureGetStructure () const
 
double * GetEntries () const
 
double GetNorm (int p=-1) const
 
int Write (const char *filename) const
 
void Print (const char *name="a") const
 Print matrix into the shell.
 
void PrintFull (std::string name="", int fieldWidth=4) const
 print the full matrix, including all zeros More...
 
void add (int i, int j, double val)
 
void add (int i, std::map< int, double > vals, double factor=1.0)
 
void add (std::map< int, std::map< int, double > > vals, double factor=1.0)
 
void set (int i, int j, double val)
 
const double & get (int i, int j) const
 
double & get (int i, int j)
 
void setEntries (double *entries)
 
TMatrixGetTransposed () const
 return a new TMatrix which is the transposed of this matrix More...
 
void changeRows (std::map< int, std::map< int, double > > entries, bool deleteOldArrays=false)
 replace several rows in the matrix with new entries. More...
 
virtual TMatrixoperator+= (const TMatrix *A)
 add another matrix to this one More...
 
virtual TMatrixoperator-= (const TMatrix *A)
 substract another matrix to this one More...
 
virtual TMatrixoperator+= (const TMatrix &A)
 add another matrix to this one More...
 
TMatrixoperator= (const TMatrix &A)
 copy entries from A to this More...
 
void multiply (const double *const x, double *y, double a=1.0) const
 compute y += a * A*x More...
 
TMatrixmultiply (const TMatrix *const B, double a=1.0) const
 compute matrix-matrix product C = a*A*B, More...
 
void scale (const double *const factor, bool from_left=true)
 scale a matrix using a vector More...
 
void remove_zeros (double tol=0.0)
 remove all entries from sparsity structure where a zero is stored More...
 
double & operator() (const int i, const int j)
 get/set a specific matrix entry More...
 
const double & operator() (const int i, const int j) const
 get a specific matrix entry More...
 

Protected Attributes

TSquareStructure2Dstructure
 
- Protected Attributes inherited from TSquareMatrix
TSquareStructurestructure
 
int HangingBound
 
int ColOrder
 
- Protected Attributes inherited from TMatrix
TStructurestructure
 
double * Entries
 

Friends

TSquareMatrix2Doperator+ (const TSquareMatrix2D &A, const TSquareMatrix2D &B)
 add to matrices A and B More...
 
TSquareMatrix2Doperator* (const TSquareMatrix2D &A, const double alpha)
 C= A*alpha. More...
 
TSquareMatrix2Doperator* (const double alpha, const TSquareMatrix2D &A)
 C= A*alpha. More...
 
double * operator* (const TSquareMatrix2D &A, const double *x)
 y= A*x More...
 

Constructor & Destructor Documentation

TSquareMatrix2D::TSquareMatrix2D ( TSquareStructure2D squarestructure)

generate the matrix

TSquareMatrix2D::~TSquareMatrix2D ( )

destructor: free Entries array

Member Function Documentation

TFESpace2D* TSquareMatrix2D::GetFESpace ( ) const
inline

return FESpace

Here is the call graph for this function:

Here is the caller graph for this function:

TSquareStructure2D* TSquareMatrix2D::GetMatrixStructure ( ) const
inline

return used matrix structure

Here is the caller graph for this function:

void TSquareMatrix2D::SetStructure ( TSquareStructure2D squarestructure)

generate an empty nxn matrix fill empty matrix, you can either call the constructor TSquareMatrix2D(TSquareStructure2D*); or use TSquareMatrix2D(); and then void SetStructure(TSquareStructure2D*);

Friends And Related Function Documentation

TSquareMatrix2D& operator* ( const TSquareMatrix2D A,
const double  alpha 
)
friend

C= A*alpha.

note: only active DOF are multiplied, others are just copied note: the user is responsible to delete the newly created matrix C

TSquareMatrix2D& operator* ( const double  alpha,
const TSquareMatrix2D A 
)
friend

C= A*alpha.

Same as TSquareMatrix2D& operator+(const TSquareMatrix2D & A, const TSquareMatrix2D & B);

note: only active DOF are multiplied, others are just copied note: the user is responsible to delete the newly created matrix C

double* operator* ( const TSquareMatrix2D A,
const double *  x 
)
friend

y= A*x

note: only active DOF are multiplied, others are just copied from x

TSquareMatrix2D& operator+ ( const TSquareMatrix2D A,
const TSquareMatrix2D B 
)
friend

add to matrices A and B

note: only active DOF are added note: only works for matrices with the same sparsity pattern

Member Data Documentation

TSquareStructure2D* TSquareMatrix2D::structure
protected

matrix strcuture


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