dune-common  2.5.0
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

constexpr size_type rows () const
 return number of rows More...
 
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 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 Typedef Documentation

§ field_type

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

field type

§ size_type

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

size type

Member Function Documentation

§ cols()

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

return number of columns

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

§ 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

§ 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

§ rows()

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

return number of rows

§ 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: