Dune::ScalarProduct< X > Class Template Reference
[Scalar products]

Base class for scalar product and norm computation. More...

#include <dune/istl/scalarproducts.hh>

Inheritance diagram for Dune::ScalarProduct< X >:
Inheritance graph

List of all members.

Public Types

typedef X domain_type
 export types, they come from the derived class
typedef X::field_type field_type

Public Member Functions

virtual field_type dot (const X &x, const X &y)=0
 Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border partition.
virtual double norm (const X &x)=0
 Norm of a right-hand side vector. The vector must be consistent on the interior+border partition.
virtual ~ScalarProduct ()
 every abstract base class has a virtual destructor

Detailed Description

template<class X>
class Dune::ScalarProduct< X >

Base class for scalar product and norm computation.

Krylov space methods need to compute scalar products and norms (for convergence test only). These methods have to know about the underlying data decomposition. For the sequential case a default implementation is provided.


Member Typedef Documentation

template<class X >
typedef X Dune::ScalarProduct< X >::domain_type

Constructor & Destructor Documentation

template<class X >
virtual Dune::ScalarProduct< X >::~ScalarProduct (  )  [inline, virtual]

every abstract base class has a virtual destructor


Member Function Documentation

template<class X >
virtual field_type Dune::ScalarProduct< X >::dot ( const X &  x,
const X &  y 
) [pure virtual]

Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border partition.

Implemented in Dune::NonoverlappingSchwarzScalarProduct< X, C >, Dune::SeqScalarProduct< X >, and Dune::OverlappingSchwarzScalarProduct< X, C >.

template<class X >
virtual double Dune::ScalarProduct< X >::norm ( const X &  x  )  [pure virtual]

Norm of a right-hand side vector. The vector must be consistent on the interior+border partition.

Implemented in Dune::NonoverlappingSchwarzScalarProduct< X, C >, Dune::SeqScalarProduct< X >, and Dune::OverlappingSchwarzScalarProduct< X, C >.


The documentation for this class was generated from the following file:

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].