| 
    Thyra Version of the Day
    
   | 
 
Efficient concrete implementation subclass for SPMD vectors. More...
#include <Thyra_DefaultSpmdVector_decl.hpp>

Overridden from SpmdVectorBase | |
| void | getNonconstLocalVectorDataImpl (const Ptr< ArrayRCP< Scalar > > &localValues) | 
| void | getLocalVectorDataImpl (const Ptr< ArrayRCP< const Scalar > > &localValues) const | 
Constructors/initializers | |
| DefaultSpmdVector () | |
| Construct to uninitialized.   | |
| DefaultSpmdVector (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const ArrayRCP< Scalar > &localValues, const Ordinal stride) | |
Calls initialize().   | |
| void | initialize (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdSpace, const ArrayRCP< Scalar > &localValues, const Ordinal stride) | 
| Initialize.   | |
| void | uninitialize (RCP< const SpmdVectorSpaceBase< Scalar > > *spmdSpace=NULL, ArrayRCP< Scalar > *localValues=NULL, Ordinal *stride=NULL) | 
| Set to an uninitialized state.   | |
Accessors (inlined for minimal overhead) | |
| ArrayRCP< Scalar > | getRCPtr () | 
| ArrayRCP< const Scalar > | getRCPtr () const | 
| Scalar * | getPtr () | 
| const Scalar * | getPtr () const | 
| Ordinal | getStride () const | 
Overridden from SpmdMultiVectorBase | |
| RCP< const SpmdVectorSpaceBase< Scalar > > | spmdSpaceImpl () const | 
Additional Inherited Members | |
  Public Member Functions inherited from Thyra::SpmdVectorDefaultBase< Scalar > | |
| SpmdVectorDefaultBase () | |
| 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.   | |
| std::string | description () const | 
| Teuchos::RCP< const VectorSpaceBase< Scalar > > | space () const | 
Returns this->spmdSpace().   | |
  Public Member Functions inherited from Thyra::SpmdVectorBase< Scalar > | |
| RTOpPack::SubVectorView< Scalar > | getNonconstLocalSubVector () | 
| Get a non-const generalized view of local vector data.   | |
| RTOpPack::ConstSubVectorView< Scalar > | getLocalSubVector () const | 
| Get a const generalized view of local vector data.   | |
| void | getNonconstLocalData (const Ptr< ArrayRCP< Scalar > > &localValues) | 
Returns a non-const pointer to the beginning of the local vector data.   | |
| void | getLocalData (const Ptr< ArrayRCP< const Scalar > > &localValues) const | 
Returns a const pointer to the beginning of the local vector data.   | |
  Public Member Functions inherited from Thyra::VectorBase< Scalar > | |
