Public Member Functions | |
| PreconditionerBase () | |
| virtual | ~PreconditionerBase () |
| virtual LinearOperator< Scalar > | left () const =0 |
| virtual LinearOperator< Scalar > | right () const =0 |
| virtual bool | hasLeft () const =0 |
| virtual bool | hasRight () const =0 |
Base class for preconditioners. A general preconditioner object is split into a left preconditioner M1^-1 and a right preconditioner M2^-1. To solve A x = b, we define the auxiliary system M2^-1 y = x, and solve M1^-1 A M2^-1 y = M1^-1 b to obtain y. Having y, we can quickly recover x by applying M2^-1 to y.
The base class implements neither a left nor a right preconditioner.
Definition at line 65 of file PlayaPreconditionerBase.hpp.
| Playa::PreconditionerBase< Scalar >::PreconditionerBase | ( | ) | [inline] |
empty ctor
Definition at line 69 of file PlayaPreconditionerBase.hpp.
| virtual Playa::PreconditionerBase< Scalar >::~PreconditionerBase | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 72 of file PlayaPreconditionerBase.hpp.
| virtual bool Playa::PreconditionerBase< Scalar >::hasLeft | ( | ) | const [pure virtual] |
return true if this preconditioner has a nontrivial left component
Implemented in Playa::GenericRightPreconditioner< Scalar >, Playa::GenericLeftPreconditioner< Scalar >, Playa::GenericLeftPreconditioner< Scalar >, and Playa::GenericTwoSidedPreconditioner< Scalar >.
| virtual bool Playa::PreconditionerBase< Scalar >::hasRight | ( | ) | const [pure virtual] |
return true if this preconditioner has a nontrivial right component
Implemented in Playa::GenericLeftPreconditioner< Scalar >, Playa::GenericLeftPreconditioner< Scalar >, Playa::GenericRightPreconditioner< Scalar >, and Playa::GenericTwoSidedPreconditioner< Scalar >.
| virtual LinearOperator<Scalar> Playa::PreconditionerBase< Scalar >::left | ( | ) | const [pure virtual] |
| virtual LinearOperator<Scalar> Playa::PreconditionerBase< Scalar >::right | ( | ) | const [pure virtual] |