Dune::IdentityMatrix< K, N > Class Template Reference
[Dense Matrix and Vector Template Library]

Read-only identity matrix. More...

#include <dune/common/identitymatrix.hh>

List of all members.

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

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:
K field type
N dimension

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

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

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>
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 typename FieldTraits< Y >::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 typename FieldTraits< Y >::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 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 25 Mar 2018 for dune-common by  doxygen 1.6.1