PlayaPreconditionerBase.hpp
00001
00002
00003
00004
00005 #ifndef PLAYA_PRECONDITIONERBASE_HPP
00006 #define PLAYA_PRECONDITIONERBASE_HPP
00007
00008 #include "PlayaDefs.hpp"
00009 #include "PlayaVectorDecl.hpp"
00010 #include "PlayaLinearOperatorDecl.hpp"
00011 #include "Teuchos_ParameterList.hpp"
00012
00013
00014 namespace Playa
00015 {
00016 using namespace Teuchos;
00017
00027 template <class Scalar>
00028 class PreconditionerBase : public Playa::Handleable<PreconditionerBase<Scalar> >
00029 {
00030 public:
00032 PreconditionerBase() {;}
00033
00035 virtual ~PreconditionerBase(){;}
00036
00037
00039 virtual LinearOperator<Scalar> left() const = 0 ;
00040
00042 virtual LinearOperator<Scalar> right() const = 0 ;
00043
00045 virtual bool hasLeft() const = 0 ;
00046
00049 virtual bool hasRight() const = 0 ;
00050
00051 private:
00052 };
00053
00054 }
00055
00056 #endif