Tempus  Version of the Day
Time Integration
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Types | Static Private Member Functions | Private Attributes | Related Functions | 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 >:
Thyra::RowStatLinearOpBase< Scalar > Thyra::ScaledLinearOpBase< Scalar > Thyra::LinearOpBase< class > Thyra::LinearOpBase< class > Teuchos::Describable Teuchos::Describable Teuchos::LabeledObject Teuchos::LabeledObject

Private Types

typedef
Teuchos::ConstNonconstObjectContainer
< LinearOpBase< Scalar > > 
CNOP
 

Static Private Member Functions

static void validateInitialize (const RCP< const LinearOpBase< Scalar > > &op, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecRange, const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &multiVecDomain)
 

Private Attributes

CNOP op_
 
RCP< const
DefaultMultiVectorProductVectorSpace
< Scalar > > 
multiVecRange_
 
RCP< const
DefaultMultiVectorProductVectorSpace
< Scalar > > 
multiVecDomain_
 

Related Functions

(Note that these are not member functions.)

template<class Scalar >
RCP< MultiVectorLinearOp
< Scalar > > 
multiVectorLinearOp ()
 Nonmember constructor function. More...
 
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. More...
 
template<class Scalar >
RCP< MultiVectorLinearOp
< Scalar > > 
nonconstMultiVectorLinearOp (const RCP< LinearOpBase< Scalar > > &op, const int num_blocks)
 Nonmember constructor function. More...
 
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. More...
 
template<class Scalar >
RCP< MultiVectorLinearOp
< Scalar > > 
multiVectorLinearOp (const RCP< const LinearOpBase< Scalar > > &op, const int num_blocks)
 Nonmember constructor function. More...
 

Constructors/initializers/accessors

 MultiVectorLinearOp ()
 Construct to uninitialized. More...
 
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. More...
 
void getRowStatImpl (const RowStatLinearOpBaseUtils::ERowStat rowStat, const Ptr< VectorBase< Scalar > > &rowStatVec) const
 Get some statistics about a supported row. More...
 

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

- Public Member Functions inherited from Teuchos::Describable
virtual std::string description () const
 
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

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

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

Definition at line 231 of file Thyra_MultiVectorLinearOp.hpp.

Constructor & Destructor Documentation

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

Construct to uninitialized.

Definition at line 36 of file Thyra_MultiVectorLinearOp.hpp.

Member Function Documentation

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 38 of file Thyra_MultiVectorLinearOp.hpp.

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 51 of file Thyra_MultiVectorLinearOp.hpp.

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

Definition at line 63 of file Thyra_MultiVectorLinearOp.hpp.

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

Definition at line 68 of file Thyra_MultiVectorLinearOp.hpp.

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

Definition at line 73 of file Thyra_MultiVectorLinearOp.hpp.

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

Implements Thyra::LinearOpBase< class >.

Definition at line 85 of file Thyra_MultiVectorLinearOp.hpp.

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

Implements Thyra::LinearOpBase< class >.

Definition at line 87 of file Thyra_MultiVectorLinearOp.hpp.

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

Definition at line 89 of file Thyra_MultiVectorLinearOp.hpp.

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

Implements Thyra::LinearOpBase< class >.

Definition at line 98 of file Thyra_MultiVectorLinearOp.hpp.

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
inlineprotectedvirtual

Implements Thyra::LinearOpBase< class >.

Definition at line 103 of file Thyra_MultiVectorLinearOp.hpp.

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

Determine if a given row stat is supported.

Implements Thyra::RowStatLinearOpBase< Scalar >.

Definition at line 130 of file Thyra_MultiVectorLinearOp.hpp.

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

Get some statistics about a supported row.

Precondition
this->rowStatIsSupported(rowStat)==true

Implements Thyra::RowStatLinearOpBase< Scalar >.

Definition at line 143 of file Thyra_MultiVectorLinearOp.hpp.

template<class Scalar >
virtual bool Thyra::MultiVectorLinearOp< Scalar >::supportsScaleLeftImpl ( ) const
inlineprotectedvirtual
template<class Scalar >
virtual bool Thyra::MultiVectorLinearOp< Scalar >::supportsScaleRightImpl ( ) const
inlineprotectedvirtual
template<class Scalar >
virtual void Thyra::MultiVectorLinearOp< Scalar >::scaleLeftImpl ( const VectorBase< Scalar > &  row_scaling)
inlineprotectedvirtual
template<class Scalar >
virtual void Thyra::MultiVectorLinearOp< Scalar >::scaleRightImpl ( const VectorBase< Scalar > &  col_scaling)
inlineprotectedvirtual
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 243 of file Thyra_MultiVectorLinearOp.hpp.

Friends And Related Function Documentation

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

Nonmember constructor function.

Definition at line 279 of file Thyra_MultiVectorLinearOp.hpp.

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 289 of file Thyra_MultiVectorLinearOp.hpp.

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

Nonmember constructor function.

Definition at line 307 of file Thyra_MultiVectorLinearOp.hpp.

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 325 of file Thyra_MultiVectorLinearOp.hpp.

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

Nonmember constructor function.

Definition at line 343 of file Thyra_MultiVectorLinearOp.hpp.

Member Data Documentation

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

Definition at line 236 of file Thyra_MultiVectorLinearOp.hpp.

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

Definition at line 237 of file Thyra_MultiVectorLinearOp.hpp.

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

Definition at line 238 of file Thyra_MultiVectorLinearOp.hpp.


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