# Vector with linear algebra naming convention. [Collection of vector operations for all scalar types.]

## Functions

template<class Scalar>
void Thyra::assign (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 Thyra::assign (VectorBase< Scalar > *y, const VectorBase< Scalar > &x)
VectorBase assignment: `y(i) = x(i), i = 0...y->space()->dim()-1`.
template<class Scalar>
void Thyra::Vp_S (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 Thyra::Vt_S (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 Thyra::V_StV (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 Thyra::Vp_StV (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 Thyra::Vp_V (VectorBase< Scalar > *y, const VectorBase< Scalar > &x, const Scalar &beta)
`y(i) = x(i) + beta*y(i), i = 0...y->space()->dim()-1`.
template<class Scalar>
void Thyra::V_V (VectorBase< Scalar > *y, const VectorBase< Scalar > &x)
`y(i) = x(i), i = 0...y->space()->dim()-1`.
template<class Scalar>
void Thyra::V_S (VectorBase< Scalar > *y, const Scalar &alpha)
`y(i) = alpha, i = 0...y->space()->dim()-1`.
template<class Scalar>
void Thyra::V_VpV (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 Thyra::V_VmV (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 Thyra::V_StVpV (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 Thyra::V_StVpStV (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`.

## Detailed Description

These functions a just simpler ways to call the functions defined here.

The convention used here is described in the short note A Simple Convention for the Specification of Linear Algebra Function Prototypes in C++ .

## Function Documentation

 template void Thyra::assign ( VectorBase< Scalar > * y, const Scalar & alpha )
 Assign all elements to a scalar: `y(i) = alpha, i = 0...y->space()->dim()-1`. Definition at line 340 of file Thyra_VectorStdOps.hpp.

 template void Thyra::assign ( VectorBase< Scalar > * y, const VectorBase< Scalar > & x )
 VectorBase assignment: `y(i) = x(i), i = 0...y->space()->dim()-1`. Definition at line 346 of file Thyra_VectorStdOps.hpp.

 template void Thyra::Vp_S ( VectorBase< Scalar > * y, const Scalar & alpha )
 Add a scalar to all elements: `y(i) += alpha, i = 0...y->space()->dim()-1`. Definition at line 352 of file Thyra_VectorStdOps.hpp.

 template void Thyra::Vt_S ( VectorBase< Scalar > * y, const Scalar & alpha )
 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 358 of file Thyra_VectorStdOps.hpp.

 template void Thyra::V_StV ( VectorBase< Scalar > * y, const Scalar & alpha, const VectorBase< Scalar > & x )
 Assign scaled vector: `y(i) = alpha * x(i), i = 0...y->space()->dim()-1`. Examples: sillyPowerMethod.hpp. Definition at line 365 of file Thyra_VectorStdOps.hpp.

 template void Thyra::Vp_StV ( VectorBase< Scalar > * y, const Scalar & alpha, const VectorBase< Scalar > & x )
 AXPY: `y(i) = alpha * x(i) + y(i), i = 0...y->space()->dim()-1`. Examples: sillyCgSolve.hpp. Definition at line 374 of file Thyra_VectorStdOps.hpp.

 template void Thyra::Vp_V ( VectorBase< Scalar > * y, const VectorBase< Scalar > & x, const Scalar & beta )
 `y(i) = x(i) + beta*y(i), i = 0...y->space()->dim()-1`. Definition at line 386 of file Thyra_VectorStdOps.hpp.

 template void Thyra::V_V ( VectorBase< Scalar > * y, const VectorBase< Scalar > & x )
 `y(i) = x(i), i = 0...y->space()->dim()-1`. Examples: sillyCgSolve.hpp. Definition at line 396 of file Thyra_VectorStdOps.hpp.

 template void Thyra::V_S ( VectorBase< Scalar > * y, const Scalar & alpha )
 `y(i) = alpha, i = 0...y->space()->dim()-1`. Definition at line 402 of file Thyra_VectorStdOps.hpp.

 template void Thyra::V_VpV ( VectorBase< Scalar > * z, const VectorBase< Scalar > & x, const VectorBase< Scalar > & y )
 `z(i) = x(i) + y(i), i = 0...z->space()->dim()-1`. Definition at line 408 of file Thyra_VectorStdOps.hpp.

 template void Thyra::V_VmV ( VectorBase< Scalar > * z, const VectorBase< Scalar > & x, const VectorBase< Scalar > & y )
 `z(i) = x(i) - y(i), i = 0...z->space()->dim()-1`. Definition at line 419 of file Thyra_VectorStdOps.hpp.

 template void Thyra::V_StVpV ( 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`. Examples: sillyPowerMethod.hpp. Definition at line 430 of file Thyra_VectorStdOps.hpp.

 template void Thyra::V_StVpStV ( 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`. Definition at line 440 of file Thyra_VectorStdOps.hpp.

Generated on Thu Sep 18 12:32:32 2008 for Thyra Operator/Vector Support by  1.3.9.1