|
C++ mpi module for stochmagnet_main Package
|
This class described a matrix by packed block of size \( P \times P \) in a row storage. More...
#include <SM_PackedBlockMatrix.h>


Public Member Functions | |
| virtual tMemSize | getMemorySize () const |
| return the memory size of the class and the memory size of all its attributes/associations More... | |
| virtual tMemSize | getContentsMemorySize () const |
| return the memory size of the included associations More... | |
| virtual void | reset ()=0 |
| reset the values | |
| virtual void | setSize (const tInteger &nRowBlocks, const tInteger &nColBlocks) |
| set the number or rows & columns of the blocks matrix More... | |
| const tInteger & | getRowBlocksNumber () const |
| get the number of row blowks | |
| const tInteger & | getColumnBlocksNumber () const |
| get the number of column blocks | |
| virtual void | setValue (const tIndex &i, const tIndex &j, const T &v)=0 |
| set values at row i and column j More... | |
| virtual const T & | getValue (const tIndex &i, const tIndex &j) const =0 |
| get values at row i and column j for reading More... | |
| virtual T & | getValue (const tIndex &i, const tIndex &j)=0 |
| get values at row i and column j for writing More... | |
| virtual void | vectorProduct (const T *vX, T *vY) const =0 |
| vector product More... | |
| virtual tString | toString () const override |
| return string representaton of the operator | |
Public Member Functions inherited from CORE_Object | |
| template<class T > | |
| std::shared_ptr< T > | getSharedPointer () |
| return the shared pointer for this More... | |
| template<class T > | |
| std::shared_ptr< const T > | getConstSharedPointer () const |
| return a const shared pointer for this More... | |
| template<class T > | |
| tBoolean | isInstanceOf () const |
| test if the clas T is an instance of this class More... | |
| tString | getClassName () const |
| return the name of the class More... | |
| tString | getPointerString () const |
| retrun the pointer of the class as a string More... | |
| tString | getIdentityString () const |
| retrun the string identification of the class More... | |
Static Public Attributes | |
| static constexpr tUCInt | BLOCK_SIZE =P*(P+1)/2 |
| size of the block in packed storage with diagonal | |
Protected Member Functions | |
| SM_PackedBlockMatrix (void) | |
| create a matrix of size 0 | |
| virtual | ~SM_PackedBlockMatrix (void) |
| destroy | |
Protected Member Functions inherited from CORE_Object | |
| CORE_Object () | |
| build an instance of the object | |
| virtual | ~CORE_Object () |
| destroy the instance of object std | |
Static Protected Member Functions | |
| static tIndex | GetPackedIndex (const tIndex &i, const tIndex &j) |
| return the pack index of size Q in a column storage More... | |
| static void | BlockVectorProduct (const T *B, const T *X, T *Y, const T *eY, const T *Xi, const T *Xj, T *Yi, T *Yj) |
| compute sthe vector product of the packed symmetric block B of dimension P by X to obtain Y=B.X More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from CORE_Object | |
| static tBoolean | EnableMemoryStack (const tBoolean &isMemoryChecked) |
| enable the memory stack More... | |
| static void | EnableMemoryStack () |
| enable the memory stack | |
| static void | DisableMemoryStack () |
| disable the memory stack | |
| static tBoolean | IsMemoryStackEnabled () |
| return trur if the memory stack is enabled | |
| static tString | MemoryStackToString () |
| get the memory stack in string More... | |
| static tIndex | GetRegisteredClassesNumber () |
| get the memory stack in string More... | |
This class described a matrix by packed block of size \( P \times P \) in a row storage.
| T | : type of the elemment of the block of the matrix |
| P | : size of the block \( P \times P \) |
|
inlinestaticprotected |
compute sthe vector product of the packed symmetric block B of dimension P by X to obtain Y=B.X
| [in] | B | : begin iterator on block values of size \( P.(P+1)/2 \) |
| [in] | X | : begin iteration on vector values of size P |
| [in] | Y | : begin iterator on result vector values of size P |
| [in] | eY | : end iterator on result vector values of size \( eY=Y+P\) |
| [in,out] | Xi | constant work pointer on X |
| [in,out] | Xj | constant work pointer on X |
| [in,out] | Yi | work pointer on Y |
| [in,out] | Yj | work pointer on Y |
|
inlinevirtual |
return the memory size of the included associations
Reimplemented from CORE_Object.
Reimplemented in SM_PackedBlockSymmetricMatrix< T, P >, and SM_PackedBlockGeneralMatrix< T, P >.
|
inlinevirtual |
return the memory size of the class and the memory size of all its attributes/associations
Reimplemented from CORE_Object.
Reimplemented in SM_PackedBlockSymmetricMatrix< T, P >, and SM_PackedBlockGeneralMatrix< T, P >.
|
inlinestaticprotected |
return the pack index of size Q in a column storage
| [in] | i | : index of the row of the block of memory size Q |
| [in] | j | : index of the column of the block of memory size Q |
|
pure virtual |
get values at row i and column j for reading
| [in] | i | : index of the row i in [0,nRowBlocks x P[ |
| [in] | j | index of the column j in [ [0,nCollocks x P[ return value at index i,j |
Implemented in SM_PackedBlockSymmetricMatrix< T, P >, and SM_PackedBlockGeneralMatrix< T, P >.
|
pure virtual |
get values at row i and column j for writing
| [in] | i | : index of the row i in [0,nRowBlocks x P[ |
| [in] | j | index of the column j in [ [0,nCollocks x P[ return value at index i,j |
Implemented in SM_PackedBlockSymmetricMatrix< T, P >, and SM_PackedBlockGeneralMatrix< T, P >.
|
inlinevirtual |
set the number or rows & columns of the blocks matrix
| [in] | nRowBlocks | number of blocks in rows |
| [in] | nColBlocks | number of blocks in columns |
|
pure virtual |
set values at row i and column j
| [in] | i | : index of the row i in [0,nRowBlocks x P[ |
| [in] | j | index of the column j in [ [0,nCollocks x P[ |
| [in] | v | : value |
Implemented in SM_PackedBlockSymmetricMatrix< T, P >, and SM_PackedBlockGeneralMatrix< T, P >.
|
pure virtual |
vector product
| [in] | vX | values of X vector |
| [out] | vY | : values of return vector Y=A.X |
Implemented in SMOMPI_PackedBlockSymmetricMatrix< T, P >, SM_PackedBlockSymmetricMatrix< T, P >, and SM_PackedBlockGeneralMatrix< T, P >.