
Public Member Functions | |
| BlockDiagonalMatrix (const MATRIX &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 |
Private Attributes | |
| unsigned int | num_blocks |
| SmartPointer< const MATRIX, BlockDiagonalMatrix< MATRIX > > | matrix |
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 42 of file block_matrix.h.
| BlockDiagonalMatrix< MATRIX >::BlockDiagonalMatrix | ( | const MATRIX & | M, |
| const unsigned int | n_blocks | ||
| ) |
Constructor for an n_blocks by n_blocks matrix with diagonal blocks M.
Definition at line 82 of file block_matrix.h.
| void BlockDiagonalMatrix< MATRIX >::vmult | ( | BlockVector< number1 > & | dst, |
| const BlockVector< number2 > & | src | ||
| ) | const |
Matrix-vector-multiplication.
Definition at line 93 of file block_matrix.h.
References Assert, BlockVectorBase< Vector< Number > >::block(), StandardExceptions::ExcDimensionMismatch(), LAPACKSupport::matrix, and BlockVectorBase< Vector< Number > >::n_blocks().
| void BlockDiagonalMatrix< MATRIX >::Tvmult | ( | BlockVector< number1 > & | dst, |
| const BlockVector< number2 > & | src | ||
| ) | const |
Transposed matrix-vector-multiplication.
Definition at line 109 of file block_matrix.h.
References Assert, BlockVectorBase< Vector< Number > >::block(), StandardExceptions::ExcDimensionMismatch(), LAPACKSupport::matrix, and BlockVectorBase< Vector< Number > >::n_blocks().
unsigned int BlockDiagonalMatrix< MATRIX >::num_blocks [private] |
Number of blocks.
Definition at line 70 of file block_matrix.h.
SmartPointer<const MATRIX,BlockDiagonalMatrix<MATRIX> > BlockDiagonalMatrix< MATRIX >::matrix [private] |
Diagonal entry.
Definition at line 75 of file block_matrix.h.
documentation generated on Fri Feb 3 2012 06:04:05 by
doxygen
1.7.2