![]() |
NeoPZ
|
Defines sparce matrix class. Matrix. More...
#include <pzespmat.h>
Classes | |
| struct | TPZNode |
| Defines a node. More... | |
Public Member Functions | |
| TPZSpMatrix () | |
| Simple constructor. More... | |
| TPZSpMatrix (int64_t rows, int64_t cols) | |
| Constructor with initialization parameters. More... | |
| TPZSpMatrix (const TPZSpMatrix< TVar > &A) | |
| Copy constructor. More... | |
| ~TPZSpMatrix () | |
| Simple destructor. More... | |
| int | Put (const int64_t row, const int64_t col, const TVar &value) override |
| Put values with bounds checking if DEBUG variable is defined. More... | |
| const TVar & | Get (const int64_t row, const int64_t col) const override |
| Get value with bound checking. More... | |
| 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. More... | |
| 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. More... | |
| virtual void | MultAdd (const TPZFMatrix< TVar > &x, const TPZFMatrix< TVar > &y, TPZFMatrix< TVar > &z, const REAL alpha, const REAL beta=0., const int opt=0) const override |
| TPZSpMatrix & | Reset () |
| Desallocate all the elements of the matrix. More... | |
| int | Resize (const int64_t newRows, const int64_t newCols) override |
| Redimension the matrix to newRows x newCols arrange. More... | |
| int | Resize (const int64_t newDim) |
| Redimensions current matrix keeping its elements. More... | |
| int | Redim (const int64_t newRows, const int64_t newCols) override |
| Redimension the matrix to newRows x newCols arrange and zeroes its elements. More... | |
| int | Redim (const int64_t newDim) |
| Redimensions matrix deleting all its elements. More... | |
| int | Zero () override |
| Zeroes all elements of the matrix. More... | |
| int | ClassId () const override |
| Define the class id associated with the class. More... | |
Operadores com matrizes ESPARSAS NAO simetricas. | |
| TPZSpMatrix & | operator= (const TPZSpMatrix< TVar > &A) |
| Generic overloaded operator. More... | |
| TPZSpMatrix | operator+ (const TPZSpMatrix< TVar > &A) const |
| TPZSpMatrix | operator- (const TPZSpMatrix< TVar > &A) const |
| TPZSpMatrix & | operator+= (const TPZSpMatrix< TVar > &A) |
| TPZSpMatrix & | operator-= (const TPZSpMatrix< TVar > &A) |
Operadores com valores NUMERICOS. | |
| TPZSpMatrix | operator* (const TVar v) const |
| Numerical values operator. More... | |
| TPZSpMatrix & | operator*= (const TVar v) |
| TPZSpMatrix | operator- () const |
Public Member Functions inherited from TPZMatrix< TVar > | |
| TPZMatrix () | |
| Simple constructor. More... | |
| TPZMatrix (const TPZMatrix< TVar > &cp) | |
| virtual | ~TPZMatrix () |
| Simple destructor. More... | |
| virtual TPZMatrix< TVar > * | Clone () const =0 |
| virtual int64_t | MemoryFootprint () const |
| Returns the approximate size of the memory footprint (amount of memory required to store this object). More... | |
| template<class TVar2 > | |
| void | CopyFrom (TPZMatrix< TVar2 > ©) |
| void | AutoFill (int64_t nrow, int64_t ncol, int symmetric) |
| Fill matrix storage with randomic values. More... | |
| virtual int | VerifySymmetry (REAL tol=1.e-13) const |
| Checks if current matrix value is symmetric. More... | |
| const TVar & | g (const int64_t row, const int64_t col) const |
| Substitution for the () operator when const arguments are needed. More... | |
| TVar & | operator() (const int64_t row, const int64_t col) |
| The operators check on the bounds if the DEBUG variable is defined. More... | |
| virtual TVar & | s (const int64_t row, const int64_t col) |
| The operators check on the bounds if the DEBUG variable is defined. More... | |
| TVar & | operator() (const int64_t row) |
| The operators check on the bounds if the DEBUG variable is defined. More... | |
| virtual void | AddKel (TPZFMatrix< TVar > &elmat, TPZVec< int64_t > &destinationindex) |
| Add a contribution of a stiffness matrix. More... | |
| virtual void | AddKel (TPZFMatrix< TVar > &elmat, TPZVec< int64_t > &sourceindex, TPZVec< int64_t > &destinationindex) |
| Add a contribution of a stiffness matrix. More... | |
| void | SetIsDecomposed (int val) |
| Sets current matrix to decomposed state. More... | |
| virtual bool | Compare (TPZSavable *copy, bool override=false) override |
| Compare the object for identity with the object pointed to, eventually copy the object. More... | |
| virtual bool | Compare (TPZSavable *copy, bool override=false) const override |
| Compare the object for identity with the object pointed to, eventually copy the object. More... | |
| virtual void | GetSub (const TPZVec< int64_t > &indices, TPZFMatrix< TVar > &block) const |
| Extract the block indicated by the indices from the matrix. More... | |
| bool | CompareValues (TPZMatrix< TVar > &M, TVar tol) |
| Compare values of this to B, with a precision tolerance tol. More... | |
| template<> | |
| void | Print (const char *name, std::ostream &out, const MatrixOutputFormat form) const |
| template<> | |
| void | Print (const char *name, std::ostream &out, const MatrixOutputFormat form) const |
| template<> | |
| void | Print (const char *name, std::ostream &out, const MatrixOutputFormat form) const |
| template<> | |
| void | SolveCG (int64_t &numiterations, TPZSolver< std::complex< float > > &preconditioner, const TPZFMatrix< std::complex< float > > &F, TPZFMatrix< std::complex< float > > &result, TPZFMatrix< std::complex< float > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveCG (int64_t &numiterations, TPZSolver< std::complex< double > > &preconditioner, const TPZFMatrix< std::complex< double > > &F, TPZFMatrix< std::complex< double > > &result, TPZFMatrix< std::complex< double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveCG (int64_t &numiterations, TPZSolver< std::complex< long double > > &preconditioner, const TPZFMatrix< std::complex< long double > > &F, TPZFMatrix< std::complex< long double > > &result, TPZFMatrix< std::complex< long double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveGMRES (int64_t &numiterations, TPZSolver< std::complex< float > > &preconditioner, TPZFMatrix< std::complex< float > > &H, int &numvectors, const TPZFMatrix< std::complex< float > > &F, TPZFMatrix< std::complex< float > > &result, TPZFMatrix< std::complex< float > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveGMRES (int64_t &numiterations, TPZSolver< std::complex< double > > &preconditioner, TPZFMatrix< std::complex< double > > &H, int &numvectors, const TPZFMatrix< std::complex< double > > &F, TPZFMatrix< std::complex< double > > &result, TPZFMatrix< std::complex< double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveGMRES (int64_t &numiterations, TPZSolver< std::complex< long double > > &preconditioner, TPZFMatrix< std::complex< long double > > &H, int &numvectors, const TPZFMatrix< std::complex< long double > > &F, TPZFMatrix< std::complex< long double > > &result, TPZFMatrix< std::complex< long double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveBICG (int64_t &numiterations, TPZSolver< std::complex< float > > &preconditioner, const TPZFMatrix< std::complex< float > > &F, TPZFMatrix< std::complex< float > > &result, REAL &tol) |
| template<> | |
| void | SolveBICG (int64_t &numiterations, TPZSolver< std::complex< double > > &preconditioner, const TPZFMatrix< std::complex< double > > &F, TPZFMatrix< std::complex< double > > &result, REAL &tol) |
| template<> | |
| void | SolveBICG (int64_t &numiterations, TPZSolver< std::complex< long double > > &preconditioner, const TPZFMatrix< std::complex< long double > > &F, TPZFMatrix< std::complex< long double > > &result, REAL &tol) |
| template<> | |
| void | SolveBICGStab (int64_t &numiterations, TPZSolver< std::complex< float > > &preconditioner, const TPZFMatrix< std::complex< float > > &F, TPZFMatrix< std::complex< float > > &result, TPZFMatrix< std::complex< float > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveBICGStab (int64_t &numiterations, TPZSolver< std::complex< double > > &preconditioner, const TPZFMatrix< std::complex< double > > &F, TPZFMatrix< std::complex< double > > &result, TPZFMatrix< std::complex< double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveBICGStab (int64_t &numiterations, TPZSolver< std::complex< long double > > &preconditioner, const TPZFMatrix< std::complex< long double > > &F, TPZFMatrix< std::complex< long double > > &result, TPZFMatrix< std::complex< long double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveIR (int64_t &numiterations, TPZSolver< std::complex< float > > &preconditioner, const TPZFMatrix< std::complex< float > > &F, TPZFMatrix< std::complex< float > > &result, TPZFMatrix< std::complex< float > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveIR (int64_t &numiterations, TPZSolver< std::complex< double > > &preconditioner, const TPZFMatrix< std::complex< double > > &F, TPZFMatrix< std::complex< double > > &result, TPZFMatrix< std::complex< double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| void | SolveIR (int64_t &numiterations, TPZSolver< std::complex< long double > > &preconditioner, const TPZFMatrix< std::complex< long double > > &F, TPZFMatrix< std::complex< long double > > &result, TPZFMatrix< std::complex< long double > > *residual, REAL &tol, const int FromCurrent) |
| template<> | |
| bool | SolveEigenvaluesJacobi (int64_t &numiterations, REAL &tol, TPZVec< std::complex< float > > *Sort) |
| template<> | |
| bool | SolveEigenvaluesJacobi (int64_t &numiterations, REAL &tol, TPZVec< std::complex< double > > *Sort) |
| template<> | |
| bool | SolveEigenvaluesJacobi (int64_t &numiterations, REAL &tol, TPZVec< std::complex< long double > > *Sort) |
| virtual void | Multiply (const TPZFMatrix< TVar > &A, TPZFMatrix< TVar > &res, int opt=0) const |
| It mutiplies itself by TPZMatrix<TVar>A putting the result in res. More... | |
| virtual void | Add (const TPZMatrix< TVar > &A, TPZMatrix< TVar > &res) const |
| It adds itself to TPZMatrix<TVar>A putting the result in res. More... | |
| 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 |
| It computes z = beta * y + alpha * opt(this)*x but z and x can not overlap in memory. More... | |
| virtual void | Residual (const TPZFMatrix< TVar > &x, const TPZFMatrix< TVar > &rhs, TPZFMatrix< TVar > &res) |
| Computes res = rhs - this * x. More... | |
| virtual void | Substract (const TPZMatrix< TVar > &A, TPZMatrix< TVar > &result) const |
| It substracts A from storing the result in result. More... | |
| virtual void | Identity () |
| Converts the matrix in an identity matrix. More... | |
| virtual void | Transpose (TPZMatrix< TVar > *const T) const |
| It makes *T the transpose of current matrix. More... | |
| int | Inverse (TPZFMatrix< TVar > &Inv, DecomposeType dec) |
| It makes Inv =[this]. IMPORTANT OBSERVATION –> The original matrix (calling object) no is more equal. It containts the some decomposition (LU or Cholesky or ...) More... | |
| TVar | MatrixNorm (int p, int64_t numiter=2000000, REAL tol=1.e-10) const |
| Computes the matrix norm of this. More... | |
| TVar | ConditionNumber (int p, int64_t numiter=2000000, REAL tol=1.e-10) |
| Computes the matrix condition number of this. More... | |
| virtual int | PutSub (const int64_t sRow, const int64_t sCol, const TPZFMatrix< TVar > &Source) |
| It puts submatrix Source on actual matrix structure. More... | |
| virtual int | GetSub (const int64_t sRow, const int64_t sCol, const int64_t rowSize, const int64_t colSize, TPZFMatrix< TVar > &Target) const |
| Gets submatrix storing it on Target. More... | |
| virtual int | AddSub (const int64_t sRow, const int64_t sCol, const TPZFMatrix< TVar > &Source) |
| It adds Source matrix on current matrix from position (sRow, sCol) More... | |
| virtual int | InsertSub (const int64_t sRow, const int64_t sCol, const int64_t rowSize, const int64_t colSize, const int64_t pRow, const int64_t pCol, TPZMatrix< TVar > *Target) const |
| Inserts a submatrix from current object on matrix *Target with no redimentioning. More... | |
| virtual int | AddSub (const int64_t sRow, const int64_t sCol, const int64_t rowSize, const int64_t colSize, const int64_t pRow, const int64_t pCol, TPZMatrix< TVar > *pA) const |
| Adds a submatrix from current object in *Target. More... | |
| virtual void | UpdateFrom (TPZAutoPointer< TPZMatrix< TVar > >) |
| Updates the values of the matrix based on the values of the matrix. More... | |
| virtual int | IsSimetric () const |
| Checks if the current matrix is symmetric. More... | |
| int | IsSquare () const |
| Checks if current matrix is square. More... | |
| virtual void | Simetrize () |
| Simetrizes copies upper plan to the lower plan, making its data simetric. More... | |
| virtual int | IsDefPositive () const |
| Checks if current matrix is definite positive. More... | |
| int | IsDecomposed () const |
| Checks if current matrix is already decomposed. More... | |
| virtual int | Decompose_LU (std::list< int64_t > &singular) |
| Decomposes the current matrix using LU decomposition. More... | |
| virtual int | Decompose_LU () |
| virtual int | Decompose_Cholesky () |
| Decomposes the current matrix using Cholesky method. The current matrix has to be symmetric. More... | |
| virtual int | Decompose_Cholesky (std::list< int64_t > &singular) |
| Decomposes the current matrix using Cholesky method. More... | |
| virtual int | Decompose_LDLt (std::list< int64_t > &singular) |
| Decomposes the current matrix using LDLt. The current matrix has to be symmetric. "L" is lower triangular with 1.0 in its diagonal and "D" is a Diagonal matrix. More... | |
| virtual int | Decompose_LDLt () |
| Decomposes the current matrix using LDLt. More... | |
| virtual int | Substitution (TPZFMatrix< TVar > *B) const |
| Computes Forward and Backward substitution for a "LU" decomposed matrix. More... | |
| virtual int | Subst_Forward (TPZFMatrix< TVar > *b) const |
| Computes B = Y, where A*Y = B, A is lower triangular. More... | |
| virtual int | Subst_Backward (TPZFMatrix< TVar > *b) const |
| Computes B = Y, where A*Y = B, A is upper triangular. More... | |
| virtual int | Subst_LForward (TPZFMatrix< TVar > *b) const |
| Computes B = Y, where A*Y = B, A is lower triangular with A(i,i)=1. More... | |
| virtual int | Subst_LBackward (TPZFMatrix< TVar > *b) const |
| Computes B = Y, where A*Y = B, A is upper triangular with A(i,i)=1. More... | |
| virtual int | Subst_Diag (TPZFMatrix< TVar > *b) const |
| Computes B = Y, where A*Y = B, A is diagonal matrix. More... | |
| int | ClassId () const override |
| Define the class id associated with the class. More... | |
| void | Read (TPZStream &buf, void *context) override |
| Unpacks the object structure from a stream of bytes. More... | |
| void | Write (TPZStream &buf, int withclassid) const override |
| Packs the object structure in a stream of bytes. More... | |
| virtual void | Input (std::istream &in=std::cin) |
| Input operation. More... | |
| virtual void | Print (std::ostream &out) const |
| virtual void | Print (const char *name, std::ostream &out=std::cout, const MatrixOutputFormat form=EFormatted) const |
| It prints the matrix data in a MatrixFormat Rows X Cols. More... | |
| int64_t | Rows () const |
| Returns number of rows. More... | |
| int64_t | Cols () const |
| Returns number of cols. More... | |
| virtual int64_t | Dim () const |
| Returns the dimension of the matrix if the matrix is square. More... | |
| virtual void | SolveJacobi (int64_t &numiterations, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual, TPZFMatrix< TVar > &scratch, REAL &tol, const int FromCurrent=0) |
| Solves the linear system using Jacobi method. . More... | |
| virtual void | SolveSOR (int64_t &numiterations, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual, TPZFMatrix< TVar > &scratch, const REAL overrelax, REAL &tol, const int FromCurrent=0, const int direction=1) |
| Solves the linear system using Successive Over Relaxation method (Gauss Seidel). . More... | |
| virtual void | SolveSSOR (int64_t &numiterations, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual, TPZFMatrix< TVar > &scratch, const REAL overrelax, REAL &tol, const int FromCurrent=0) |
| Solves the linear system using Symmetric Successive Over Relaxation method (Gauss Seidel). . More... | |
| virtual void | SolveCG (int64_t &numiterations, TPZSolver< TVar > &preconditioner, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual, REAL &tol, const int FromCurrent=0) |
| Solves the linear system using Conjugate Gradient method. . More... | |
| virtual void | SolveBICG (int64_t &numiterations, TPZSolver< TVar > &preconditioner, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, REAL &tol) |
| Solves the linear system using Bi-Conjugate Gradient method. . More... | |
| virtual void | SolveBICGStab (int64_t &numiterations, TPZSolver< TVar > &preconditioner, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual, REAL &tol, const int FromCurrent=0) |
| Solves the linear system using Bi-Conjugate Gradient stabilized method. . More... | |
| virtual void | SolveGMRES (int64_t &numiterations, TPZSolver< TVar > &preconditioner, TPZFMatrix< TVar > &H, int &numvectors, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual, REAL &tol, const int FromCurrent) |
| Solves the linear system using Generalized Minimal Residual (GMRES) method. . More... | |
| virtual void | SolveIR (int64_t &numiterations, TPZSolver< TVar > &preconditioner, const TPZFMatrix< TVar > &F, TPZFMatrix< TVar > &result, TPZFMatrix< TVar > *residual, REAL &tol, const int FromCurrent=0) |
| Solves the linear system using IR method. . More... | |
| virtual bool | SolveEigenvaluesJacobi (int64_t &numiterations, REAL &tol, TPZVec< TVar > *Sort=0) |
| Transforms this matrix in a diagonal matrix, where the diagonal values are its eigenvalues. This method is efficient only for small matrices. More... | |
| virtual bool | SolveEigensystemJacobi (int64_t &numiterations, REAL &tol, TPZVec< TVar > &Eigenvalues, TPZFMatrix< TVar > &Eigenvectors) const |
| Compute Eigenvalues and Eigenvectors of this matrix. This method is efficient only for small matrices. More... | |
| virtual int | SolveDirect (TPZFMatrix< TVar > &F, const DecomposeType dt, std::list< int64_t > &singular) |
| Solves the linear system using Direct methods. More... | |
| virtual int | SolveDirect (TPZFMatrix< TVar > &F, const DecomposeType dt) |
| Solves the linear system using Direct methods. More... | |
| virtual int | Decompose (const DecomposeType dt, std::list< int64_t > &singular) |
| decompose the system of equations acording to the decomposition scheme More... | |
| int | Solve_LU (TPZFMatrix< TVar > *B, std::list< int64_t > &singular) |
| Solves the linear system using LU method . More... | |
| int | Solve_LU (TPZFMatrix< TVar > *B) |
| Solves the linear system using LU method . More... | |
| virtual int | Solve_Cholesky (TPZFMatrix< TVar > *B) |
| Solves the linear system using Cholesky method . More... | |
| int | Solve_Cholesky (TPZFMatrix< TVar > *B, std::list< int64_t > &singular) |
| Solves the linear system using Cholesky method . More... | |
| int | Solve_LDLt (TPZFMatrix< TVar > *B, std::list< int64_t > &singular) |
| Solves the linear system using LDLt method . More... | |
| int | Solve_LDLt (TPZFMatrix< TVar > *B) |
| Solves the linear system using LDLt method . More... | |
Public Member Functions inherited from TPZSavable | |
| TPZSavable () | |
| virtual | ~TPZSavable () |
| virtual std::list< std::map< std::string, uint64_t > > | VersionHistory () const |
| virtual std::pair< std::string, uint64_t > | Version () const |
Public Member Functions inherited from TPZRegisterClassId | |
| template<typename T > | |
| TPZRegisterClassId (int(T::*)() const) | |
| TPZRegisterClassId ()=default | |
Protected Member Functions | |
| int | fAdd (const TPZSpMatrix< TVar > *const A) |
| int | fSub (const TPZSpMatrix< TVar > *const A) |
| int | fCopy (const TPZSpMatrix< TVar > *const A) |
| int | fMult (TVar val) |
| void | Swap (int64_t *a, int64_t *b) |
| int | Clear () override |
| It clears data structure. More... | |
| REAL | ProdEsc (TPZLink< TPZNode > *row_i, TPZLink< TPZNode > *row_j, int64_t k) |
| Computes dot product with respect to lines row_i e row_j using only elements that belongs to columns less than k. More... | |
Protected Member Functions inherited from TPZMatrix< TVar > | |
| void | PrepareZ (const TPZFMatrix< TVar > &y, TPZFMatrix< TVar > &z, const TVar beta, const int opt) const |
| Is an auxiliar method used by MultiplyAdd. More... | |
| TPZMatrix (const int64_t row, const int64_t col) | |
| Constructor. More... | |
Protected Attributes | |
| TPZLink< TPZNode > * | fElem |
Protected Attributes inherited from TPZMatrix< TVar > | |
| int64_t | fRow |
| Number of rows in matrix. More... | |
| int64_t | fCol |
| Number of cols in matrix. More... | |
| char | fDecomposed |
| Decomposition type used to decompose the current matrix. More... | |
| char | fDefPositive |
| Definite Posistiveness of current matrix. More... | |
Friends | |
| class | TPZSSpMatrix< TVar > |
Additional Inherited Members | |
Static Public Member Functions inherited from TPZMatrix< TVar > | |
| static int | Error (const char *msg, const char *msg2=0) |
| Returns error messages. More... | |
| static TVar | ReturnNearestValue (TVar val, TPZVec< TVar > &Vec, TVar tol) |
| Retorna o valor mais proximo a "val" (exceto valores no intervalo -tol <= val <= +tol) contido no vetor Vec. More... | |
Static Public Member Functions inherited from TPZSavable | |
| static std::set< TPZRestoreClassBase * > & | RestoreClassSet () |
| This static function guarantees that the gMap object is available when needed. More... | |
| static std::map< int, TPZRestore_t > & | ClassIdMap () |
| This static function guarantees that the gMap object is available when needed. More... | |
| static std::pair< std::string, uint64_t > | NeoPZVersion () |
| static void | Register (TPZRestoreClassBase *restore) |
| static void | RegisterClassId (int classid, TPZRestore_t fun) |
| static TPZSavable * | CreateInstance (const int &classId) |
Static Protected Member Functions inherited from TPZMatrix< TVar > | |
| static void | Swap (int64_t *a, int64_t *b) |
| Swaps contents of a in b and b in a. More... | |
Static Protected Attributes inherited from TPZMatrix< TVar > | |
| static TVar | gZero |
| Initializing value to static variable. More... | |
Defines sparce matrix class. Matrix.
Definition at line 37 of file pzespmat.h.
|
inline |
Simple constructor.
Definition at line 57 of file pzespmat.h.
References TPZSpMatrix< TVar >::fElem.
| TPZSpMatrix< TVar >::TPZSpMatrix | ( | int64_t | rows, |
| int64_t | cols | ||
| ) |
Constructor with initialization parameters.
| rows | Number of rows |
| cols | Number of columns |
Definition at line 29 of file pzespmat.cpp.
References TPZMatrix< TVar >::Error(), and TPZSpMatrix< TVar >::fElem.
|
inline |
Copy constructor.
| A | Model object |
Definition at line 70 of file pzespmat.h.
References CLONEDEF, TPZSpMatrix< TVar >::TPZNode::col, TPZSpMatrix< TVar >::fCopy(), TPZSpMatrix< TVar >::Get(), TPZSpMatrix< TVar >::GetVal(), TPZSpMatrix< TVar >::MultAdd(), TPZSpMatrix< TVar >::operator*(), TPZSpMatrix< TVar >::operator*=(), TPZSpMatrix< TVar >::operator+(), TPZSpMatrix< TVar >::operator+=(), TPZSpMatrix< TVar >::operator-(), TPZSpMatrix< TVar >::operator-=(), TPZSpMatrix< TVar >::operator=(), TPZSpMatrix< TVar >::Put(), TPZSpMatrix< TVar >::PutVal(), and TPZSpMatrix< TVar >::~TPZSpMatrix().
| TPZSpMatrix< TVar >::~TPZSpMatrix | ( | ) |
Simple destructor.
Definition at line 49 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::Clear().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
|
overridevirtual |
Define the class id associated with the class.
This id has to be unique for all classes A non unique id is flagged at the startup of the program
Implements TPZSavable.
Definition at line 714 of file pzespmat.cpp.
References TPZMatrix< TVar >::ClassId(), and Hash().
Referenced by TPZSpMatrix< TVar >::Redim().
|
inlineoverrideprotectedvirtual |
It clears data structure.
Reimplemented from TPZMatrix< TVar >.
Definition at line 179 of file pzespmat.h.
References TPZSpMatrix< TVar >::fElem, and TPZSpMatrix< TVar >::ProdEsc().
Referenced by TPZSpMatrix< TVar >::Reset(), and TPZSpMatrix< TVar >::~TPZSpMatrix().
|
protected |
Definition at line 346 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::TPZNode::col, TPZMatrix< TVar >::Cols(), TPZSpMatrix< TVar >::TPZNode::elem, TPZSpMatrix< TVar >::fElem, TPZLink< ElemType >::Get(), TPZLink< ElemType >::Head(), TPZLink< ElemType >::Next(), and TPZMatrix< TVar >::Rows().
Referenced by TPZSpMatrix< TVar >::operator+(), TPZSpMatrix< TVar >::operator+=(), and TPZSpMatrix< TVar >::Redim().
|
protected |
Definition at line 496 of file pzespmat.cpp.
References TPZMatrix< TVar >::Cols(), TPZMatrix< TVar >::fCol, TPZSpMatrix< TVar >::fElem, TPZMatrix< TVar >::fRow, and TPZMatrix< TVar >::Rows().
Referenced by TPZSpMatrix< TVar >::operator=(), TPZSpMatrix< TVar >::Redim(), and TPZSpMatrix< TVar >::TPZSpMatrix().
|
protected |
Definition at line 517 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::TPZNode::elem, TPZSpMatrix< TVar >::fElem, TPZLink< ElemType >::Get(), TPZLink< ElemType >::Head(), TPZLink< ElemType >::Next(), TPZMatrix< TVar >::Rows(), and TPZLink< ElemType >::Update().
Referenced by TPZSpMatrix< TVar >::operator*(), TPZSpMatrix< TVar >::operator*=(), and TPZSpMatrix< TVar >::Redim().
|
protected |
Definition at line 419 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::TPZNode::col, TPZMatrix< TVar >::Cols(), TPZSpMatrix< TVar >::TPZNode::elem, TPZSpMatrix< TVar >::fElem, TPZLink< ElemType >::Get(), TPZLink< ElemType >::Head(), TPZLink< ElemType >::Next(), and TPZMatrix< TVar >::Rows().
Referenced by TPZSpMatrix< TVar >::operator-(), TPZSpMatrix< TVar >::operator-=(), and TPZSpMatrix< TVar >::Redim().
|
overridevirtual |
Get value with bound checking.
| row | Row number. |
| col | Column number. |
Reimplemented from TPZMatrix< TVar >.
Definition at line 75 of file pzespmat.cpp.
References TPZMatrix< TVar >::Cols(), TPZMatrix< TVar >::Error(), TPZSpMatrix< TVar >::GetVal(), and TPZMatrix< TVar >::Rows().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
|
overridevirtual |
Get values without bounds checking
This method is faster than "Get" if DEBUG is defined.
Reimplemented from TPZMatrix< TVar >.
Definition at line 141 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::TPZNode::col, TPZSpMatrix< TVar >::TPZNode::elem, TPZSpMatrix< TVar >::fElem, TPZLink< ElemType >::Get(), TPZLink< ElemType >::GetNode(), TPZLink< ElemType >::Head(), and TPZLink< ElemType >::Next().
Referenced by TPZSpMatrix< TVar >::Get(), and TPZSpMatrix< TVar >::TPZSpMatrix().
|
overridevirtual |
Definition at line 597 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::TPZNode::col, TPZMatrix< TVar >::Cols(), TPZSavable::CreateInstance(), TPZSpMatrix< TVar >::TPZNode::elem, TPZMatrix< TVar >::Error(), TPZSpMatrix< TVar >::fElem, TPZFMatrix< TVar >::g(), TPZLink< ElemType >::Get(), TPZLink< ElemType >::GetNode(), TPZLink< ElemType >::Head(), m, TPZLink< ElemType >::Next(), numel, TPZMatrix< TVar >::PrepareZ(), TPZSpMatrix< TVar >::PutVal(), TPZSpMatrix< TVar >::Redim(), TPZMatrix< TVar >::Rows(), and val().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
| TPZSpMatrix< TVar > TPZSpMatrix< TVar >::operator* | ( | const TVar | v | ) | const |
Numerical values operator.
Definition at line 244 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::fMult(), and test::res.
Referenced by TPZSpMatrix< TVar >::operator-(), and TPZSpMatrix< TVar >::TPZSpMatrix().
| TPZSpMatrix< TVar > & TPZSpMatrix< TVar >::operator*= | ( | const TVar | v | ) |
Definition at line 256 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::fMult(), IsZero(), and TPZSpMatrix< TVar >::Reset().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
| TPZSpMatrix< TVar > TPZSpMatrix< TVar >::operator+ | ( | const TPZSpMatrix< TVar > & | A | ) | const |
Definition at line 188 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::fAdd(), and test::res.
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
| TPZSpMatrix< TVar > & TPZSpMatrix< TVar >::operator+= | ( | const TPZSpMatrix< TVar > & | A | ) |
Definition at line 218 of file pzespmat.cpp.
References TPZMatrix< TVar >::Error(), and TPZSpMatrix< TVar >::fAdd().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
| TPZSpMatrix< TVar > TPZSpMatrix< TVar >::operator- | ( | const TPZSpMatrix< TVar > & | A | ) | const |
Definition at line 204 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::fSub(), and test::res.
|
inline |
Definition at line 121 of file pzespmat.h.
References TPZSpMatrix< TVar >::operator*(), TPZSpMatrix< TVar >::Reset(), and TPZSpMatrix< TVar >::Resize().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
| TPZSpMatrix< TVar > & TPZSpMatrix< TVar >::operator-= | ( | const TPZSpMatrix< TVar > & | A | ) |
Definition at line 232 of file pzespmat.cpp.
References TPZMatrix< TVar >::Error(), and TPZSpMatrix< TVar >::fSub().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
| TPZSpMatrix< TVar > & TPZSpMatrix< TVar >::operator= | ( | const TPZSpMatrix< TVar > & | A | ) |
Generic overloaded operator.
Definition at line 174 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::fCopy(), and TPZSpMatrix< TVar >::fElem.
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
|
protected |
Computes dot product with respect to lines row_i e row_j using only elements that belongs to columns less than k.
| row_i | Ith row to be used |
| row_j | Jth row to be used |
| k | number of column limit |
Definition at line 544 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::TPZNode::col, TPZSpMatrix< TVar >::TPZNode::elem, TPZLink< ElemType >::Get(), TPZLink< ElemType >::Head(), and TPZLink< ElemType >::Next().
Referenced by TPZSpMatrix< TVar >::Clear().
|
overridevirtual |
Put values with bounds checking if DEBUG variable is defined.
| row | Row number. |
| col | Column number. |
| value | Value being put. |
Reimplemented from TPZMatrix< TVar >.
Definition at line 60 of file pzespmat.cpp.
References TPZMatrix< TVar >::Cols(), TPZMatrix< TVar >::Error(), TPZSpMatrix< TVar >::PutVal(), and TPZMatrix< TVar >::Rows().
Referenced by TPZSpMatrix< TVar >::TPZSpMatrix().
|
overridevirtual |
Put values without bounds checking
This method is faster than "Put" if DEBUG is defined.
Reimplemented from TPZMatrix< TVar >.
Definition at line 94 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::TPZNode::col, TPZSpMatrix< TVar >::TPZNode::elem, TPZSpMatrix< TVar >::fElem, TPZLink< ElemType >::Get(), TPZLink< ElemType >::Head(), TPZLink< ElemType >::Insert(), IsZero(), TPZLink< ElemType >::Next(), TPZLink< ElemType >::Remove(), and TPZLink< ElemType >::Update().
Referenced by TPZSpMatrix< TVar >::MultAdd(), TPZSpMatrix< TVar >::Put(), and TPZSpMatrix< TVar >::TPZSpMatrix().
|
overridevirtual |
Redimension the matrix to newRows x newCols arrange and zeroes its elements.
Reimplemented from TPZMatrix< TVar >.
Definition at line 316 of file pzespmat.cpp.
References TPZMatrix< TVar >::fCol, TPZSpMatrix< TVar >::fElem, and TPZMatrix< TVar >::fRow.
Referenced by TPZSpMatrix< TVar >::MultAdd(), and TPZSpMatrix< TVar >::Resize().
|
inline |
Redimensions matrix deleting all its elements.
| newDim | New matrix dimension |
Definition at line 142 of file pzespmat.h.
References TPZSpMatrix< TVar >::ClassId(), TPZSavable::CreateInstance(), TPZSpMatrix< TVar >::fAdd(), TPZSpMatrix< TVar >::fCopy(), TPZSpMatrix< TVar >::fMult(), TPZSpMatrix< TVar >::fSub(), TPZSpMatrix< TVar >::Redim(), TPZSpMatrix< TVar >::Swap(), val(), and TPZSpMatrix< TVar >::Zero().
Referenced by TPZSpMatrix< TVar >::Redim().
| TPZSpMatrix< TVar > & TPZSpMatrix< TVar >::Reset | ( | ) |
Desallocate all the elements of the matrix.
Definition at line 273 of file pzespmat.cpp.
References TPZSpMatrix< TVar >::Clear(), TPZSpMatrix< TVar >::fElem, and TPZMatrix< TVar >::Rows().
Referenced by TPZSpMatrix< TVar >::operator*=(), and TPZSpMatrix< TVar >::operator-().
|
overridevirtual |
Redimension the matrix to newRows x newCols arrange.
Reimplemented from TPZMatrix< TVar >.
Definition at line 288 of file pzespmat.cpp.
References TPZMatrix< TVar >::fCol, TPZSpMatrix< TVar >::fElem, TPZMatrix< TVar >::fRow, MIN, and TPZMatrix< TVar >::Rows().
Referenced by TPZSpMatrix< TVar >::operator-().
|
inline |
Redimensions current matrix keeping its elements.
| newDim | New matrix dimensio |
Definition at line 134 of file pzespmat.h.
References TPZSpMatrix< TVar >::Redim(), and TPZSpMatrix< TVar >::Resize().
Referenced by TPZSpMatrix< TVar >::Resize().
|
inlineprotected |
Swap (troca) the values of the variables
Definition at line 202 of file pzespmat.h.
Referenced by TPZSpMatrix< TVar >::Redim().
|
overridevirtual |
Zeroes all elements of the matrix.
Reimplemented from TPZMatrix< TVar >.
Definition at line 330 of file pzespmat.cpp.
References TPZMatrix< TVar >::fDecomposed, TPZSpMatrix< TVar >::fElem, and TPZMatrix< TVar >::fRow.
Referenced by TPZSpMatrix< TVar >::Redim().
|
friend |
Definition at line 39 of file pzespmat.h.
|
protected |
Definition at line 192 of file pzespmat.h.
Referenced by TPZSpMatrix< TVar >::Clear(), TPZSpMatrix< TVar >::fAdd(), TPZSpMatrix< TVar >::fCopy(), TPZSpMatrix< TVar >::fMult(), TPZSpMatrix< TVar >::fSub(), TPZSpMatrix< TVar >::GetVal(), TPZSpMatrix< TVar >::MultAdd(), TPZSpMatrix< TVar >::operator=(), TPZSpMatrix< TVar >::PutVal(), TPZSpMatrix< TVar >::Redim(), TPZSpMatrix< TVar >::Reset(), TPZSpMatrix< TVar >::Resize(), TPZSpMatrix< TVar >::TPZSpMatrix(), and TPZSpMatrix< TVar >::Zero().
1.8.13