45 int Put(
const int64_t row,
const int64_t col,
const TVar& value )
override;
46 const TVar &
Get(
const int64_t row,
const int64_t col )
const override;
48 TVar &
operator()(
const int64_t row,
const int64_t col);
49 virtual TVar &
s(
const int64_t row,
const int64_t col)
override;
52 int PutVal(
const int64_t row,
const int64_t col,
const TVar& value )
override;
54 const TVar &
GetVal(
const int64_t row,
const int64_t col )
const override;
59 const TVar alpha=1.,
const TVar beta = 0.,
const int opt = 0)
const override;
61 int64_t
Dim()
const override {
return this->
Rows(); }
74 virtual int Decompose_LU(std::list<int64_t> &singular)
override;
86 void AutoFill(int64_t dim, int64_t dimj,
int symmetric);
virtual void UpdateFrom(TPZAutoPointer< TPZMatrix< TVar > > mat) override
Updates the values of the matrix based on the values of the matrix.
void MultAdd(const TPZFMatrix< TVar > &x, const TPZFMatrix< TVar > &y, TPZFMatrix< TVar > &z, const TVar alpha=1., const TVar beta=0., const int opt=0) const override
Computes z = alpha * opt(this)*x + beta * y.
virtual int Substitution(TPZFMatrix< TVar > *B) const override
Makes the backward and forward substitutions whether the matrix was LU decomposed.
void Transpose(TPZMatrix< TVar > *const T) const override
It makes *T the transpose of current matrix.
Templated vector implementation.
MatrixOutputFormat
Defines output format.
void BuildFromMatrix(TPZMatrix< TVar > &matrix)
Builds a block from matrix.
int Clear() override
Clean data matrix. Zeroes number of columns and rows.
~TPZBlockDiagonal()
Simple destructor.
TPZSkylMatrix< REAL > matrix
virtual void Print(const char *message, std::ostream &out=std::cout, const MatrixOutputFormat format=EFormatted) const override
Prints current matrix data.
int Put(const int64_t row, const int64_t col, const TVar &value) override
Put values with bounds checking if DEBUG variable is defined.
int64_t Rows() const
Returns number of rows.
TPZVec< int > fBlockSize
Stores block sizes data.
void SetBlock(int64_t i, TPZFMatrix< TVar > &block)
Sets a block in the current matrix.
void AutoFill(int64_t dim, int64_t dimj, int symmetric)
virtual int Decompose_LU() override
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.
void AddBlock(int64_t i, TPZFMatrix< TVar > &block)
Adds a block to current matrix.
Full matrix class. Matrix.
Contains TPZMatrix<TVar>class, root matrix class.
const TVar & Get(const int64_t row, const int64_t col) const override
Get value with bound checking.
void Initialize(const TPZVec< int > &blocksize)
Initializes current matrix based on blocksize.
Defines block diagonal matrices. Matrix.
int GetSizeofBlock(int64_t blockid)
Return the choosen block size.
int Zero() override
Zeroes all the elements of the matrix.
TPZVec< TVar > fStorage
Stores matrix data.
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.
TPZBlockDiagonal()
Simple constructor.
void GetBlock(int64_t i, TPZFMatrix< TVar > &block)
Gets a block from current matrix.
TVar & operator()(const int64_t row, const int64_t col)
static int main()
This method checks the working of the class.
TPZVec< int64_t > fBlockPos
Stores blocks data.
#define CLONEDEF(A)
To create clone matrix.
int64_t NElements() const
Returns the number of elements of the vector.
int64_t Dim() const override
Returns the dimension of the matrix if the matrix is square.
virtual TVar & s(const int64_t row, const int64_t col) override
The operators check on the bounds if the DEBUG variable is defined.
Root matrix class (abstract). Matrix.
This class implements a reference counter mechanism to administer a dynamically allocated object...
int ClassId() const override
Define the class id associated with the class.