Thyra  Version of the Day
Related Functions | List of all members
Thyra::DefaultMultiVectorProductVector< Scalar > Class Template Reference

Concrete implementation of a product vector which is really composed out of the columns of a multi-vector. More...

#include <Thyra_DefaultMultiVectorProductVector_decl.hpp>

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

Related Functions

(Note that these are not member functions.)

template<class Scalar >
RCP< DefaultMultiVectorProductVector< Scalar > > multiVectorProductVector (const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &productSpace, const RCP< MultiVectorBase< Scalar > > &multiVec)
 Nonmember constructor that just wraps an existing non-const MultiVector as a non-const product vector. More...
 
template<class Scalar >
RCP< const DefaultMultiVectorProductVector< Scalar > > multiVectorProductVector (const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &productSpace, const RCP< const MultiVectorBase< Scalar > > &multiVec)
 Nonmember constructor that just wraps an existing const MultiVector as a const product vector. More...
 
template<class Scalar >
RCP< DefaultMultiVectorProductVector< Scalar > > multiVectorProductVector (const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &productSpace)
 Nonmember constructor that creates a new uninitialized product vector represented underneath as a multi-vector. More...
 

Constructors/initializers/accessors

 DefaultMultiVectorProductVector ()
 Construct to uninitialized. More...
 
void initialize (const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &productSpace, const RCP< MultiVectorBase< Scalar > > &multiVec)
 Initialize with a non-const multi-vector. More...
 
void initialize (const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &productSpace, const RCP< const MultiVectorBase< Scalar > > &multiVec)
 Initialize with a const multi-vector. More...
 
RCP< MultiVectorBase< Scalar > > getNonconstMultiVector ()
 
RCP< const MultiVectorBase< Scalar > > getMultiVector () const
 
void uninitialize ()
 

Overridden from Teuchos::Describable

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

Overridden from ProductVectorBase

RCP< VectorBase< Scalar > > getNonconstVectorBlock (const int k)
 
RCP< const VectorBase< Scalar > > getVectorBlock (const int k) const
 

Overridden 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
 

Overridden public functions from VectorBase

RCP< const VectorSpaceBase< Scalar > > space () const
 

Overridden protected functions from VectorBase

void applyOpImpl (const RTOpPack::RTOpT< Scalar > &op, const ArrayView< const Ptr< const VectorBase< Scalar > > > &vecs, const ArrayView< const Ptr< VectorBase< Scalar > > > &targ_vecs, const Ptr< RTOpPack::ReductTarget > &reduct_obj, const Ordinal global_offset) const
 
