Dune Core Modules (unstable)
Dune::MultiTypeBlockMatrix< FirstRow, Args > Class Template Reference
A Matrix class to support different block types. More...
#include <dune/istl/multitypeblockmatrix.hh>
Public Types | |
| typedef MultiTypeBlockMatrix< FirstRow, Args... > | type |
| using | size_type = std::size_t |
| Type used for sizes. | |
| using | field_type = Std::detected_t< std::common_type_t, typename FieldTraits< FirstRow >::field_type, typename FieldTraits< Args >::field_type... > |
| The type used for scalars. More... | |
| using | real_type = Std::detected_t< std::common_type_t, typename FieldTraits< FirstRow >::real_type, typename FieldTraits< Args >::real_type... > |
| The type used for real values. More... | |
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. More... | |
| template<size_type index> | |
| auto | operator[] (const std::integral_constant< size_type, index > indexVariable) const -> decltype(std::get< index >(*this)) |
| Const random-access operator. More... | |
| 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. More... | |
| MultiTypeBlockMatrix & | operator-= (const MultiTypeBlockMatrix &b) |
| Subtract the entries of another matrix from this one. More... | |
| 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 >
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:
- dune/istl/blocklevel.hh
- dune/istl/multitypeblockmatrix.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(Nov 2, 23:43, 2025)