15 #include "pzsaveable.h" 16 #include "pzmatdefs.h" 38 int PutVal(
const int64_t row,
const int64_t col,
const TVar& element )
override;
39 const TVar &
GetVal(
const int64_t row,
const int64_t col )
const override;
59 for (int64_t el=0; el<nel; el++) {
67 const TVar alpha=1.,
const TVar beta = 0.,
const int opt = 0)
const override;
71 template<
class TT>
friend std::ostream & operator<< (std::ostream& out,const TPZSBMatrix<TT> &A);
74 void AutoFill(int64_t nrow, int64_t ncol,
int symmetric);
91 int Resize(
const int64_t newDim ,
const int64_t)
override;
94 int Redim(
const int64_t newDim) {
return Redim(newDim,newDim);}
95 int Redim(
const int64_t newRows ,
const int64_t newCols)
override;
101 int SetBand(
const int64_t newBand );
133 int SolveEigenProblem(
TPZVec < std::complex<double> > &w,
TPZFMatrix < std::complex<double> > &eigenVectors);
137 int SolveEigenProblem(
TPZVec < std::complex<double> > &w);
157 return( this->
Dim() * (
fBand + 1) );
161 int Clear()
override;
164 int64_t
Index(int64_t i, int64_t j)
const int ClassId() const override
Define the class id associated with the class.
void Copy(const TPZSBMatrix< TVar > &)
int Redim(const int64_t newDim)
Redimension the matrix and zeroes its elements.
Implements symmetric band matrices. Matrix.
int Decompose_LDLt() override
Decomposes the current matrix using LDLt.
TPZSBMatrix & operator-=(const TPZSBMatrix< TVar > &A)
virtual void resize(const int64_t newsize)
void CopyFrom(TPZSBMatrix< TVar2 > &orig)
copy the values from a matrix with a different precision
TPZSBMatrix & operator=(const TPZSBMatrix< TVar > &A)
Operadores com matrizes SKY LINE.
int Clear() override
It clears data structure.
MatrixOutputFormat
Defines output format.
This class implements a simple vector storage scheme for a templated class T. Utility.
TPZSBMatrix(const TPZSBMatrix< TVar > &A)
TVar & operator()(int64_t row, int64_t col)
TPZSBMatrix< TVar > & operator*=(const TVar v)
int64_t size() const
Returns the number of elements of the vector.
int Resize(const int64_t newDim, const int64_t) override
Redimension the matrix keeping original elements.
void CopyFrom(TPZMatrix< TVar2 > ©)
Contains TPZMatrixclass which implements full matrix (using column major representation).
const TVar & GetVal(const int64_t row, const int64_t col) const override
Get values without bounds checking This method is faster than "Get" if DEBUG is defined.
#define DebugStop()
Returns a message to user put a breakpoint in.
TPZSBMatrix & operator+=(const TPZSBMatrix< TVar > &A)
int Subst_LBackward(TPZFMatrix< TVar > *B) const override
Computes B = Y, where A*Y = B, A is upper triangular with A(i,i)=1.
int PutVal(const int64_t row, const int64_t col, const TVar &element) 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)
int Subst_Forward(TPZFMatrix< TVar > *B) const override
To solve linear systems.
TPZSBMatrix operator+(const TPZSBMatrix< TVar > &A) const
int SetBand(const int64_t newBand)
Full matrix class. Matrix.
virtual int64_t Dim() const
Returns the dimension of the matrix if the matrix is square.
int Subst_Backward(TPZFMatrix< TVar > *b) const override
Computes B = Y, where A*Y = B, A is upper triangular.
Contains TPZMatrix<TVar>class, root matrix class.
TPZSBMatrix< TVar > operator*(const TVar v) const
void Print(const char *name=NULL, std::ostream &out=std::cout, const MatrixOutputFormat form=EFormatted) const override
It prints the matrix data in a MatrixFormat Rows X Cols.
virtual int Decompose_Cholesky()
Decomposes the current matrix using Cholesky method. The current matrix has to be symmetric...
virtual int IsSimetric() const override
Checks if the current matrix is symmetric.
int Subst_Diag(TPZFMatrix< TVar > *B) const override
Computes B = Y, where A*Y = B, A is diagonal matrix.
int Subst_LForward(TPZFMatrix< TVar > *B) const override
Computes B = Y, where A*Y = B, A is lower triangular with A(i,i)=1.
#define CLONEDEF(A)
To create clone matrix.
TPZSBMatrix< TVar > operator-() const
int Zero() override
Zeroes the elements 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 = beta * y + alpha * opt(this)*x.
int64_t Index(int64_t i, int64_t j) const
Root matrix class (abstract). Matrix.