Read-only identity matrix. More...
#include <dune/common/identitymatrix.hh>
Public Types | |
typedef K | field_type |
field type | |
typedef std::size_t | size_type |
size type | |
Public Member Functions | |
constexpr size_type | rows () const |
return number of rows | |
constexpr size_type | cols () const |
return number of columns | |
template<class X , class Y > | |
void | mv (const X &x, Y &y) const |
template<class X , class Y > | |
void | mtv (const X &x, Y &y) const |
template<class X , class Y > | |
void | umv (const X &x, Y &y) const |
template<class X , class Y > | |
void | umtv (const X &x, Y &y) const |
template<class X , class Y > | |
void | umhv (const X &x, Y &y) const |
template<class X , class Y > | |
void | mmv (const X &x, Y &y) const |
template<class X , class Y > | |
void | mmtv (const X &x, Y &y) const |
template<class X , class Y > | |
void | mmhv (const X &x, Y &y) const |
template<class X , class Y > | |
void | usmv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const |
template<class X , class Y > | |
void | usmtv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const |
template<class X , class Y > | |
void | usmhv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const |
FieldTraits< field_type > ::real_type | frobenius_norm () const |
FieldTraits< field_type > ::real_type | frobenius_norm2 () const |
FieldTraits< field_type > ::real_type | infinity_norm () const |
FieldTraits< field_type > ::real_type | infinity_norm_real () const |
Read-only identity matrix.
Implementation of an identity matrix that does not store any data.
K | field type | |
N | dimension |
typedef K Dune::IdentityMatrix< K, N >::field_type |
field type
typedef std::size_t Dune::IdentityMatrix< K, N >::size_type |
size type
constexpr size_type Dune::IdentityMatrix< K, N >::cols | ( | ) | const [inline] |
return number of columns
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::frobenius_norm | ( | ) | const [inline] |
frobenius norm: sqrt(sum over squared values of entries)
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::frobenius_norm2 | ( | ) | const [inline] |
square of frobenius norm, need for block recursion
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::infinity_norm | ( | ) | const [inline] |
infinity norm (row sum norm, how to generalize for blocks?)
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::infinity_norm_real | ( | ) | const [inline] |
simplified infinity norm (uses Manhattan norm for complex values)
void Dune::IdentityMatrix< K, N >::mmhv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y -= A^H x
void Dune::IdentityMatrix< K, N >::mmtv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y -= A^T x
void Dune::IdentityMatrix< K, N >::mmv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y -= A x
void Dune::IdentityMatrix< K, N >::mtv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y = A^T x
void Dune::IdentityMatrix< K, N >::mv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y = A x
constexpr size_type Dune::IdentityMatrix< K, N >::rows | ( | ) | const [inline] |
return number of rows
void Dune::IdentityMatrix< K, N >::umhv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y += A^H x
void Dune::IdentityMatrix< K, N >::umtv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y += A^T x
void Dune::IdentityMatrix< K, N >::umv | ( | const X & | x, | |
Y & | y | |||
) | const [inline] |
y += A x
void Dune::IdentityMatrix< K, N >::usmhv | ( | const typename FieldTraits< Y >::field_type & | alpha, | |
const X & | x, | |||
Y & | y | |||
) | const [inline] |
y += alpha A^H x
void Dune::IdentityMatrix< K, N >::usmtv | ( | const typename FieldTraits< Y >::field_type & | alpha, | |
const X & | x, | |||
Y & | y | |||
) | const [inline] |
y += alpha A^T x
void Dune::IdentityMatrix< K, N >::usmv | ( | const typename FieldTraits< Y >::field_type & | alpha, | |
const X & | x, | |||
Y & | y | |||
) | const [inline] |
y += alpha A x