Reference documentation for deal.II version 8.5.1
|
#include <deal.II/lac/block_matrix.h>
Public Member Functions | |
BlockDiagonalMatrix (const MatrixType &M, const unsigned int n_blocks) | |
template<typename number1 , typename number2 > | |
void | vmult (BlockVector< number1 > &dst, const BlockVector< number2 > &src) const |
template<typename number1 , typename number2 > | |
void | Tvmult (BlockVector< number1 > &dst, const BlockVector< number2 > &src) const |
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 | |
unsigned int | num_blocks |
SmartPointer< const MatrixType, BlockDiagonalMatrix< MatrixType > > | matrix |
Additional Inherited Members | |
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 matrix with several copies of the same block on the diagonal.
This matrix implements an m
by m
block matrix. Each diagonal block consists of the same (non-block) matrix, while off-diagonal blocks are void.
One special application is a one by one block matrix, allowing to apply the vmult
of the original matrix (or preconditioner) to a block vector.
Definition at line 51 of file block_matrix.h.
BlockDiagonalMatrix< MatrixType >::BlockDiagonalMatrix | ( | const MatrixType & | M, |
const unsigned int | n_blocks | ||
) |
Constructor for an n_blocks
by n_blocks
matrix with diagonal blocks M
.
Definition at line 90 of file block_matrix.h.
void BlockDiagonalMatrix< MatrixType >::vmult | ( | BlockVector< number1 > & | dst, |
const BlockVector< number2 > & | src | ||
) | const |
Matrix-vector-multiplication.
Definition at line 101 of file block_matrix.h.
void BlockDiagonalMatrix< MatrixType >::Tvmult | ( | BlockVector< number1 > & | dst, |
const BlockVector< number2 > & | src | ||
) | const |
Transposed matrix-vector-multiplication.
Definition at line 117 of file block_matrix.h.
|
private |
Number of blocks.
Definition at line 78 of file block_matrix.h.
|
private |
Diagonal entry.
Definition at line 83 of file block_matrix.h.