KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::SymmetricPreconditioner< X, Xstar > Class Template Referenceabstract

Interface for symmetric preconditioners. More...

#include <symmetricOperators.hh>

Detailed Description

template<class X, class Xstar>
class Kaskade::SymmetricPreconditioner< X, Xstar >

Interface for symmetric preconditioners.

In addition to the Dune::preconditioner interface, symmetric preconditioners provide the simultaneous evaluation of \( x = By \) and the energy product \( \langle By,y \rangle \), which can be implemented more efficiently than the sequential evaluation of both quantities.

Definition at line 208 of file symmetricOperators.hh.

Inheritance diagram for Kaskade::SymmetricPreconditioner< X, Xstar >:
Kaskade::SymmetricPreconditionerWrapper< X, Xstar >

Public Types

typedef X::field_type field_type
 

Public Member Functions

virtual void pre (X &, Xstar &)
 Preconditioner preparation. More...
 
virtual void post (X &x)
 Preconditioner cleanup. More...
 
virtual field_type applyDp (X &x, Xstar const &y)=0
 Computes \( x \leftarrow By \) and returns \( \langle By, y \rangle \). More...
 
virtual bool requiresInitializedInput () const =0
 Returns true if the target vector x has to be initialized to zero before calling apply or applyDp. More...
 
virtual Dune::SolverCategory::Category category () const override
 returns the category of the operator More...
 

Member Typedef Documentation

◆ field_type

template<class X , class Xstar >
typedef X::field_type Kaskade::SymmetricPreconditioner< X, Xstar >::field_type

Definition at line 211 of file symmetricOperators.hh.

Member Function Documentation

◆ applyDp()

template<class X , class Xstar >
virtual field_type Kaskade::SymmetricPreconditioner< X, Xstar >::applyDp ( X &  x,
Xstar const &  y 
)
pure virtual

◆ category()

template<class X , class Xstar >
virtual Dune::SolverCategory::Category Kaskade::SymmetricPreconditioner< X, Xstar >::category ( ) const
inlineoverridevirtual

returns the category of the operator

From the Dune doxygen documentation it is unclear what this is supposed to mean. We return a dummy here.

Definition at line 242 of file symmetricOperators.hh.

◆ post()

template<class X , class Xstar >
virtual void Kaskade::SymmetricPreconditioner< X, Xstar >::post ( X &  x)
inlinevirtual

Preconditioner cleanup.

The provided default implementation does nothing.

Reimplemented in Kaskade::HierarchicalBasisPreconditioner< Grid, Domain, Range >, and Kaskade::SymmetricPreconditionerWrapper< X, Xstar >.

Definition at line 225 of file symmetricOperators.hh.

◆ pre()

template<class X , class Xstar >
virtual void Kaskade::SymmetricPreconditioner< X, Xstar >::pre ( X &  ,
Xstar &   
)
inlinevirtual

Preconditioner preparation.

The provided default implementation does nothing.

Reimplemented in Kaskade::HierarchicalBasisPreconditioner< Grid, Domain, Range >, and Kaskade::SymmetricPreconditionerWrapper< X, Xstar >.

Definition at line 218 of file symmetricOperators.hh.

◆ requiresInitializedInput()

template<class X , class Xstar >
virtual bool Kaskade::SymmetricPreconditioner< X, Xstar >::requiresInitializedInput ( ) const
pure virtual

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