15 #include "pzworkpool.h" 21 #include "pzsaveable.h" 22 #include "pzmatdefs.h" 78 int Put(
const int64_t row,
const int64_t
col,
const TVar & value )
override;
79 const TVar &
Get(
const int64_t row,
const int64_t col )
const override;
82 int PutVal(
const int64_t row,
const int64_t col,
const TVar & element )
override;
83 const TVar &
GetVal(
const int64_t row,
const int64_t col )
const override;
109 const REAL alpha ,
const REAL beta = 0.,
const int opt = 0)
const override;
129 int Resize(
const int64_t newRows,
const int64_t newCols )
override;
137 int Redim(
const int64_t newRows,
const int64_t newCols )
override;
142 int Redim(
const int64_t newDim ) {
return Redim( newDim, newDim ); }
151 virtual int Unpack( TReceiveStorage *buf );
153 inline virtual int Pack( TSendStorage *buf )
const;
154 virtual std::string ClassName()
const {
return(
"TPZSpMatrix" ); }
155 virtual int DerivedFrom(
const int64_t Classid)
const;
156 virtual int DerivedFrom(
const char *classname)
const;
177 inline void Swap( int64_t *a, int64_t *b );
TPZSpMatrix & operator-=(const TPZSpMatrix< TVar > &A)
TPZLink< TPZNode > * fElem
void Swap(int64_t *a, int64_t *b)
int fSub(const TPZSpMatrix< TVar > *const A)
int fCopy(const TPZSpMatrix< TVar > *const A)
const TVar & GetVal(const int64_t row, const int64_t col) const override
Get values without bounds checking This method is faster than "Get" if DEBUG is defined.
int Clear() override
It clears data structure.
Contains TPZSSpMatrix class which implements sparse symmetric matrix using a linked list of elements...
TPZSpMatrix()
Simple constructor.
REAL val(STATE &number)
Returns value of the variable.
int Resize(const int64_t newDim)
Redimensions current matrix keeping its elements.
Implements a linked list of ElemType elements. Matrix utility.
Defines sparce matrix class. Matrix.
int Redim(const int64_t newDim)
Redimensions matrix deleting all its elements.
virtual void MultAdd(const TPZFMatrix< TVar > &x, const TPZFMatrix< TVar > &y, TPZFMatrix< TVar > &z, const REAL alpha, const REAL beta=0., const int opt=0) const override
Implements sparce symmetric matrix using a linked list of elements. Matrix.
Contains TPZMatrixclass which implements full matrix (using column major representation).
~TPZSpMatrix()
Simple destructor.
TPZSpMatrix & operator=(const TPZSpMatrix< TVar > &A)
Generic overloaded operator.
int Zero() override
Zeroes all elements of the matrix.
static TPZSavable * CreateInstance(const int &classId)
TPZSpMatrix & Reset()
Desallocate all the elements of the matrix.
Full matrix class. Matrix.
const TVar & Get(const int64_t row, const int64_t col) const override
Get value with bound checking.
Contains TPZMatrix<TVar>class, root matrix class.
TPZSpMatrix & operator+=(const TPZSpMatrix< TVar > &A)
int fAdd(const TPZSpMatrix< TVar > *const A)
TPZSpMatrix operator+(const TPZSpMatrix< TVar > &A) const
REAL ProdEsc(TPZLink< TPZNode > *row_i, TPZLink< TPZNode > *row_j, int64_t k)
Computes dot product with respect to lines row_i e row_j using only elements that belongs to columns ...
int Put(const int64_t row, const int64_t col, const TVar &value) override
Put values with bounds checking if DEBUG variable is defined.
TPZSpMatrix operator-() const
#define CLONEDEF(A)
To create clone matrix.
TPZSpMatrix & operator*=(const TVar v)
int PutVal(const int64_t row, const int64_t col, const TVar &element) override
Put values without bounds checking This method is faster than "Put" if DEBUG is defined.
int ClassId() const override
Define the class id associated with the class.
TPZSpMatrix(const TPZSpMatrix< TVar > &A)
Copy constructor.
Contains TPZLink class which implements a linked list of ElemType elements.
TPZSpMatrix operator*(const TVar v) const
Numerical values operator.
int Redim(const int64_t newRows, const int64_t newCols) override
Redimension the matrix to newRows x newCols arrange and zeroes its elements.
int Resize(const int64_t newRows, const int64_t newCols) override
Redimension the matrix to newRows x newCols arrange.
Root matrix class (abstract). Matrix.