dune-common  2.4
Public Types | Public Member Functions | List of all members
Dune::IdentityMatrix< K, N > Class Template Reference

Read-only identity matrix. More...

#include <dune/common/identitymatrix.hh>

Public Types

typedef K field_type
 field type More...
 
typedef std::size_t size_type
 size type More...
 

Public Member Functions

DUNE_CONSTEXPR size_type rows () const
 return number of rows More...
 
DUNE_CONSTEXPR size_type cols () const
 return number of columns More...
 
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 field_type &alpha, const X &x, Y &y) const
 y += alpha A x More...
 
template<class X , class Y >
void usmtv (const field_type &alpha, const X &x, Y &y) const
 y += alpha A^T x More...
 
template<class X , class Y >
void usmhv (const 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...
 
 operator FieldMatrix< field_type, N, N > () const
 cast to FieldMatrix 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 Typedef Documentation

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

field type

template<class K , int N>
typedef std::size_t Dune::IdentityMatrix< K, N >::size_type

size type

Member Function Documentation

template<class K , int N>
DUNE_CONSTEXPR size_type Dune::IdentityMatrix< K, N >::cols ( ) const
inline

return number of columns

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().

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().

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?)

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)

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

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

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

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

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

template<class K , int N>
Dune::IdentityMatrix< K, N >::operator FieldMatrix< field_type, N, N > ( ) const
inline

cast to FieldMatrix

template<class K , int N>
DUNE_CONSTEXPR size_type Dune::IdentityMatrix< K, N >::rows ( ) const
inline

return number of rows

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

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

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

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

y += alpha A^H x

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

y += alpha A^T x

template<class K , int N>
template<class X , class Y >
void Dune::IdentityMatrix< K, N >::usmv ( const 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: