PreconditionerBase that just accepts precreated preconditioner linear operators.
More...
#include <Thyra_DefaultPreconditionerDecl.hpp>
Inheritance diagram for Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >:
Constructors/initializers/accessors | |
| DefaultPreconditioner () | |
| Construct to uninitialized. | |
| DefaultPreconditioner (const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &leftPrecOp, const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &rightPrecOp) | |
| Construct a left-only, or right-only, or split left/right preconditioner. | |
| DefaultPreconditioner (const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &leftPrecOp, const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &rightPrecOp) | |
| Construct a const-only left-only, or right-only, or split left/right preconditioner. | |
| DefaultPreconditioner (const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &unspecifiedPrecOp) | |
| Construct a single unspecified preconditioner. | |
| DefaultPreconditioner (const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &unspecifiedPrecOp) | |
| Construct a const-only single unspecified preconditioner. | |
| void | initializeLeft (const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &leftPrecOp) |
| Initialize a left preconditioner. | |
| void | initializeLeft (const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &leftPrecOp) |
| Initialize a const-only left preconditioner. | |
| void | initializeRight (const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &rightPrecOp) |
| Initialize a right preconditioner. | |
| void | initializeRight (const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &rightPrecOp) |
| Initialize a const-only right preconditioner. | |
| void | initializeLeftRight (const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &leftPrecOp, const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &rightPrecOp) |
| Initialize a split left/right preconditioner. | |
| void | initializeLeftRight (const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &leftPrecOp, const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &rightPrecOp) |
| Initialize a const-only split left/right preconditioner. | |
| void | initializeUnspecified (const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > &unspecifiedPrecOp) |
| Initialize a single unspecified preconditioner operator. | |
| void | initializeUnspecified (const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > &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< RangeScalar, DomainScalar > > | getNonconstLeftPrecOp () |
| | |
| Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > | getLeftPrecOp () const |
| | |
| bool | isRightPrecOpConst () const |
| | |
| Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > | getNonconstRightPrecOp () |
| | |
| Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > | getRightPrecOp () const |
| | |
| bool | isUnspecifiedPrecOpConst () const |
| | |
| Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > | getNonconstUnspecifiedPrecOp () |
| | |
| Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > | getUnspecifiedPrecOp () const |
| | |
Related Functions | |
| (Note that these are not member functions.) | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
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 65 of file Thyra_DefaultPreconditionerDecl.hpp.
| Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::DefaultPreconditioner | ( | ) |
| Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::DefaultPreconditioner | ( | const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | leftPrecOp, | |
| const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | rightPrecOp | |||
| ) |
Construct a left-only, or right-only, or split left/right preconditioner.
Definition at line 43 of file Thyra_DefaultPreconditioner.hpp.
| Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::DefaultPreconditioner | ( | const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | leftPrecOp, | |
| const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | rightPrecOp | |||
| ) |
Construct a const-only left-only, or right-only, or split left/right preconditioner.
Definition at line 56 of file Thyra_DefaultPreconditioner.hpp.
| Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::DefaultPreconditioner | ( | const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | unspecifiedPrecOp | ) |
Construct a single unspecified preconditioner.
Definition at line 71 of file Thyra_DefaultPreconditioner.hpp.
| Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::DefaultPreconditioner | ( | const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | unspecifiedPrecOp | ) |
Construct a const-only single unspecified preconditioner.
Definition at line 79 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeLeft | ( | const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | leftPrecOp | ) |
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeLeft | ( | const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | leftPrecOp | ) |
Initialize a const-only left preconditioner.
Definition at line 96 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeRight | ( | const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | rightPrecOp | ) |
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeRight | ( | const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | rightPrecOp | ) |
Initialize a const-only right preconditioner.
Definition at line 114 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeLeftRight | ( | const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | leftPrecOp, | |
| const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | rightPrecOp | |||
| ) |
Initialize a split left/right preconditioner.
Definition at line 123 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeLeftRight | ( | const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | leftPrecOp, | |
| const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | rightPrecOp | |||
| ) |
Initialize a const-only split left/right preconditioner.
Definition at line 134 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeUnspecified | ( | const Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > & | unspecifiedPrecOp | ) |
Initialize a single unspecified preconditioner operator.
Definition at line 145 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::initializeUnspecified | ( | const Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > & | unspecifiedPrecOp | ) |
Initialize a const-only single unspecified preconditioner operator.
Definition at line 154 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::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 163 of file Thyra_DefaultPreconditioner.hpp.
| std::string Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::description | ( | ) | const [virtual] |
Reimplemented from Teuchos::Describable.
Definition at line 237 of file Thyra_DefaultPreconditioner.hpp.
| void Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::describe | ( | Teuchos::FancyOStream & | out, | |
| const Teuchos::EVerbosityLevel | verbLevel | |||
| ) | const [virtual] |
Reimplemented from Teuchos::Describable.
Definition at line 262 of file Thyra_DefaultPreconditioner.hpp.
| bool Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::isLeftPrecOpConst | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 173 of file Thyra_DefaultPreconditioner.hpp.
| Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::getNonconstLeftPrecOp | ( | ) | [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 180 of file Thyra_DefaultPreconditioner.hpp.
| Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::getLeftPrecOp | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 187 of file Thyra_DefaultPreconditioner.hpp.
| bool Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::isRightPrecOpConst | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 193 of file Thyra_DefaultPreconditioner.hpp.
| Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::getNonconstRightPrecOp | ( | ) | [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 200 of file Thyra_DefaultPreconditioner.hpp.
| Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::getRightPrecOp | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 207 of file Thyra_DefaultPreconditioner.hpp.
| bool Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::isUnspecifiedPrecOpConst | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 213 of file Thyra_DefaultPreconditioner.hpp.
| Teuchos::RCP< LinearOpBase< RangeScalar, DomainScalar > > Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::getNonconstUnspecifiedPrecOp | ( | ) | [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 220 of file Thyra_DefaultPreconditioner.hpp.
| Teuchos::RCP< const LinearOpBase< RangeScalar, DomainScalar > > Thyra::DefaultPreconditioner< RangeScalar, DomainScalar >::getUnspecifiedPrecOp | ( | ) | const [virtual] |
Implements Thyra::PreconditionerBase< RangeScalar, DomainScalar >.
Definition at line 227 of file Thyra_DefaultPreconditioner.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 217 of file Thyra_DefaultPreconditionerDecl.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 231 of file Thyra_DefaultPreconditionerDecl.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 245 of file Thyra_DefaultPreconditionerDecl.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 259 of file Thyra_DefaultPreconditionerDecl.hpp.
1.4.7