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 80 of file Thyra_DefaultPreconditioner_decl.hpp.
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner | ( | ) |
Construct to uninitialized.
Definition at line 56 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 61 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 77 of file Thyra_DefaultPreconditioner_def.hpp.
Thyra::DefaultPreconditioner< Scalar >::DefaultPreconditioner | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | unspecifiedPrecOp | ) |
Construct a single unspecified preconditioner.
Definition at line 93 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 102 of file Thyra_DefaultPreconditioner_def.hpp.
void Thyra::DefaultPreconditioner< Scalar >::initializeLeft | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | leftPrecOp | ) |
Initialize a left preconditioner.
Definition at line 111 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 121 of file Thyra_DefaultPreconditioner_def.hpp.
void Thyra::DefaultPreconditioner< Scalar >::initializeRight | ( | const Teuchos::RCP< LinearOpBase< Scalar > > & | rightPrecOp | ) |
Initialize a right preconditioner.
Definition at line 131 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 141 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 151 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 163 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 175 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 185 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 195 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 279 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 305 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 207 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 215 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 223 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 230 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 238 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 246 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 253 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 261 of file Thyra_DefaultPreconditioner_def.hpp.
|
virtual |
Implements Thyra::PreconditionerBase< Scalar >.
Definition at line 269 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 233 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 248 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 263 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 277 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 291 of file Thyra_DefaultPreconditioner_decl.hpp.