10#ifndef THYRA_DEFAULT_ZERO_LINEAR_OP_DECL_HPP 
   11#define THYRA_DEFAULT_ZERO_LINEAR_OP_DECL_HPP 
   13#include "Thyra_ZeroLinearOpBase.hpp" 
   14#include "Thyra_RowStatLinearOpBase.hpp" 
   15#include "Thyra_ScaledLinearOpBase.hpp" 
   16#include "Teuchos_ConstNonconstObjectContainer.hpp" 
  143    const RowStatLinearOpBaseUtils::ERowStat rowStat) 
const;
 
  147    const RowStatLinearOpBaseUtils::ERowStat rowStat, 
 
 
 
 
  189template<
class Scalar>
 
  190RCP<const LinearOpBase<Scalar> >
 
  203template<
class Scalar>
 
Represents a zero linear operator M = 0.
 
virtual void scaleRightImpl(const VectorBase< Scalar > &)
 
virtual bool rowStatIsSupportedImpl(const RowStatLinearOpBaseUtils::ERowStat rowStat) const
 
virtual void scaleLeftImpl(const VectorBase< Scalar > &)
 
virtual bool supportsScaleLeftImpl() const
 
virtual bool supportsScaleRightImpl() const
 
void initialize(const RCP< const VectorSpaceBase< Scalar > > &range, const RCP< const VectorSpaceBase< Scalar > > &domain)
Initialize given a list of non-const linear operators.
 
virtual void getRowStatImpl(const RowStatLinearOpBaseUtils::ERowStat rowStat, const Teuchos::Ptr< VectorBase< Scalar > > &rowStatVec) const
 
void uninitialize()
Set to uninitialized.
 
RCP< const VectorSpaceBase< Scalar > > domain() const
Returns Teuchos::null if uninitialized.
 
RCP< const LinearOpBase< Scalar > > clone() const
 
RCP< const VectorSpaceBase< Scalar > > range() const
Returns Teuchos::null if uninitialized.
 
RCP< LinearOpBase< Scalar > > nonconstZero(const RCP< const VectorSpaceBase< Scalar > > &range, const RCP< const VectorSpaceBase< Scalar > > &domain)
Create a nonconst zero linear operator with given range and domain spaces.
 
std::string description() const
Prints just the name DefaultZeroLinearOp along with the overall dimensions.
 
DefaultZeroLinearOp()
Construct to uninitialized.
 
void applyImpl(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 
bool opSupportedImpl(EOpTransp M_trans) const
Returns true .
 
RCP< const LinearOpBase< Scalar > > zero(const RCP< const VectorSpaceBase< Scalar > > &range, const RCP< const VectorSpaceBase< Scalar > > &domain)
Create a zero linear operator with given range and domain spaces.
 
Interface for a collection of column vectors called a multi-vector.
 
Interface for exxtracting row statistics as a VectorBase from a supporting LinearOpBase object.
 
Applies left or right sclaing to the linear operator.
 
Abstract interface for finite-dimensional dense vectors.
 
Abstract interface for objects that represent a space for vectors.
 
Interface class for zero linear operators.
 
EOpTransp
Enumeration for determining how a linear operator is applied. `*.