![]() |
Reference documentation for deal.II version 8.1.0
|
#include <matrix_lib.h>
Public Member Functions | |
ProductMatrix () | |
ProductMatrix (VectorMemory< VECTOR > &mem) | |
template<class MATRIX1 , class MATRIX2 > | |
ProductMatrix (const MATRIX1 &m1, const MATRIX2 &m2, VectorMemory< VECTOR > &mem) | |
template<class MATRIX1 , class MATRIX2 > | |
void | reinit (const MATRIX1 &m1, const MATRIX2 &m2) |
template<class MATRIX1 , class MATRIX2 > | |
void | initialize (const MATRIX1 &m1, const MATRIX2 &m2, VectorMemory< VECTOR > &mem) |
~ProductMatrix () | |
void | clear () |
virtual void | vmult (VECTOR &w, const VECTOR &v) const |
virtual void | Tvmult (VECTOR &w, const VECTOR &v) const |
virtual void | vmult_add (VECTOR &w, const VECTOR &v) const |
virtual void | Tvmult_add (VECTOR &w, const VECTOR &v) const |
![]() | |
virtual | ~PointerMatrixBase () |
bool | operator== (const PointerMatrixBase< VECTOR > &) const |
bool | operator!= (const PointerMatrixBase< VECTOR > &) const |
bool | operator< (const PointerMatrixBase< VECTOR > &) const |
bool | operator<= (const PointerMatrixBase< VECTOR > &) const |
bool | operator> (const PointerMatrixBase< VECTOR > &) const |
bool | operator>= (const PointerMatrixBase< VECTOR > &) const |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.") | |
DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1) | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Member Functions | |
virtual const void * | get () const |
Private Attributes | |
PointerMatrixBase< VECTOR > * | m1 |
PointerMatrixBase< VECTOR > * | m2 |
SmartPointer< VectorMemory< VECTOR >, ProductMatrix< VECTOR > > | mem |
Additional Inherited Members | |
![]() | |
typedef VECTOR::value_type | value_type |
Poor man's matrix product of two quadratic matrices. Stores two quadratic matrices m1 and m2 of arbitrary types and implements matrix-vector multiplications for the product M1M2 by performing multiplication with both factors consecutively.
Here an example multiplying two different FullMatrix objects:
Definition at line 49 of file matrix_lib.h.
ProductMatrix< VECTOR >::ProductMatrix | ( | ) |
Standard constructor. Matrices and the memory pool must be added later using initialize().
Definition at line 589 of file matrix_lib.h.
ProductMatrix< VECTOR >::ProductMatrix | ( | VectorMemory< VECTOR > & | mem | ) |
Constructor only assigning the memory pool. Matrices must be added by reinit() later.
Definition at line 595 of file matrix_lib.h.
ProductMatrix< VECTOR >::ProductMatrix | ( | const MATRIX1 & | m1, |
const MATRIX2 & | m2, | ||
VectorMemory< VECTOR > & | mem | ||
) |
Constructor. Additionally to the two constituting matrices, a memory pool for the auxiliary vector must be provided.
Definition at line 602 of file matrix_lib.h.
ProductMatrix< VECTOR >::~ProductMatrix | ( | ) |
Destructor.
Definition at line 644 of file matrix_lib.h.
void ProductMatrix< VECTOR >::reinit | ( | const MATRIX1 & | m1, |
const MATRIX2 & | m2 | ||
) |
Change the matrices.
Definition at line 616 of file matrix_lib.h.
void ProductMatrix< VECTOR >::initialize | ( | const MATRIX1 & | m1, |
const MATRIX2 & | m2, | ||
VectorMemory< VECTOR > & | mem | ||
) |
Change the matrices and memory pool.
Definition at line 630 of file matrix_lib.h.
|
virtual |
Reset pointer and release the matrix pointed to.
Implements PointerMatrixBase< VECTOR >.
Definition at line 653 of file matrix_lib.h.
|
virtual |
Matrix-vector product w = m1 * m2 * v.
Implements PointerMatrixBase< VECTOR >.
Definition at line 664 of file matrix_lib.h.
|
virtual |
Tranposed matrix-vector product w = m2T * m1T * v.
Implements PointerMatrixBase< VECTOR >.
Definition at line 696 of file matrix_lib.h.
|
virtual |
Adding matrix-vector product w += m1 * m2 * v
Implements PointerMatrixBase< VECTOR >.
Definition at line 680 of file matrix_lib.h.
|
virtual |
Adding, tranposed matrix-vector product w += m2T * m1T * v.
Implements PointerMatrixBase< VECTOR >.
Definition at line 712 of file matrix_lib.h.
|
privatevirtual |
Return some kind of identifier.
Implements PointerMatrixBase< VECTOR >.
Definition at line 728 of file matrix_lib.h.
|
private |
The left matrix of the product.
Definition at line 134 of file matrix_lib.h.
|
private |
The right matrix of the product.
Definition at line 139 of file matrix_lib.h.
|
private |
Memory for auxiliary vector.
Definition at line 144 of file matrix_lib.h.