42 #ifndef THYRA_PRECONDITIONER_BASE_HPP 43 #define THYRA_PRECONDITIONER_BASE_HPP 45 #include "Thyra_OperatorSolveTypes.hpp" 46 #include "Teuchos_Describable.hpp" 88 template<
class Scalar>
89 class PreconditionerBase :
virtual public Teuchos::Describable
113 virtual Teuchos::RCP<const LinearOpBase<Scalar> >
getLeftPrecOp()
const = 0;
132 virtual Teuchos::RCP<const LinearOpBase<Scalar> >
getRightPrecOp()
const = 0;
158 PreconditionerBase<Scalar>&
159 operator=(
const PreconditionerBase<Scalar>&);
167 #endif // THYRA_PRECONDITIONER_BASE_HPP virtual Teuchos::RCP< const LinearOpBase< Scalar > > getLeftPrecOp() const =0
Return a const left preconditioner linear operator if one is designed or targeted to be applied on th...
virtual Teuchos::RCP< LinearOpBase< Scalar > > getNonconstRightPrecOp()=0
Return a non-const right preconditioner linear operator if one is designed or targeted to be applied ...
virtual bool isUnspecifiedPrecOpConst() const =0
Return if the underlying unspecified preconditioner operator is const-only or allows non-const access...
virtual Teuchos::RCP< LinearOpBase< Scalar > > getNonconstUnspecifiedPrecOp()=0
Return a non-const generic preconditioner linear operator that is not designed or targeted to be appl...
virtual Teuchos::RCP< LinearOpBase< Scalar > > getNonconstLeftPrecOp()=0
Return a non-const left preconditioner linear operator if one is designed or targeted to be applied o...
virtual Teuchos::RCP< const LinearOpBase< Scalar > > getRightPrecOp() const =0
Return a const right preconditioner linear operator if one is designed or targeted to be applied on t...
virtual Teuchos::RCP< const LinearOpBase< Scalar > > getUnspecifiedPrecOp() const =0
Return a const generic preconditioner linear operator that is not designed or targeted to be applied ...
virtual bool isLeftPrecOpConst() const =0
Return if the underlying left preconditioner operator is const-only or allows non-const access...
virtual bool isRightPrecOpConst() const =0
Return if the underlying right preconditioner operator is const-only or allows non-const access...