Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Related Functions | List of all members
Thyra::DefaultZeroLinearOp< Scalar > Class Template Reference

Represents a zero linear operator M = 0. More...

#include <Thyra_DefaultZeroLinearOp_decl.hpp>

Inheritance diagram for Thyra::DefaultZeroLinearOp< Scalar >:
Inheritance graph
[legend]

Related Functions

(Note that these are not member functions.)

template<class Scalar >
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. More...
 
template<class Scalar >
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. More...
 

Constructors/initializers/accessors

 DefaultZeroLinearOp ()
 Construct to uninitialized. More...
 
 DefaultZeroLinearOp (const RCP< const VectorSpaceBase< Scalar > > &range, const RCP< const VectorSpaceBase< Scalar > > &domain)
 
void initialize (const RCP< const VectorSpaceBase< Scalar > > &range, const RCP< const VectorSpaceBase< Scalar > > &domain)
 Initialize given a list of non-const linear operators. More...
 
void uninitialize ()
 Set to uninitialized. More...
 

Overridden from LinearOpBase

RCP< const VectorSpaceBase
< Scalar > > 
range () const
 Returns Teuchos::null if uninitialized. More...
 
RCP< const VectorSpaceBase
< Scalar > > 
domain () const
 Returns Teuchos::null if uninitialized. More...
 
RCP< const LinearOpBase< Scalar > > clone () const
 
bool opSupportedImpl (EOpTransp M_trans) const
 Returns true . More...
 
void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 

Overridden from Teuchos::Describable

std::string description () const
 Prints just the name DefaultZeroLinearOp along with the overall dimensions. More...
 

Overridden from RowStatLinearOpBase

virtual bool rowStatIsSupportedImpl (const RowStatLinearOpBaseUtils::ERowStat rowStat) const
 
virtual void getRowStatImpl (const RowStatLinearOpBaseUtils::ERowStat rowStat, const Teuchos::Ptr< VectorBase< Scalar > > &rowStatVec) const
 

Overridden from ScaledLinearOpBase

virtual bool supportsScaleLeftImpl () const
 
virtual bool supportsScaleRightImpl () const
 
virtual void scaleLeftImpl (const VectorBase< Scalar > &)
 
virtual void scaleRightImpl (const VectorBase< Scalar > &)
 

Detailed Description

template<class Scalar>
class Thyra::DefaultZeroLinearOp< Scalar >

Represents a zero linear operator M = 0.

This class implements:

y = alpha*op(M)*x + beta*y

=>

y = beta*y

Definition at line 71 of file Thyra_DefaultZeroLinearOp_decl.hpp.

Constructor & Destructor Documentation

template<class Scalar >
Thyra::DefaultZeroLinearOp< Scalar >::DefaultZeroLinearOp ( )

Construct to uninitialized.

Postconditions:

Definition at line 58 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
Thyra::DefaultZeroLinearOp< Scalar >::DefaultZeroLinearOp ( const RCP< const VectorSpaceBase< Scalar > > &  range,
const RCP< const VectorSpaceBase< Scalar > > &  domain 
)

Calls initialize().

Definition at line 63 of file Thyra_DefaultZeroLinearOp_def.hpp.

Member Function Documentation

template<class Scalar >
void Thyra::DefaultZeroLinearOp< Scalar >::initialize ( const RCP< const VectorSpaceBase< Scalar > > &  range,
const RCP< const VectorSpaceBase< Scalar > > &  domain 
)

Initialize given a list of non-const linear operators.

Parameters
range[in] Range vector space.
range[in] Domain vector space.

Preconditions:

  • range.get()!=NULL
  • domain.get()!=NULL

Postconditions:

Definition at line 73 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
void Thyra::DefaultZeroLinearOp< Scalar >::uninitialize ( )

Set to uninitialized.

Postconditions:

Definition at line 84 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultZeroLinearOp< Scalar >::range ( ) const
virtual

Returns Teuchos::null if uninitialized.

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 96 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultZeroLinearOp< Scalar >::domain ( ) const
virtual

Returns Teuchos::null if uninitialized.

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 104 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
RCP< const LinearOpBase< Scalar > > Thyra::DefaultZeroLinearOp< Scalar >::clone ( ) const
virtual

Reimplemented from Thyra::LinearOpBase< Scalar >.

Definition at line 112 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
std::string Thyra::DefaultZeroLinearOp< Scalar >::description ( ) const
virtual

Prints just the name DefaultZeroLinearOp along with the overall dimensions.

Reimplemented from Teuchos::Describable.

Definition at line 125 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
bool Thyra::DefaultZeroLinearOp< Scalar >::opSupportedImpl ( EOpTransp  M_trans) const
protectedvirtual

Returns true .

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 145 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
void Thyra::DefaultZeroLinearOp< Scalar >::applyImpl ( const EOpTransp  M_trans,
const MultiVectorBase< Scalar > &  X,
const Ptr< MultiVectorBase< Scalar > > &  Y,
const Scalar  alpha,
const Scalar  beta 
) const
protectedvirtual

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 152 of file Thyra_DefaultZeroLinearOp_def.hpp.

template<class Scalar >
bool Thyra::DefaultZeroLinearOp< Scalar >::rowStatIsSupportedImpl ( const RowStatLinearOpBaseUtils::ERowStat  rowStat) const
protectedvirtual
template<class Scalar >
void Thyra::DefaultZeroLinearOp< Scalar >::getRowStatImpl ( const RowStatLinearOpBaseUtils::ERowStat  rowStat,
const Teuchos::Ptr< VectorBase< Scalar > > &  rowStatVec 
) const
protectedvirtual
template<class Scalar >
virtual bool Thyra::DefaultZeroLinearOp< Scalar >::supportsScaleLeftImpl ( ) const
inlineprotectedvirtual
template<class Scalar >
virtual bool Thyra::DefaultZeroLinearOp< Scalar >::supportsScaleRightImpl ( ) const
inlineprotectedvirtual
template<class Scalar >
virtual void Thyra::DefaultZeroLinearOp< Scalar >::scaleLeftImpl ( const VectorBase< Scalar > &  )
inlineprotectedvirtual
template<class Scalar >
virtual void Thyra::DefaultZeroLinearOp< Scalar >::scaleRightImpl ( const VectorBase< Scalar > &  )
inlineprotectedvirtual

Friends And Related Function Documentation

template<class Scalar >
RCP< const LinearOpBase< Scalar > > zero ( const RCP< const VectorSpaceBase< Scalar > > &  range,
const RCP< const VectorSpaceBase< Scalar > > &  domain 
)
related

Create a zero linear operator with given range and domain spaces.

template<class Scalar >
RCP< LinearOpBase< Scalar > > nonconstZero ( const RCP< const VectorSpaceBase< Scalar > > &  range,
const RCP< const VectorSpaceBase< Scalar > > &  domain 
)
related

Create a nonconst zero linear operator with given range and domain spaces.

This is to enable support for using the ScaledLinearOp interface. Which does nothing yet still requires nonconstant operators.


The documentation for this class was generated from the following files: