Reference documentation for deal.II version 9.0.0
|
#include <deal.II/lac/pointer_matrix.h>
Public Member Functions | |
PointerMatrixAux (VectorMemory< VectorType > *mem=0, const MatrixType *M=0) | |
PointerMatrixAux (VectorMemory< VectorType > *mem, const char *name) | |
PointerMatrixAux (VectorMemory< VectorType > *mem, const MatrixType *M, const char *name) | |
virtual void | clear () |
bool | empty () const |
void | set_memory (VectorMemory< VectorType > *mem) |
const PointerMatrixAux & | 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 | |
GrowingVectorMemory< VectorType > | my_memory |
SmartPointer< VectorMemory< VectorType >, PointerMatrixAux< MatrixType, VectorType > > | mem |
SmartPointer< const MatrixType, PointerMatrixAux< MatrixType, VectorType > > | m |
Related Functions | |
(Note that these are not member functions.) | |
template<typename VectorType , typename MatrixType > | |
PointerMatrixBase< VectorType > * | new_pointer_matrix_base (MatrixType &matrix, const VectorType &, const char *name="PointerMatrixAux") |
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.
This class differs form PointerMatrix by its additional VectorMemory object and by the fact that it implements the functions vmult_add() and Tvmult_add() only using vmult() and Tvmult() of the MatrixType.
Definition at line 219 of file pointer_matrix.h.
PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux | ( | VectorMemory< VectorType > * | mem = 0 , |
const MatrixType * | M = 0 |
||
) |
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 PointerMatrixAux.
If M
is zero, no matrix is stored.
If mem
is zero, then GrowingVectorMemory is used.
Definition at line 675 of file pointer_matrix.h.
PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux | ( | VectorMemory< VectorType > * | mem, |
const char * | name | ||
) |
Constructor not using a matrix.
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 685 of file pointer_matrix.h.
PointerMatrixAux< MatrixType, VectorType >::PointerMatrixAux | ( | VectorMemory< VectorType > * | mem, |
const MatrixType * | M, | ||
const char * | name | ||
) |
Constructor. M
points to a matrix which must live longer than the PointerMatrixAux.
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 695 of file pointer_matrix.h.
|
inlinevirtual |
Reset the object to its original state.
Implements PointerMatrixBase< VectorType >.
Definition at line 707 of file pointer_matrix.h.
|
inline |
Return whether the object is empty.
Definition at line 734 of file pointer_matrix.h.
|
inline |
Assign a new VectorMemory object for getting auxiliary vectors.
Definition at line 724 of file pointer_matrix.h.
|
inline |
Assign a new matrix pointer. Deletes the old pointer and releases its matrix.
Definition at line 715 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 743 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 756 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product, adding to dst
.
Implements PointerMatrixBase< VectorType >.
Definition at line 769 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product, adding to dst
.
Implements PointerMatrixBase< VectorType >.
Definition at line 786 of file pointer_matrix.h.
|
mutableprivate |
The backup memory if none was provided.
Definition at line 310 of file pointer_matrix.h.
|
mutableprivate |
Object for getting the auxiliary vector.
Definition at line 315 of file pointer_matrix.h.
|
private |
The pointer to the actual matrix.
Definition at line 320 of file pointer_matrix.h.