17 #include "pzsaveable.h" 18 #include "pzmatdefs.h" 36 inline int PutVal(
const int64_t row,
const int64_t col,
const TVar& element );
37 inline const TVar &
GetVal(
const int64_t row,
const int64_t col )
const;
61 int Resize(
const int64_t newDim ,
const int64_t )
62 { this->
fRow = this->
fCol = newDim;
return fMat.Resize( newDim, newDim ); }
65 int Redim(
const int64_t newDim) {
return Redim(newDim,newDim);}
66 int Redim(
const int64_t newDim ,
const int64_t )
67 { this->
fRow = this->
fCol = newDim;
return fMat.Redim( newDim, newDim ); }
90 virtual int Unpack( TReceiveStorage *buf );
92 virtual int Pack( TSendStorage *buf )
const;
93 virtual std::string ClassName()
const {
return(
"TPZSSpMatrix"); }
94 virtual int DerivedFrom(
const int64_t Classid)
const;
95 virtual int DerivedFrom(
const char *classname)
const;
128 int64_t row(r),col(c);
130 this->
Swap( &row, &col );
133 return(
fMat.PutVal( row, col, value ) );
148 int64_t row(r),col(c);
150 this->
Swap( &row, &col );
152 return(
fMat.GetVal( row, col ) );
TPZSSpMatrix operator+(const TPZSSpMatrix< TVar > &A) const
int Redim(const int64_t newDim)
Resize the array and resets its entirety.
TPZSSpMatrix & operator*=(const TVar v)
int64_t fRow
Number of rows in matrix.
char fDecomposed
Decomposition type used to decompose the current matrix.
TVar ProdEsc(TPZLink< TPZSpMatrix< REAL >::TPZNode > *row_i, TPZLink< TPZSpMatrix< REAL >::TPZNode > *row_j, int64_t k)
Calcula o produto escalar entre as linhas 'row_i' e 'row_j' usando apenas os elementos pertencentes '...
int Subst_Diag(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is diagonal matrix.
Implements a linked list of ElemType elements. Matrix utility.
Defines sparce matrix class. Matrix.
const TVar & GetVal(const int64_t row, const int64_t col) const
Get values without bounds checking This method is faster than "Get" if DEBUG is defined.
TPZSSpMatrix & operator+=(const TPZSSpMatrix< TVar > &A)
Implements sparce symmetric matrix using a linked list of elements. Matrix.
int Subst_Forward(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is lower triangular.
TPZSSpMatrix & operator-=(const TPZSSpMatrix< TVar > &A)
Contains TPZMatrixclass which implements full matrix (using column major representation).
int Subst_LForward(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is lower triangular with A(i,i)=1.
Contains TPZSpMatrix class which defines sparse matrix class.
static TPZSavable * CreateInstance(const int &classId)
int PutVal(const int64_t row, const int64_t col, const TVar &element)
Put values without bounds checking This method is faster than "Put" if DEBUG is defined.
Full matrix class. Matrix.
Contains TPZMatrix<TVar>class, root matrix class.
int Decompose_LDLt()
Decomposes the current matrix using LDLt.
int64_t fCol
Number of cols in matrix.
TPZSSpMatrix & operator=(const TPZSSpMatrix< TVar > &A)
Operators with SYMMETRIC sparse matrices.
int Redim(const int64_t newDim, const int64_t)
Redimensions the matrix reinitializing it with zero.
TPZSSpMatrix operator-(const TPZSSpMatrix< TVar > &A) const
static void Swap(int64_t *a, int64_t *b)
Swaps contents of a in b and b in a.
int Resize(const int64_t newDim, const int64_t)
Resize the array but keeps its entirety.
#define CLONEDEF(A)
To create clone matrix.
TPZSSpMatrix(const int64_t dim)
int Zero()
Zeroes the matrix.
Contains TPZLink class which implements a linked list of ElemType elements.
int Decompose_Cholesky()
Decomposes the current matrix using Cholesky method. The current matrix has to be symmetric...
Contains TPZSFMatrix class which implements a symmetric full matrix.
TPZSSpMatrix operator*(const TVar v) const
Operators with numeric values.
Root matrix class (abstract). Matrix.