Dune Core Modules (2.6.0)

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
 y = A x More...
 
template<class X , class Y >
void mtv (const X &x, Y &y) const
 y = A^T x More...
 
template<class X , class Y >
void umv (const X &x, Y &y) const
 y += A x More...
 
template<class X , class Y >
void umtv (const X &x, Y &y) const
 y += A^T x More...
 
template<class X , class Y >
void umhv (const X &x, Y &y) const
 y += A^H x More...
 
template<class X , class Y >
void mmv (const X &x, Y &y) const
 y -= A x More...
 
template<class X , class Y >
void mmtv (const X &x, Y &y) const
 y -= A^T x More...
 
template<class X , class Y >
void mmhv (const X &x, Y &y) const
 y -= A^H x More...
 
template<class X , class Y >
void usmv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
 y += alpha A x More...
 
template<class X , class Y >
void usmtv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
 y += alpha A^T x More...
 
template<class X , class Y >
void usmhv (const typename FieldTraits< Y >::field_type &alpha, const X &x, Y &y) const
 y += alpha A^H x More...
 
FieldTraits< field_type >::real_type frobenius_norm () const
 frobenius norm: sqrt(sum over squared values of entries) More...
 
FieldTraits< field_type >::real_type frobenius_norm2 () const
 square of frobenius norm, need for block recursion More...
 
FieldTraits< field_type >::real_type infinity_norm () const
 infinity norm (row sum norm, how to generalize for blocks?) More...
 
FieldTraits< field_type >::real_type infinity_norm_real () const
 simplified infinity norm (uses Manhattan norm for complex values) More...
 

Detailed Description

template<class K, int N>
class Dune::IdentityMatrix< K, N >

Read-only identity matrix.

Implementation of an identity matrix that does not store any data.

Template Parameters
Kfield type
Ndimension

Member Function Documentation

◆ frobenius_norm()

template<class K , int N>
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::frobenius_norm ( ) const
inline

frobenius norm: sqrt(sum over squared values of entries)

References Dune::IdentityMatrix< K, N >::frobenius_norm2().

◆ frobenius_norm2()

template<class K , int N>
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::frobenius_norm2 ( ) const
inline

square of frobenius norm, need for block recursion

Referenced by Dune::IdentityMatrix< K, N >::frobenius_norm().

◆ infinity_norm()

template<class K , int N>
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::infinity_norm ( ) const
inline

infinity norm (row sum norm, how to generalize for blocks?)

◆ infinity_norm_real()

template<class K , int N>
FieldTraits< field_type >::real_type Dune::IdentityMatrix< K, N >::infinity_norm_real ( ) const
inline

simplified infinity norm (uses Manhattan norm for complex values)

◆ mmhv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::mmhv ( const X &  x,
Y &  y 
) const
inline

y -= A^H x

◆ mmtv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::mmtv ( const X &  x,
Y &  y 
) const
inline

y -= A^T x

◆ mmv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::mmv ( const X &  x,
Y &  y 
) const
inline

y -= A x

◆ mtv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::mtv ( const X &  x,
Y &  y 
) const
inline

y = A^T x

◆ mv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::mv ( const X &  x,
Y &  y 
) const
inline

y = A x

◆ umhv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::umhv ( const X &  x,
Y &  y 
) const
inline

y += A^H x

◆ umtv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::umtv ( const X &  x,
Y &  y 
) const
inline

y += A^T x

◆ umv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::umv ( const X &  x,
Y &  y 
) const
inline

y += A x

◆ usmhv()

template<class K , int N>
template<class X , class Y >
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

◆ usmtv()

template<class K , int N>
template<class X , class Y >
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

◆ usmv()

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::usmv ( const typename FieldTraits< Y >::field_type alpha,
const X &  x,
Y &  y 
) const
inline

y += alpha A x


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 28, 23:30, 2024)