Thyra Version of the Day
Related Functions
Thyra::DefaultProductMultiVector< Scalar > Class Template Reference

Concrete implementation of a product multi-vector. More...

#include <Thyra_DefaultProductMultiVector_decl.hpp>

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

List of all members.

Related Functions

(Note that these are not member functions.)

template<class Scalar >
RCP< DefaultProductMultiVector
< Scalar > > 
defaultProductMultiVector ()
 Nonmember constructor.
template<class Scalar >
RCP< DefaultProductMultiVector
< Scalar > > 
defaultProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const int numMembers)
 Nonmember constructor.
template<class Scalar >
RCP< DefaultProductMultiVector
< Scalar > > 
defaultProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const ArrayView< const RCP< MultiVectorBase< Scalar > > > &multiVecs)
 Nonmember constructor.
template<class Scalar >
RCP< DefaultProductMultiVector
< Scalar > > 
defaultProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const ArrayView< const RCP< const MultiVectorBase< Scalar > > > &multiVecs)
 Nonmember constructor.
template<class Scalar >
RCP< const
ProductMultiVectorBase< Scalar > > 
castOrCreateSingleBlockProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const RCP< const MultiVectorBase< Scalar > > &mv)
 Dynamic cast to a const product multi-vector or create a new product multi-vector with one component if the input multi-vector is not a product vector.
template<class Scalar >
RCP< ProductMultiVectorBase
< Scalar > > 
nonconstCastOrCreateSingleBlockProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const RCP< MultiVectorBase< Scalar > > &mv)
 Dynamic cast to a const product multi-vector or create a new product multi-vector with one component if the input multi-vector is not a product vector.

Constructors/initializers/accessors

 DefaultProductMultiVector ()
 Construct to uninitialized.
void initialize (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const int numMembers)
 
void initialize (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const ArrayView< const RCP< MultiVectorBase< Scalar > > > &multiVecs)
 
void initialize (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace, const ArrayView< const RCP< const MultiVectorBase< Scalar > > > &multiVecs)
 
void uninitialize ()
 Uninitialize.

Overridden public functions from Teuchos::Describable

std::string description () const
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 

Overridden public functions from ProductMultiVectorBase

RCP< const
ProductVectorSpaceBase< Scalar > > 
productSpace () const
 
bool blockIsConst (const int k) const
 
RCP< MultiVectorBase< Scalar > > getNonconstMultiVectorBlock (const int k)
 
RCP< const MultiVectorBase
< Scalar > > 
getMultiVectorBlock (const int k) const
 

Overriden public functions from MultiVectorBase

RCP< MultiVectorBase< Scalar > > clone_mv () const
 

Overriden from LinearOpBase

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

Overriden protected functions from MultiVectorBase

RCP< const VectorBase< Scalar > > colImpl (Ordinal j) const
 
RCP< VectorBase< Scalar > > nonconstColImpl (Ordinal j)
 
RCP< const MultiVectorBase
< Scalar > > 
contigSubViewImpl (const Range1D &colRng) const
 
RCP< MultiVectorBase< Scalar > > nonconstContigSubViewImpl (const Range1D &colRng)
 
RCP< const MultiVectorBase
< Scalar > > 
nonContigSubViewImpl (const ArrayView< const int > &cols) const
 
RCP< MultiVectorBase< Scalar > > nonconstNonContigSubViewImpl (const ArrayView< const int > &cols)
 
void mvMultiReductApplyOpImpl (const RTOpPack::RTOpT< Scalar > &primary_op, const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &multi_vecs, const ArrayView< const Ptr< MultiVectorBase< Scalar > > > &targ_multi_vecs, const ArrayView< const Ptr< RTOpPack::ReductTarget > > &reduct_objs, const Ordinal primary_global_offset) const
 
