10#ifndef THYRA_SPMD_MULTI_VECTOR_DEFAULT_BASE_DECL_HPP 
   11#define THYRA_SPMD_MULTI_VECTOR_DEFAULT_BASE_DECL_HPP 
   13#include "Thyra_SpmdMultiVectorBase.hpp" 
   14#include "Thyra_MultiVectorAdapterBase_decl.hpp" 
   15#include "Teuchos_BLAS.hpp" 
  109    const Ordinal primary_global_offset
 
  183  mutable bool in_applyOp_;
 
 
Node subclass for MultiVectorBase subclasses that allows the insertion of an application defined scal...
 
Interface for a collection of column vectors called a multi-vector.
 
Base interface class for SPMD multi-vectors.
 
Base node implementation class for SPMD multi-vectors.
 
RCP< const ScalarProdVectorSpaceBase< Scalar > > rangeScalarProdVecSpc() const
Returns spmdSpace.
 
SpmdMultiVectorDefaultBase()
 
Range1D validateRowRange(const Range1D &rowRng) const
Validate and resize the row range.
 
Range1D validateColRange(const Range1D &rowCol) const
Validate and resize the column range.
 
void releaseDetachedMultiVectorViewImpl(RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 
void acquireDetachedMultiVectorViewImpl(const Range1D &rowRng, const Range1D &colRng, RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const
 
RTOpPack::SubMultiVectorView< Scalar > getNonconstLocalSubMultiVectorImpl()
 
void euclideanApply(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
Uses GEMM() and Teuchos::reduceAll() to implement.
 
void acquireNonconstDetachedMultiVectorViewImpl(const Range1D &rowRng, const Range1D &colRng, RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 
virtual void updateSpmdSpace()
Subclasses should call whenever the structure of the VectorSpaceBase changes.
 
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
 
RTOpPack::ConstSubMultiVectorView< Scalar > getLocalSubMultiVectorImpl() const
 
void commitNonconstDetachedMultiVectorViewImpl(RTOpPack::SubMultiVectorView< Scalar > *sub_mv)
 
EOpTransp
Enumeration for determining how a linear operator is applied. `*.
 
Teuchos::Ordinal Ordinal
Type for the dimension of a vector space. `*.