25 friend class TPZPardisoControl<TVar>;
38 , fPardisoControl(cp.fPardisoControl)
42 fPardisoControl.SetMatrix(
this);
58 virtual int Zero()
override {
71 void AutoFill(int64_t nrow, int64_t ncol,
int symmetric);
74 virtual const TVar &
GetVal(
const int64_t row,
const int64_t col )
const override;
79 virtual int PutVal(
const int64_t ,
const int64_t ,
const TVar &
val )
override;
85 const TVar alpha=1.,
const TVar beta = 0.,
const int opt = 0)
const override;
122 virtual int Decompose_LDLt(std::list<int64_t> &singular)
override;
191 TPZPardisoControl<TVar> fPardisoControl;
int ClassId() const override
Define the class id associated with the class.
virtual int PutVal(const int64_t, const int64_t, const TVar &val) override
Put values without bounds checking This method is faster than "Put" if DEBUG is defined.
void AutoFill(int64_t nrow, int64_t ncol, int symmetric)
Fill matrix storage with randomic values.
virtual void Print(const char *title, std::ostream &out=std::cout, const MatrixOutputFormat=EFormatted) const override
Print the matrix along with a identification title.
MatrixOutputFormat
Defines output format.
virtual int Subst_LBackward(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is upper triangular with A(i,i)=1.
REAL val(STATE &number)
Returns value of the variable.
virtual int Subst_Forward(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is lower triangular.
virtual int Decompose_LDLt()
Decomposes the current matrix using LDLt.
TPZVec< TVar > & A()
Access function for the coefficients.
virtual void SetData(const TPZVec< int64_t > &IA, const TPZVec< int64_t > &JA, const TPZVec< TVar > &A)
Sets data to the class.
virtual 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 = beta * y + alpha * opt(this)*x.
TPZSYsmpMatrix(const TPZSYsmpMatrix< TVar > &cp)
Copy constructor.
Contains TPZMatrixclass which implements full matrix (using column major representation).
TPZSYsmpMatrix()
Constructor based on number of rows and columns.
TPZSYsmpMatrix & operator=(const TPZSYsmpMatrix< TVar > ©)
virtual int IsSimetric() const override
Checks if the current matrix is symmetric.
virtual int Subst_Diag(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is diagonal matrix.
Full matrix class. Matrix.
virtual int Subst_LForward(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is lower triangular with A(i,i)=1.
Contains TPZMatrix<TVar>class, root matrix class.
int IsSquare() const
Checks if current matrix is square.
virtual int Zero() override
Zeroes the matrix.
virtual int Decompose_Cholesky()
Decomposes the current matrix using Cholesky method. The current matrix has to be symmetric...
Implements a symmetric sparse matrix. Matrix.
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.
#define CLONEDEF(A)
To create clone matrix.
virtual ~TPZSYsmpMatrix()
Destructor.
virtual const TVar & GetVal(const int64_t row, const int64_t col) const override
Get the matrix entry at (row,col) without bound checking.
virtual int Subst_Backward(TPZFMatrix< TVar > *b) const
Computes B = Y, where A*Y = B, A is upper triangular.
Root matrix class (abstract). Matrix.