|
(Note that these are not member symbols.)
|
| template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node > |
| RCP< TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | tpetraVector (const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector) |
| | Nonmember constructor for TpetraVector.
|
| |
| template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node > |
| RCP< const TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | constTpetraVector (const RCP< const TpetraVectorSpace< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVectorSpace, const RCP< const Tpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &tpetraVector) |
| | Nonmember constructor for TpetraVector.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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>(...).
|
| |
|
| | 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().
|
| |
| 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.
|
| |
| 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().
|
| |
| 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().
|
| |
| 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.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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().
|
| |
| 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.
|
| |
| virtual void | updateSpmdSpace () |
| | Subclasses must call this function whenever the structure of the VectorSpaceBase changes.
|
| |
| void | releaseDetachedVectorViewImpl (RTOpPack::ConstSubVectorView< Scalar > *sub_vec) const |
| | Implemented through this->freeLocalData()
|
| |
| 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().
|
| |
| 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 |
| |
| 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 | 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 | 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) |
| |
| 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 |
| |