42 #ifndef THYRA_DEFAULT_ZERO_LINEAR_OP_DECL_HPP 43 #define THYRA_DEFAULT_ZERO_LINEAR_OP_DECL_HPP 45 #include "Thyra_ZeroLinearOpBase.hpp" 46 #include "Thyra_RowStatLinearOpBase.hpp" 47 #include "Thyra_ScaledLinearOpBase.hpp" 48 #include "Teuchos_ConstNonconstObjectContainer.hpp" 70 template<
class Scalar>
131 RCP< const VectorSpaceBase<Scalar> >
range()
const;
134 RCP< const VectorSpaceBase<Scalar> >
domain()
const;
137 RCP<const LinearOpBase<Scalar> >
clone()
const;
175 const RowStatLinearOpBaseUtils::ERowStat rowStat)
const;
179 const RowStatLinearOpBaseUtils::ERowStat rowStat,
207 RCP<const VectorSpaceBase<Scalar> > range_;
208 RCP<const VectorSpaceBase<Scalar> > domain_;
221 template<
class Scalar>
222 RCP<const LinearOpBase<Scalar> >
224 const RCP<
const VectorSpaceBase<Scalar> > &range,
225 const RCP<
const VectorSpaceBase<Scalar> > &domain
235 template<
class Scalar>
236 RCP<LinearOpBase<Scalar> >
238 const RCP<
const VectorSpaceBase<Scalar> > &range,
239 const RCP<
const VectorSpaceBase<Scalar> > &domain
246 #endif // THYRA_DEFAULT_ZERO_LINEAR_OP_DECL_HPP bool opSupportedImpl(EOpTransp M_trans) const
Returns true .
void uninitialize()
Set to uninitialized.
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
virtual void scaleLeftImpl(const VectorBase< Scalar > &row_scaling)
RCP< const VectorSpaceBase< Scalar > > range() const
Returns Teuchos::null if uninitialized.
virtual bool supportsScaleLeftImpl() const
RCP< const VectorSpaceBase< Scalar > > domain() const
Returns Teuchos::null if uninitialized.
Interface class for zero linear operators.
virtual bool supportsScaleRightImpl() const
Abstract interface for objects that represent a space for vectors.
void applyImpl(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
Interface for a collection of column vectors called a multi-vector.
virtual void scaleRightImpl(const VectorBase< Scalar > &col_scaling)
DefaultZeroLinearOp()
Construct to uninitialized.
Abstract interface for finite-dimensional dense vectors.
Applies left or right sclaing to the linear operator.
Interface for exxtracting row statistics as a VectorBase from a supporting LinearOpBase object...
virtual void getRowStatImpl(const RowStatLinearOpBaseUtils::ERowStat rowStat, const Teuchos::Ptr< VectorBase< Scalar > > &rowStatVec) const
virtual bool rowStatIsSupportedImpl(const RowStatLinearOpBaseUtils::ERowStat rowStat) const
Represents a zero linear operator M = 0.
std::string description() const
Prints just the name DefaultZeroLinearOp along with the overall dimensions.
RCP< const LinearOpBase< Scalar > > clone() const
void initialize(const RCP< const VectorSpaceBase< Scalar > > &range, const RCP< const VectorSpaceBase< Scalar > > &domain)
Initialize given a list of non-const linear operators.