Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Thyra::SpmdVectorDefaultBase< Scalar > Class Template Reference

Base class for SPMD vectors that can provide views of contiguous elements in a process. More...

#include <Thyra_SpmdVectorDefaultBase_decl.hpp>

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

Public Member Functions

virtual void applyOpImplWithComm (const Ptr< const Teuchos::Comm< Ordinal > > &comm, 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
 Implementation of applyOpImpl(...) that uses an input Comm. More...
 
- Public Member Functions inherited from Thyra::SpmdVectorBase< Scalar >
RTOpPack::SubVectorView< Scalar > getNonconstLocalSubVector ()
 Get a non-const generalized view of local vector data. More...
 
RTOpPack::ConstSubVectorView
< Scalar > 
getLocalSubVector () const
 Get a const generalized view of local vector data. More...
 
void getNonconstLocalData (const Ptr< ArrayRCP< Scalar > > &localValues)
 Returns a non-const pointer to the beginning of the local vector data. More...
 
void getLocalData (const Ptr< ArrayRCP< const Scalar > > &localValues) const
 Returns a const pointer to the beginning of the local vector data. More...
 
- Public Member Functions inherited from Thyra::VectorBase< Scalar >
void assign (const VectorBase< Scalar > &x)
 Vector assignment: More...
 
void randomize (Scalar l, Scalar u)
 Random vector generation: More...
 
void update (Scalar alpha, const VectorBase< Scalar > &x)
 AXPY: More...
 
void linear_combination (const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const VectorBase< Scalar > > > &x, const Scalar &beta)
 Linear combination: More...
 
Scalar dot (const VectorBase< Scalar > &x) const
 Euclidean dot product: result = x^H * this. More...
 
Teuchos::ScalarTraits< Scalar >
::magnitudeType 
norm_1 () const
 One (1) norm: result = ||v||1. More...
 
Teuchos::ScalarTraits< Scalar >
::magnitudeType 
norm_2 () const
 Euclidean (2) norm: result = ||v||2. More...
 
Teuchos::ScalarTraits< Scalar >
::magnitudeType 
norm_2 (const VectorBase< Scalar > &x) const
 Weighted Euclidean (2) norm: result = ||v||2. More...
 
Teuchos::ScalarTraits< Scalar >
::magnitudeType 
norm_inf () const
 Infinity norm: result = ||v||inf. More...
 
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...
 
void assign (const MultiVectorBase< Scalar > &mv)
 V = mv. More...
 
void scale (Scalar alpha)
 
void update (Scalar alpha, const MultiVectorBase< Scalar > &mv)
 
void linear_combination (const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &mv, const Scalar &beta)
 Y.col(j)(i) = beta*Y.col(j)(i) + sum( alpha[k]*X[k].col(j)(i), More...
 
void dots (const MultiVectorBase< Scalar > &mv, const ArrayView< Scalar > &prods) const
 Column-wise Euclidean dot product. More...
 
void norms_1 (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
 Column-wise 1-norms. More...
 
void norms_2 (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
 Column-wise 2-norms. More...
 
void norms_inf (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
 Column-wise infinity-norms. 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...
 
- Public Member Functions inherited from Thyra::SpmdMultiVectorBase< Scalar >
RCP< const SpmdVectorSpaceBase
< Scalar > > 
spmdSpace () const
 Returns the SPMD vector space object for the range of *this multi-vector. More...
 
RTOpPack::SubMultiVectorView
< Scalar > 
getNonconstLocalSubMultiVector ()
 Get a non-const generalized view of local multi-vector data. More...
 
RTOpPack::ConstSubMultiVectorView
< Scalar > 
getLocalSubMultiVector () const
 Get a const generalized view of local multi-vector data. More...
 
void getNonconstLocalData (const Ptr< ArrayRCP< Scalar > > &localValues, const Ptr< Ordinal > &leadingDim)
 Returns a non-const pointer to a Fortran-style view of the local multi-vector data. More...
 
void getLocalData (const Ptr< ArrayRCP< const Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) const
 Returns a const pointer to a Fortran-style view of the local multi-vector data. More...
 
- Public Member Functions inherited from Thyra::VectorDefaultBase< Scalar >
virtual void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
 Generates a default outputting for all vectors. 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...
 

Public interface functions

 SpmdVectorDefaultBase ()
 

Overridden form Teuchos::Describable

std::string description () const
 

Overridden public functions from VectorBase

Teuchos::RCP< const
VectorSpaceBase< Scalar > > 
space () const
 Returns this->spmdSpace(). More...
 

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
 Calls applyOpImplWithComm(null,op,...). More...
 
void acquireDetachedVectorViewImpl (const Range1D &rng, RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
 Implemented through this->getLocalData() More...
 
void releaseDetachedVectorViewImpl (RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const
 Implemented through this->freeLocalData() More...
 
void acquireNonconstDetachedVectorViewImpl (const Range1D &rng, RTOpPack::SubVectorView< Scalar > *sub_vec)
 Implemented through this->getLocalData() More...
 
void commitNonconstDetachedVectorViewImpl (RTOpPack::SubVectorView< Scalar > *sub_vec)
 Implemented through this->commitLocalData() More...
 

Overridden Protected functions from SpmdMultiVectorBase

RTOpPack::SubMultiVectorView
< Scalar > 
getNonconstLocalSubMultiVectorImpl ()
 
RTOpPack::ConstSubMultiVectorView
< Scalar > 
getLocalSubMultiVectorImpl () const
 
void getNonconstLocalMultiVectorDataImpl (const Ptr< ArrayRCP< Scalar > > &localValues, const Ptr< Ordinal > &leadingDim)
 
void getLocalMultiVectorDataImpl (const Ptr< ArrayRCP< const Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) const
 

Overridden Protected functions from SpmdVectorBase

RTOpPack::SubVectorView< Scalar > getNonconstLocalSubVectorImpl ()
 Virtual implementation for getNonconstLocalSubVector(). More...
 
RTOpPack::ConstSubVectorView
< Scalar > 
getLocalSubVectorImpl () const
 Virtual implementation for getLocalSubVector(). More...
 

Protected functions to be used by subclasses

virtual void updateSpmdSpace ()
 Subclasses must call this function whenever the structure of the VectorSpaceBase changes. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Thyra::SpmdVectorBase< Scalar >
virtual void getNonconstLocalVectorDataImpl (const Ptr< ArrayRCP< Scalar > > &localValues)=0
 Implementation of getNonconstLocalData() More...
 
virtual void getLocalVectorDataImpl (const Ptr< ArrayRCP< const Scalar > > &localValues) const =0
 Implementation of getLocalData() 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::SpmdMultiVectorBase< Scalar >
virtual RCP< const
SpmdVectorSpaceBase< Scalar > > 
spmdSpaceImpl () const =0
 Virtual implementation for spmdSpace(). More...
 
- Protected Member Functions inherited from Thyra::VectorDefaultBase< Scalar >
virtual void assignVecImpl (const VectorBase< Scalar > &x)
 Default implementation of assign(vector) using RTOps. More...
 
virtual void randomizeImpl (Scalar l, Scalar u)
 Default implementation of randomize using RTOps. More...
 
virtual void absImpl (const VectorBase< Scalar > &x)
 Default implementation of abs using RTOps. More...
 
virtual void reciprocalImpl (const VectorBase< Scalar > &x)
 Default implementation of reciprocal using RTOps. More...
 
virtual void eleWiseScaleImpl (const VectorBase< Scalar > &x)
 Default implementation of ele_wise_scale using RTOps. More...
 
virtual void updateVecImpl (Scalar alpha, const VectorBase< Scalar > &x)
 Default implementation of update using RTOps. More...
 
virtual void linearCombinationVecImpl (const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const VectorBase< Scalar > > > &x, const Scalar &beta)
 Default implementation of linear_combination using RTOps. More...
 
virtual Scalar dotImpl (const VectorBase< Scalar > &x) const
 Default implementation of dot using RTOps. More...
 
virtual Teuchos::ScalarTraits
< Scalar >::magnitudeType 
norm1Impl () const
 Default implementation of norm_1 using RTOps. More...
 
virtual Teuchos::ScalarTraits
< Scalar >::magnitudeType 
norm2Impl () const
 Default implementation of norm_2 using RTOps. More...
 
virtual Teuchos::ScalarTraits
< Scalar >::magnitudeType 
norm2WeightedImpl (const VectorBase< Scalar > &x) const
 Default implementation of norm_2 (weighted) using RTOps. More...
 
virtual Teuchos::ScalarTraits
< Scalar >::magnitudeType 
normInfImpl () const
 Default implementation of norm_inf using RTOps. More...
 
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...
 
virtual void setSubVectorImpl (const RTOpPack::SparseSubVectorT< Scalar > &sub_vec)
 
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...
 
- Protected Member Functions inherited from Thyra::MultiVectorDefaultBase< Scalar >
virtual void assignImpl (Scalar alpha)
 Default implementation of assign(scalar) using RTOps. More...
 
virtual void assignMultiVecImpl (const MultiVectorBase< Scalar > &mv)
 Default implementation of assign(MV) using RTOps. More...
 
virtual void scaleImpl (Scalar alpha)
 Default implementation of scale using RTOps. More...
 
virtual void updateImpl (Scalar alpha, const MultiVectorBase< Scalar > &mv)
 Default implementation of update using RTOps. More...
 
virtual void linearCombinationImpl (const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &mv, const Scalar &beta)
 Default implementation of linear_combination using RTOps. More...
 
virtual void dotsImpl (const MultiVectorBase< Scalar > &mv, const ArrayView< Scalar > &prods) const
 Default implementation of dots using RTOps. More...
 
virtual void norms1Impl (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
 Default implementation of norms_1 using RTOps. More...
 
virtual void norms2Impl (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
 Default implementation of norms_2 using RTOps. More...
 
virtual void normsInfImpl (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const
 Default implementation of norms_inf using RTOps. More...
 
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 >

Detailed Description

template<class Scalar>
class Thyra::SpmdVectorDefaultBase< Scalar >

Base class for SPMD vectors that can provide views of contiguous elements in a process.

By inheriting from this base class, vector implementations allow their vector objects to be seamlessly combined with other SPMD vector objects (of potentially different concrete types) in applyOp(). A big part of this protocol is that every vector object can expose an SpmdVectorSpaceBase object through the virtual function spmdSpace().

Notes to subclass developers

Concrete subclasses must override only two functions: spmdSpaceImpl() and getLocalData(Scalar**,Ordinal*). The default implementation of getLocalData(cons Scalar**,Ordinal*) should rarely need to be overridden as it just calls the pure-virtual non-const version. Note that providing an implementation for spmdSpaceImpl() of course means having to implement or use a pre-implemented SpmdVectorSpaceBase subclass.

Vector subclasses must also call the protected function updateSpmdState() whenever the state of *this->spmdSpaceImpl() vector space changes. This function gathers some cached data that makes the rest of the class more efficient. This function must be called in a constructor or any other function that changes the state of the vector space.

Note that vector subclasses derived from this node interface class must only be directly used in SPMD mode to work properly.

Definition at line 90 of file Thyra_SpmdVectorDefaultBase_decl.hpp.

Constructor & Destructor Documentation

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

Definition at line 69 of file Thyra_SpmdVectorDefaultBase_def.hpp.

Member Function Documentation

template<class Scalar >
void Thyra::SpmdVectorDefaultBase< Scalar >::applyOpImplWithComm ( const Ptr< const Teuchos::Comm< Ordinal > > &  comm,
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
virtual

Implementation of applyOpImpl(...) that uses an input Comm.

Parameters
comm[in] The Spmd communicator to use in the global reduction. If comm==NULL, then the local communicator will be used instead.

Definition at line 77 of file Thyra_SpmdVectorDefaultBase_def.hpp.

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

Reimplemented from Thyra::VectorDefaultBase< Scalar >.

Definition at line 154 of file Thyra_SpmdVectorDefaultBase_def.hpp.

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

Returns this->spmdSpace().

Implements Thyra::VectorBase< Scalar >.

Definition at line 169 of file Thyra_SpmdVectorDefaultBase_def.hpp.

template<class Scalar >
void Thyra::SpmdVectorDefaultBase< 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

Calls applyOpImplWithComm(null,op,...).

Implements Thyra::VectorBase< Scalar >.

Reimplemented in Thyra::TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 182 of file Thyra_SpmdVectorDefaultBase_def.hpp.

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

Implemented through this->freeLocalData()

Reimplemented from Thyra::VectorDefaultBase< Scalar >.

Definition at line 240 of file Thyra_SpmdVectorDefaultBase_def.hpp.

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

Implemented through this->commitLocalData()

Reimplemented from Thyra::VectorDefaultBase< Scalar >.

Reimplemented in Thyra::TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 310 of file Thyra_SpmdVectorDefaultBase_def.hpp.

template<class Scalar >
RTOpPack::SubMultiVectorView< Scalar > Thyra::SpmdVectorDefaultBase< Scalar >::getNonconstLocalSubMultiVectorImpl ( )
protectedvirtual
template<class Scalar >
RTOpPack::ConstSubMultiVectorView< Scalar > Thyra::SpmdVectorDefaultBase< Scalar >::getLocalSubMultiVectorImpl ( ) const
protectedvirtual
template<class Scalar >
void Thyra::SpmdVectorDefaultBase< Scalar >::getNonconstLocalMultiVectorDataImpl ( const Ptr< ArrayRCP< Scalar > > &  localValues,
const Ptr< Ordinal > &  leadingDim 
)
protectedvirtual
template<class Scalar >
void Thyra::SpmdVectorDefaultBase< Scalar >::getLocalMultiVectorDataImpl ( const Ptr< ArrayRCP< const Scalar > > &  localValues,
const Ptr< Ordinal > &  leadingDim 
) const
protectedvirtual
template<class Scalar >
RTOpPack::SubVectorView< Scalar > Thyra::SpmdVectorDefaultBase< Scalar >::getNonconstLocalSubVectorImpl ( )
protectedvirtual

Virtual implementation for getNonconstLocalSubVector().

Implements Thyra::SpmdVectorBase< Scalar >.

Definition at line 396 of file Thyra_SpmdVectorDefaultBase_def.hpp.

template<class Scalar >
RTOpPack::ConstSubVectorView< Scalar > Thyra::SpmdVectorDefaultBase< Scalar >::getLocalSubVectorImpl ( ) const
protectedvirtual

Virtual implementation for getLocalSubVector().

Implements Thyra::SpmdVectorBase< Scalar >.

Definition at line 411 of file Thyra_SpmdVectorDefaultBase_def.hpp.

template<class Scalar >
void Thyra::SpmdVectorDefaultBase< Scalar >::updateSpmdSpace ( )
protectedvirtual

Subclasses must call this function whenever the structure of the VectorSpaceBase changes.

Definition at line 428 of file Thyra_SpmdVectorDefaultBase_def.hpp.


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