Tempus Version of the Day
Time Integration
Loading...
Searching...
No Matches
Related Symbols | List of all members
Thyra::MultiVectorLinearOp< Scalar > Class Template Reference

Implicit concrete LinearOpBase subclass that takes a flattended out multi-vector and performs a multi-RHS apply with it. More...

#include <Thyra_MultiVectorLinearOp.hpp>

Inheritance diagram for Thyra::MultiVectorLinearOp< Scalar >:

Related Symbols

(Note that these are not member symbols.)

template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > multiVectorLinearOp ()
 Nonmember constructor function.
 
template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > nonconstMultiVectorLinearOp (const RCP< LinearOpBase< Scalar > > &op, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Nonmember constructor function.
 
template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > nonconstMultiVectorLinearOp (const RCP< LinearOpBase< Scalar > > &op, const int num_blocks)
 Nonmember constructor function.
 
template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > multiVectorLinearOp (const RCP< const LinearOpBase< Scalar > > &op, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 Nonmember constructor function.
 
template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > multiVectorLinearOp (const RCP< const LinearOpBase< Scalar > > &op, const int num_blocks)
 Nonmember constructor function.
 

Overridden from ScaledLinearOpBase

typedef Teuchos::ConstNonconstObjectContainer< LinearOpBase< Scalar > > CNOP
 
CNOP op_
 
RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > multiVecRange_
 
RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > multiVecDomain_
 
virtual bool supportsScaleLeftImpl () const
 
virtual bool supportsScaleRightImpl () const
 
virtual void scaleLeftImpl (const VectorBase< Scalar > &row_scaling)
 
virtual void scaleRightImpl (const VectorBase< Scalar > &col_scaling)
 
static void validateInitialize (const RCP< const LinearOpBase< Scalar > > &op, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 

Constructors/initializers/accessors

 MultiVectorLinearOp ()
 Construct to uninitialized.
 
void nonconstInitialize (const RCP< LinearOpBase< Scalar > > &op, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 
void initialize (const RCP< const LinearOpBase< Scalar > > &op, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 
RCP< LinearOpBase< Scalar > > getNonconstLinearOp ()
 
RCP< const LinearOpBase< Scalar > > getLinearOp () const
 
void uninitialize ()
 

Overridden from LinearOpBase

RCP< const VectorSpaceBase< Scalar > > range () const
 
RCP< const VectorSpaceBase< Scalar > > domain () const
 
RCP< const LinearOpBase< Scalar > > clone () const
 
bool opSupportedImpl (EOpTransp M_trans) const
 
void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &XX, const Ptr< MultiVectorBase< Scalar > > &YY, const Scalar alpha, const Scalar beta) const
 

Overridden from RowStatLinearOpBase

bool rowStatIsSupportedImpl (const RowStatLinearOpBaseUtils::ERowStat rowStat) const
 Determine if a given row stat is supported.
 
void getRowStatImpl (const RowStatLinearOpBaseUtils::ERowStat rowStat, const Ptr< VectorBase< Scalar > > &rowStatVec) const
 Get some statistics about a supported row.
 

Detailed Description

template<class Scalar>
class Thyra::MultiVectorLinearOp< Scalar >

Implicit concrete LinearOpBase subclass that takes a flattended out multi-vector and performs a multi-RHS apply with it.

Definition at line 29 of file Thyra_MultiVectorLinearOp.hpp.

Member Typedef Documentation

◆ CNOP

template<class Scalar >
typedef Teuchos::ConstNonconstObjectContainer<LinearOpBase<Scalar> > Thyra::MultiVectorLinearOp< Scalar >::CNOP
private

Definition at line 219 of file Thyra_MultiVectorLinearOp.hpp.

Constructor & Destructor Documentation

◆ MultiVectorLinearOp()

template<class Scalar >
Thyra::MultiVectorLinearOp< Scalar >::MultiVectorLinearOp ( )
inline

Construct to uninitialized.

Definition at line 39 of file Thyra_MultiVectorLinearOp.hpp.

Member Function Documentation

◆ nonconstInitialize()

template<class Scalar >
void Thyra::MultiVectorLinearOp< Scalar >::nonconstInitialize ( const RCP< LinearOpBase< Scalar > > & op,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )
inline

Definition at line 41 of file Thyra_MultiVectorLinearOp.hpp.

◆ initialize()

template<class Scalar >
void Thyra::MultiVectorLinearOp< Scalar >::initialize ( const RCP< const LinearOpBase< Scalar > > & op,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )
inline

Definition at line 52 of file Thyra_MultiVectorLinearOp.hpp.

◆ getNonconstLinearOp()

template<class Scalar >
RCP< LinearOpBase< Scalar > > Thyra::MultiVectorLinearOp< Scalar >::getNonconstLinearOp ( )
inline

Definition at line 64 of file Thyra_MultiVectorLinearOp.hpp.

◆ getLinearOp()

template<class Scalar >
RCP< const LinearOpBase< Scalar > > Thyra::MultiVectorLinearOp< Scalar >::getLinearOp ( ) const
inline

Definition at line 67 of file Thyra_MultiVectorLinearOp.hpp.

◆ uninitialize()

template<class Scalar >
void Thyra::MultiVectorLinearOp< Scalar >::uninitialize ( )
inline

Definition at line 69 of file Thyra_MultiVectorLinearOp.hpp.

◆ range()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::MultiVectorLinearOp< Scalar >::range ( ) const
inline

Definition at line 80 of file Thyra_MultiVectorLinearOp.hpp.

◆ domain()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::MultiVectorLinearOp< Scalar >::domain ( ) const
inline

Definition at line 82 of file Thyra_MultiVectorLinearOp.hpp.

◆ clone()

template<class Scalar >
RCP< const LinearOpBase< Scalar > > Thyra::MultiVectorLinearOp< Scalar >::clone ( ) const
inline

Definition at line 84 of file Thyra_MultiVectorLinearOp.hpp.

◆ opSupportedImpl()

template<class Scalar >
bool Thyra::MultiVectorLinearOp< Scalar >::opSupportedImpl ( EOpTransp M_trans) const
inlineprotected

Definition at line 92 of file Thyra_MultiVectorLinearOp.hpp.

◆ applyImpl()

template<class Scalar >
void Thyra::MultiVectorLinearOp< Scalar >::applyImpl ( const EOpTransp M_trans,
const MultiVectorBase< Scalar > & XX,
const Ptr< MultiVectorBase< Scalar > > & YY,
const Scalar alpha,
const Scalar beta ) const
inlineprotected

Definition at line 96 of file Thyra_MultiVectorLinearOp.hpp.

◆ rowStatIsSupportedImpl()

template<class Scalar >
bool Thyra::MultiVectorLinearOp< Scalar >::rowStatIsSupportedImpl ( const RowStatLinearOpBaseUtils::ERowStat rowStat) const
inlineprotected

Determine if a given row stat is supported.

Definition at line 129 of file Thyra_MultiVectorLinearOp.hpp.

◆ getRowStatImpl()

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

Get some statistics about a supported row.

Precondition
this->rowStatIsSupported(rowStat)==true

Definition at line 139 of file Thyra_MultiVectorLinearOp.hpp.

◆ supportsScaleLeftImpl()

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

Definition at line 170 of file Thyra_MultiVectorLinearOp.hpp.

◆ supportsScaleRightImpl()

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

Definition at line 175 of file Thyra_MultiVectorLinearOp.hpp.

◆ scaleLeftImpl()

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

Definition at line 180 of file Thyra_MultiVectorLinearOp.hpp.

◆ scaleRightImpl()

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

Definition at line 197 of file Thyra_MultiVectorLinearOp.hpp.

◆ validateInitialize()

template<class Scalar >
static void Thyra::MultiVectorLinearOp< Scalar >::validateInitialize ( const RCP< const LinearOpBase< Scalar > > & op,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )
inlinestaticprivate

Definition at line 231 of file Thyra_MultiVectorLinearOp.hpp.

Friends And Related Symbol Documentation

◆ multiVectorLinearOp() [1/3]

template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > multiVectorLinearOp ( )
related

Nonmember constructor function.

Definition at line 264 of file Thyra_MultiVectorLinearOp.hpp.

◆ nonconstMultiVectorLinearOp() [1/2]

template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > nonconstMultiVectorLinearOp ( const RCP< LinearOpBase< Scalar > > & op,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )
related

Nonmember constructor function.

Definition at line 275 of file Thyra_MultiVectorLinearOp.hpp.

◆ nonconstMultiVectorLinearOp() [2/2]

template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > nonconstMultiVectorLinearOp ( const RCP< LinearOpBase< Scalar > > & op,
const int num_blocks )
related

Nonmember constructor function.

Definition at line 293 of file Thyra_MultiVectorLinearOp.hpp.

◆ multiVectorLinearOp() [2/3]

template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > multiVectorLinearOp ( const RCP< const LinearOpBase< Scalar > > & op,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecRange,
const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > & multiVecDomain )
related

Nonmember constructor function.

Definition at line 314 of file Thyra_MultiVectorLinearOp.hpp.

◆ multiVectorLinearOp() [3/3]

template<class Scalar >
RCP< MultiVectorLinearOp< Scalar > > multiVectorLinearOp ( const RCP< const LinearOpBase< Scalar > > & op,
const int num_blocks )
related

Nonmember constructor function.

Definition at line 332 of file Thyra_MultiVectorLinearOp.hpp.

Member Data Documentation

◆ op_

template<class Scalar >
CNOP Thyra::MultiVectorLinearOp< Scalar >::op_
private

Definition at line 224 of file Thyra_MultiVectorLinearOp.hpp.

◆ multiVecRange_

template<class Scalar >
RCP<const DefaultMultiVectorProductVectorSpace<Scalar> > Thyra::MultiVectorLinearOp< Scalar >::multiVecRange_
private

Definition at line 225 of file Thyra_MultiVectorLinearOp.hpp.

◆ multiVecDomain_

template<class Scalar >
RCP<const DefaultMultiVectorProductVectorSpace<Scalar> > Thyra::MultiVectorLinearOp< Scalar >::multiVecDomain_
private

Definition at line 226 of file Thyra_MultiVectorLinearOp.hpp.


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