|
Thyra
Version of the Day
|
Interface class for for diagonal linear operators. More...
#include <Thyra_DiagonalLinearOpBase.hpp>

Pure virtual functions that must be overridden in subclass | |
| virtual bool | isDiagConst () const =0 |
| Returns true if the diagonal vector is const-only. More... | |
| virtual Teuchos::RCP < VectorBase< Scalar > > | getNonconstDiag ()=0 |
Returns the non-const diagonal vector diag. More... | |
| virtual Teuchos::RCP< const VectorBase< Scalar > > | getDiag () const =0 |
Returns the const diagonal vector diag. More... | |
Additional Inherited Members | |
Public Member Functions inherited from Thyra::LinearOpBase< Scalar > | |
| virtual RCP< const VectorSpaceBase< Scalar > > | range () const =0 |
Return a smart pointer for the range space for this operator. More... | |
| virtual RCP< const VectorSpaceBase< Scalar > > | domain () const =0 |
Return a smart pointer for the domain space for this operator. More... | |
| bool | opSupported (EOpTransp M_trans) const |
Return if the M_trans operation of apply() is supported or not. More... | |
| void | apply (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const |
Apply the linear operator to a multi-vector : Y = alpha*op(M)*X + beta*Y. More... | |
| virtual RCP< const LinearOpBase< Scalar > > | clone () const |
| Clone the linear operator object (if supported). More... | |
Protected Member Functions inherited from Thyra::LinearOpBase< Scalar > | |
| virtual bool | opSupportedImpl (EOpTransp M_trans) const =0 |
| Override in subclass. More... | |
| virtual void | applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const =0 |
| Override in subclass. More... | |
Related Functions inherited from Thyra::LinearOpBase< Scalar > | |
| template<class Scalar > | |
| bool | isFullyUninitialized (const LinearOpBase< Scalar > &M) |
| Determines if a linear operator is in the "Fully Uninitialized" state or not. More... | |
| template<class Scalar > | |
| bool | isPartiallyInitialized (const LinearOpBase< Scalar > &M) |
| Determines if a linear operator is in the "Partially Initialized" state or not. More... | |
| template<class Scalar > | |
| bool | isFullyInitialized (const LinearOpBase< Scalar > &M) |
| Determines if a linear operator is in the "Fully Initialized" state or not. More... | |
| template<class Scalar > | |
| bool | opSupported (const LinearOpBase< Scalar > &M, EOpTransp M_trans) |
| Determines if an operation is supported for a single scalar type. More... | |
| template<class Scalar > | |
| void | apply (const LinearOpBase< Scalar > &M, const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha=static_cast< Scalar >(1.0), const Scalar beta=static_cast< Scalar >(0.0)) |
Non-member function call for M.apply(...). More... | |
| void | apply (const LinearOpBase< double > &M, const EOpTransp M_trans, const MultiVectorBase< double > &X, const Ptr< MultiVectorBase< double > > &Y, const double alpha=1.0, const double beta=0.0) |
Calls apply<double>(...). More... | |
Interface class for for diagonal linear operators.
This interface represents a diagonal linear operator M of the form:
M = diag(diag)
where diag is a VectorBase object.
The operator subclass must implement 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 75 of file Thyra_DiagonalLinearOpBase.hpp.
|
pure virtual |
Returns true if the diagonal vector is const-only.
Implemented in Thyra::DefaultDiagonalLinearOp< Scalar >.
|
pure virtual |
Returns the non-const diagonal vector diag.
Preconditions:
getDiag().get()!=NULL] isDiagConst()==false Note that *this is not guaranteed to be fully modified until the RCP returned is deleted.
A return value of return.get()==NULL indicates that this is not fully initialized.
Implemented in Thyra::DefaultDiagonalLinearOp< Scalar >.
|
pure virtual |
Returns the const diagonal vector diag.
A return value of return.get()==NULL indicates that this is not fully initialized.
Implemented in Thyra::DefaultDiagonalLinearOp< Scalar >.
1.8.5