Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Concrete Thyra::LinearOpBase subclass for Tpetra::Operator. More...

#include <Thyra_TpetraLinearOp_decl.hpp>

Inheritance diagram for Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >:

(Note that these are not member symbols.)

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraLinearOp (const RCP< const VectorSpaceBase< Scalar > > &rangeSpace, const RCP< const VectorSpaceBase< Scalar > > &domainSpace, const RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator)
 Nonmmeber constructor for TpetraLinearOp.
template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< const TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node > > constTpetraLinearOp (const RCP< const VectorSpaceBase< Scalar > > &rangeSpace, const RCP< const VectorSpaceBase< Scalar > > &domainSpace, const RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator)
 Nonmmeber constructor for TpetraLinearOp.

Protected member functions overridden from RowStatLinearOpBase.

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

Constructors/initializers.

 TpetraLinearOp ()
 Construct to uninitialized.
void initialize (const RCP< const VectorSpaceBase< Scalar > > &rangeSpace, const RCP< const VectorSpaceBase< Scalar > > &domainSpace, const RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator)
 Initialize.
void constInitialize (const RCP< const VectorSpaceBase< Scalar > > &rangeSpace, const RCP< const VectorSpaceBase< Scalar > > &domainSpace, const RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraOperator)
 Initialize.
RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetraOperator ()
 Get embedded non-const Tpetra::Operator.
RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getConstTpetraOperator () const
 Get embedded const Tpetra::Operator.

Public Overridden functions from LinearOpBase.

RCP< const Thyra::VectorSpaceBase< Scalar > > range () const
RCP< const Thyra::VectorSpaceBase< Scalar > > domain () const

Protected Overridden functions from LinearOpBase.

bool opSupportedImpl (Thyra::EOpTransp M_trans) const
void applyImpl (const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< Scalar > &X_in, const Teuchos::Ptr< Thyra::MultiVectorBase< Scalar > > &Y_inout, const Scalar alpha, const Scalar beta) const

Protected member functions overridden from ScaledLinearOpBase.

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

Additional Inherited Members

std::string description () const
 Default description that gives the label, type, and dimenstion .
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 Generates a default outputting for all linear operators.
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.
virtual RCP< const LinearOpBase< Scalar > > clone () const
 Clone the linear operator object (if supported).
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.
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.
virtual bool opSupportedImpl (EOpTransp M_trans) const =0
 Override in subclass.
virtual void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const =0
 Override in subclass.

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal = LocalOrdinal, class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
class Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Concrete Thyra::LinearOpBase subclass for Tpetra::Operator.

Todo
Finish Documentation

Definition at line 41 of file Thyra_TpetraLinearOp_decl.hpp.

Constructor & Destructor Documentation

◆ TpetraLinearOp()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::TpetraLinearOp ( )

Construct to uninitialized.

Definition at line 106 of file Thyra_TpetraLinearOp_def.hpp.

Member Function Documentation

◆ initialize()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
void Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::initialize ( const RCP< const VectorSpaceBase< Scalar > > & rangeSpace,
const RCP< const VectorSpaceBase< Scalar > > & domainSpace,
const RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & tpetraOperator )

Initialize.

Definition at line 111 of file Thyra_TpetraLinearOp_def.hpp.

◆ constInitialize()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
void Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::constInitialize ( const RCP< const VectorSpaceBase< Scalar > > & rangeSpace,
const RCP< const VectorSpaceBase< Scalar > > & domainSpace,
const RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & tpetraOperator )

Initialize.

Definition at line 122 of file Thyra_TpetraLinearOp_def.hpp.

◆ getTpetraOperator()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getTpetraOperator ( )

Get embedded non-const Tpetra::Operator.

Definition at line 134 of file Thyra_TpetraLinearOp_def.hpp.

◆ getConstTpetraOperator()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getConstTpetraOperator ( ) const

Get embedded const Tpetra::Operator.

Definition at line 142 of file Thyra_TpetraLinearOp_def.hpp.

◆ range()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< const Thyra::VectorSpaceBase< Scalar > > Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::range ( ) const
virtual

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 153 of file Thyra_TpetraLinearOp_def.hpp.

◆ domain()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< const Thyra::VectorSpaceBase< Scalar > > Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::domain ( ) const
virtual

Implements Thyra::LinearOpBase< Scalar >.

Definition at line 161 of file Thyra_TpetraLinearOp_def.hpp.

◆ opSupportedImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
bool Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::opSupportedImpl ( Thyra::EOpTransp M_trans) const
protected

Definition at line 219 of file Thyra_TpetraLinearOp_def.hpp.

◆ applyImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
void Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::applyImpl ( const Thyra::EOpTransp M_trans,
const Thyra::MultiVectorBase< Scalar > & X_in,
const Teuchos::Ptr< Thyra::MultiVectorBase< Scalar > > & Y_inout,
const Scalar alpha,
const Scalar beta ) const
protected

Definition at line 239 of file Thyra_TpetraLinearOp_def.hpp.

◆ supportsScaleLeftImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
bool Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::supportsScaleLeftImpl ( ) const
protectedvirtual

Implements Thyra::ScaledLinearOpBase< Scalar >.

Definition at line 274 of file Thyra_TpetraLinearOp_def.hpp.

◆ supportsScaleRightImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
bool Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::supportsScaleRightImpl ( ) const
protectedvirtual

Implements Thyra::ScaledLinearOpBase< Scalar >.

Definition at line 281 of file Thyra_TpetraLinearOp_def.hpp.

◆ scaleLeftImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
void Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scaleLeftImpl ( const VectorBase< Scalar > & row_scaling)
protectedvirtual

Implements Thyra::ScaledLinearOpBase< Scalar >.

Definition at line 289 of file Thyra_TpetraLinearOp_def.hpp.

◆ scaleRightImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
void Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scaleRightImpl ( const VectorBase< Scalar > & col_scaling)
protectedvirtual

Implements Thyra::ScaledLinearOpBase< Scalar >.

Definition at line 307 of file Thyra_TpetraLinearOp_def.hpp.

◆ rowStatIsSupportedImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
bool Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::rowStatIsSupportedImpl ( const RowStatLinearOpBaseUtils::ERowStat rowStat) const
protectedvirtual

◆ getRowStatImpl()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
void Thyra::TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRowStatImpl ( const RowStatLinearOpBaseUtils::ERowStat rowStat,
const Ptr< VectorBase< Scalar > > & rowStatVec ) const
protectedvirtual

◆ tpetraLinearOp()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node > > tpetraLinearOp ( const RCP< const VectorSpaceBase< Scalar > > & rangeSpace,
const RCP< const VectorSpaceBase< Scalar > > & domainSpace,
const RCP< Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & tpetraOperator )
related

Nonmmeber constructor for TpetraLinearOp.

Definition at line 197 of file Thyra_TpetraLinearOp_decl.hpp.

◆ constTpetraLinearOp()

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
RCP< const TpetraLinearOp< Scalar, LocalOrdinal, GlobalOrdinal, Node > > constTpetraLinearOp ( const RCP< const VectorSpaceBase< Scalar > > & rangeSpace,
const RCP< const VectorSpaceBase< Scalar > > & domainSpace,
const RCP< const Tpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & tpetraOperator )
related

Nonmmeber constructor for TpetraLinearOp.

Definition at line 216 of file Thyra_TpetraLinearOp_decl.hpp.


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