AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects Version of the Day
|Get a non-const view of the symmetric abstract matrix in the form |
|virtual void||commit_sym_gms_view (DenseLinAlgPack::DMatrixSliceSym *sym_gms_view)=0|
|Free a view of a dense matrix initialized from |
Abstract interface that allows the extraction of a non-const
DenseLinAlgPack::DMatrixSliceSym view of a symmetry abstract matrix.
This interface is ment to be used by
MatrixSymOp objects that store all of their matrix elements in the local address space or can easily access all of the elements from this process and can modify the elements in their data structures.
Subclasses that store a BLAS compatible dense symmetric matrix can implement these methods without any dynamic memory allocations. There is no default implementation for these methods so subclasses that derive from this interface must implement these methods.
These methods should never be called directly. Instead, use the helper class type
Definition at line 65 of file AbstractLinAlgPack_MatrixSymOpGetGMSSymMutable.hpp.
|virtual DenseLinAlgPack::DMatrixSliceSym AbstractLinAlgPack::MatrixSymOpGetGMSSymMutable::get_sym_gms_view||(||)||
Get a non-const view of the symmetric abstract matrix in the form
returnwill be initialized to point to storage to the dense matrix elements. The output from this function
sym_gms_view = this->get_sym_gms_view()must be passed to
this->commit_sym_gms_view(gms)to free any memory that may have been allocated and to ensure the that underlying abstract matrix object has been updated. After
sym_gms_viewmust not be used any longer!
Warning! If a subclass overrides this method, it must also override
|virtual void AbstractLinAlgPack::MatrixSymOpGetGMSSymMutable::commit_sym_gms_view||(||DenseLinAlgPack::DMatrixSliceSym *||sym_gms_view||)||
Free a view of a dense matrix initialized from
|sym_gms_view||[in/out] On input, |
sym_gms_viewmust have been initialized by
thisis guaranteed to be updated.
sym_gms_viewbecomes invalid and must not be used any longer!