Collaboration diagram for Collection of standard multi-vector operations with text names.:
Functions | |
| template<class Scalar> | |
| void | Thyra::norms (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[]) |
| Column-wise multi-vector natural norm. | |
| template<class Scalar, class NormOp> | |
| void | Thyra::reductions (const MultiVectorBase< Scalar > &V, const NormOp &op, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[]) |
| Column-wise multi-vector reductions. | |
| template<class Scalar> | |
| void | Thyra::norms_1 (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[]) |
| Column-wise multi-vector one norm. | |
| template<class Scalar> | |
| void | Thyra::norms_2 (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[]) |
| Column-wise multi-vector 2 (Euclidean) norm. | |
| template<class Scalar> | |
| void | Thyra::norms_inf (const MultiVectorBase< Scalar > &V, typename Teuchos::ScalarTraits< Scalar >::magnitudeType norms[]) |
| Column-wise multi-vector infinity norm. | |
| template<class Scalar> | |
| Array< typename Teuchos::ScalarTraits< Scalar >::magnitudeType > | Thyra::norms_inf (const MultiVectorBase< Scalar > &V) |
| Column-wise multi-vector infinity norm. | |
| template<class Scalar> | |
| void | Thyra::dots (const MultiVectorBase< Scalar > &V1, const MultiVectorBase< Scalar > &V2, Scalar dots[]) |
| Multi-vector dot product. | |
| template<class Scalar> | |
| void | Thyra::sums (const MultiVectorBase< Scalar > &V, Scalar sums[]) |
| Multi-vector column sum. | |
| template<class Scalar> | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | Thyra::norm_1 (const MultiVectorBase< Scalar > &V) |
| Take the induced matrix one norm of a multi-vector. | |
| template<class Scalar> | |
| void | Thyra::scale (Scalar alpha, MultiVectorBase< Scalar > *V) |
| V = alpha*V. | |
| template<class Scalar> | |
| void | Thyra::scaleUpdate (const VectorBase< Scalar > &a, const MultiVectorBase< Scalar > &U, MultiVectorBase< Scalar > *V) |
| A*U + V -> V (where A is a diagonal matrix with diagonal a). | |
| template<class Scalar> | |
| void | Thyra::assign (MultiVectorBase< Scalar > *V, Scalar alpha) |
| V = alpha. | |
| template<class Scalar> | |
| void | Thyra::assign (MultiVectorBase< Scalar > *V, const MultiVectorBase< Scalar > &U) |
| V = U. | |
| template<class Scalar> | |
| void | Thyra::update (Scalar alpha, const MultiVectorBase< Scalar > &U, MultiVectorBase< Scalar > *V) |
| alpha*U + V -> V | |
| template<class Scalar> | |
| void | Thyra::update (Scalar alpha[], Scalar beta, const MultiVectorBase< Scalar > &U, MultiVectorBase< Scalar > *V) |
| alpha[j-1]*beta*U(j) + V(j) - > V(j), for j = 0 ... U.domain()->dim()-1 | |
| template<class Scalar> | |
| void | Thyra::update (const MultiVectorBase< Scalar > &U, Scalar alpha[], Scalar beta, MultiVectorBase< Scalar > *V) |
| U(j) + alpha[j-1]*beta*V(j) - > V(j), for j = 0 ... U.domain()->dim()-1. | |
| template<class Scalar> | |
| void | Thyra::linear_combination (const int m,const Scalar alpha[],const MultiVectorBase< Scalar > *X[],const Scalar &beta,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 | Thyra::randomize (Scalar l, Scalar u, MultiVectorBase< Scalar > *V) |
| Generate a random multi-vector with elements uniformly distributed elements. | |
| void Thyra::norms | ( | const MultiVectorBase< Scalar > & | V, | |
| typename Teuchos::ScalarTraits< Scalar >::magnitudeType | norms[] | |||
| ) |
Column-wise multi-vector natural norm.
| V | [in] | |
| norms | [out] Array (size m = V1->domain()->dim()) of the natural norms dot[j] = sqrt(scalarProd(*V.col(j),*V.col(j))), for j=0...m-1, computed using a single reduction. |
Definition at line 50 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::reductions | ( | const MultiVectorBase< Scalar > & | V, | |
| const NormOp & | op, | |||
| typename Teuchos::ScalarTraits< Scalar >::magnitudeType | norms[] | |||
| ) |
Column-wise multi-vector reductions.
| V | [in] | |
| normOp | [in] A reduction operator consistent with the interface to RTOpPack::ROpScalarReductionBase that defines the norm operation. | |
| norms | [out] Array (size m = V1->domain()->dim()) of one-norms dot[j] = {some norm}(*V.col(j)), for j=0...m-1, computed using a single reduction. |
Definition at line 61 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::norms_1 | ( | const MultiVectorBase< Scalar > & | V, | |
| typename Teuchos::ScalarTraits< Scalar >::magnitudeType | norms[] | |||
| ) | [inline] |
Column-wise multi-vector one norm.
| V | [in] | |
| norms | [out] Array (size m = V1->domain()->dim()) of one-norms dot[j] = norm_1(*V.col(j)), for j=0...m-1, computed using a single reduction. |
reductions() using RTOpPack::ROpNorm1.
Definition at line 287 of file Thyra_MultiVectorStdOpsDecl.hpp.
| void Thyra::norms_2 | ( | const MultiVectorBase< Scalar > & | V, | |
| typename Teuchos::ScalarTraits< Scalar >::magnitudeType | norms[] | |||
| ) | [inline] |
Column-wise multi-vector 2 (Euclidean) norm.
| V | [in] | |
| norms | [out] Array (size m = V1->domain()->dim()) of one-norms dot[j] = norm_2(*V.col(j)), for j=0...m-1, computed using a single reduction. |
reductions() using RTOpPack::ROpNorm2.
Definition at line 294 of file Thyra_MultiVectorStdOpsDecl.hpp.
| void Thyra::norms_inf | ( | const MultiVectorBase< Scalar > & | V, | |
| typename Teuchos::ScalarTraits< Scalar >::magnitudeType | norms[] | |||
| ) | [inline] |
Column-wise multi-vector infinity norm.
| V | [in] | |
| norms | [out] Array (size m = V1->domain()->dim()) of one-norms dot[j] = norm_inf(*V.col(j)), for j=0...m-1, computed using a single reduction. |
reductions() using RTOpPack::ROpNormInf.
Definition at line 301 of file Thyra_MultiVectorStdOpsDecl.hpp.
| Array<typename Teuchos::ScalarTraits<Scalar>::magnitudeType> Thyra::norms_inf | ( | const MultiVectorBase< Scalar > & | V | ) |
Column-wise multi-vector infinity norm.
Definition at line 308 of file Thyra_MultiVectorStdOpsDecl.hpp.
| void Thyra::dots | ( | const MultiVectorBase< Scalar > & | V1, | |
| const MultiVectorBase< Scalar > & | V2, | |||
| Scalar | dots[] | |||
| ) |
Multi-vector dot product.
| V1 | [in] | |
| V2 | [in] | |
| dots | [out] Array (size m = V1->domain()->dim()) of the dot products dot[j] = dot(*V1.col(j),*V2.col(j)), for j=0...m-1, computed using a single reduction. |
Definition at line 79 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::sums | ( | const MultiVectorBase< Scalar > & | V, | |
| Scalar | sums[] | |||
| ) |
Multi-vector column sum.
| V | [in] | |
| sums | [outt] Array (size m = V->domain()->dim()) of the sums products sum[j] = sum(*V.col(j)), for j=0...m-1, computed using a single reduction. |
Definition at line 98 of file Thyra_MultiVectorStdOps.hpp.
| Teuchos::ScalarTraits< Scalar >::magnitudeType Thyra::norm_1 | ( | const MultiVectorBase< Scalar > & | V | ) |
Take the induced matrix one norm of a multi-vector.
| V | [in] Input multi-vector |
Definition at line 118 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::scale | ( | Scalar | alpha, | |
| MultiVectorBase< Scalar > * | V | |||
| ) |
V = alpha*V.
Note, if alpha==0.0, then V=alpha is performed and if alpha==1.0, then nothing is done.
Definition at line 135 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::scaleUpdate | ( | const VectorBase< Scalar > & | a, | |
| const MultiVectorBase< Scalar > & | U, | |||
| MultiVectorBase< Scalar > * | V | |||
| ) |
A*U + V -> V (where A is a diagonal matrix with diagonal a).
Definition at line 157 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::assign | ( | MultiVectorBase< Scalar > * | V, | |
| Scalar | alpha | |||
| ) |
V = alpha.
Definition at line 181 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::assign | ( | MultiVectorBase< Scalar > * | V, | |
| const MultiVectorBase< Scalar > & | U | |||
| ) |
| void Thyra::update | ( | Scalar | alpha, | |
| const MultiVectorBase< Scalar > & | U, | |||
| MultiVectorBase< Scalar > * | V | |||
| ) |
alpha*U + V -> V
Definition at line 210 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::update | ( | Scalar | alpha[], | |
| Scalar | beta, | |||
| const MultiVectorBase< Scalar > & | U, | |||
| MultiVectorBase< Scalar > * | V | |||
| ) |
alpha[j-1]*beta*U(j) + V(j) - > V(j), for j = 0 ... U.domain()->dim()-1
Definition at line 222 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::update | ( | const MultiVectorBase< Scalar > & | U, | |
| Scalar | alpha[], | |||
| Scalar | beta, | |||
| MultiVectorBase< Scalar > * | V | |||
| ) |
U(j) + alpha[j-1]*beta*V(j) - > V(j), for j = 0 ... U.domain()->dim()-1.
Definition at line 242 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::linear_combination | ( | const int | m, | |
| const Scalar | alpha[], | |||
| const MultiVectorBase< Scalar > * | X[], | |||
| const Scalar & | beta, | |||
| 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.
| m | [in] Number of multi-vectors in X[] | |
| alpha | [in] Array (length m) of input scalars. | |
| X | [in] Array (length m) of input multi-vectors. | |
| beta | [in] Scalar multiplier for Y | |
| Y | [in/out] Target multi-vector that is the result of the linear combination. |
Y.col(j)(i) = beta*Y.col(j)(i) + alpha[0]*X[0].col(j)(i) + alpha[1]*X[1].col(j)(i) + ... + alpha[m-1]*X[m-1].col(j)(i)
for:
i = 0...y->space()->dim()-1
j = 0...y->domain()->dim()-1
MultiVectorBase::applyOp().
Definition at line 263 of file Thyra_MultiVectorStdOps.hpp.
| void Thyra::randomize | ( | Scalar | l, | |
| Scalar | u, | |||
| MultiVectorBase< Scalar > * | V | |||
| ) |
Generate a random multi-vector with elements uniformly distributed elements.
The elements get_ele(*V->col(j)) are randomly generated between [l,u].
The seed is set using seed_randomize()
Definition at line 288 of file Thyra_MultiVectorStdOps.hpp.
1.4.7