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

Collaboration diagram for Vector with linear algebra naming convention.:

## 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=Teuchos::ScalarTraits< Scalar >::one())
`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<class Scalar>
 void Thyra::assign ( VectorBase< Scalar > * v_lhs, 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<class Scalar>
 void Thyra::assign ( VectorBase< Scalar > * v_lhs, const VectorBase< Scalar > & v_rhs )

VectorBase assignment: `y(i) = x(i), i = 0...y->space()->dim()-1`.

Definition at line 346 of file Thyra_VectorStdOps.hpp.

template<class Scalar>
 void Thyra::Vp_S ( VectorBase< Scalar > * v_lhs, 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<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`.

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<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`.

Definition at line 365 of file Thyra_VectorStdOps.hpp.

template<class Scalar>
 void Thyra::Vp_StV ( VectorBase< Scalar > * v_lhs, const Scalar & alpha, const VectorBase< Scalar > & v_rhs )

AXPY: `y(i) = alpha * x(i) + y(i), i = 0...y->space()->dim()-1`.

Definition at line 374 of file Thyra_VectorStdOps.hpp.

template<class Scalar>
 void Thyra::Vp_V ( VectorBase< Scalar > * y, const VectorBase< Scalar > & x, const Scalar & beta = `Teuchos::ScalarTraits::one()` )

`y(i) = x(i) + beta*y(i), i = 0...y->space()->dim()-1`.

Definition at line 386 of file Thyra_VectorStdOps.hpp.

template<class Scalar>
 void Thyra::V_V ( VectorBase< Scalar > * y, const VectorBase< Scalar > & x )

`y(i) = x(i), i = 0...y->space()->dim()-1`.

Definition at line 396 of file Thyra_VectorStdOps.hpp.

template<class Scalar>
 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<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`.

Definition at line 408 of file Thyra_VectorStdOps.hpp.

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`.

Definition at line 419 of file Thyra_VectorStdOps.hpp.

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`.

Definition at line 430 of file Thyra_VectorStdOps.hpp.

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`.

Definition at line 440 of file Thyra_VectorStdOps.hpp.

Generated on Tue Oct 20 12:48:07 2009 for Thyra Package Browser (Single Doxygen Collection) by  1.4.7