Loading...
Searching...
No Matches
Dune::ScalarProduct< X > Class Template Reference
Iterative Solvers Template Library (ISTL) » Iterative Solvers » Scalar products

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

`#include <dune/istl/scalarproducts.hh>`

Inheritance diagram for Dune::ScalarProduct< X >:

## Public Types

typedef X | domain_type
| export types, they come from the derived class
typedef X::field_type | field_type
typedef FieldTraits< field_type >::real_type | real_type

## Public Member Functions

virtual field_type | dot (const X &x, const X &y) const
| Dot product of two vectors. It is assumed that the vectors are consistent on the interior+border partition.
virtual real_type | norm (const X &x) const
| Norm of a right-hand side vector. The vector must be consistent on the interior+border partition.
virtual SolverCategory::Category | category () const
| Category of the scalar product (see SolverCategory::Category).
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.

by default the scalar product is sequential

## Member Typedef Documentation

## domain_type

template<class X>

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

export types, they come from the derived class

## field_type

template<class X>

typedef X::field_type Dune::ScalarProduct< X >::field_type

## real_type

template<class X>

typedef FieldTraits<field_type>::real_type Dune::ScalarProduct< X >::real_type

## Constructor & Destructor Documentation

## ~ScalarProduct()

template<class X>

virtual Dune::ScalarProduct< X >::~ScalarProduct | ( |  | ) |

inline virtual

every abstract base class has a virtual destructor

## Member Function Documentation

## category()

template<class X>

virtual SolverCategory::Category Dune::ScalarProduct< X >::category | ( |  | ) | const

inline virtual

Category of the scalar product (see SolverCategory::Category).

Reimplemented in Dune::ParallelScalarProduct< X, C >.

## dot()

template<class X>

virtual field_type Dune::ScalarProduct< X >::dot | ( | const X & | x,
|  | const X & | y ) const

inline virtual

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

Reimplemented in Dune::ParallelScalarProduct< X, C >.

## norm()

template<class X>

virtual real_type Dune::ScalarProduct< X >::norm | ( | const X & | x | ) | const

inline virtual

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

Reimplemented in Dune::ParallelScalarProduct< X, C >.

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

- scalarproducts.hh