void acquireDetachedMultiVectorViewImpl (const Range1D &rowRng, const Range1D &colRng, RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 
void releaseDetachedMultiVectorViewImpl (RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 
void acquireNonconstDetachedMultiVectorViewImpl (const Range1D &rowRng, const Range1D &colRng, RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 
void commitNonconstDetachedMultiVectorViewImpl (RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 

Overridden from LinearOpBase

bool opSupportedImpl (EOpTransp M_trans) const
 
void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 

Deprecated.

THYRA_DEPRECATED DefaultProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace_in, const int numMembers)
 Deprecated.
THYRA_DEPRECATED DefaultProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace_in, const ArrayView< const RCP< MultiVectorBase< Scalar > > > &multiVecs)
 Deprecated.
THYRA_DEPRECATED DefaultProductMultiVector (const RCP< const DefaultProductVectorSpace< Scalar > > &productSpace_in, const ArrayView< const RCP< const MultiVectorBase< Scalar > > > &multiVecs)
 Deprecated.

Detailed Description

template<class Scalar>
class Thyra::DefaultProductMultiVector< Scalar >

Concrete implementation of a product multi-vector.

Note that clients should almost never be creating objects of this type explicitly and should instead use DefaultProductVectorSpace as a factory.

ToDo: Finish documentation!

The default constructor is made private to avoid accidental default construction.

Definition at line 71 of file Thyra_DefaultProductMultiVector_decl.hpp.


Constructor & Destructor Documentation

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

Construct to uninitialized.

Definition at line 58 of file Thyra_DefaultProductMultiVector_def.hpp.

template<class Scalar >
THYRA_DEPRECATED Thyra::DefaultProductMultiVector< Scalar >::DefaultProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace_in,
const int  numMembers 
) [inline]

Deprecated.

Definition at line 235 of file Thyra_DefaultProductMultiVector_decl.hpp.

template<class Scalar >
THYRA_DEPRECATED Thyra::DefaultProductMultiVector< Scalar >::DefaultProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace_in,
const ArrayView< const RCP< MultiVectorBase< Scalar > > > &  multiVecs 
) [inline]

Deprecated.

Definition at line 244 of file Thyra_DefaultProductMultiVector_decl.hpp.

template<class Scalar >
THYRA_DEPRECATED Thyra::DefaultProductMultiVector< Scalar >::DefaultProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace_in,
const ArrayView< const RCP< const MultiVectorBase< Scalar > > > &  multiVecs 
) [inline]

Deprecated.

Definition at line 253 of file Thyra_DefaultProductMultiVector_decl.hpp.


Member Function Documentation

template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::initialize ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const int  numMembers 
)

Definition at line 64 of file Thyra_DefaultProductMultiVector_def.hpp.

template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::initialize ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const ArrayView< const RCP< MultiVectorBase< Scalar > > > &  multiVecs 
)

Definition at line 82 of file Thyra_DefaultProductMultiVector_def.hpp.

template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::initialize ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const ArrayView< const RCP< const MultiVectorBase< Scalar > > > &  multiVecs 
)

Definition at line 92 of file Thyra_DefaultProductMultiVector_def.hpp.

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

Uninitialize.

ToDo: Finish documentation.

Definition at line 102 of file Thyra_DefaultProductMultiVector_def.hpp.

template<class Scalar >
std::string Thyra::DefaultProductMultiVector< Scalar >::description ( ) const [virtual]

Reimplemented from Thyra::LinearOpDefaultBase< Scalar >.

Definition at line 114 of file Thyra_DefaultProductMultiVector_def.hpp.

template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel 
) const [virtual]
template<class Scalar >
RCP< const ProductVectorSpaceBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::productSpace ( ) const [virtual]
template<class Scalar >
bool Thyra::DefaultProductMultiVector< Scalar >::blockIsConst ( const int  k) const [virtual]
template<class Scalar >
RCP< MultiVectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::getNonconstMultiVectorBlock ( const int  k) [virtual]
template<class Scalar >
RCP< const MultiVectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::getMultiVectorBlock ( const int  k) const [virtual]
template<class Scalar >
RCP< MultiVectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::clone_mv ( ) const [virtual]
template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::range ( ) const [virtual]
template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::domain ( ) const [virtual]
template<class Scalar >
RCP< const VectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::colImpl ( Ordinal  j) const [protected, virtual]

