42#ifndef THYRA_DEFAULT_IDENTITY_LINEAR_OP_DECL_HPP
43#define THYRA_DEFAULT_IDENTITY_LINEAR_OP_DECL_HPP
45#include "Thyra_IdentityLinearOpBase.hpp"
46#include "Teuchos_ConstNonconstObjectContainer.hpp"
172template<
class Scalar>
176 const std::string &label =
""
Represents a identity linear operator M = I.
RCP< const VectorSpaceBase< Scalar > > domain() const
Returns Teuchos::null if uninitialized.
DefaultIdentityLinearOp()
Constructs to uninitialized.
bool opSupportedImpl(EOpTransp M_trans) const
Returns true .
RCP< const LinearOpBase< Scalar > > clone() const
RCP< const LinearOpBase< Scalar > > identity(const RCP< const VectorSpaceBase< Scalar > > &space, const std::string &label="")
Create an identity linear operator with given a vector space.
void applyImpl(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
RCP< const VectorSpaceBase< Scalar > > range() const
Returns Teuchos::null if uninitialized.
void initialize(const RCP< const VectorSpaceBase< Scalar > > &space)
Initialize given a list of non-const linear operators.
void uninitialize()
Set to uninitialized.
std::string description() const
Prints just the name DefaultIdentityLinearOp along with the overall dimensions.
Interface class for identity linear operators.
Interface for a collection of column vectors called a multi-vector.
Abstract interface for objects that represent a space for vectors.
EOpTransp
Enumeration for determining how a linear operator is applied. `*.