KASKADE 7 development version
|
Wrapper class presenting a symmetric preconditioner interface for any preconditioner. More...
#include <symmetricOperators.hh>
Wrapper class presenting a symmetric preconditioner interface for any preconditioner.
Use this only if you know that the preconditioner is in fact symmetric.
Definition at line 288 of file symmetricOperators.hh.
Public Types | |
typedef X::field_type | field_type |
Public Member Functions | |
SymmetricPreconditionerWrapper (Dune::Preconditioner< X, Xstar > &B_, DualPairing< X, Xstar > const &dualPairing_) | |
Constructor. More... | |
virtual void | pre (X &x, Xstar &y) |
Preconditioner preparation. More... | |
virtual void | post (X &x) |
Preconditioner cleanup. More... | |
virtual void | apply (X &x, Xstar const &y) |
Computes \( x \leftarrow By \) . More... | |
virtual field_type | applyDp (X &x, Xstar const &y) |
Computes \( x \leftarrow By \) and returns \( \langle By, y \rangle \). More... | |
virtual bool | requiresInitializedInput () const |
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... | |
typedef X::field_type Kaskade::SymmetricPreconditionerWrapper< X, Xstar >::field_type |
Definition at line 291 of file symmetricOperators.hh.
|
inline |
Constructor.
B | the (hopefully symmetric) preconditioner |
dualPairing | the dual pairing with respect to which the operator is symmetric |
Both arguments have to exist during the lifetime of the SymmetricLinearOperatorWrapper object.
Definition at line 301 of file symmetricOperators.hh.
|
inlinevirtual |
Computes \( x \leftarrow By \) .
The default implementation evaluates both quantities sequentially, without any performance gain.
Definition at line 319 of file symmetricOperators.hh.
|
inlinevirtual |
Computes \( x \leftarrow By \) and returns \( \langle By, y \rangle \).
The default implementation evaluates both quantities sequentially, without any performance gain.
Implements Kaskade::SymmetricPreconditioner< X, Xstar >.
Definition at line 329 of file symmetricOperators.hh.
|
inlineoverridevirtualinherited |
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.
|
inlinevirtual |
Preconditioner cleanup.
The provided default implementation does nothing.
Reimplemented from Kaskade::SymmetricPreconditioner< X, Xstar >.
Definition at line 309 of file symmetricOperators.hh.
|
inlinevirtual |
Preconditioner preparation.
The provided default implementation does nothing.
Reimplemented from Kaskade::SymmetricPreconditioner< X, Xstar >.
Definition at line 304 of file symmetricOperators.hh.
|
inlinevirtual |
Returns true if the target vector x has to be initialized to zero before calling apply or applyDp.
Does not assume anything about the preconditioner and hence returns true in any case.
Implements Kaskade::SymmetricPreconditioner< X, Xstar >.
Definition at line 340 of file symmetricOperators.hh.