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

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

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

Inheritance diagram for Dune::MultiTypeBlockVector< Args >:

## Public Types

using | size_type = std::size_t
| Type used for vector sizes.
typedef MultiTypeBlockVector< Args... > | type
using | field_type = Std::detected_t<std::common_type_t, typename FieldTraits< std::decay_t<Args> >::field_type...>
| The type used for scalars.
using | real_type = Std::detected_t<std::common_type_t, typename FieldTraits< std::decay_t<Args> >::real_type...>
| The type used for real values.

## Public Member Functions

size_type | dim () const
| Number of scalar elements.
template<size_type index>
std::tuple_element< index, TupleType >::type & | operator[] (const std::integral_constant< size_type, index > indexVariable)
| Random-access operator.
template<size_type index>
const std::tuple_element< index, TupleType >::type & | operator[] (const std::integral_constant< size_type, index > indexVariable) const
| Const random-access operator.
template<typename T>
void | operator= (const T &newval)
| Assignment operator.
void | operator+= (const type &newv)
void | operator-= (const type &newv)
template<class T, std::enable_if_t< IsNumber< T >::value, int > = 0>
void | operator*= (const T &w)
| Multiplication with a scalar.
template<class T, std::enable_if_t< IsNumber< T >::value, int > = 0>
void | operator/= (const T &w)
| Division by a scalar.
field_type | operator* (const type &newv) const
field_type | dot (const type &newv) const
auto | one_norm () const
| Compute the 1-norm.
auto | one_norm_real () const
| Compute the simplified 1-norm (uses 1-norm also for complex values).
real_type | two_norm2 () const
| Compute the squared Euclidean norm.
real_type | two_norm () const
| Compute the Euclidean norm.
real_type | infinity_norm () const
| Compute the maximum norm.
real_type | infinity_norm_real () const
| Compute the simplified maximum norm (uses 1-norm for complex values).
template<typename Ta>
void | axpy (const Ta &a, const type &y)
| Axpy operation on this vector (*this += a * y).

## Static Public Member Functions

static constexpr size_type | size ()
| Return the number of non-zero vector entries.
static constexpr size_type | N ()
| Number of elements.

## Detailed Description

template<typename... Args>
class Dune::MultiTypeBlockVector< Args >

A Vector class to support different block types.

This vector class combines elements of different types known at compile-time.

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

- blocklevel.hh
- multitypeblockvector.hh