| void | assign (const VectorBase< Scalar > &x) | 
| Vector assignment:   | |
| void | randomize (Scalar l, Scalar u) | 
| Random vector generation:   | |
| void | update (Scalar alpha, const VectorBase< Scalar > &x) | 
| AXPY:   | |
| void | linear_combination (const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const VectorBase< Scalar > > > &x, const Scalar &beta) | 
| Linear combination:   | |
| Scalar | dot (const VectorBase< Scalar > &x) const | 
Euclidean dot product: result = x^H * this.   | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_1 () const | 
One (1) norm: result = ||v||1.   | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_2 () const | 
Euclidean (2) norm: result = ||v||2.   | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_2 (const VectorBase< Scalar > &x) const | 
Weighted Euclidean (2) norm: result = ||v||2.   | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_inf () const | 
Infinity norm: result = ||v||inf.   | |
| 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().   | |
| void | acquireDetachedView (const Range1D &rng, RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const | 
| Calls acquireDetachedVectorViewImpl().   | |
| void | releaseDetachedView (RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const | 
| Calls releaseDetachedVectorViewImpl().   | |
| void | acquireDetachedView (const Range1D &rng, RTOpPack::SubVectorView< Scalar > *sub_vec) | 
| Calls acquireNonconstDetachedVectorViewImpl().   | |
| void | commitDetachedView (RTOpPack::SubVectorView< Scalar > *sub_vec) | 
| Calls commitDetachedView().   | |
| void | setSubVector (const RTOpPack::SparseSubVectorT< Scalar > &sub_vec) | 
| Calls setSubVectorImpl().   | |
  Public Member Functions inherited from Thyra::MultiVectorBase< Scalar > | |
| void | assign (Scalar alpha) | 
| V = alpha.   | |
| void | assign (const MultiVectorBase< Scalar > &mv) | 
| V = mv.   | |
| 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),   | |
| void | dots (const MultiVectorBase< Scalar > &mv, const ArrayView< Scalar > &prods) const | 
| Column-wise Euclidean dot product.   | |
| void | norms_1 (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const | 
| Column-wise 1-norms.   | |
| void | norms_2 (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const | 
| Column-wise 2-norms.   | |
| void | norms_inf (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const | 
| Column-wise infinity-norms.   | |
| RCP< const VectorBase< Scalar > > | col (Ordinal j) const | 
| Calls colImpl().   | |
| RCP< VectorBase< Scalar > > | col (Ordinal j) | 
| Calls nonconstColImpl().   | |
| RCP< const MultiVectorBase< Scalar > > | subView (const Range1D &colRng) const | 
| Calls contigSubViewImpl().   | |
| RCP< MultiVectorBase< Scalar > > | subView (const Range1D &colRng) | 
| Calls nonconstContigSubViewImpl().   | |
| RCP< const MultiVectorBase< Scalar > > | subView (const ArrayView< const int > &cols) const | 
| nonContigSubViewImpl().   | |
| RCP< MultiVectorBase< Scalar > > | subView (const ArrayView< const int > &cols) | 
| nonconstNonContigSubViewImpl().   | |
| 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().   | |
| 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().   | |
| void | acquireDetachedView (const Range1D &rowRng, const Range1D &colRng, RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const | 
| Calls acquireDetachedMultiVectorViewImpl().   | |
| void | releaseDetachedView (RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const | 
| Calls releaseDetachedMultiVectorViewImpl().   | |
| void | acquireDetachedView (const Range1D &rowRng, const Range1D &colRng, RTOpPack::SubMultiVectorView< Scalar > *sub_mv) | 
| Calls acquireNonconstDetachedMultiVectorViewImpl().   | |
| void | commitDetachedView (RTOpPack::SubMultiVectorView< Scalar > *sub_mv) | 
| Calls commitNonconstDetachedMultiVectorViewImpl().   | |
| RCP< const LinearOpBase< Scalar > > | clone () const | 
This function is simply overridden to return this->clone_mv().   | |
  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.   | |
| 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.   | |
  Public Member Functions inherited from Thyra::RowStatLinearOpBase< Scalar > | |
| bool | rowStatIsSupported (const RowStatLinearOpBaseUtils::ERowStat rowStat) const | 
| Determine if a given row stat is supported.   | |
| void | getRowStat (const RowStatLinearOpBaseUtils::ERowStat rowStat, const Ptr< VectorBase< Scalar > > &rowStatVec) const | 
| Get some statistics about a supported row.   | |
  Public Member Functions inherited from Thyra::ScaledLinearOpBase< Scalar > | |
| bool | supportsScaleLeft () const | 
| Determines if this objects supports left scaling.   | |
| bool | supportsScaleRight () const | 
| Determines if this objects supports right scaling.   | |
| void | scaleLeft (const VectorBase< Scalar > &row_scaling) | 
| Left scales operator with diagonal scaling operator.   | |
| void | scaleRight (const VectorBase< Scalar > &col_scaling) | 
| Right scales operator with diagonal scaling operator.   | |
  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.   | |
| RTOpPack::SubMultiVectorView< Scalar > | getNonconstLocalSubMultiVector () | 
| Get a non-const generalized view of local multi-vector data.   | |
| RTOpPack::ConstSubMultiVectorView< Scalar > | getLocalSubMultiVector () const | 
| Get a const generalized view of local multi-vector data.   | |
| 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.   | |
| 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.   | |
  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.   | |
| virtual RCP< const VectorSpaceBase< Scalar > > | range () const | 
Returns this->space().   | |
| virtual RCP< const VectorSpaceBase< Scalar > > | domain () const | 
Returns a DefaultSerialVectorSpace object with dimension 1.   | |
| RCP< MultiVectorBase< Scalar > > | clone_mv () const | 
Returns this->clone_v().   | |
| RCP< VectorBase< Scalar > > | clone_v () const | 
Simply creates a new vector and copies the contents from *this.   | |
  Protected Member Functions inherited from Thyra::SpmdVectorDefaultBase< Scalar > | |
| virtual void | updateSpmdSpace () | 
| Subclasses must call this function whenever the structure of the VectorSpaceBase changes.   | |
| 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,...).   | |
| void | acquireDetachedVectorViewImpl (const Range1D &rng, RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const | 
Implemented through this->getLocalData()   | |
| void | releaseDetachedVectorViewImpl (RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const | 
Implemented through this->freeLocalData()   | |
| void | acquireNonconstDetachedVectorViewImpl (const Range1D &rng, RTOpPack::SubVectorView< Scalar > *sub_vec) | 
Implemented through this->getLocalData()   | |
| void | commitNonconstDetachedVectorViewImpl (RTOpPack::SubVectorView< Scalar > *sub_vec) | 
Implemented through this->commitLocalData()   | |
| 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 | 
| RTOpPack::SubVectorView< Scalar > | getNonconstLocalSubVectorImpl () | 
| Virtual implementation for getNonconstLocalSubVector().   | |
| RTOpPack::ConstSubVectorView< Scalar > | getLocalSubVectorImpl () const | 
| Virtual implementation for getLocalSubVector().   | |
  Protected Member Functions inherited from Thyra::SpmdVectorBase< Scalar > | |
  Protected Member Functions inherited from Thyra::VectorBase< Scalar > | |
  Protected Member Functions inherited from Thyra::MultiVectorBase< Scalar > | |
| virtual RCP< const VectorBase< Scalar > > | colImpl (Ordinal j) const | 
| Return a non-changeable view of a constituent column vector.   | |
| 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) | 
| void | absRowSum (const Teuchos::Ptr< Thyra::VectorBase< Scalar > > &output) const | 
| void | absColSum (const Teuchos::Ptr< Thyra::VectorBase< Scalar > > &output) const | 
  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 > | |
  Protected Member Functions inherited from Thyra::VectorDefaultBase< Scalar > | |
| 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.   | |
| 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.   | |
| virtual void | assignVecImpl (const VectorBase< Scalar > &x) | 
| Default implementation of assign(vector) using RTOps.   | |
| virtual void | randomizeImpl (Scalar l, Scalar u) | 
| Default implementation of randomize using RTOps.   | |
| virtual void | absImpl (const VectorBase< Scalar > &x) | 
| Default implementation of abs using RTOps.   | |
| virtual void | reciprocalImpl (const VectorBase< Scalar > &x) | 
| Default implementation of reciprocal using RTOps.   | |
| virtual void | eleWiseScaleImpl (const VectorBase< Scalar > &x) | 
| Default implementation of ele_wise_scale using RTOps.   | |
| virtual void | updateVecImpl (Scalar alpha, const VectorBase< Scalar > &x) | 
| Default implementation of update using RTOps.   | |
| 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.   | |
| virtual Scalar | dotImpl (const VectorBase< Scalar > &x) const | 
| Default implementation of dot using RTOps.   | |
| virtual Teuchos::ScalarTraits< Scalar >::magnitudeType | norm1Impl () const | 
| Default implementation of norm_1 using RTOps.   | |
| virtual Teuchos::ScalarTraits< Scalar >::magnitudeType | norm2Impl () const | 
| Default implementation of norm_2 using RTOps.   | |
| virtual Teuchos::ScalarTraits< Scalar >::magnitudeType | norm2WeightedImpl (const VectorBase< Scalar > &x) const | 
| Default implementation of norm_2 (weighted) using RTOps.   | |
| virtual Teuchos::ScalarTraits< Scalar >::magnitudeType | normInfImpl () const | 
| Default implementation of norm_inf using RTOps.   | |
| virtual RCP< VectorBase< Scalar > > | nonconstColImpl (Ordinal j) | 
Returns Teuchos::rcp(this,false).   | |
| virtual RCP< const MultiVectorBase< Scalar > > | contigSubViewImpl (const Range1D &col_rng) const | 
Returns Teuchos::rcp(this,false).   | |
| virtual RCP< MultiVectorBase< Scalar > > | nonconstContigSubViewImpl (const Range1D &col_rng) | 
Returns Teuchos::rcp(this,false).   | |
| virtual RCP< const MultiVectorBase< Scalar > > | nonContigSubViewImpl (const ArrayView< const int > &cols) const | 
Returns Teuchos::rcp(this,false).   | |
| virtual RCP< MultiVectorBase< Scalar > > | nonconstNonContigSubViewImpl (const ArrayView< const int > &cols) | 
Returns Teuchos::rcp(this,false).   | |
| virtual void | acquireDetachedMultiVectorViewImpl (const Range1D &rowRng, const Range1D &colRng, RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const | 
Implemented in terms of this->acquireDetachedView().   | |
| virtual void | releaseDetachedMultiVectorViewImpl (RTOpPack::ConstSubMultiVectorView< Scalar > *sub_mv) const | 
Implemented in terms of this->releaseDetachedView().   | |
| virtual void | acquireNonconstDetachedMultiVectorViewImpl (const Range1D &rowRng, const Range1D &colRng, RTOpPack::SubMultiVectorView< Scalar > *sub_mv) | 
Implemented in terms of this->acquireDetachedView().   | |
| virtual void | commitNonconstDetachedMultiVectorViewImpl (RTOpPack::SubMultiVectorView< Scalar > *sub_mv) | 
Implemented in terms of this->commitDetachedView().   | |
| virtual void | setSubVectorImpl (const RTOpPack::SparseSubVectorT< Scalar > &sub_vec) | 
  Protected Member Functions inherited from Thyra::MultiVectorDefaultBase< Scalar > | |
| virtual void | assignImpl (Scalar alpha) | 
| Default implementation of assign(scalar) using RTOps.   | |
| virtual void | assignMultiVecImpl (const MultiVectorBase< Scalar > &mv) | 
| Default implementation of assign(MV) using RTOps.   | |
| virtual void | scaleImpl (Scalar alpha) | 
| Default implementation of scale using RTOps.   | |
| virtual void | updateImpl (Scalar alpha, const MultiVectorBase< Scalar > &mv) | 
| Default implementation of update using RTOps.   | |
| 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.   | |
| virtual void | dotsImpl (const MultiVectorBase< Scalar > &mv, const ArrayView< Scalar > &prods) const | 
| Default implementation of dots using RTOps.   | |
| virtual void | norms1Impl (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const | 
| Default implementation of norms_1 using RTOps.   | |
| virtual void | norms2Impl (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const | 
| Default implementation of norms_2 using RTOps.   | |
| virtual void | normsInfImpl (const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) const | 
| Default implementation of norms_inf using RTOps.   | |
| 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 > | |
  Related Symbols inherited from Thyra::VectorBase< Scalar > | |
| template<class 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=0) | 
Apply a reduction/transformation operator over a set of vectors: op(op(v[0]...v[nv-1],z[0]...z[nz-1]),(*reduct_obj)) -> z[0]...z[nz-1],(*reduct_obj).   | |
| template<class Scalar > | |
| Scalar | sum (const VectorBase< Scalar > &v) | 
Sum of vector elements: result = sum( v(i), i = 0...v.space()->dim()-1 ).   | |
| template<class Scalar > | |
| Scalar | scalarProd (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) | 
Scalar product result = <x,y>.   | |
| template<class Scalar > | |
| Scalar | inner (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) | 
Inner/Scalar product result = <x,y>.   | |
| template<class Scalar > | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm (const VectorBase< Scalar > &v) | 
Natural norm: result = sqrt(<v,v>).   | |
| template<class Scalar > | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_1 (const VectorBase< Scalar > &v) | 
One (1) norm: result = ||v||1.   | |
| template<class Scalar > | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_2 (const VectorBase< Scalar > &v) | 
Euclidean (2) norm: result = ||v||2.   | |
| template<class Scalar > | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_2 (const VectorBase< Scalar > &w, const VectorBase< Scalar > &v) | 
Weighted Euclidean (2) norm: result = sqrt( sum( w(i)*conj(v(i))*v(i)) ).   | |
| template<class Scalar > | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | norm_inf (const VectorBase< Scalar > &v_rhs) | 
Infinity norm: result = ||v||inf.   | |
| template<class Scalar > | |
| Scalar | dot (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) | 
Dot product: result = conj(x)'*y.   | |
| template<class Scalar > | |
| Scalar | get_ele (const VectorBase< Scalar > &v, Ordinal i) | 
Get single element: result = v(i).   | |
| template<class Scalar > | |
| void | set_ele (Ordinal i, Scalar alpha, const Ptr< VectorBase< Scalar > > &v) | 
Set single element: v(i) = alpha.   | |
| template<class Scalar > | |
| void | put_scalar (const Scalar &alpha, const Ptr< VectorBase< Scalar > > &y) | 
Assign all elements to a scalar: y(i) = alpha, i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | copy (const VectorBase< Scalar > &x, const Ptr< VectorBase< Scalar > > &y) | 
Vector assignment: y(i) = x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | add_scalar (const Scalar &alpha, const Ptr< VectorBase< Scalar > > &y) | 
Add a scalar to all elements: y(i) += alpha, i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | scale (const Scalar &alpha, const Ptr< VectorBase< Scalar > > &y) | 
Scale all elements by a scalar: y(i) *= alpha, i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | abs (const VectorBase< Scalar > &x, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise absolute value: y(i) = abs(x(i)), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | reciprocal (const VectorBase< Scalar > &x, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise reciprocal: y(i) = 1/x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | ele_wise_prod (const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise product update: y(i) += alpha * x(i) * v(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | pair_wise_max (const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise maximum: y(i) = alpha * max(x(i), v(i)), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | ele_wise_conj_prod (const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise conjugate product update: y(i) += alpha * conj(x(i)) * v(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | ele_wise_scale (const VectorBase< Scalar > &x, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise scaling: y(i) *= x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | Vp_StVtV (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v) | 
Element-wise product update: y(i) += alpha * x(i) * v(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | ele_wise_prod_update (const Scalar &alpha, const VectorBase< Scalar > &x, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise product update: y(i) *= alpha * x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | pair_wise_max_update (const Scalar &alpha, const VectorBase< Scalar > &x, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise maximum update: y(i) = alpha * max(x(i), y(i)), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | Vt_StV (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha, const VectorBase< Scalar > &x) | 
Element-wise product update: y(i) *= alpha * x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | ele_wise_divide (const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &v, const Ptr< VectorBase< Scalar > > &y) | 
Element-wise division update: y(i) += alpha * x(i) / v(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | linear_combination (const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const VectorBase< Scalar > > > &x, const Scalar &beta, const Ptr< VectorBase< Scalar > > &y) | 
Linear combination: y(i) = beta*y(i) + sum( alpha[k]*x[k](i), k=0...m-1 ), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | seed_randomize (unsigned int s) | 
Seed the random number generator used in randomize().   | |
| template<class Scalar > | |
| void | randomize (Scalar l, Scalar u, const Ptr< VectorBase< Scalar > > &v) | 
Random vector generation: v(i) = rand(l,u), , i = 1...v->space()->dim().   | |
| template<class Scalar > | |
| void | assign (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha) | 
Assign all elements to a scalar: y(i) = alpha, i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | assign (const Ptr< VectorBase< Scalar > > &y, const VectorBase< Scalar > &x) | 
Vector assignment: y(i) = x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | Vp_S (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha) | 
Add a scalar to all elements: y(i) += alpha, i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | Vt_S (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha) | 
Scale all elements by a scalar: y(i) *= alpha, i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_StV (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha, const VectorBase< Scalar > &x) | 
Assign scaled vector: y(i) = alpha * x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | Vp_StV (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha, const VectorBase< Scalar > &x) | 
AXPY: y(i) = alpha * x(i) + y(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | Vp_V (const Ptr< VectorBase< Scalar > > &y, const VectorBase< Scalar > &x, const Scalar &beta=static_cast< Scalar >(1.0)) | 
y(i) = x(i) + beta*y(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_V (const Ptr< VectorBase< Scalar > > &y, const VectorBase< Scalar > &x) | 
y(i) = x(i), i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_S (const Ptr< VectorBase< Scalar > > &y, const Scalar &alpha) | 
y(i) = alpha, i = 0...y->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_VpV (const Ptr< VectorBase< Scalar > > &z, const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) | 
z(i) = x(i) + y(i), i = 0...z->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_VmV (const Ptr< VectorBase< Scalar > > &z, const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) | 
z(i) = x(i) - y(i), i = 0...z->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_StVpV (const Ptr< VectorBase< Scalar > > &z, const Scalar &alpha, const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) | 
z(i) = alpha*x(i) + y(i), i = 0...z->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_VpStV (const Ptr< VectorBase< Scalar > > &z, const VectorBase< Scalar > &x, const Scalar &alpha, const VectorBase< Scalar > &y) | 
z(i) = x(i) + alpha*y(i), i = 0...z->space()->dim()-1.   | |
| template<class Scalar > | |
| void | V_StVpStV (const Ptr< VectorBase< Scalar > > &z, const Scalar &alpha, const VectorBase< Scalar > &x, const Scalar &beta, const VectorBase< Scalar > &y) | 
z(i) = alpha*x(i) + beta*y(i), i = 0...z->space()->dim()-1.   | |
| template<class Scalar > | |
| Scalar | min (const VectorBase< Scalar > &x) | 
Min element: result = min{ x(i), i = 0...x.space()->dim()-1 } .   | |
| template<class Scalar > | |
| void | min (const VectorBase< Scalar > &x, const Ptr< Scalar > &maxEle, const Ptr< Ordinal > &maxIndex) | 
Min element and its index: Returns maxEle = x(k) and maxIndex = k such that x(k) <= x(i) for all i = 0...x.space()->dim()-1.   | |
| template<class Scalar > | |
| void | minGreaterThanBound (const VectorBase< Scalar > &x, const Scalar &bound, const Ptr< Scalar > &minEle, const Ptr< Ordinal > &minIndex) | 
Minimum element greater than some bound and its index: Returns minEle = x(k) and minIndex = k such that x(k) <= x(i) for all i where x(i) > bound.   | |
| template<class Scalar > | |
| Scalar | max (const VectorBase< Scalar > &x) | 
Max element: result = max{ x(i), i = 1...n } .   | |
| template<class Scalar > | |
| void | max (const VectorBase< Scalar > &x, const Ptr< Scalar > &maxEle, const Ptr< Ordinal > &maxIndex) | 
Max element and its index: Returns maxEle = x(k) and maxIndex = k such that x(k) >= x(i) for i = 0...x.space()->dim()-1.   | |
| template<class Scalar > | |
| void | maxLessThanBound (const VectorBase< Scalar > &x, const Scalar &bound, const Ptr< Scalar > &maxEle, const Ptr< Ordinal > &maxIndex) | 
Max element less than bound and its index: Returns maxEle = x(k) and maxIndex = k such that x(k) >= x(i) for all i where x(i) < bound.   | |
  Related Symbols inherited from Thyra::MultiVectorBase< Scalar > | |
| template<class Scalar > | |
| 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=0) | 
| Apply a reduction/transformation operator column by column and return an array of the reduction objects.   | |
| template<class Scalar > | |
| 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=0) | 
| Apply a reduction/transformation operator column by column and reduce the intermediate reduction objects into one reduction object.   | |
| template<class Scalar > | |
| void | norms (const MultiVectorBase< Scalar > &V, const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) | 
| Column-wise multi-vector natural norm.   | |
| template<class Scalar , class NormOp > | |
| void | reductions (const MultiVectorBase< Scalar > &V, const NormOp &op, const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) | 
| Column-wise multi-vector reductions.   | |
| template<class Scalar > | |
| void | norms_1 (const MultiVectorBase< Scalar > &V, const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) | 
| Column-wise multi-vector one norm.   | |
| template<class Scalar > | |
| void | norms_2 (const MultiVectorBase< Scalar > &V, const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) | 
| Column-wise multi-vector 2 (Euclidean) norm.   | |
| template<class Scalar > | |
| void | norms_inf (const MultiVectorBase< Scalar > &V, const ArrayView< typename ScalarTraits< Scalar >::magnitudeType > &norms) | 
| Column-wise multi-vector infinity norm.   | |
| template<class Scalar > | |
| Array< typename ScalarTraits< Scalar >::magnitudeType > | norms_inf (const MultiVectorBase< Scalar > &V) | 
| Column-wise multi-vector infinity norm.   | |
| template<class Scalar > | |
| void | dots (const MultiVectorBase< Scalar > &V1, const MultiVectorBase< Scalar > &V2, const ArrayView< Scalar > &dots) | 
| Multi-vector dot product.   | |
| template<class Scalar > | |
| void | sums (const MultiVectorBase< Scalar > &V, const ArrayView< Scalar > &sums) | 
| Multi-vector column sum.   | |
| template<class Scalar > | |
| ScalarTraits< Scalar >::magnitudeType | norm_1 (const MultiVectorBase< Scalar > &V) | 
| Take the induced matrix one norm of a multi-vector.   | |
| template<class Scalar > | |
| void | scale (Scalar alpha, const Ptr< MultiVectorBase< Scalar > > &V) | 
| V = alpha*V.   | |
| template<class Scalar > | |
| void | scaleUpdate (const VectorBase< Scalar > &a, const MultiVectorBase< Scalar > &U, const Ptr< MultiVectorBase< Scalar > > &V) | 
| A*U + V -> V (where A is a diagonal matrix with diagonal a).   | |
| template<class Scalar > | |
| void | assign (const Ptr< MultiVectorBase< Scalar > > &V, Scalar alpha) | 
| V = alpha.   | |
| template<class Scalar > | |
| void | assign (const Ptr< MultiVectorBase< Scalar > > &V, const MultiVectorBase< Scalar > &U) | 
| V = U.   | |
| template<class Scalar > | |
| void | update (Scalar alpha, const MultiVectorBase< Scalar > &U, const Ptr< MultiVectorBase< Scalar > > &V) | 
| alpha*U + V -> V.   | |
| template<class Scalar > | |
| void | update (const ArrayView< const Scalar > &alpha, Scalar beta, const MultiVectorBase< Scalar > &U, const Ptr< MultiVectorBase< Scalar > > &V) | 
| alpha[j]*beta*U(j) + V(j) - > V(j), for j = 0 ,,,   | |
| template<class Scalar > | |
| void | update (const MultiVectorBase< Scalar > &U, const ArrayView< const Scalar > &alpha, Scalar beta, const Ptr< MultiVectorBase< Scalar > > &V) | 
| U(j) + alpha[j]*beta*V(j) - > V(j), for j = 0 ,,, U.domain()->dim()-1.   | |
| template<class Scalar > | |
| void | linear_combination (const ArrayView< const Scalar > &alpha, const ArrayView< const Ptr< const MultiVectorBase< Scalar > > > &X, const Scalar &beta, const Ptr< MultiVectorBase< Scalar > > &Y) | 
Y.col(j)(i) = beta*Y.col(j)(i) + sum( alpha[k]*X[k].col(j)(i), k=0...m-1 ), for i = 0...Y->range()->dim()-1, j = 0...Y->domain()->dim()-1.   | |
| template<class Scalar > | |
| void | randomize (Scalar l, Scalar u, const Ptr< MultiVectorBase< Scalar > > &V) | 
| Generate a random multi-vector with elements uniformly distributed elements.   | |
| template<class Scalar > | |
| void | Vt_S (const Ptr< MultiVectorBase< Scalar > > &Z, const Scalar &alpha) | 
Z(i,j) *= alpha, i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.   | |
| template<class Scalar > | |
| void | Vp_S (const Ptr< MultiVectorBase< Scalar > > &Z, const Scalar &alpha) | 
Z(i,j) += alpha, i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.   | |
| template<class Scalar > | |
| void | Vp_V (const Ptr< MultiVectorBase< Scalar > > &Z, const MultiVectorBase< Scalar > &X) | 
Z(i,j) += X(i,j), i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.   | |
| template<class Scalar > | |
| void | V_VpV (const Ptr< MultiVectorBase< Scalar > > &Z, const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y) | 
Z(i,j) = X(i,j) + Y(i,j), i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.   | |
| template<class Scalar > | |
| void | V_VmV (const Ptr< MultiVectorBase< Scalar > > &Z, const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y) | 
Z(i,j) = X(i,j) - Y(i,j), i = 0...Z->range()->dim()-1, j = 0...Z->domain()->dim()-1.   | |
| template<class Scalar > | |
| void | V_StVpV (const Ptr< MultiVectorBase< Scalar > > &Z, const Scalar &alpha, const MultiVectorBase< Scalar > &X, const MultiVectorBase< Scalar > &Y) | 
Z(i,j) = alpha*X(i,j) + Y(i), i = 0...z->space()->dim()-1, , j = 0...Z->domain()->dim()-1.   | |
  Related Symbols inherited from Thyra::LinearOpBase< Scalar > | |
| template<class Scalar > | |
| bool | isFullyUninitialized (const LinearOpBase< Scalar > &M) | 
| Determines if a linear operator is in the "Fully Uninitialized" state or not.   | |
| template<class Scalar > | |
| bool | isPartiallyInitialized (const LinearOpBase< Scalar > &M) | 
| Determines if a linear operator is in the "Partially Initialized" state or not.   | |
| template<class Scalar > | |
| bool | isFullyInitialized (const LinearOpBase< Scalar > &M) | 
| Determines if a linear operator is in the "Fully Initialized" state or not.   | |
| template<class Scalar > | |
| bool | opSupported (const LinearOpBase< Scalar > &M, EOpTransp M_trans) | 
| Determines if an operation is supported for a single scalar type.   | |
| template<class Scalar > | |
| void | apply (const LinearOpBase< Scalar > &M, const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha=static_cast< Scalar >(1.0), const Scalar beta=static_cast< Scalar >(0.0)) | 
Non-member function call for M.apply(...).   | |
| void | apply (const LinearOpBase< double > &M, const EOpTransp M_trans, const MultiVectorBase< double > &X, const Ptr< MultiVectorBase< double > > &Y, const double alpha=1.0, const double beta=0.0) | 
Calls apply<double>(...).   | |
Efficient concrete implementation subclass for SPMD vectors.
This subclass provides a very efficient and very general concrete implementation of a Thyra::VectorBase object for any SPMD platform.
Objects of this type generally should not be constructed directly by a client but instead by using the concrete vector space subclass Thyra::DefaultSpmdVectorSpace and using the function Thyra::createMember().
The storage type can be anything since an ArrayRCP is used to pass in the local values pointer into the constructor and initialize(). 
Definition at line 37 of file Thyra_DefaultSpmdVector_decl.hpp.
| Thyra::DefaultSpmdVector< Scalar >::DefaultSpmdVector | ( | ) | 
Construct to uninitialized.
Definition at line 26 of file Thyra_DefaultSpmdVector_def.hpp.
| Thyra::DefaultSpmdVector< Scalar >::DefaultSpmdVector | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdSpace, | 
| const ArrayRCP< Scalar > & | localValues, | ||
| const Ordinal | stride | ||
| ) | 
Calls initialize(). 
Definition at line 32 of file Thyra_DefaultSpmdVector_def.hpp.
| void Thyra::DefaultSpmdVector< Scalar >::initialize | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdSpace, | 
| const ArrayRCP< Scalar > & | localValues, | ||
| const Ordinal | stride | ||
| ) | 
Initialize.
| spmdSpace | [in] Smart pointer to SpmdVectorSpaceBase object that defines the data distribution for spmdSpace() and space().  | 
| localValues | [in] Smart pointer to beginning of local strided vector data. This array must be at least of dimension mpiRangeSpace->localDim()*stride and (&*localValues)[ i*stride ] gives the local value of the zero-based entry (i) where i=0...spmdSpace()->localSubDim()-1.  | 
| stride | [in] Stride between local vector elements. | 
Preconditions:
spmdSpace.get()!=NULL localValues.get()!=NULL stride != 0 Postconditions:
this->getRCptr().get() == localValues.get() this->getPtr() == &*localValues this->getStride() == stride Definition at line 43 of file Thyra_DefaultSpmdVector_def.hpp.
| void Thyra::DefaultSpmdVector< Scalar >::uninitialize | ( | RCP< const SpmdVectorSpaceBase< Scalar > > * | spmdSpace = NULL,  | 
        
| ArrayRCP< Scalar > * | localValues = NULL,  | 
        ||
| Ordinal * | stride = NULL  | 
        ||
| ) | 
Set to an uninitialized state.
Postconditions:
this->spmdSpace().get() == NULL. Definition at line 62 of file Thyra_DefaultSpmdVector_def.hpp.
      
  | 
  inline | 
Definition at line 150 of file Thyra_DefaultSpmdVector_decl.hpp.
      
  | 
  inline | 
Definition at line 159 of file Thyra_DefaultSpmdVector_decl.hpp.
      
  | 
  inline | 
Definition at line 167 of file Thyra_DefaultSpmdVector_decl.hpp.
      
  | 
  inline | 
Definition at line 175 of file Thyra_DefaultSpmdVector_decl.hpp.
      
  | 
  inline | 
Definition at line 183 of file Thyra_DefaultSpmdVector_decl.hpp.
      
  | 
  virtual | 
Implements Thyra::SpmdMultiVectorBase< Scalar >.
Definition at line 85 of file Thyra_DefaultSpmdVector_def.hpp.
      
  | 
  virtual | 
Implements Thyra::SpmdVectorBase< Scalar >.
Definition at line 95 of file Thyra_DefaultSpmdVector_def.hpp.
      
  | 
  virtual | 
Implements Thyra::SpmdVectorBase< Scalar >.
Definition at line 103 of file Thyra_DefaultSpmdVector_def.hpp.