void acquireDetachedVectorViewImpl (const Range1D &rng, RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
 
void releaseDetachedVectorViewImpl (RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
 
void acquireNonconstDetachedVectorViewImpl (const Range1D &rng, RTOpPack::SubVectorView< Scalar > *sub_vec)
 
void commitNonconstDetachedVectorViewImpl (RTOpPack::SubVectorView< Scalar > *sub_vec)
 
void setSubVectorImpl (const RTOpPack::SparseSubVectorT< Scalar > &sub_vec)
 
void assignImpl (Scalar alpha)
 

Additional Inherited Members

- Public Member Functions inherited from Thyra::VectorBase< Scalar >
void applyOp (const RTOpPack::RTOpT< Scalar > &op, const ArrayView< const Ptr< const VectorBase< Scalar > > > &vecs, const ArrayView< const Ptr< VectorBase< Scalar > > > &targ_vecs, const Ptr< RTOpPack::ReductTarget > &reduct_obj, const Ordinal global_offset) const
 Calls applyOpImpl(). More...
 
void acquireDetachedView (const Range1D &rng, RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
 Calls acquireDetachedVectorViewImpl(). More...
 
void releaseDetachedView (RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
 Calls releaseDetachedVectorViewImpl(). More...
 
void acquireDetachedView (const Range1D &rng, RTOpPack::SubVectorView< Scalar > *sub_vec)
 Calls acquireNonconstDetachedVectorViewImpl(). More...
 
void commitDetachedView (RTOpPack::SubVectorView< Scalar > *sub_vec)
 Calls commitDetachedView(). More...
 
void setSubVector (const RTOpPack::SparseSubVectorT< Scalar > &sub_vec)
 Calls setSubVectorImpl(). More...
 
- Public Member Functions inherited from Thyra::MultiVectorBase< Scalar >
void assign (Scalar alpha)
 V = alpha. More...
 
RCP< const VectorBase< Scalar > > col (Ordinal j) const
 Calls colImpl(). More...
 
RCP< VectorBase< Scalar > > col (Ordinal j)
 Calls nonconstColImpl(). More...
 
RCP< const MultiVectorBase< Scalar > > subView (const Range1D &colRng) const
 Calls contigSubViewImpl(). More...
 
RCP< MultiVectorBase< Scalar > > subView (const Range1D &colRng)
 Calls nonconstContigSubViewImpl(). More...
 
RCP< const MultiVectorBase< Scalar > > subView (const ArrayView< const int > &cols) const
 nonContigSubViewImpl(). More...
 
RCP< MultiVectorBase< Scalar > > subView (const ArrayView< const int > &cols)
 nonconstNonContigSubViewImpl(). More...
 
void applyOp (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
 Calls mvMultiReductApplyOpImpl(). More...
 
void applyOp (const RTOpPack::RTOpT< Scalar > &primary_op, const RTOpPack::RTOpT< Scalar > &secondary_op, const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &multi_vecs, const ArrayView< const Ptr< MultiVectorBase< Scalar > > > &targ_multi_vecs, const Ptr< RTOpPack::ReductTarget > &reduct_obj, const Ordinal primary_global_offset) const
 mvSingleReductApplyOpImpl(). More...
 
void acquireDetachedView (const Range1D &rowRng, const Range1D &colRng, RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 Calls acquireDetachedMultiVectorViewImpl(). More...
 
void releaseDetachedView (RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 Calls releaseDetachedMultiVectorViewImpl(). More...
 
void acquireDetachedView (const Range1D &rowRng, const Range1D &colRng, RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 Calls acquireNonconstDetachedMultiVectorViewImpl(). More...
 
void commitDetachedView (RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 Calls commitNonconstDetachedMultiVectorViewImpl(). More...
 
RCP< const LinearOpBase< Scalar > > clone () const
 This function is simply overridden to return this->clone_mv(). More...
 
- 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. More...
 
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. More...
 
- Public Member Functions inherited from Thyra::RowStatLinearOpBase< Scalar >
bool rowStatIsSupported (const RowStatLinearOpBaseUtils::ERowStat rowStat) const
 Determine if a given row stat is supported. More...
 
void getRowStat (const RowStatLinearOpBaseUtils::ERowStat rowStat, const Ptr< VectorBase< Scalar > > &rowStatVec) const
 Get some statistics about a supported row. More...
 
- Public Member Functions inherited from Thyra::ScaledLinearOpBase< Scalar >
bool supportsScaleLeft () const
 Determines if this objects supports left scaling. More...
 
bool supportsScaleRight () const
 Determines if this objects supports right scaling. More...
 
void scaleLeft (const VectorBase< Scalar > &row_scaling)
 Left scales operator with diagonal scaling operator. More...
 
void scaleRight (const VectorBase< Scalar > &col_scaling)
 Right scales operator with diagonal scaling operator. More...
 
- Protected Member Functions inherited from Thyra::VectorBase< Scalar >
- Protected Member Functions inherited from Thyra::MultiVectorBase< Scalar >
void absRowSum (const Teuchos::Ptr< Thyra::VectorBase< Scalar > > &output) const
 
void absColSum (const Teuchos::Ptr< Thyra::VectorBase< Scalar > > &output) const
 
virtual RCP< const VectorBase< Scalar > > colImpl (Ordinal j) const
 Return a non-changeable view of a constituent column vector. More...
 
virtual bool rowStatIsSupportedImpl (const RowStatLinearOpBaseUtils::ERowStat rowStat) const
 
virtual void getRowStatImpl (const RowStatLinearOpBaseUtils::ERowStat rowStat, const Ptr< VectorBase< Scalar > > &rowStatVec) const
 
virtual bool supportsScaleLeftImpl () const
 
virtual bool supportsScaleRightImpl () const
 
virtual void scaleLeftImpl (const VectorBase< Scalar > &row_scaling)
 
virtual void scaleRightImpl (const VectorBase< Scalar > &col_scaling)
 
- Protected Member Functions inherited from Thyra::LinearOpBase< Scalar >
- Protected Member Functions inherited from Thyra::RowStatLinearOpBase< Scalar >
- Protected Member Functions inherited from Thyra::ScaledLinearOpBase< Scalar >
- Protected Member Functions inherited from Thyra::VectorDefaultBase< Scalar >
virtual RCP< VectorBase< Scalar > > nonconstColImpl (Ordinal j)
 Returns Teuchos::rcp(this,false). More...
 
virtual RCP< const MultiVectorBase< Scalar > > contigSubViewImpl (const Range1D &col_rng) const
 Returns Teuchos::rcp(this,false). More...
 
virtual RCP< MultiVectorBase< Scalar > > nonconstContigSubViewImpl (const Range1D &col_rng)
 Returns Teuchos::rcp(this,false). More...
 
virtual RCP< const MultiVectorBase< Scalar > > nonContigSubViewImpl (const ArrayView< const int > &cols) const
 Returns Teuchos::rcp(this,false). More...
 
virtual RCP< MultiVectorBase< Scalar > > nonconstNonContigSubViewImpl (const ArrayView< const int > &cols)
 Returns Teuchos::rcp(this,false). More...
 
virtual void acquireDetachedMultiVectorViewImpl (const Range1D &rowRng, const Range1D &colRng, RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 Implemented in terms of this->acquireDetachedView(). More...
 
virtual void releaseDetachedMultiVectorViewImpl (RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 Implemented in terms of this->releaseDetachedView(). More...
 
virtual void acquireNonconstDetachedMultiVectorViewImpl (const Range1D &rowRng, const Range1D &colRng, RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 Implemented in terms of this->acquireDetachedView(). More...
 
virtual void commitNonconstDetachedMultiVectorViewImpl (RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 Implemented in terms of this->commitDetachedView(). More...
 
bool opSupportedImpl (EOpTransp M_trans) const
 For complex Scalar types returns true for NOTRANS and CONJTRANS and for real types returns true for all values of M_trans. More...
 
void applyImpl (const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
 . Applies vector or its adjoint (transpose) as a linear operator. More...
 
virtual RCP< const VectorSpaceBase< Scalar > > range () const
 Returns this->space(). More...
 
virtual RCP< const VectorSpaceBase< Scalar > > domain () const
 Returns a DefaultSerialVectorSpace object with dimension 1. More...
 
RCP< MultiVectorBase< Scalar > > clone_mv () const
 Returns this->clone_v(). More...
 
RCP< VectorBase< Scalar > > clone_v () const
 Simply creates a new vector and copies the contents from *this. More...
 
- Protected Member Functions inherited from Thyra::MultiVectorDefaultBase< Scalar >
void assignImpl (Scalar alpha)
 
virtual 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
 
virtual void mvSingleReductApplyOpImpl (const RTOpPack::RTOpT< Scalar > &primary_op, const RTOpPack::RTOpT< Scalar > &secondary_op, const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &multi_vecs, const ArrayView< const Ptr< MultiVectorBase< Scalar > > > &targ_multi_vecs, const Ptr< RTOpPack::ReductTarget > &reduct_obj, const Ordinal primary_global_offset) const
 
- Protected Member Functions inherited from Thyra::LinearOpDefaultBase< Scalar >
std::string description () const
 Default description that gives the label, type, and dimenstion . More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 Generates a default outputting for all linear operators. More...
 

Detailed Description

template<class Scalar>
class Thyra::DefaultMultiVectorProductVector< Scalar >

Concrete implementation of a product vector which is really composed out of the columns of a multi-vector.

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

ToDo: Finish documentation!

Definition at line 70 of file Thyra_DefaultMultiVectorProductVector_decl.hpp.

Constructor & Destructor Documentation

◆ DefaultMultiVectorProductVector()

Construct to uninitialized.

Definition at line 59 of file Thyra_DefaultMultiVectorProductVector_def.hpp.

Member Function Documentation

◆ initialize() [1/2]

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::initialize ( const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  productSpace,
const RCP< MultiVectorBase< Scalar > > &  multiVec 
)

Initialize with a non-const multi-vector.

Definition at line 66 of file Thyra_DefaultMultiVectorProductVector_def.hpp.

◆ initialize() [2/2]

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::initialize ( const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  productSpace,
const RCP< const MultiVectorBase< Scalar > > &  multiVec 
)

Initialize with a const multi-vector.

Definition at line 91 of file Thyra_DefaultMultiVectorProductVector_def.hpp.

◆ getNonconstMultiVector()

template<class Scalar >
RCP< MultiVectorBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::getNonconstMultiVector ( )

◆ getMultiVector()

template<class Scalar >
RCP< const MultiVectorBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::getMultiVector ( ) const

◆ uninitialize()

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

◆ description()

template<class Scalar >
std::string Thyra::DefaultMultiVectorProductVector< Scalar >::description ( ) const
virtual

◆ describe()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::describe ( Teuchos::FancyOStream &  out,
const Teuchos::EVerbosityLevel  verbLevel 
) const
virtual

◆ getNonconstVectorBlock()

template<class Scalar >
RCP< VectorBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::getNonconstVectorBlock ( const int  k)
virtual

◆ getVectorBlock()

template<class Scalar >
RCP< const VectorBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::getVectorBlock ( const int  k) const
virtual

◆ productSpace()

template<class Scalar >
RCP< const ProductVectorSpaceBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::productSpace ( ) const
virtual

◆ blockIsConst()

template<class Scalar >
bool Thyra::DefaultMultiVectorProductVector< Scalar >::blockIsConst ( const int  k) const
virtual

◆ getNonconstMultiVectorBlock()

template<class Scalar >
RCP< MultiVectorBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::getNonconstMultiVectorBlock ( const int  k)
virtual

◆ getMultiVectorBlock()

template<class Scalar >
RCP< const MultiVectorBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::getMultiVectorBlock ( const int  k) const
virtual

◆ space()

template<class Scalar >
RCP< const VectorSpaceBase< Scalar > > Thyra::DefaultMultiVectorProductVector< Scalar >::space ( ) const
virtual

◆ applyOpImpl()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::applyOpImpl ( const RTOpPack::RTOpT< Scalar > &  op,
const ArrayView< const Ptr< const VectorBase< Scalar > > > &  vecs,
const ArrayView< const Ptr< VectorBase< Scalar > > > &  targ_vecs,
const Ptr< RTOpPack::ReductTarget > &  reduct_obj,
const Ordinal  global_offset 
) const
protectedvirtual

◆ acquireDetachedVectorViewImpl()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::acquireDetachedVectorViewImpl ( const Range1D rng,
RTOpPack::ConstSubVectorView< Scalar > *  sub_vec 
) const
protectedvirtual

◆ releaseDetachedVectorViewImpl()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::releaseDetachedVectorViewImpl ( RTOpPack::ConstSubVectorView< Scalar > *  sub_vec) const
protectedvirtual

◆ acquireNonconstDetachedVectorViewImpl()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::acquireNonconstDetachedVectorViewImpl ( const Range1D rng,
RTOpPack::SubVectorView< Scalar > *  sub_vec 
)
protectedvirtual

◆ commitNonconstDetachedVectorViewImpl()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::commitNonconstDetachedVectorViewImpl ( RTOpPack::SubVectorView< Scalar > *  sub_vec)
protectedvirtual

◆ setSubVectorImpl()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::setSubVectorImpl ( const RTOpPack::SparseSubVectorT< Scalar > &  sub_vec)
protectedvirtual

◆ assignImpl()

template<class Scalar >
void Thyra::DefaultMultiVectorProductVector< Scalar >::assignImpl ( Scalar  alpha)
protectedvirtual

Friends And Related Function Documentation

◆ multiVectorProductVector() [1/3]

template<class Scalar >
RCP< DefaultMultiVectorProductVector< Scalar > > multiVectorProductVector ( const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  productSpace,
const RCP< MultiVectorBase< Scalar > > &  multiVec 
)
related

Nonmember constructor that just wraps an existing non-const MultiVector as a non-const product vector.

Definition at line 235 of file Thyra_DefaultMultiVectorProductVector_decl.hpp.

◆ multiVectorProductVector() [2/3]

template<class Scalar >
RCP< const DefaultMultiVectorProductVector< Scalar > > multiVectorProductVector ( const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  productSpace,
const RCP< const MultiVectorBase< Scalar > > &  multiVec 
)
related

Nonmember constructor that just wraps an existing const MultiVector as a const product vector.

Definition at line 255 of file Thyra_DefaultMultiVectorProductVector_decl.hpp.

◆ multiVectorProductVector() [3/3]

template<class Scalar >
RCP< DefaultMultiVectorProductVector< Scalar > > multiVectorProductVector ( const RCP< const DefaultMultiVectorProductVectorSpace< Scalar > > &  productSpace)
related

Nonmember constructor that creates a new uninitialized product vector represented underneath as a multi-vector.

Definition at line 279 of file Thyra_DefaultMultiVectorProductVector_decl.hpp.


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