Reference documentation for deal.II version 8.5.1
|
#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 () |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) 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, char *arg2, std::string &arg3) |
static ::ExceptionBase & | ExcNoSubscriber (char *arg1, char *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 213 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 676 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 686 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 696 of file pointer_matrix.h.
|
inlinevirtual |
Reset the object to its original state.
Implements PointerMatrixBase< VectorType >.
Definition at line 708 of file pointer_matrix.h.
|
inline |
Return whether the object is empty.
Definition at line 735 of file pointer_matrix.h.
|
inline |
Assign a new VectorMemory object for getting auxiliary vectors.
Definition at line 725 of file pointer_matrix.h.
|
inline |
Assign a new matrix pointer. Deletes the old pointer and releases its matrix.
Definition at line 716 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 744 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product.
Implements PointerMatrixBase< VectorType >.
Definition at line 757 of file pointer_matrix.h.
|
inlinevirtual |
Matrix-vector product, adding to dst
.
Implements PointerMatrixBase< VectorType >.
Definition at line 770 of file pointer_matrix.h.
|
inlinevirtual |
Transposed matrix-vector product, adding to dst
.
Implements PointerMatrixBase< VectorType >.
Definition at line 787 of file pointer_matrix.h.
|
mutableprivate |
The backup memory if none was provided.
Definition at line 304 of file pointer_matrix.h.
|
mutableprivate |
Object for getting the auxiliary vector.
Definition at line 309 of file pointer_matrix.h.
|
private |
The pointer to the actual matrix.
Definition at line 314 of file pointer_matrix.h.