Thyra::PreconditionerBase< RangeScalar, DomainScalar > Class Template Reference

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

#include <Thyra_PreconditionerBase.hpp>

Inheritance diagram for Thyra::PreconditionerBase< RangeScalar, DomainScalar >:

[legend]
List of all members.

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

Detailed Description

template<class RangeScalar, class DomainScalar = RangeScalar>
class Thyra::PreconditionerBase< RangeScalar, DomainScalar >

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

This class supports four different kinds of preconditioners:

Definition at line 72 of file Thyra_PreconditionerBase.hpp.


Member Function Documentation

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual bool Thyra::PreconditionerBase< RangeScalar, DomainScalar >::isLeftPrecOpConst (  )  const [pure virtual]

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

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual Teuchos::RCP<LinearOpBase<DomainScalar,RangeScalar> > Thyra::PreconditionerBase< RangeScalar, DomainScalar >::getNonconstLeftPrecOp (  )  [pure virtual]

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

Preconditions:

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual Teuchos::RCP<const LinearOpBase<DomainScalar,RangeScalar> > Thyra::PreconditionerBase< RangeScalar, DomainScalar >::getLeftPrecOp (  )  const [pure virtual]

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

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual bool Thyra::PreconditionerBase< RangeScalar, DomainScalar >::isRightPrecOpConst (  )  const [pure virtual]

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

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual Teuchos::RCP<LinearOpBase<DomainScalar,RangeScalar> > Thyra::PreconditionerBase< RangeScalar, DomainScalar >::getNonconstRightPrecOp (  )  [pure virtual]

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

Preconditions:

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual Teuchos::RCP<const LinearOpBase<DomainScalar,RangeScalar> > Thyra::PreconditionerBase< RangeScalar, DomainScalar >::getRightPrecOp (  )  const [pure virtual]

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

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual bool Thyra::PreconditionerBase< RangeScalar, DomainScalar >::isUnspecifiedPrecOpConst (  )  const [pure virtual]

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

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual Teuchos::RCP<LinearOpBase<DomainScalar,RangeScalar> > Thyra::PreconditionerBase< RangeScalar, DomainScalar >::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.

template<class RangeScalar, class DomainScalar = RangeScalar>
virtual Teuchos::RCP<const LinearOpBase<DomainScalar,RangeScalar> > Thyra::PreconditionerBase< RangeScalar, DomainScalar >::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:


The documentation for this class was generated from the following file:
Generated on Tue Oct 20 12:46:48 2009 for Thyra ANA Operator Solve Interfaces by doxygen 1.4.7