dotproduct.hh File Reference

Provides the functions dot(a,b) := $a^H \cdot b $ and dotT(a,b) := $a^T \cdot b $. More...

Go to the source code of this file.

Classes

struct  Dune::AlwaysVoid< T >
struct  Dune::IsVector< T, class >
struct  Dune::IsVector< T, typename AlwaysVoid< typename T::field_type >::type >

Namespaces

namespace  Dune
 

Dune namespace.


Functions

template<class A , class B >
auto Dune::dot (const A &a, const B &b)-> typename std
 computes the dot product for fundamental data types according to Petsc's VectDot function: dot(a,b) := std::conj(a)*b
template<class A , class B >
auto Dune::dotT (const A &a, const B &b)-> decltype(a *b)
 Computes an indefinite vector dot product for fundamental data types according to Petsc's VectTDot function: dotT(a,b) := a*b.

Detailed Description

Provides the functions dot(a,b) := $a^H \cdot b $ and dotT(a,b) := $a^T \cdot b $.

The provided dot products dot,dotT are used to compute (indefinite) dot products for fundamental types as well as DUNE vector types, such as DenseVector, FieldVector, ISTLVector. Note that the definition of dot(a,b) conjugates the first argument. This agrees with the behaviour of Matlab and Petsc, but not with BLAS.

Author:
Jö Fahlke, Matthias Wohlmuth
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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