Thyra
Version of the Day
|
Default implementation of a PreconditionerBase
that just accepts precreated preconditioner linear operators.
More...
#include <Thyra_DefaultPreconditioner_decl.hpp>
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. More... | |
template<class Scalar > | |
Teuchos::RCP < DefaultPreconditioner < Scalar > > | nonconstUnspecifiedPrec (const Teuchos::RCP< LinearOpBase< Scalar > > &unspecifiedPrecOp) |
Create a precondioner from a single linear operator not targeted to be used on the left or the right. More... | |
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. More... | |
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. More... | |
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. More... | |
Constructors/initializers/accessors | |
DefaultPreconditioner () | |
Construct to uninitialized. More... | |
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. More... | |
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. More... | |
DefaultPreconditioner (const Teuchos::RCP< LinearOpBase< Scalar > > &unspecifiedPrecOp) | |
Construct a single unspecified preconditioner. More... | |
DefaultPreconditioner (const Teuchos::RCP< const LinearOpBase< Scalar > > &unspecifiedPrecOp) | |
Construct a const-only single unspecified preconditioner. More... | |
void | initializeLeft (const Teuchos::RCP< LinearOpBase< Scalar > > &leftPrecOp) |
Initialize a left preconditioner. More... | |
void | initializeLeft (const Teuchos::RCP< const LinearOpBase< Scalar > > &leftPrecOp) |
Initialize a const-only left preconditioner. More... | |
void | initializeRight (const Teuchos::RCP< LinearOpBase< Scalar > > &rightPrecOp) |
Initialize a right preconditioner. More... | |
void | initializeRight (const Teuchos::RCP< const LinearOpBase< Scalar > > &rightPrecOp) |
Initialize a const-only right preconditioner. More... | |
void | initializeLeftRight (const Teuchos::RCP< LinearOpBase< Scalar > > &leftPrecOp, const Teuchos::RCP< LinearOpBase< Scalar > > &rightPrecOp) |
Initialize a split left/right preconditioner. More... | |
void | initializeLeftRight (const Teuchos::RCP< const LinearOpBase< Scalar > > &leftPrecOp, const Teuchos::RCP< const LinearOpBase< Scalar > > &rightPrecOp) |
Initialize a const-only split left/right preconditioner. More... | |
void | initializeUnspecified (const Teuchos::RCP< LinearOpBase< Scalar > > &unspecifiedPrecOp) |
Initialize a single unspecified preconditioner operator. More... | |
void | initializeUnspecified (const Teuchos::RCP< const LinearOpBase< Scalar > > &unspecifiedPrecOp) |
Initialize a const-only single unspecified preconditioner operator. More... | |
void | uninitialize () |
Uninitialize. More... | |
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 preconditioner 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 48 of file Thyra_DefaultPreconditioner_decl.hpp.
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner | ( | ) |
Construct to uninitialized.
Definition at line 24 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 29 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 45 of file Thyra_DefaultPreconditioner_def.hpp.
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | unspecifiedPrecOp | ) |
Construct a single unspecified preconditioner.
Definition at line 61 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 70 of file Thyra_DefaultPreconditioner_def.hpp.
void Thyra::DefaultPreconditioner< Scalar >::initializeLeft | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | leftPrecOp | ) |
Initialize a left preconditioner.
Definition at line 79 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 89 of file Thyra_DefaultPreconditioner_def.hpp.
void Thyra::DefaultPreconditioner< Scalar >::initializeRight | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | rightPrecOp | ) |
Initialize a right preconditioner.
Definition at line 99 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 109 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 119 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 131 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 143 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 153 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 163 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 247 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 273 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 175 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 183 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 191 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 198 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 206 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 214 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 221 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 229 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 237 of file Thyra_DefaultPreconditioner_def.hpp.
|
related |
Create a precondioner from a single linear operator not targeted to be used on the left or the right.
Definition at line 201 of file Thyra_DefaultPreconditioner_decl.hpp.
|
related |
Create a precondioner from a single linear operator not targeted to be used on the left or the right.
Definition at line 216 of file Thyra_DefaultPreconditioner_decl.hpp.
|
related |
Create a precondioner from a single linear operator targeted to be used on the left.
Definition at line 231 of file Thyra_DefaultPreconditioner_decl.hpp.
|
related |
Create a precondioner from a single linear operator targeted to be used on the right.
Definition at line 245 of file Thyra_DefaultPreconditioner_decl.hpp.
|
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_DefaultPreconditioner_decl.hpp.