Thyra Version of the Day
Loading...
Searching...
No Matches
Related Symbols | List of all members

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

#include <Thyra_DefaultZeroLinearOp_decl.hpp>

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

Related Symbols

(Note that these are not member symbols.)

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.
 
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.
 

Overridden from ScaledLinearOpBase

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

Constructors/initializers/accessors

 DefaultZeroLinearOp ()
 Construct to uninitialized.
 
 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.
 
void uninitialize ()
 Set to uninitialized.
 

Overridden from LinearOpBase

RCP< const VectorSpaceBase< Scalar > > range () const
 Returns Teuchos::null if uninitialized.
 
RCP< const VectorSpaceBase< Scalar > > domain () const
 Returns Teuchos::null if uninitialized.
 
RCP< const LinearOpBase< Scalar > > clone () const
 
bool opSupportedImpl (EOpTransp M_trans) const
 Returns true .
 
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.
 

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
 

Additional Inherited Members

- Public Member Functions inherited from Thyra::LinearOpBase< Scalar >
bool opSupported (EOpTransp M_trans) const
 Return if the M_trans operation of apply() is supported or not.
 
void apply (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 Apply the linear operator to a multi-vector : Y = alpha*op(M)*X + beta*Y.
 
- Public Member Functions inherited from Thyra::RowStatLinearOpBase< Scalar >
bool rowStatIsSupported (const RowStatLinearOpBaseUtils::ERowStat rowStat) const
 Determine if a given row stat is supported.
 
void getRowStat (const RowStatLinearOpBaseUtils::ERowStat rowStat, const Ptr< VectorBase< Scalar > > &rowStatVec) const
 Get some statistics about a supported row.
 
- Public Member Functions inherited from Thyra::ScaledLinearOpBase< Scalar >
bool supportsScaleLeft () const
 Determines if this objects supports left scaling.
 
bool supportsScaleRight () const
 Determines if this objects supports right scaling.
 
void scaleLeft (const VectorBase< Scalar > &row_scaling)
 Left scales operator with diagonal scaling operator.
 
void scaleRight (const VectorBase< Scalar > &col_scaling)
 Right scales operator with diagonal scaling operator.
 
- Protected Member Functions inherited from Thyra::LinearOpBase< Scalar >
- Protected Member Functions inherited from Thyra::RowStatLinearOpBase< Scalar >
- Protected Member Functions inherited from Thyra::ScaledLinearOpBase< 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

◆ DefaultZeroLinearOp() [1/2]

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

Construct to uninitialized.

Postconditions:

Definition at line 58 of file Thyra_DefaultZeroLinearOp_def.hpp.

◆ DefaultZeroLinearOp() [2/2]

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

◆ initialize()

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.

◆ uninitialize()

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

Set to uninitialized.

Postconditions:

Definition at line 84 of file Thyra_DefaultZeroLinearOp_def.hpp.

◆ range()

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.

◆ domain()

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.

◆ clone()

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.

◆ description()

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.

◆ opSupportedImpl()

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.

◆ applyImpl()

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.

◆ rowStatIsSupportedImpl()

template<class Scalar >
bool Thyra::DefaultZeroLinearOp< Scalar >::rowStatIsSupportedImpl ( const RowStatLinearOpBaseUtils::ERowStat rowStat) const
protectedvirtual

◆ getRowStatImpl()

template<class Scalar >
void Thyra::DefaultZeroLinearOp< Scalar >::getRowStatImpl ( const RowStatLinearOpBaseUtils::ERowStat rowStat,
const Teuchos::Ptr< VectorBase< Scalar > > & rowStatVec ) const
protectedvirtual

◆ supportsScaleLeftImpl()

template<class Scalar >
virtual bool Thyra::DefaultZeroLinearOp< Scalar >::supportsScaleLeftImpl ( ) const
inlineprotectedvirtual

◆ supportsScaleRightImpl()

template<class Scalar >
virtual bool Thyra::DefaultZeroLinearOp< Scalar >::supportsScaleRightImpl ( ) const
inlineprotectedvirtual

◆ scaleLeftImpl()

template<class Scalar >
virtual void Thyra::DefaultZeroLinearOp< Scalar >::scaleLeftImpl ( const VectorBase< Scalar > & )
inlineprotectedvirtual

◆ scaleRightImpl()

template<class Scalar >
virtual void Thyra::DefaultZeroLinearOp< Scalar >::scaleRightImpl ( const VectorBase< Scalar > & )
inlineprotectedvirtual

Friends And Related Symbol Documentation

◆ zero()

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.

◆ nonconstZero()

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: