Loading...
Searching...
No Matches
Dune::MultiTypeBlockMatrix< FirstRow, Args > Class Template Reference
Iterative Solvers Template Library (ISTL) » Sparse Matrix and Vector classes

A Matrix class to support different block types. More...

`#include <dune/istl/multitypeblockmatrix.hh>`

Inheritance diagram for Dune::MultiTypeBlockMatrix< FirstRow, Args >:

## Public Types

typedef MultiTypeBlockMatrix< FirstRow, Args... > | type
using | size_type = std::size_t
| Type used for sizes.
using | field_type
| The type used for scalars.
using | real_type
| The type used for real values.

## Public Member Functions

template<size_type index>
auto | operator[] (const std::integral_constant< size_type, index > indexVariable) -> decltype(std::get< index >(*this))
| Random-access operator.
template<size_type index>
auto | operator[] (const std::integral_constant< size_type, index > indexVariable) const -> decltype(std::get< index >(*this))
| Const random-access operator.
template<typename T>
void | operator= (const T &newval)
MultiTypeBlockMatrix & | operator*= (const field_type &k)
| vector space multiplication with scalar
MultiTypeBlockMatrix & | operator/= (const field_type &k)
| vector space division by scalar
MultiTypeBlockMatrix & | operator+= (const MultiTypeBlockMatrix &b)
| Add the entries of another matrix to this one.
MultiTypeBlockMatrix & | operator-= (const MultiTypeBlockMatrix &b)
| Subtract the entries of another matrix from this one.
template<typename X, typename Y>
void | mv (const X &x, Y &y) const
| y = A x
template<typename X, typename Y>
void | umv (const X &x, Y &y) const
| y += A x
template<typename X, typename Y>
void | mmv (const X &x, Y &y) const
| y -= A x
template<typename AlphaType, typename X, typename Y>
void | usmv (const AlphaType &alpha, const X &x, Y &y) const
| y += alpha A x
template<typename X, typename Y>
void | mtv (const X &x, Y &y) const
| y = A^T x
template<typename X, typename Y>
void | umtv (const X &x, Y &y) const
| y += A^T x
template<typename X, typename Y>
void | mmtv (const X &x, Y &y) const
| y -= A^T x
template<typename X, typename Y>
void | usmtv (const field_type &alpha, const X &x, Y &y) const
| y += alpha A^T x
template<typename X, typename Y>
void | umhv (const X &x, Y &y) const
| y += A^H x
template<typename X, typename Y>
void | mmhv (const X &x, Y &y) const
| y -= A^H x
template<typename X, typename Y>
void | usmhv (const field_type &alpha, const X &x, Y &y) const
| y += alpha A^H x
real_type | frobenius_norm2 () const
| square of frobenius norm, need for block recursion
real_type | frobenius_norm () const
| frobenius norm: sqrt(sum over squared values of entries)
real_type | infinity_norm () const
| Bastardized version of the infinity-norm / row-sum norm.
real_type | infinity_norm_real () const
| Bastardized version of the infinity-norm / row-sum norm.

## Static Public Member Functions

static constexpr size_type | N ()
| Return the number of matrix rows.
static constexpr size_type | M ()
| Return the number of matrix columns.

## Detailed Description

template<typename FirstRow, typename... Args>
class Dune::MultiTypeBlockMatrix< FirstRow, Args >

A Matrix class to support different block types.

This matrix class combines MultiTypeBlockVector elements as rows.

The documentation for this class was generated from the following files:

- blocklevel.hh
- multitypeblockmatrix.hh