Collaboration diagram for Vector operations with standard text names.:
|
Functions | |
| template<class Scalar> | |
| Scalar | Thyra::sum (const VectorBase< Scalar > &v) |
Sum of vector elements: result = sum( v(i), i = 0...v.space()->dim()-1 ). | |
| template<class Scalar> | |
| Scalar | Thyra::scalarProd (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) |
Scalar product result = <x,y>. | |
| template<class Scalar> | |
| Scalar | Thyra::inner (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) |
Inner/Scalar product result = <x,y>. | |
| template<class Scalar> | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | Thyra::norm (const VectorBase< Scalar > &v) |
Natural norm: result = sqrt(<v,v>). | |
| template<class Scalar> | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | Thyra::norm_1 (const VectorBase< Scalar > &v) |
One (1) norm: result = ||v||1. | |
| template<class Scalar> | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | Thyra::norm_2 (const VectorBase< Scalar > &v) |
Euclidean (2) norm: result = ||v||2. | |
| template<class Scalar> | |
| Teuchos::ScalarTraits< Scalar >::magnitudeType | Thyra::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 | Thyra::norm_inf (const VectorBase< Scalar > &v_rhs) |
Infinity norm: result = ||v||inf. | |
| template<class Scalar> | |
| Scalar | Thyra::dot (const VectorBase< Scalar > &x, const VectorBase< Scalar > &y) |
Dot product: result = conj(x)'*y. | |
| template<class Scalar> | |
| Scalar | Thyra::get_ele (const VectorBase< Scalar > &v, Ordinal i) |
Get single element: result = v(i). | |
| template<class Scalar> | |
| void | Thyra::set_ele (Ordinal i, Scalar alpha, const Ptr< VectorBase< Scalar > > &v) |
Set single element: v(i) = alpha. | |
| template<class Scalar> | |
| void | Thyra::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 | Thyra::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 | Thyra::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 | Thyra::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 | Thyra::abs (const Ptr< VectorBase< Scalar > > &y, const VectorBase< Scalar > &x) |
Element-wise absolute value: y(i) = abs(x(i)), i = 0...y->space()->dim()-1. | |
| template<class Scalar> | |
| void | Thyra::reciprocal (const Ptr< VectorBase< Scalar > > &y, const VectorBase< Scalar > &x) |
Element-wise reciprocal: y(i) = 1/x(i), i = 0...y->space()->dim()-1. | |
| template<class Scalar> | |
| void | Thyra::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 | Thyra::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 | Thyra::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 | Thyra::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 | Thyra::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 | Thyra::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 | Thyra::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 | Thyra::seed_randomize (unsigned int s) |
Seed the random number generator used in randomize(). | |
| template<class Scalar> | |
| void | Thyra::randomize (Scalar l, Scalar u, const Ptr< VectorBase< Scalar > > &v) |
Random vector generation: v(i) = rand(l,u), , i = 1...v->space()->dim(). | |
| Scalar Thyra::sum | ( | const VectorBase< Scalar > & | v_rhs | ) |
Sum of vector elements: result = sum( v(i), i = 0...v.space()->dim()-1 ).
Definition at line 76 of file Thyra_VectorStdOps.hpp.
| Scalar Thyra::scalarProd | ( | const VectorBase< Scalar > & | x, | |
| const VectorBase< Scalar > & | y | |||
| ) | [inline] |
Scalar product result = <x,y>.
Returns x.space()->scalarProd(x,y).
Definition at line 783 of file Thyra_VectorStdOpsDecl.hpp.
| Scalar Thyra::inner | ( | const VectorBase< Scalar > & | x, | |
| const VectorBase< Scalar > & | y | |||
| ) | [inline] |
Inner/Scalar product result = <x,y>.
Returns x.space()->scalarProd(x,y).
Definition at line 791 of file Thyra_VectorStdOpsDecl.hpp.
| Teuchos::ScalarTraits<Scalar>::magnitudeType Thyra::norm | ( | const VectorBase< Scalar > & | v | ) | [inline] |
Natural norm: result = sqrt(<v,v>).
Returns Teuchos::ScalarTraits<Scalar>::squareroot(v.space()->scalarProd(v,v)).
Definition at line 800 of file Thyra_VectorStdOpsDecl.hpp.
| Teuchos::ScalarTraits< Scalar >::magnitudeType Thyra::norm_1 | ( | const VectorBase< Scalar > & | v_rhs | ) |
| Teuchos::ScalarTraits< Scalar >::magnitudeType Thyra::norm_2 | ( | const VectorBase< Scalar > & | v_rhs | ) |
| Teuchos::ScalarTraits< Scalar >::magnitudeType Thyra::norm_2 | ( | const VectorBase< Scalar > & | w, | |
| const VectorBase< Scalar > & | v | |||
| ) |
Weighted Euclidean (2) norm: result = sqrt( sum( w(i)*conj(v(i))*v(i)) ).
Definition at line 119 of file Thyra_VectorStdOps.hpp.
| Teuchos::ScalarTraits< Scalar >::magnitudeType Thyra::norm_inf | ( | const VectorBase< Scalar > & | v_rhs | ) |
| Scalar Thyra::dot | ( | const VectorBase< Scalar > & | v_rhs1, | |
| const VectorBase< Scalar > & | v_rhs2 | |||
| ) |
| Scalar Thyra::get_ele | ( | const VectorBase< Scalar > & | v, | |
| Ordinal | i | |||
| ) |
| void Thyra::set_ele | ( | Ordinal | i, | |
| Scalar | alpha, | |||
| const Ptr< VectorBase< Scalar > > & | v | |||
| ) |
| void Thyra::put_scalar | ( | const Scalar & | alpha, | |
| const Ptr< VectorBase< Scalar > > & | v_lhs | |||
| ) |
Assign all elements to a scalar: y(i) = alpha, i = 0...y->space()->dim()-1.
Definition at line 188 of file Thyra_VectorStdOps.hpp.
| void Thyra::copy | ( | const VectorBase< Scalar > & | v_rhs, | |
| const Ptr< VectorBase< Scalar > > & | v_lhs | |||
| ) |
Vector assignment: y(i) = x(i), i = 0...y->space()->dim()-1.
Definition at line 199 of file Thyra_VectorStdOps.hpp.
| void Thyra::add_scalar | ( | const Scalar & | alpha, | |
| const Ptr< VectorBase< Scalar > > & | v_lhs | |||
| ) |
Add a scalar to all elements: y(i) += alpha, i = 0...y->space()->dim()-1.
Definition at line 209 of file Thyra_VectorStdOps.hpp.
| void Thyra::scale | ( | const Scalar & | alpha, | |
| const Ptr< VectorBase< Scalar > > & | y | |||
| ) |
Scale all elements by a scalar: y(i) *= alpha, i = 0...y->space()->dim()-1.
This takes care of the special cases of alpha == 0.0 (set y = 0.0) and alpha == 1.0 (don't do anything).
Definition at line 220 of file Thyra_VectorStdOps.hpp.
| void Thyra::abs | ( | const Ptr< VectorBase< Scalar > > & | y, | |
| const VectorBase< Scalar > & | x | |||
| ) |
Element-wise absolute value: y(i) = abs(x(i)), i = 0...y->space()->dim()-1.
Definition at line 236 of file Thyra_VectorStdOps.hpp.
| void Thyra::reciprocal | ( | const Ptr< VectorBase< Scalar > > & | y, | |
| const VectorBase< Scalar > & | x | |||
| ) |
Element-wise reciprocal: y(i) = 1/x(i), i = 0...y->space()->dim()-1.
Definition at line 245 of file Thyra_VectorStdOps.hpp.
| void Thyra::ele_wise_prod | ( | const Scalar & | alpha, | |
| const VectorBase< Scalar > & | v_rhs1, | |||
| const VectorBase< Scalar > & | v_rhs2, | |||
| const Ptr< VectorBase< Scalar > > & | v_lhs | |||
| ) |
Element-wise product update: y(i) += alpha * x(i) * v(i), i = 0...y->space()->dim()-1.
Definition at line 254 of file Thyra_VectorStdOps.hpp.
| void Thyra::ele_wise_conj_prod | ( | const Scalar & | alpha, | |
| const VectorBase< Scalar > & | v_rhs1, | |||
| const VectorBase< Scalar > & | v_rhs2, | |||
| const Ptr< VectorBase< Scalar > > & | v_lhs | |||
| ) |
Element-wise conjugate product update: y(i) += alpha * conj(x(i)) * v(i), i = 0...y->space()->dim()-1.
Definition at line 267 of file Thyra_VectorStdOps.hpp.
| void Thyra::Vp_StVtV | ( | const Ptr< VectorBase< Scalar > > & | v_lhs, | |
| const Scalar & | alpha, | |||
| const VectorBase< Scalar > & | v_rhs1, | |||
| const VectorBase< Scalar > & | v_rhs2 | |||
| ) |
Element-wise product update: y(i) += alpha * x(i) * v(i), i = 0...y->space()->dim()-1.
Definition at line 280 of file Thyra_VectorStdOps.hpp.
| void Thyra::ele_wise_prod_update | ( | const Scalar & | alpha, | |
| const VectorBase< Scalar > & | v_rhs1, | |||
| const Ptr< VectorBase< Scalar > > & | v_lhs | |||
| ) |
Element-wise product update: y(i) *= alpha * x(i), i = 0...y->space()->dim()-1.
Definition at line 291 of file Thyra_VectorStdOps.hpp.
| void Thyra::Vt_StV | ( | const Ptr< VectorBase< Scalar > > & | v_lhs, | |
| const Scalar & | alpha, | |||
| const VectorBase< Scalar > & | x | |||
| ) |
Element-wise product update: y(i) *= alpha * x(i), i = 0...y->space()->dim()-1.
Definition at line 304 of file Thyra_VectorStdOps.hpp.
| void Thyra::ele_wise_divide | ( | const Scalar & | alpha, | |
| const VectorBase< Scalar > & | v_rhs1, | |||
| const VectorBase< Scalar > & | v_rhs2, | |||
| const Ptr< VectorBase< Scalar > > & | v_lhs | |||
| ) |
Element-wise division update: y(i) += alpha * x(i) / v(i), i = 0...y->space()->dim()-1.
Definition at line 313 of file Thyra_VectorStdOps.hpp.
| void Thyra::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.
| m | [in] Number of vectors x[] | |
| alpha | [in] Array (length m) of input scalars. | |
| x | [in] Array (length m) of input vectors. | |
| beta | [in] Scalar multiplier for y | |
| y | [in/out] Target vector that is the result of the linear combination. |
y(i) = beta*y(i) + alpha[0]*x[0](i) + alpha[1]*x[1](i)
+ ... + alpha[m-1]*x[m-1](i), i = 0...y->space()->dim()-1
Definition at line 327 of file Thyra_VectorStdOps.hpp.
| void Thyra::seed_randomize | ( | unsigned int | s | ) |
Seed the random number generator used in randomize().
| s | [in] The seed for the random number generator. |
Teuchos::TOpRandomize<Scalar>::set_static_seed(s).
Definition at line 351 of file Thyra_VectorStdOps.hpp.
| void Thyra::randomize | ( | Scalar | l, | |
| Scalar | u, | |||
| const Ptr< VectorBase< Scalar > > & | v | |||
| ) |
Random vector generation: v(i) = rand(l,u), , i = 1...v->space()->dim().
The elements v->getEle(i) are randomly generated between [l,u].
The seed is set using the above seed_randomize() function.
Definition at line 358 of file Thyra_VectorStdOps.hpp.
1.4.7