Reimplemented from Thyra::MultiVectorBase< Scalar >.

Definition at line 252 of file Thyra_DefaultProductMultiVector_def.hpp.

template<class Scalar >
RCP< VectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::nonconstColImpl ( Ordinal  j) [protected, virtual]
template<class Scalar >
RCP< const MultiVectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::contigSubViewImpl ( const Range1D colRng) const [protected, virtual]
template<class Scalar >
RCP< MultiVectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::nonconstContigSubViewImpl ( const Range1D colRng) [protected, virtual]
template<class Scalar >
RCP< const MultiVectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::nonContigSubViewImpl ( const ArrayView< const int > &  cols) const [protected, virtual]
template<class Scalar >
RCP< MultiVectorBase< Scalar > > Thyra::DefaultProductMultiVector< Scalar >::nonconstNonContigSubViewImpl ( const ArrayView< const int > &  cols) [protected, virtual]
template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::mvMultiReductApplyOpImpl ( const RTOpPack::RTOpT< Scalar > &  primary_op,
const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &  multi_vecs,
const ArrayView< const Ptr< MultiVectorBase< Scalar > > > &  targ_multi_vecs,
const ArrayView< const Ptr< RTOpPack::ReductTarget > > &  reduct_objs,
const Ordinal  primary_global_offset 
) const [protected, virtual]
template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::acquireDetachedMultiVectorViewImpl ( const Range1D rowRng,
const Range1D colRng,
RTOpPack::ConstSubMultiVectorView< Scalar > *  sub_mv 
) const [protected, virtual]
template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::releaseDetachedMultiVectorViewImpl ( RTOpPack::ConstSubMultiVectorView< Scalar > *  sub_mv) const [protected, virtual]
template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::acquireNonconstDetachedMultiVectorViewImpl ( const Range1D rowRng,
const Range1D colRng,
RTOpPack::SubMultiVectorView< Scalar > *  sub_mv 
) [protected, virtual]
template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::commitNonconstDetachedMultiVectorViewImpl ( RTOpPack::SubMultiVectorView< Scalar > *  sub_mv) [protected, virtual]
template<class Scalar >
bool Thyra::DefaultProductMultiVector< Scalar >::opSupportedImpl ( EOpTransp  M_trans) const [protected, virtual]
template<class Scalar >
void Thyra::DefaultProductMultiVector< Scalar >::applyImpl ( const EOpTransp  M_trans,
const MultiVectorBase< Scalar > &  X,
const Ptr< MultiVectorBase< Scalar > > &  Y,
const Scalar  alpha,
const Scalar  beta 
) const [protected, virtual]

Friends And Related Function Documentation

template<class Scalar >
RCP< DefaultProductMultiVector< Scalar > > defaultProductMultiVector ( ) [related]

Nonmember constructor.

template<class Scalar >
RCP< DefaultProductMultiVector< Scalar > > defaultProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const int  numMembers 
) [related]

Nonmember constructor.

template<class Scalar >
RCP< DefaultProductMultiVector< Scalar > > defaultProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const ArrayView< const RCP< MultiVectorBase< Scalar > > > &  multiVecs 
) [related]

Nonmember constructor.

template<class Scalar >
RCP< DefaultProductMultiVector< Scalar > > defaultProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const ArrayView< const RCP< const MultiVectorBase< Scalar > > > &  multiVecs 
) [related]

Nonmember constructor.

template<class Scalar >
RCP< const ProductMultiVectorBase< Scalar > > castOrCreateSingleBlockProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const RCP< const MultiVectorBase< Scalar > > &  mv 
) [related]

Dynamic cast to a const product multi-vector or create a new product multi-vector with one component if the input multi-vector is not a product vector.

template<class Scalar >
RCP< ProductMultiVectorBase< Scalar > > nonconstCastOrCreateSingleBlockProductMultiVector ( const RCP< const DefaultProductVectorSpace< Scalar > > &  productSpace,
const RCP< MultiVectorBase< Scalar > > &  mv 
) [related]

Dynamic cast to a const product multi-vector or create a new product multi-vector with one component if the input multi-vector is not a product vector.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines