|
| 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.
|
| |
|
|
| BTDMatrix () |
| | Default constructor.
|
| |
|
BTDMatrix & | operator= (const BTDMatrix &other) |
| | assignment
|
| |
|
BTDMatrix & | operator= (const field_type &k) |
| | assignment from scalar
|
| |
| template<class V > |
| void | solve (V &x, const V &rhs) const |
| | Use the Thomas algorithm to solve the system Ax=b in O(n) time. More...
|
| |
|
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::BTDMatrix< B, A >
A block-tridiagonal matrix.
- Todo:
- It would be safer and more efficient to have a real implementation of a block-tridiagonal matrix and not just subclassing from BCRSMatrix. But that's quite a lot of work for that little advantage.