![]() |
Reference documentation for deal.II version 8.4.2
|
#include <deal.II/lac/matrix_lib.h>
Public Types | |
| typedef SparseMatrix< number > | MatrixType |
| typedef Vector< vector_number > | VectorType |
Public Types inherited from PointerMatrixBase< Vector< vector_number > > | |
| typedef Vector< vector_number > ::value_type | value_type |
Public Member Functions | |
| ProductSparseMatrix (const MatrixType &m1, const MatrixType &m2, VectorMemory< VectorType > &mem) | |
| ProductSparseMatrix () | |
| 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 |
Public Member Functions inherited from PointerMatrixBase< Vector< vector_number > > | |
| virtual | ~PointerMatrixBase () |
Public Member Functions inherited from Subscriptor | |
| 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."<< "\"<< "(Additional information: "<< arg3<< ")\"<< "See the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "a lot more information on what this error means and "<< "how to fix programs in which it happens.") | |
| DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier <"<< arg2<< "> subscribes to this object of class "<< arg1<< ". Consequently, it cannot be unsubscribed.") | |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
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 227 of file matrix_lib.h.
| typedef SparseMatrix<number> ProductSparseMatrix< number, vector_number >::MatrixType |
Define the type of matrices used.
Definition at line 233 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 238 of file matrix_lib.h.
| ProductSparseMatrix< number, vnumber >::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.
Definition at line 28 of file matrix_lib.cc.
| ProductSparseMatrix< number, vnumber >::ProductSparseMatrix | ( | ) |
Constructor leaving an uninitialized matrix. initialize() must be called, before the matrix can be used.
Definition at line 42 of file matrix_lib.cc.
|
virtual |
Reset the object to its original state.
Implements PointerMatrixBase< Vector< vector_number > >.
Definition at line 66 of file matrix_lib.cc.
|
virtual |
Matrix-vector product w = m1 * m2 * v.
Implements PointerMatrixBase< Vector< vector_number > >.
Definition at line 75 of file matrix_lib.cc.
|
virtual |
Transposed matrix-vector product w = m2T * m1T * v.
Implements PointerMatrixBase< Vector< vector_number > >.
Definition at line 107 of file matrix_lib.cc.
|
virtual |
Adding matrix-vector product w += m1 * m2 * v
Implements PointerMatrixBase< Vector< vector_number > >.
Definition at line 91 of file matrix_lib.cc.
|
virtual |
Adding, transposed matrix-vector product w += m2T * m1T * v.
Implements PointerMatrixBase< Vector< vector_number > >.
Definition at line 123 of file matrix_lib.cc.
|
private |
The left matrix of the product.
Definition at line 291 of file matrix_lib.h.
|
private |
The right matrix of the product.
Definition at line 296 of file matrix_lib.h.
|
private |
Memory for auxiliary vector.
Definition at line 301 of file matrix_lib.h.
1.8.12