
Public Member Functions | |
| PointerMatrixAux (VectorMemory< VECTOR > *mem=0, const MATRIX *M=0) | |
| PointerMatrixAux (VectorMemory< VECTOR > *mem, const char *name) | |
| PointerMatrixAux (VectorMemory< VECTOR > *mem, const MATRIX *M, const char *name) | |
| virtual void | clear () |
| bool | empty () const |
| void | set_memory (VectorMemory< VECTOR > *mem) |
| const PointerMatrixAux & | operator= (const MATRIX *M) |
| virtual void | vmult (VECTOR &dst, const VECTOR &src) const |
| virtual void | Tvmult (VECTOR &dst, const VECTOR &src) const |
| virtual void | vmult_add (VECTOR &dst, const VECTOR &src) const |
| virtual void | Tvmult_add (VECTOR &dst, const VECTOR &src) const |
Private Member Functions | |
| virtual const void * | get () const |
Private Attributes | |
| GrowingVectorMemory< VECTOR > | my_memory |
| SmartPointer< VectorMemory < VECTOR >, PointerMatrixAux < MATRIX, VECTOR > > | mem |
| SmartPointer< const MATRIX, PointerMatrixAux< MATRIX, VECTOR > > | m |
Related Functions | |
(Note that these are not member functions.) | |
| template<class VECTOR , class MATRIX > | |
| PointerMatrixBase< VECTOR > * | new_pointer_matrix_base (MATRIX &matrix, const VECTOR &, const char *name="PointerMatrixAux") |
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 MATRIX.
Definition at line 269 of file pointer_matrix.h.
| PointerMatrixAux< MATRIX, VECTOR >::PointerMatrixAux | ( | VectorMemory< VECTOR > * | mem = 0, |
| const MATRIX * | 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 846 of file pointer_matrix.h.
References PointerMatrixAux< MATRIX, VECTOR >::my_memory.
| PointerMatrixAux< MATRIX, VECTOR >::PointerMatrixAux | ( | VectorMemory< VECTOR > * | mem, |
| const char * | name | ||
| ) |
Constructor not using a matrix. The name argument is used to identify the SmartPointer for this object.
Definition at line 857 of file pointer_matrix.h.
References PointerMatrixAux< MATRIX, VECTOR >::my_memory.
| PointerMatrixAux< MATRIX, VECTOR >::PointerMatrixAux | ( | VectorMemory< VECTOR > * | mem, |
| const MATRIX * | M, | ||
| const char * | name | ||
| ) |
Constructor. M points to a matrix which must live longer than the PointerMatrixAux. The name argument is used to identify the SmartPointer for this object.
Definition at line 868 of file pointer_matrix.h.
References PointerMatrixAux< MATRIX, VECTOR >::my_memory.
| void PointerMatrixAux< MATRIX, VECTOR >::clear | ( | ) | [inline, virtual] |
Reset pointer and release the matrix pointed to.
Implements PointerMatrixBase< VECTOR >.
Definition at line 881 of file pointer_matrix.h.
| bool PointerMatrixAux< MATRIX, VECTOR >::empty | ( | ) | const [inline] |
Return whether the object is empty.
Definition at line 908 of file pointer_matrix.h.
| void PointerMatrixAux< MATRIX, VECTOR >::set_memory | ( | VectorMemory< VECTOR > * | mem ) | [inline] |
Assign a new VectorMemory object for getting auxiliary vectors.
Definition at line 898 of file pointer_matrix.h.
| const PointerMatrixAux< MATRIX, VECTOR > & PointerMatrixAux< MATRIX, VECTOR >::operator= | ( | const MATRIX * | M ) | [inline] |
Assign a new matrix pointer. Deletes the old pointer and releases its matrix.
Definition at line 889 of file pointer_matrix.h.
| void PointerMatrixAux< MATRIX, VECTOR >::vmult | ( | VECTOR & | dst, |
| const VECTOR & | src | ||
| ) | const [inline, virtual] |
Matrix-vector product.
Implements PointerMatrixBase< VECTOR >.
Definition at line 917 of file pointer_matrix.h.
References Assert, and StandardExceptions::ExcNotInitialized().
| void PointerMatrixAux< MATRIX, VECTOR >::Tvmult | ( | VECTOR & | dst, |
| const VECTOR & | src | ||
| ) | const [inline, virtual] |
Tranposed matrix-vector product.
Implements PointerMatrixBase< VECTOR >.
Definition at line 930 of file pointer_matrix.h.
References Assert, and StandardExceptions::ExcNotInitialized().
| void PointerMatrixAux< MATRIX, VECTOR >::vmult_add | ( | VECTOR & | dst, |
| const VECTOR & | src | ||
| ) | const [inline, virtual] |
Matrix-vector product, adding to dst.
Implements PointerMatrixBase< VECTOR >.
Definition at line 943 of file pointer_matrix.h.
References Assert, and StandardExceptions::ExcNotInitialized().
| void PointerMatrixAux< MATRIX, VECTOR >::Tvmult_add | ( | VECTOR & | dst, |
| const VECTOR & | src | ||
| ) | const [inline, virtual] |
Tranposed matrix-vector product, adding to dst.
Implements PointerMatrixBase< VECTOR >.
Definition at line 960 of file pointer_matrix.h.
References Assert, and StandardExceptions::ExcNotInitialized().
| const void * PointerMatrixAux< MATRIX, VECTOR >::get | ( | ) | const [inline, private, virtual] |
Return the address of the matrix for comparison.
Implements PointerMatrixBase< VECTOR >.
Definition at line 977 of file pointer_matrix.h.
GrowingVectorMemory<VECTOR> PointerMatrixAux< MATRIX, VECTOR >::my_memory [mutable, private] |
The backup memory if none was provided.
Definition at line 371 of file pointer_matrix.h.
Referenced by PointerMatrixAux< MATRIX, VECTOR >::PointerMatrixAux().
SmartPointer<VectorMemory<VECTOR>,PointerMatrixAux<MATRIX,VECTOR> > PointerMatrixAux< MATRIX, VECTOR >::mem [mutable, private] |
Object for getting the auxiliary vector.
Definition at line 377 of file pointer_matrix.h.
SmartPointer<const MATRIX,PointerMatrixAux<MATRIX,VECTOR> > PointerMatrixAux< MATRIX, VECTOR >::m [private] |
The pointer to the actual matrix.
Definition at line 382 of file pointer_matrix.h.
documentation generated on Fri Feb 3 2012 06:04:10 by
doxygen
1.7.2