|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
Default implementation of a PreconditionerBase that just accepts precreated preconditioner linear operators.
More...
#include <Thyra_DefaultPreconditioner_decl.hpp>

Private Attributes | |
| Teuchos::ConstNonconstObjectContainer < LinearOpBase< Scalar > > | leftPrecOp_ |
| Teuchos::ConstNonconstObjectContainer < LinearOpBase< Scalar > > | rightPrecOp_ |
| Teuchos::ConstNonconstObjectContainer < LinearOpBase< Scalar > > | unspecifiedPrecOp_ |
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 |
| | |
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:
DefaultPreconditioner(leftPrecOp,Teuchos::null); Single preconditioner linear operator designed or targeted to be applied on the right:
-
DefaultPreconditioner(Teuchos::null,righPrecOp);
Split two-sided preconditioner with linear operators designed or targeted to be applied on the left and the right:
-
DefaultPreconditioner(leftPrecOp,rightPrecOp);
Single preconditioner linear operator not designed or targeted to be applied on the left or the right:
DefaultPreconditioner(precOp); <>
ToDo: Finish documentation!
Definition at line 67 of file Thyra_DefaultPreconditioner_decl.hpp.
| Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner | ( | ) |
Construct to uninitialized.
Definition at line 43 of file Thyra_DefaultPreconditioner_def.hpp.
| Thyra::DefaultPreconditioner< Scalar >::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.
Definition at line 48 of file Thyra_DefaultPreconditioner_def.hpp.
| Thyra::DefaultPreconditioner< Scalar >::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.
Definition at line 64 of file Thyra_DefaultPreconditioner_def.hpp.
| Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | unspecifiedPrecOp | ) |
Construct a single unspecified preconditioner.
Definition at line 80 of file Thyra_DefaultPreconditioner_def.hpp.
| Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | unspecifiedPrecOp | ) |
Construct a const-only single unspecified preconditioner.
Definition at line 89 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeLeft | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | leftPrecOp | ) |
Initialize a left preconditioner.
Definition at line 98 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeLeft | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | leftPrecOp | ) |
Initialize a const-only left preconditioner.
Definition at line 108 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeRight | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | rightPrecOp | ) |
Initialize a right preconditioner.
Definition at line 118 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeRight | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | rightPrecOp | ) |
Initialize a const-only right preconditioner.
Definition at line 128 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeLeftRight | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | leftPrecOp, |
| const Teuchos::RCP< LinearOpBase< Scalar > > & | rightPrecOp | ||
| ) |
Initialize a split left/right preconditioner.
Definition at line 138 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeLeftRight | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | leftPrecOp, |
| const Teuchos::RCP< const LinearOpBase< Scalar > > & | rightPrecOp | ||
| ) |
Initialize a const-only split left/right preconditioner.
Definition at line 150 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeUnspecified | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | unspecifiedPrecOp | ) |
Initialize a single unspecified preconditioner operator.
Definition at line 162 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::initializeUnspecified | ( | const Teuchos::RCP< const LinearOpBase< Scalar > > & | unspecifiedPrecOp | ) |
Initialize a const-only single unspecified preconditioner operator.
Definition at line 172 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::uninitialize | ( | ) |
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.
| std::string Thyra::DefaultPreconditioner< Scalar >::description | ( | ) | const |
Definition at line 266 of file Thyra_DefaultPreconditioner_def.hpp.
| void Thyra::DefaultPreconditioner< Scalar >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel | ||
| ) | const |
Definition at line 292 of file Thyra_DefaultPreconditioner_def.hpp.
| bool Thyra::DefaultPreconditioner< Scalar >::isLeftPrecOpConst | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 194 of file Thyra_DefaultPreconditioner_def.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getNonconstLeftPrecOp | ( | ) | [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 202 of file Thyra_DefaultPreconditioner_def.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getLeftPrecOp | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 210 of file Thyra_DefaultPreconditioner_def.hpp.
| bool Thyra::DefaultPreconditioner< Scalar >::isRightPrecOpConst | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 217 of file Thyra_DefaultPreconditioner_def.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getNonconstRightPrecOp | ( | ) | [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 225 of file Thyra_DefaultPreconditioner_def.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getRightPrecOp | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 233 of file Thyra_DefaultPreconditioner_def.hpp.
| bool Thyra::DefaultPreconditioner< Scalar >::isUnspecifiedPrecOpConst | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 240 of file Thyra_DefaultPreconditioner_def.hpp.
| Teuchos::RCP< LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getNonconstUnspecifiedPrecOp | ( | ) | [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 248 of file Thyra_DefaultPreconditioner_def.hpp.
| Teuchos::RCP< const LinearOpBase< Scalar > > Thyra::DefaultPreconditioner< Scalar >::getUnspecifiedPrecOp | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 256 of file Thyra_DefaultPreconditioner_def.hpp.
| 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.
| 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.
| 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.
| 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.
Teuchos::ConstNonconstObjectContainer<LinearOpBase<Scalar> > Thyra::DefaultPreconditioner< Scalar >::leftPrecOp_ [private] |
Definition at line 203 of file Thyra_DefaultPreconditioner_decl.hpp.
Teuchos::ConstNonconstObjectContainer<LinearOpBase<Scalar> > Thyra::DefaultPreconditioner< Scalar >::rightPrecOp_ [private] |
Definition at line 204 of file Thyra_DefaultPreconditioner_decl.hpp.
Teuchos::ConstNonconstObjectContainer<LinearOpBase<Scalar> > Thyra::DefaultPreconditioner< Scalar >::unspecifiedPrecOp_ [private] |
Definition at line 205 of file Thyra_DefaultPreconditioner_decl.hpp.
1.7.4