Thyra::DefaultPreconditioner< Scalar > Class Template Reference

Default implementation of a PreconditionerBase that just accepts precreated preconditioner linear operators. More...

#include <Thyra_DefaultPreconditioner_decl.hpp>

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

List of all members.

Related Functions

(Note that these are not member functions.)



template<class Scalar >
Teuchos::RCP< const
DefaultPreconditioner< Scalar > > 
unspecifiedPrec (const Teuchos::RCP< const LinearOpBase< Scalar > > &unspecifiedPrecOp)
 Create a precondioner from a single linear operator not targeted to be used on the left or the right.
template<class Scalar >
Teuchos::RCP< const
DefaultPreconditioner< Scalar > > 
leftPrec (const Teuchos::RCP< const LinearOpBase< Scalar > > &leftPrecOp)
 Create a precondioner from a single linear operator targeted to be used on the left.
template<class Scalar >
Teuchos::RCP< const
DefaultPreconditioner< Scalar > > 
rightPrec (const Teuchos::RCP< const LinearOpBase< Scalar > > &rightPrecOp)
 Create a precondioner from a single linear operator targeted to be used on the right.
template<class Scalar >
Teuchos::RCP< const
DefaultPreconditioner< Scalar > > 
splitPrec (const Teuchos::RCP< const LinearOpBase< Scalar > > &leftPrecOp, const Teuchos::RCP< const LinearOpBase< Scalar > > &rightPrecOp)
 Create a split precondioner from two linear operators, one to be applied on the left and one to be applied on the right.

Constructors/initializers/accessors



 DefaultPreconditioner ()
 Construct to uninitialized.
 DefaultPreconditioner (const Teuchos::RCP< LinearOpBase< Scalar > > &leftPrecOp, const Teuchos::RCP< LinearOpBase< Scalar > > &rightPrecOp)
 Construct a left-only, or right-only, or split left/right preconditioner.
 DefaultPreconditioner (const Teuchos::RCP< const LinearOpBase< Scalar > > &leftPrecOp, const Teuchos::RCP< const LinearOpBase< Scalar > > &rightPrecOp)
 Construct a const-only left-only, or right-only, or split left/right preconditioner.
 DefaultPreconditioner (const Teuchos::RCP< LinearOpBase< Scalar > > &unspecifiedPrecOp)
 Construct a single unspecified preconditioner.
 DefaultPreconditioner (const Teuchos::RCP< const LinearOpBase< Scalar > > &unspecifiedPrecOp)
 Construct a const-only single unspecified preconditioner.
void initializeLeft (const Teuchos::RCP< LinearOpBase< Scalar > > &leftPrecOp)
 Initialize a left preconditioner.
void initializeLeft (const Teuchos::RCP< const LinearOpBase< Scalar > > &leftPrecOp)
 Initialize a const-only left preconditioner.
void initializeRight (const Teuchos::RCP< LinearOpBase< Scalar > > &rightPrecOp)
 Initialize a right preconditioner.
void initializeRight (const Teuchos::RCP< const LinearOpBase< Scalar > > &rightPrecOp)
 Initialize a const-only right preconditioner.
void initializeLeftRight (const Teuchos::RCP< LinearOpBase< Scalar > > &leftPrecOp, const Teuchos::RCP< LinearOpBase< Scalar > > &rightPrecOp)
 Initialize a split left/right preconditioner.
void initializeLeftRight (const Teuchos::RCP< const LinearOpBase< Scalar > > &leftPrecOp, const Teuchos::RCP< const LinearOpBase< Scalar > > &rightPrecOp)
 Initialize a const-only split left/right preconditioner.
void initializeUnspecified (const Teuchos::RCP< LinearOpBase< Scalar > > &unspecifiedPrecOp)
 Initialize a single unspecified preconditioner operator.
void initializeUnspecified (const Teuchos::RCP< const LinearOpBase< Scalar > > &unspecifiedPrecOp)
 Initialize a const-only single unspecified preconditioner operator.
void uninitialize ()
 Uninitialize.

Overridden from Teuchos::Describable



std::string description () const
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Overridden from PreconditionerBase



bool isLeftPrecOpConst () const
 
Teuchos::RCP< LinearOpBase
< Scalar > > 
getNonconstLeftPrecOp ()
 
Teuchos::RCP< const
LinearOpBase< Scalar > > 
getLeftPrecOp () const
 
bool isRightPrecOpConst () const
 
Teuchos::RCP< LinearOpBase
< Scalar > > 
getNonconstRightPrecOp ()
 
Teuchos::RCP< const
LinearOpBase< Scalar > > 
getRightPrecOp () const
 
bool isUnspecifiedPrecOpConst () const
 
Teuchos::RCP< LinearOpBase
< Scalar > > 
getNonconstUnspecifiedPrecOp ()
 
Teuchos::RCP< const
LinearOpBase< Scalar > > 
getUnspecifiedPrecOp () const
 

Detailed Description

template<class Scalar>
class Thyra::DefaultPreconditioner< Scalar >

Default implementation of a PreconditionerBase that just accepts precreated preconditioner linear operators.

Here is how to construct a precondtioner for the four different types of preconditioners:

Definition at line 67 of file Thyra_DefaultPreconditioner_decl.hpp.


Constructor & Destructor Documentation

template<class Scalar >
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner (  )  [inline]

Construct to uninitialized.

