![]() |
Reference documentation for deal.II version 8.1.0
|
#include <matrix_lib.h>
Public Types | |
typedef SparseMatrix< number > | MatrixType |
typedef Vector< vector_number > | VectorType |
![]() | |
typedef Vector< vector_number >::value_type | value_type |
Public Member Functions | |
ProductSparseMatrix (const MatrixType &m1, const MatrixType &m2, VectorMemory< VectorType > &mem) | |
ProductSparseMatrix () | |
void | initialize (const MatrixType &m1, const MatrixType &m2, VectorMemory< VectorType > &mem) |
void | clear () |
virtual void | vmult (VectorType &w, const VectorType &v) const |
virtual void | Tvmult (VectorType &w, const VectorType &v) const |
virtual void | vmult_add (VectorType &w, const VectorType &v) const |
virtual void | Tvmult_add (VectorType &w, const VectorType &v) const |
![]() | |
virtual | ~PointerMatrixBase () |
bool | operator== (const PointerMatrixBase< Vector< vector_number > > &) const |
bool | operator!= (const PointerMatrixBase< Vector< vector_number > > &) const |
bool | operator< (const PointerMatrixBase< Vector< vector_number > > &) const |
bool | operator<= (const PointerMatrixBase< Vector< vector_number > > &) const |
bool | operator> (const PointerMatrixBase< Vector< vector_number > > &) const |
bool | operator>= (const PointerMatrixBase< Vector< vector_number > > &) 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 | |
SmartPointer< const MatrixType, ProductSparseMatrix< number, vector_number > > | m1 |
SmartPointer< const MatrixType, ProductSparseMatrix< number, vector_number > > | m2 |
SmartPointer< VectorMemory< VectorType >, ProductSparseMatrix< number, vector_number > > | mem |
Poor man's matrix product of two sparse matrices. Stores two matrices m1 and m2 of arbitrary type SparseMatrix and implements matrix-vector multiplications for the product M1M2 by performing multiplication with both factors consecutively.
The documentation of ProductMatrix applies with exception that these matrices here may be rectangular.
Definition at line 229 of file matrix_lib.h.
typedef SparseMatrix<number> ProductSparseMatrix< number, vector_number >::MatrixType |
Define the type of matrices used.
Definition at line 235 of file matrix_lib.h.
typedef Vector<vector_number> ProductSparseMatrix< number, vector_number >::VectorType |
Define the type of vectors we plly this matrix to.
Definition at line 241 of file matrix_lib.h.
ProductSparseMatrix< number, vector_number >::ProductSparseMatrix | ( | const MatrixType & | m1, |
const MatrixType & | m2, | ||
VectorMemory< VectorType > & | mem | ||
) |
Constructor. Additionally to the two constituting matrices, a memory pool for the auxiliary vector must be provided.
ProductSparseMatrix< number, vector_number >::ProductSparseMatrix | ( | ) |
Constructor leaving an unitialized matrix. initialize() must be called, before the matrix can be used.
|
virtual |
Reset pointer and release the matrix pointed to.
Implements PointerMatrixBase< Vector< vector_number > >.
|
virtual |
Matrix-vector product w = m1 * m2 * v.
Implements PointerMatrixBase< Vector< vector_number > >.
|
virtual |
Tranposed matrix-vector product w = m2T * m1T * v.
Implements PointerMatrixBase< Vector< vector_number > >.
|
virtual |
Adding matrix-vector product w += m1 * m2 * v
Implements PointerMatrixBase< Vector< vector_number > >.
|
virtual |
Adding, tranposed matrix-vector product w += m2T * m1T * v.
Implements PointerMatrixBase< Vector< vector_number > >.
|
privatevirtual |
Return some kind of identifier.
Implements PointerMatrixBase< Vector< vector_number > >.
|
private |
The left matrix of the product.
Definition at line 304 of file matrix_lib.h.
|
private |
The right matrix of the product.
Definition at line 309 of file matrix_lib.h.
|
private |
Memory for auxiliary vector.
Definition at line 314 of file matrix_lib.h.