|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
Default concrete LinearOpBase subclass for diagonal linear operators.
More...
#include <Thyra_DefaultDiagonalLinearOp_decl.hpp>

Private Attributes | |
| Teuchos::ConstNonconstObjectContainer < VectorBase< Scalar > > | diag_ |
Related Functions | |
(Note that these are not member functions.) | |
| template<class Scalar > | |
| RCP< const LinearOpBase< Scalar > > | diagonal (const RCP< VectorBase< Scalar > > &diag, const std::string &label="") |
| Nonmember constructor function. | |
Constructors/initializers/accessors | |
| DefaultDiagonalLinearOp () | |
| Constructs to uninitialized. | |
| DefaultDiagonalLinearOp (const RCP< const VectorSpaceBase< Scalar > > &space) | |
Calls initialize() to construct given a vector space. | |
| DefaultDiagonalLinearOp (const RCP< VectorBase< Scalar > > &diag) | |
Calls initialize() to construct for a non-const diagonal vector. | |
| DefaultDiagonalLinearOp (const RCP< const VectorBase< Scalar > > &diag) | |
Calls initialize() to construct for a const diagonal vector. | |
| void | initialize (const RCP< const VectorSpaceBase< Scalar > > &space) |
| Initialize given a vector space which allocates a vector internally. | |
| void | initialize (const RCP< VectorBase< Scalar > > &diag) |
| Initialize given a non-const diagonal vector. | |
| void | initialize (const RCP< const VectorBase< Scalar > > &diag) |
| Initialize given a const diagonal vector. | |
| void | uninitialize () |
| Uninitialize. | |
Overridden from DiagonalLinearOpBase | |
| bool | isDiagConst () const |
| | |
| RCP< VectorBase< Scalar > > | getNonconstDiag () |
| | |
| RCP< const VectorBase< Scalar > > | getDiag () const |
| | |
Overridden from LinearOpBase | |
| RCP< const VectorSpaceBase < Scalar > > | range () const |
Returns this->getDiag()->space(). | |
| RCP< const VectorSpaceBase < Scalar > > | domain () const |
Returns this->getDiag()->space(). | |
| RCP< const LinearOpBase< Scalar > > | clone () const |
| | |
Protected functions overridden from LinearOpBase | |
| bool | opSupportedImpl (EOpTransp M_trans) const |
| | |
| void | applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const |
| | |
Default concrete LinearOpBase subclass for diagonal linear operators.
This class represents a diagonal linear operator M of the form:
M = diag(diag)
where diag is a VectorBase object.
The defined operator implements this->apply() as follows:
y = alpha*op(M)*x + beta*y => y(i) = alpha*diag(i)*x(i) + beta*y(i), for i = 0 ... n-1
where n = this->domain()->dim().
Definition at line 69 of file Thyra_DefaultDiagonalLinearOp_decl.hpp.
| Thyra::DefaultDiagonalLinearOp< Scalar >::DefaultDiagonalLinearOp | ( | ) |
Constructs to uninitialized.
Postconditions:
this->getDiag().get()==NULL Definition at line 47 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| Thyra::DefaultDiagonalLinearOp< Scalar >::DefaultDiagonalLinearOp | ( | const RCP< const VectorSpaceBase< Scalar > > & | space | ) |
Calls initialize() to construct given a vector space.
Definition at line 52 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| Thyra::DefaultDiagonalLinearOp< Scalar >::DefaultDiagonalLinearOp | ( | const RCP< VectorBase< Scalar > > & | diag | ) |
Calls initialize() to construct for a non-const diagonal vector.
Definition at line 61 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| Thyra::DefaultDiagonalLinearOp< Scalar >::DefaultDiagonalLinearOp | ( | const RCP< const VectorBase< Scalar > > & | diag | ) |
Calls initialize() to construct for a const diagonal vector.
Definition at line 70 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| void Thyra::DefaultDiagonalLinearOp< Scalar >::initialize | ( | const RCP< const VectorSpaceBase< Scalar > > & | space | ) |
Initialize given a vector space which allocates a vector internally.
| space | [in] Smart pointer to vector space |
Preconditions:
space.get()!=NULL Postconditions:
this->getNonconstDiag()->space()->isCompatible(*space)==true this->getDiag()->space()->isCompatible(*space)==true this->this->domain().get() == space.get() this->this->range().get() == space.get() Definition at line 79 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| void Thyra::DefaultDiagonalLinearOp< Scalar >::initialize | ( | const RCP< VectorBase< Scalar > > & | diag | ) |
Initialize given a non-const diagonal vector.
| diag | [in] Smart pointer to diagonal vector. |
Preconditions:
diag.get()!=NULL Postconditions:
this->getNonconstDiag().get()==diag.get() this->getDiag().get()==diag.get() this->this->domain().get() == diag->space().get() this->this->range().get() == diag->space().get() Definition at line 91 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| void Thyra::DefaultDiagonalLinearOp< Scalar >::initialize | ( | const RCP< const VectorBase< Scalar > > & | diag | ) |
Initialize given a const diagonal vector.
| diag | [in] Smart pointer to diagonal vector. |
Preconditions:
diag.get()!=NULL Postconditions:
this->getNonconstDiag() with throw an exception if called this->getDiag().get()==diag.get() this->this->domain().get() == diag->space().get() this->this->range().get() == diag->space().get() Definition at line 100 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| void Thyra::DefaultDiagonalLinearOp< Scalar >::uninitialize | ( | ) |
Uninitialize.
Postconditions:
this->getNonconstDiag().get()==NULL this->getDiag().get()==NULL this->this->domain().get()==NULL this->this->range().get()==NULL Note: If the client wants to hold on to the underlying wrapped diagonal vector then they had better grab it using this->getDiag() or this->getNonconstDiag() before calling this function!
Definition at line 109 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| bool Thyra::DefaultDiagonalLinearOp< Scalar >::isDiagConst | ( | ) | const [virtual] |
Implements Thyra::DiagonalLinearOpBase< Scalar >.
Definition at line 119 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| RCP< VectorBase< Scalar > > Thyra::DefaultDiagonalLinearOp< Scalar >::getNonconstDiag | ( | ) | [virtual] |
Implements Thyra::DiagonalLinearOpBase< Scalar >.
Definition at line 127 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| RCP< const VectorBase< Scalar > > Thyra::DefaultDiagonalLinearOp< Scalar >::getDiag | ( | ) | const [virtual] |
Implements Thyra::DiagonalLinearOpBase< Scalar >.
Definition at line 135 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultDiagonalLinearOp< Scalar >::range | ( | ) | const [virtual] |
Returns this->getDiag()->space().
Preconditions:
this->getDiag().get()!=NULL Implements Thyra::LinearOpBase< Scalar >.
Definition at line 146 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultDiagonalLinearOp< Scalar >::domain | ( | ) | const [virtual] |
Returns this->getDiag()->space().
Preconditions:
this->getDiag().get()!=NULL Implements Thyra::LinearOpBase< Scalar >.
Definition at line 154 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| RCP< const LinearOpBase< Scalar > > Thyra::DefaultDiagonalLinearOp< Scalar >::clone | ( | ) | const [virtual] |
Reimplemented from Thyra::LinearOpBase< Scalar >.
Definition at line 162 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| bool Thyra::DefaultDiagonalLinearOp< Scalar >::opSupportedImpl | ( | EOpTransp | M_trans | ) | const [protected, virtual] |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 175 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
| void Thyra::DefaultDiagonalLinearOp< Scalar >::applyImpl | ( | const EOpTransp | M_trans, |
| const MultiVectorBase< Scalar > & | X, | ||
| const Ptr< MultiVectorBase< Scalar > > & | Y, | ||
| const Scalar | alpha, | ||
| const Scalar | beta | ||
| ) | const [protected, virtual] |
Implements Thyra::LinearOpBase< Scalar >.
Definition at line 182 of file Thyra_DefaultDiagonalLinearOp_def.hpp.
References Thyra::MultiVectorBase< Scalar >::col(), Thyra::LinearOpBase< Scalar >::domain(), Thyra::ele_wise_conj_prod(), Thyra::ele_wise_prod(), Thyra::NOTRANS, THYRA_ASSERT_LINEAR_OP_MULTIVEC_APPLY_SPACES, and Thyra::TRANS.
| RCP< const LinearOpBase< Scalar > > diagonal | ( | const RCP< VectorBase< Scalar > > & | diag, |
| const std::string & | label = "" |
||
| ) | [related] |
Nonmember constructor function.
Definition at line 238 of file Thyra_DefaultDiagonalLinearOp_decl.hpp.
Referenced by exampleImplicitlyComposedLinearOperators().
Teuchos::ConstNonconstObjectContainer<VectorBase<Scalar> > Thyra::DefaultDiagonalLinearOp< Scalar >::diag_ [private] |
Definition at line 227 of file Thyra_DefaultDiagonalLinearOp_decl.hpp.
1.7.4