Definition at line 43 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner ( const Teuchos::RCP< LinearOpBase< Scalar > > &  leftPrecOp,
const Teuchos::RCP< LinearOpBase< Scalar > > &  rightPrecOp 
) [inline]

Construct a left-only, or right-only, or split left/right preconditioner.

Definition at line 48 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  leftPrecOp,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  rightPrecOp 
) [inline]

Construct a const-only left-only, or right-only, or split left/right preconditioner.

Definition at line 64 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner ( const Teuchos::RCP< LinearOpBase< Scalar > > &  unspecifiedPrecOp  )  [inline]

Construct a single unspecified preconditioner.

Definition at line 80 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  unspecifiedPrecOp  )  [inline]

Construct a const-only single unspecified preconditioner.

Definition at line 89 of file Thyra_DefaultPreconditioner_def.hpp.


Member Function Documentation

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeLeft ( const Teuchos::RCP< LinearOpBase< Scalar > > &  leftPrecOp  )  [inline]

Initialize a left preconditioner.

Definition at line 98 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeLeft ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  leftPrecOp  )  [inline]

Initialize a const-only left preconditioner.

Definition at line 108 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeRight ( const Teuchos::RCP< LinearOpBase< Scalar > > &  rightPrecOp  )  [inline]

Initialize a right preconditioner.

Definition at line 118 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeRight ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  rightPrecOp  )  [inline]

Initialize a const-only right preconditioner.

Definition at line 128 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeLeftRight ( const Teuchos::RCP< LinearOpBase< Scalar > > &  leftPrecOp,
const Teuchos::RCP< LinearOpBase< Scalar > > &  rightPrecOp 
) [inline]

Initialize a split left/right preconditioner.

Definition at line 138 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeLeftRight ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  leftPrecOp,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  rightPrecOp 
) [inline]

Initialize a const-only split left/right preconditioner.

Definition at line 150 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeUnspecified ( const Teuchos::RCP< LinearOpBase< Scalar > > &  unspecifiedPrecOp  )  [inline]

Initialize a single unspecified preconditioner operator.

Definition at line 162 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::initializeUnspecified ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  unspecifiedPrecOp  )  [inline]

Initialize a const-only single unspecified preconditioner operator.

Definition at line 172 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::uninitialize (  )  [inline]

Uninitialize.

Note: If the client wants to access the underlying preconditioner operators, then it had better grab them with the below access functions before calling this function.

Definition at line 182 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
std::string Thyra::DefaultPreconditioner< Scalar >::description (  )  const [inline, virtual]

Reimplemented from Teuchos::Describable.

Definition at line 266 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
void Thyra::DefaultPreconditioner< Scalar >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel 
) const [inline, virtual]

Reimplemented from Teuchos::Describable.

Definition at line 292 of file Thyra_DefaultPreconditioner_def.hpp.

template<class Scalar >
bool Thyra::DefaultPreconditioner< Scalar >::isLeftPrecOpConst (  )  const [inline, virtual]
template<class Scalar >
Teuchos::RCP< LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getNonconstLeftPrecOp (  )  [inline, virtual]
template<class Scalar >
Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getLeftPrecOp (  )  const [inline, virtual]
template<class Scalar >
bool Thyra::DefaultPreconditioner< Scalar >::isRightPrecOpConst (  )  const [inline, virtual]
template<class Scalar >
Teuchos::RCP< LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getNonconstRightPrecOp (  )  [inline, virtual]
template<class Scalar >
Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getRightPrecOp (  )  const [inline, virtual]
template<class Scalar >
bool Thyra::DefaultPreconditioner< Scalar >::isUnspecifiedPrecOpConst (  )  const [inline, virtual]
template<class Scalar >
Teuchos::RCP< LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getNonconstUnspecifiedPrecOp (  )  [inline, virtual]
template<class Scalar >
Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getUnspecifiedPrecOp (  )  const [inline, virtual]

Friends And Related Function Documentation

template<class Scalar >
Teuchos::RCP< const DefaultPreconditioner< Scalar > > unspecifiedPrec ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  unspecifiedPrecOp  )  [related]

Create a precondioner from a single linear operator not targeted to be used on the left or the right.

Definition at line 219 of file Thyra_DefaultPreconditioner_decl.hpp.

template<class Scalar >
Teuchos::RCP< const DefaultPreconditioner< Scalar > > leftPrec ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  leftPrecOp  )  [related]

Create a precondioner from a single linear operator targeted to be used on the left.

Definition at line 233 of file Thyra_DefaultPreconditioner_decl.hpp.

template<class Scalar >
Teuchos::RCP< const DefaultPreconditioner< Scalar > > rightPrec ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  rightPrecOp  )  [related]

Create a precondioner from a single linear operator targeted to be used on the right.

Definition at line 247 of file Thyra_DefaultPreconditioner_decl.hpp.

template<class Scalar >
Teuchos::RCP< const DefaultPreconditioner< Scalar > > splitPrec ( const Teuchos::RCP< const LinearOpBase< Scalar > > &  leftPrecOp,
const Teuchos::RCP< const LinearOpBase< Scalar > > &  rightPrecOp 
) [related]

Create a split precondioner from two linear operators, one to be applied on the left and one to be applied on the right.

Definition at line 261 of file Thyra_DefaultPreconditioner_decl.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 10:00:50 2011 for Thyra by  doxygen 1.6.3