5 #ifndef TPZSPARSEBLOCKDIAGONAL_H 6 #define TPZSPARSEBLOCKDIAGONAL_H 27 const TVar&
Get(
const int64_t row,
const int64_t col)
const override;
28 const TVar&
GetVal(
const int64_t row,
const int64_t col)
const override;
29 int Put(
const int64_t row,
const int64_t col,
const TVar& value)
override;
30 int PutVal(
const int64_t row,
const int64_t col,
const TVar& value)
override;
31 TVar& operator ( )(
const int64_t row,
const int64_t col);
34 virtual TVar &
s(
const int64_t row,
const int64_t col)
override;
41 void FindBlockIndex(int64_t glob, int64_t &block, int64_t &blockind)
const;
~TPZSparseBlockDiagonal()
const TVar & Get(const int64_t row, const int64_t col) const override
Get value with bound checking.
virtual void UpdateFrom(TPZAutoPointer< TPZMatrix< TVar > > mat) override
Updates the values of the matrix based on the values of the matrix.
MatrixOutputFormat
Defines output format.
Implements a block diagonal matrix where the blocks are not contiguous. Matrix.
int Put(const int64_t row, const int64_t col, const TVar &value) override
Put values with bounds checking if DEBUG variable is defined.
Contains TPZBlockDiagonal class which defines block diagonal matrices.
int PutVal(const int64_t row, const int64_t col, const TVar &value) override
This method don't make verification if the element exist. It is fast than Put.
TPZSkylMatrix< REAL > matrix
void GetBlock(int64_t i, TPZFMatrix< TVar > &block)
void Gather(const TPZFMatrix< TVar > &in, TPZFMatrix< TVar > &out) const
void Scatter(const TPZFMatrix< TVar > &in, TPZFMatrix< TVar > &out) const
int ClassId() const override
Define the class id associated with the class.
TPZVec< int64_t > fBlockIndex
Index to first element of each block.
Full matrix class. Matrix.
const TVar & GetVal(const int64_t row, const int64_t col) const override
This method don't make verification if the element exist. It is fast than Get.
Defines block diagonal matrices. Matrix.
virtual int Substitution(TPZFMatrix< TVar > *B) const override
Makes the backward and forward substitutions whether the matrix was LU decomposed.
void BuildFromMatrix(TPZMatrix< TVar > &matrix)
void FindBlockIndex(int64_t glob, int64_t &block, int64_t &blockind) const
TPZVec< int64_t > fBlock
Equation numbers for each block.
virtual void Print(const char *message, std::ostream &out, const MatrixOutputFormat=EFormatted) const override
Prints current matrix data.
void MultAdd(const TPZFMatrix< TVar > &x, const TPZFMatrix< TVar > &y, TPZFMatrix< TVar > &z, const TVar alpha, const TVar beta, const int opt) const override
Computes z = alpha * opt(this)*x + beta * y.
virtual TVar & s(const int64_t row, const int64_t col) override
The operators check on the bounds if the DEBUG variable is defined.
void AddBlock(int64_t i, TPZFMatrix< TVar > &block)
Root matrix class (abstract). Matrix.
This class implements a reference counter mechanism to administer a dynamically allocated object...