ParMooN
 All Classes Functions Variables Friends Pages
SquareMatrix2D.h
1 // =======================================================================
2 // @(#)SquareMatrix2D.h 1.3 11/20/98
3 //
4 // Class: TSquareMatrix2D
5 //
6 // Purpose: store a square matrix (ansatz = test space) in 2d
7 //
8 // Author: Gunar Matthies
9 //
10 // History: 10.08.1998 start implementation
11 //
12 // =======================================================================
13 
14 #ifndef __SQUAREMATRIX2D__
15 #define __SQUAREMATRIX2D__
16 
17 #include <SquareMatrix.h>
18 #include <SquareStructure2D.h>
19 
21 {
22  protected:
25 
26  public:
28  TSquareMatrix2D(TSquareStructure2D *squarestructure);
29 
30 // /** generate an empty nxn matrix */
31 // explicit TSquareMatrix2D(int n);
32 
37  void SetStructure(TSquareStructure2D *squarestructure);
38 
41 
44  { return structure->GetFESpace(); }
45 
48  { return structure; }
49  TSquareStructure2D *GetStructure() const
50  { return structure; }
51 
52 
54  TSquareMatrix2D& operator*=(double alpha);
59  { *this += *rhsMat; return *this; }
60 
63 
69  friend TSquareMatrix2D& operator+(const TSquareMatrix2D & A,
70  const TSquareMatrix2D & B);
71 
77  friend TSquareMatrix2D& operator*(const TSquareMatrix2D & A,
78  const double alpha);
87  friend TSquareMatrix2D& operator*(const double alpha,
88  const TSquareMatrix2D & A);
89 
94  friend double* operator*(const TSquareMatrix2D & A, const double* x);
95 };
96 
97 #endif
Definition: SquareMatrix2D.h:20
TFESpace2D * GetFESpace()
Definition: SquareStructure2D.h:44
TSquareMatrix2D & operator=(const TSquareMatrix2D &rhs)
copy matrix &#39;rhs&#39; to this
Definition: SquareMatrix2D.C:43
friend TSquareMatrix2D & operator*(const TSquareMatrix2D &A, const double alpha)
C= A*alpha.
Definition: SquareMatrix2D.C:122
Definition: FESpace2D.h:28
TSquareStructure2D * structure
Definition: SquareMatrix2D.h:24
~TSquareMatrix2D()
Definition: SquareMatrix2D.C:38
TSquareMatrix2D & operator*=(double alpha)
scale matrix by scalar (only active entries)
Definition: SquareMatrix2D.C:64
Definition: SquareMatrix.h:20
TSquareMatrix2D & operator+=(TSquareMatrix2D *rhsMat)
add another matrix to this one (only active entries)
Definition: SquareMatrix2D.h:58
TSquareMatrix2D & operator+=(TSquareMatrix2D &rhsMat)
add another matrix to this one (only active entries)
Definition: SquareMatrix2D.C:74
TFESpace2D * GetFESpace() const
Definition: SquareMatrix2D.h:43
TSquareMatrix2D(TSquareStructure2D *squarestructure)
Definition: SquareMatrix2D.C:18
TSquareStructure2D * GetMatrixStructure() const
Definition: SquareMatrix2D.h:47
Definition: SquareStructure2D.h:20
void SetStructure(TSquareStructure2D *squarestructure)
Definition: SquareMatrix2D.C:25
friend TSquareMatrix2D & operator+(const TSquareMatrix2D &A, const TSquareMatrix2D &B)
add to matrices A and B
Definition: SquareMatrix2D.C:97