Reference documentation for deal.II version 9.0.0
|
#include <deal.II/lac/pointer_matrix.h>
Public Member Functions | |
PointerMatrix (const MatrixType *M=nullptr) | |
PointerMatrix (const char *name) | |
PointerMatrix (const MatrixType *M, const char *name) | |
virtual void | clear () |
bool | empty () const |
const PointerMatrix & | operator= (const MatrixType *M) |
virtual void | vmult (VectorType &dst, const VectorType &src) const |
virtual void | Tvmult (VectorType &dst, const VectorType &src) const |
virtual void | vmult_add (VectorType &dst, const VectorType &src) const |
virtual void | Tvmult_add (VectorType &dst, const VectorType &src) const |
Public Member Functions inherited from PointerMatrixBase< VectorType > | |
virtual | ~PointerMatrixBase ()=default |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (const char *identifier=nullptr) const |
void | unsubscribe (const char *identifier=nullptr) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
SmartPointer< const MatrixType, PointerMatrix< MatrixType, VectorType > > | m |
Related Functions | |
(Note that these are not member functions.) | |
template<typename numberv > | |
PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const IdentityMatrix &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
template<typename numberv , typename numberm > | |
PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const FullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
template<typename numberv , typename numberm > | |
PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const LAPACKFullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
template<typename numberv , typename numberm > | |
PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const SparseMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
template<typename VectorType , typename numberm > | |
PointerMatrixBase< VectorType > * | new_pointer_matrix_base (const BlockSparseMatrix< numberm > &matrix, const VectorType &, const char *name="PointerMatrix") |
template<typename numberv , typename numberm > | |
PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const SparseMatrixEZ< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
template<typename VectorType , typename numberm > | |
PointerMatrixBase< VectorType > * | new_pointer_matrix_base (const BlockSparseMatrixEZ< numberm > &matrix, const VectorType &, const char *name="PointerMatrix") |
template<typename numberv , typename numberm , typename BLOCK_VectorType > | |
PointerMatrixBase< BLOCK_VectorType > * | new_pointer_matrix_base (const BlockMatrixArray< numberm, BLOCK_VectorType > &matrix, const BLOCK_VectorType &, const char *name="PointerMatrix") |
template<typename numberv , typename numberm > | |
PointerMatrixBase< Vector< numberv > > * | new_pointer_matrix_base (const TridiagonalMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix") |
Additional Inherited Members | |
Public Types inherited from PointerMatrixBase< VectorType > | |
typedef VectorType::value_type | value_type |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
A pointer to be used as a matrix. This class stores a pointer to a matrix and can be used as a matrix itself in iterative methods.
The main purpose for the existence of this class is its base class, which only has a vector as template argument. Therefore, this interface provides an abstract base class for matrices.
Definition at line 117 of file pointer_matrix.h.
PointerMatrix< MatrixType, VectorType >::PointerMatrix | ( | const MatrixType * | M = nullptr | ) |
Constructor. The pointer in the argument is stored in this class. As usual, the lifetime of *M
must be longer than the one of the PointerMatrix.
If M
is zero, no matrix is stored.
Definition at line 586 of file pointer_matrix.h.
PointerMatrix< MatrixType, VectorType >::PointerMatrix | ( | const char * | name | ) |
Constructor.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name
argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 592 of file pointer_matrix.h.
PointerMatrix< MatrixType, VectorType >::PointerMatrix | ( | const MatrixType * | M, |
const char * | name | ||
) |
Constructor. M
points to a matrix which must live longer than the PointerMatrix.
This class internally stores a pointer to a matrix via a SmartPointer object. The SmartPointer class allows to associate a name with the object pointed to that identifies the object that has the pointer, in order to identify objects that still refer to the object pointed to. The name
argument to this function is used to this end, i.e., you can in essence assign a name to the current PointerMatrix object.
Definition at line 598 of file pointer_matrix.h.
|
inlinevirtual |
Reset the object to its original state.
Implements PointerMatrixBase< VectorType >.
Definition at line 606 of file pointer_matrix.h.
|
inline |
Return whether the object is empty.
Definition at line 623 of file pointer_matrix.h.
|
inline |
Assign a new matrix pointer. Deletes the old pointer and releases its matrix.
Definition at line 614 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 632 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 642 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product, adding to dst
.
Implements PointerMatrixBase< VectorType >.
Definition at line 652 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product, adding to dst
.
Implements PointerMatrixBase< VectorType >.
Definition at line 662 of file pointer_matrix.h.
|
private |
The pointer to the actual matrix.
Definition at line 198 of file pointer_matrix.h.