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::RefCountPtr<
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::RefCountPtr<
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::RefCountPtr<
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::RefCountPtr<
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::RefCountPtr<
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::RefCountPtr<
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::RefCountPtr<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::RefCountPtr<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::RefCountPtr<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::RefCountPtr<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::RefCountPtr<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::RefCountPtr<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 Thu Sep 18 12:32:15 2008 for Thyra ANA Operator Solve Interfaces by doxygen 1.3.9.1