32 template<
class TVar=REAL>
74 int PutVal(
const int64_t row,
const int64_t col,
const TVar &element )
override;
76 const TVar &
GetVal(
const int64_t row,
const int64_t col )
const override;
80 const TVar &
GetValSup(
const int64_t row,
const int64_t col )
const;
83 const TVar &
GetValB(
const int64_t row,
const int64_t col )
const;
86 TVar &
operator()(
const int64_t row,
const int64_t col);
87 virtual TVar &
s(
const int64_t row,
const int64_t col)
override;
93 const TVar alpha,
const TVar beta ,
const int opt = 0)
const override;
166 void AutoFill(int64_t nrow, int64_t ncol,
int symmetric);
185 int Clear()
override;
void Write(TPZStream &buf, int withclassid) const override
Packs the object structure in a stream of bytes.
virtual TVar & s(const int64_t row, const int64_t col) override
The operators check on the bounds if the DEBUG variable is defined.
const TVar & GetValB(const int64_t row, const int64_t col) const
Pega o valor abaixo da diagonal (below)
TVar & operator()(const int64_t row, const int64_t col)
int ClassId() const override
Return the id of the matrix defined pzmatrixid.h.
const TVar & GetValSup(const int64_t row, const int64_t col) const
Pega o valor na diagonal ou parte de cima da diagonal.
Templated vector implementation.
virtual void MultAdd(const TPZFMatrix< TVar > &x, const TPZFMatrix< TVar > &y, TPZFMatrix< TVar > &z, const TVar alpha, const TVar beta, const int opt=0) const override
It computes z = beta * y + alpha * opt(this)*x but z and x can not overlap in memory.
void Copy(const TPZSkylNSymMatrix &)
Implements a skyline storage format.
const TVar & GetVal(const int64_t row, const int64_t col) const override
int Decompose_LU() override
TPZManVector< TVar > fStorage
TPZSkylNSymMatrix(const TPZSkylNSymMatrix &A)
int SkyHeight(int64_t col)
int PutVal(const int64_t row, const int64_t col, const TVar &element) override
void SetSkyline(const TPZVec< int64_t > &skyline)
Contains TPZMatrixclass which implements full matrix (using column major representation).
virtual int Zero() override
Zeroes the matrix.
Free store vector implementation.
static int64_t NumElements(const TPZVec< int64_t > &skyline)
virtual void UpdateFrom(TPZAutoPointer< TPZMatrix< TVar > > mat) override
Updates the values of the matrix based on the values of the matrix.
virtual int IsSimetric() const override
static void ComputeMaxSkyline(const TPZSkylNSymMatrix &first, const TPZSkylNSymMatrix &second, TPZVec< int > &res)
Full matrix class. Matrix.
int32_t Hash(std::string str)
Contains TPZMatrix<TVar>class, root matrix class.
int Subst_Backward(TPZFMatrix< TVar > *b) const override
void AutoFill(int64_t nrow, int64_t ncol, int symmetric)
Fill matrix storage with randomic values.
void Read(TPZStream &buf, void *context) override
Unpacks the object structure from a stream of bytes.
void Fill(const T ©, const int64_t from=0, const int64_t numelem=-1)
Will fill the elements of the vector with a copy object.
int Size(const int64_t column) const
TPZManVector< TVar > fStorageb
Defines the interface for saving and reading data. Persistency.
#define CLONEDEF(A)
To create clone matrix.
virtual ~TPZSkylNSymMatrix()
static void InitializeElem(const TPZVec< int64_t > &skyline, TPZManVector< TVar > &storage, TPZVec< TVar *> &elem)
int Subst_LForward(TPZFMatrix< TVar > *b) const override
int ClassId() const override
Define the class id associated with the class.
Root matrix class (abstract). Matrix.
This class implements a reference counter mechanism to administer a dynamically allocated object...