Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Thyra::PreconditionerBase< Scalar > Class Template Referenceabstract

Simple interface class to access a precreated preconditioner as one or more linear operators objects and information on how they are meant to be applied. More...

#include <Thyra_PreconditionerBase.hpp>

Inheritance diagram for Thyra::PreconditionerBase< Scalar >:
Inheritance graph
[legend]

Pure virtual public functions that must be overridden in subclasses

virtual bool isLeftPrecOpConst () const =0
 Return if the underlying left preconditioner operator is const-only or allows non-const access. More...
 
virtual Teuchos::RCP
< LinearOpBase< Scalar > > 
getNonconstLeftPrecOp ()=0
 Return a non-const left preconditioner linear operator if one is designed or targeted to be applied on the left. More...
 
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 the left. More...
 
virtual bool isRightPrecOpConst () const =0
 Return if the underlying right preconditioner operator is const-only or allows non-const access. More...
 
virtual Teuchos::RCP
< LinearOpBase< Scalar > > 
getNonconstRightPrecOp ()=0
 Return a non-const right preconditioner linear operator if one is designed or targeted to be applied on the right. More...
 
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 the right. More...
 
virtual bool isUnspecifiedPrecOpConst () const =0
 Return if the underlying unspecified preconditioner operator is const-only or allows non-const access. More...
 
virtual Teuchos::RCP
< LinearOpBase< Scalar > > 
getNonconstUnspecifiedPrecOp ()=0
 Return a non-const generic preconditioner linear operator that is not designed or targeted to be applied on the left or on the right. More...
 
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 on the left or on the right. More...
 

Detailed Description

template<class Scalar>
class Thyra::PreconditionerBase< Scalar >

Simple interface class to access a precreated preconditioner as one or more linear operators objects and information on how they are meant to be applied.

This class supports four different kinds of preconditioners:

Definition at line 21 of file Thyra_OperatorSolveTypes.hpp.

Member Function Documentation

template<class Scalar >
virtual bool Thyra::PreconditionerBase< Scalar >::isLeftPrecOpConst ( ) const
pure virtual

Return if the underlying left preconditioner operator is const-only or allows non-const access.

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<LinearOpBase<Scalar> > Thyra::PreconditionerBase< Scalar >::getNonconstLeftPrecOp ( )
pure virtual

Return a non-const left preconditioner linear operator if one is designed or targeted to be applied on the left.

Preconditions:

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<const LinearOpBase<Scalar> > Thyra::PreconditionerBase< Scalar >::getLeftPrecOp ( ) const
pure virtual

Return a const left preconditioner linear operator if one is designed or targeted to be applied on the left.

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual bool Thyra::PreconditionerBase< Scalar >::isRightPrecOpConst ( ) const
pure virtual

Return if the underlying right preconditioner operator is const-only or allows non-const access.

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<LinearOpBase<Scalar> > Thyra::PreconditionerBase< Scalar >::getNonconstRightPrecOp ( )
pure virtual

Return a non-const right preconditioner linear operator if one is designed or targeted to be applied on the right.

Preconditions:

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<const LinearOpBase<Scalar> > Thyra::PreconditionerBase< Scalar >::getRightPrecOp ( ) const
pure virtual

Return a const right preconditioner linear operator if one is designed or targeted to be applied on the right.

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual bool Thyra::PreconditionerBase< Scalar >::isUnspecifiedPrecOpConst ( ) const
pure virtual

Return if the underlying unspecified preconditioner operator is const-only or allows non-const access.

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<LinearOpBase<Scalar> > Thyra::PreconditionerBase< Scalar >::getNonconstUnspecifiedPrecOp ( )
pure virtual

Return a non-const generic preconditioner linear operator that is not designed or targeted to be applied on the left or on the right.

Implemented in Thyra::DefaultPreconditioner< Scalar >.

template<class Scalar >
virtual Teuchos::RCP<const LinearOpBase<Scalar> > Thyra::PreconditionerBase< Scalar >::getUnspecifiedPrecOp ( ) const
pure virtual

Return a const generic preconditioner linear operator that is not designed or targeted to be applied on the left or on the right.

Preconditions:

Implemented in Thyra::DefaultPreconditioner< Scalar >.


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