42 #ifndef THYRA_DIAGONAL_LINEAR_OP_DECL_HPP
43 #define THYRA_DIAGONAL_LINEAR_OP_DECL_HPP
45 #include "Thyra_DiagonalLinearOpBase.hpp"
46 #include "Teuchos_ConstNonconstObjectContainer.hpp"
81 template<
class Scalar>
249 template<
class Scalar>
253 const std::string &label =
""
259 dlo->setObjectLabel(label);
267 #endif // THYRA_DIAGONAL_LINEAR_OP_DECL_HPP
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
RCP< const VectorSpaceBase< Scalar > > domain() const
Returns this->getDiag()->space().
RCP< const LinearOpBase< Scalar > > diagonal(const RCP< VectorBase< Scalar > > &diag, const std::string &label="")
Nonmember constructor function.
RCP< const VectorBase< Scalar > > getDiag() const
bool opSupportedImpl(EOpTransp M_trans) const
Abstract interface for objects that represent a space for vectors.
RCP< const LinearOpBase< Scalar > > clone() const
void initialize(const RCP< const VectorSpaceBase< Scalar > > &space)
Initialize given a vector space which allocates a vector internally.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Interface for a collection of column vectors called a multi-vector.
Abstract interface for finite-dimensional dense vectors.
DefaultDiagonalLinearOp()
Constructs to uninitialized.
RCP< const VectorSpaceBase< Scalar > > range() const
Returns this->getDiag()->space().
void applyImpl(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
RCP< VectorBase< Scalar > > getNonconstDiag()
Interface class for for diagonal linear operators.
Default concrete LinearOpBase subclass for diagonal linear operators.
void uninitialize()
Uninitialize.