|
enum | |
| increment block level counter
|
|
typedef B::field_type | field_type |
| export the type representing the field
|
|
typedef B | block_type |
| export the type representing the components
|
|
typedef A | allocator_type |
| export the allocator type
|
|
typedef A::size_type | size_type |
| implement row_type with compressed vector More...
|
|
enum | |
| increment block level counter
|
|
enum | BuildMode |
| we support two modes
|
|
typedef CompressedBlockVectorWindow< B, std::allocator< B > > | row_type |
| implement row_type with compressed vector
|
|
typedef ::Dune::CompressionStatistics< size_type > | CompressionStatistics |
| The type for the statistics object returned by compress()
|
|
typedef RealRowIterator< row_type > | iterator |
| The iterator over the (mutable matrix rows.
|
|
typedef Iterator | RowIterator |
| rename the iterators for easier access
|
|
typedef row_type::Iterator | ColIterator |
| Iterator for the entries of each row.
|
|
typedef RealRowIterator< const row_type > | const_iterator |
| The const iterator over the matrix rows.
|
|
typedef ConstIterator | ConstRowIterator |
| rename the const row iterator for easier access
|
|
typedef row_type::ConstIterator | ConstColIterator |
| Const iterator to the entries of a row.
|
|
|
| BDMatrix () |
| Default constructor.
|
|
BDMatrix & | operator= (const BDMatrix &other) |
| assignment
|
|
BDMatrix & | operator= (const field_type &k) |
| assignment from scalar
|
|
void | invert () |
| Inverts the matrix.
|
|
row_type & | operator[] (size_type i) |
| random access to the rows
|
|
const row_type & | operator[] (size_type i) const |
| same for read only access
|
|
Iterator | begin () |
| Get iterator to first row.
|
|
ConstIterator | begin () const |
| Get const iterator to first row.
|
|
Iterator | end () |
| Get iterator to one beyond last row.
|
|
ConstIterator | end () const |
| Get const iterator to one beyond last row.
|
|
Iterator | beforeEnd () |
|
ConstIterator | beforeEnd () const |
|
Iterator | beforeBegin () |
|
ConstIterator | beforeBegin () const |
|
void | setBuildMode (BuildMode bm) |
| Sets the build mode of the matrix. More...
|
|
void | setSize (size_type rows, size_type columns, size_type nnz=0) |
| Set the size of the matrix. More...
|
|
void | setImplicitBuildModeParameters (size_type _avg, double _overflow) |
| Set parameters needed for creation in implicit build mode. More...
|
|
CreateIterator | createbegin () |
| get initial create iterator
|
|
CreateIterator | createend () |
| get create iterator pointing to one after the last block
|
|
size_type | getrowsize (size_type i) const |
| get current number of indices in row i
|
|
void | incrementrowsize (size_type i, size_type s=1) |
| increment size of row i by s (1 by default)
|
|
void | setIndices (size_type row, It begin, It end) |
| Set all column indices for row from the given iterator range. More...
|
|
B & | entry (size_type row, size_type col) |
| Returns reference to entry (row,col) of the matrix. More...
|
|
CompressionStatistics | compress () |
| Finishes the buildstage in implicit mode. More...
|
|
BCRSMatrix & | operator*= (const field_type &k) |
| vector space multiplication with scalar
|
|
BCRSMatrix & | operator/= (const field_type &k) |
| vector space division by scalar
|
|
BCRSMatrix & | operator+= (const BCRSMatrix &b) |
| Add the entries of another matrix to this one. More...
|
|
BCRSMatrix & | operator-= (const BCRSMatrix &b) |
| Substract the entries of another matrix to this one. More...
|
|
BCRSMatrix & | axpy (field_type alpha, const BCRSMatrix &b) |
| Add the scaled entries of another matrix to this one. More...
|
|
void | mv (const X &x, Y &y) const |
| y = A x
|
|
void | umv (const X &x, Y &y) const |
| y += A x
|
|
void | mmv (const X &x, Y &y) const |
| y -= A x
|
|
void | usmv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A x
|
|
void | mtv (const X &x, Y &y) const |
| y = A^T x
|
|
void | umtv (const X &x, Y &y) const |
| y += A^T x
|
|
void | mmtv (const X &x, Y &y) const |
| y -= A^T x
|
|
void | usmtv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A^T x
|
|
void | umhv (const X &x, Y &y) const |
| y += A^H x
|
|
void | mmhv (const X &x, Y &y) const |
| y -= A^H x
|
|
void | usmhv (const field_type &alpha, const X &x, Y &y) const |
| y += alpha A^H x
|
|
FieldTraits< field_type >::real_type | frobenius_norm2 () const |
| square of frobenius norm, need for block recursion
|
|
FieldTraits< field_type >::real_type | frobenius_norm () const |
| frobenius norm: sqrt(sum over squared values of entries)
|
|
FieldTraits< field_type >::real_type | infinity_norm () const |
| infinity norm (row sum norm, how to generalize for blocks?)
|
|
FieldTraits< field_type >::real_type | infinity_norm_real () const |
| simplified infinity norm (uses Manhattan norm for complex values)
|
|
size_type | N () const |
| number of rows (counted in blocks)
|
|
size_type | M () const |
| number of columns (counted in blocks)
|
|
size_type | nonzeroes () const |
| number of blocks that are stored (the number of blocks that possibly are nonzero)
|
|
BuildStage | buildStage () const |
| The current build stage of the matrix.
|
|
BuildMode | buildMode () const |
| The currently selected build mode of the matrix.
|
|
bool | exists (size_type i, size_type j) const |
| return true if (i,j) is in pattern
|
|
template<class B, class A = std::allocator<B>>
class Dune::BDMatrix< B, A >
A block-diagonal matrix.
- Todo:
- It would be safer and more efficient to have a real implementation of a block-diagonal matrix and not just subclassing from BCRSMatrix. But that's quite a lot of work for that little advantage.