Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

VectorDomain Class Template Reference

#include <vector-domain.h>

Inheritance diagram for VectorDomain:

DotProductDomain VectorDomainBase VectorDomainBase List of all members.

template<class Field>
class LinBox::VectorDomain< Field >


Reordering and permutation operations

These routines provide support for swapping vectors and permuting their entries.

typedef std::vector< Transposition > Permutation
template<class Vector> void swap (Vector &v1, Vector &v2) const
template<class Vector, class Iterator> Vector & permute (Vector &v, Iterator P_start, Iterator P_end) const
Vector arithmetic operations
typedef std::pair< unsigned
int, unsigned int > 
Transposition

Public Types

typedef Field::Element Element

Public Methods

 VectorDomain (const VectorDomain &VD)
VectorDomain & operator= (const VectorDomain &VD)
const Field & field () const
Vector Domain
template<class Vector> std::ostream & write (std::ostream &os, const Vector &x) const
template<class Vector> std::istream & read (std::istream &is, Vector &x) const
Vector arithmetic operations
These routes are analogs of field arithmetic operations, but they take vectors of elements as input. Vector-vector dot product and vector-vector axpy are supported here.

template<class Vector1, class Vector2> Input Output Operations Vector1 & copy (Vector1 &res, const Vector2 &v) const
template<class Vector1, class Vector2> Vector1 & copy (Vector1 &res, const Vector2 &v, size_t i, size_t len=0) const
template<class Vector1, class Vector2> bool areEqual (const Vector1 &v1, const Vector2 &v2) const
template<class Vector> bool isZero (const Vector &v) const
template<class Vector1, class Vector2> Element & dot (Element &res, const Vector1 &v1, const Vector2 &v2) const
template<class Vector1, class Vector2> Element & dotprod (Element &res, const Vector1 &v1, const Vector2 &v2) const
template<class Vector1, class Vector2, class Vector3> Vector1 & add (Vector1 &res, const Vector2 &y, const Vector3 &x) const
template<class Vector1, class Vector2> Vector1 & addin (Vector1 &y, const Vector2 &x) const
template<class Vector1, class Vector2, class Vector3> Vector1 & sub (Vector1 &res, const Vector2 &y, const Vector3 &x) const
template<class Vector1, class Vector2> Vector1 & subin (Vector1 &y, const Vector2 &x) const
template<class Vector1, class Vector2> Vector1 & neg (Vector1 &res, const Vector2 &x) const
template<class Vector> Vector & negin (Vector &y) const
template<class Vector1, class Vector2> Vector1 & mul (Vector1 &res, const Vector2 &x, const Element &a) const
template<class Vector> Vector & mulin (Vector &x, const Element &a) const
template<class Vector1, class Vector2, class Vector3> Vector1 & axpy (Vector1 &res, const Element &a, const Vector2 &x, const Vector3 &y) const
template<class Vector1, class Vector2> Vector1 & axpyin (Vector1 &y, const Element &a, const Vector2 &x) const
Implementation-Specific Methods.
These methods are not required of all \Ref{LinBox Fields} and are included only for this implementation of the archetype.

 VectorDomain (const Field &F)

Protected Methods

template<class Vector> std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::DenseVectorTag) const
template<class Vector> std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::SparseParallelVectorTag) const
template<class Vector> std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::DenseVectorTag) const
template<class Vector> std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector> bool isZeroSpecialized (const Vector &v, VectorCategories::DenseVectorTag) const
template<class Vector> bool isZeroSpecialized (const Vector &v, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> bool isZeroSpecialized (const Vector &v, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> bool isZeroSpecialized (const Vector &v, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::SparseParallelVectorTag) const
template<class Vector> Vector & copySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::DenseVectorTag) const
template<class Vector> Vector & copySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> Vector & copySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> Vector & copySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector> Vector & neginSpecialized (Vector &y, VectorCategories::DenseVectorTag) const
template<class Vector> Vector & neginSpecialized (Vector &y, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> Vector & neginSpecialized (Vector &y, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> Vector & neginSpecialized (Vector &y, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::SparseParallelVectorTag) const
template<class Vector> Vector & mulinSpecialized (Vector &x, const Element &a, VectorCategories::DenseVectorTag) const
template<class Vector> Vector & mulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> Vector & mulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> Vector & mulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2> Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2> Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2, class Vector3> Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2> Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2> Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2> Vector1 & negSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2> Vector1 & negSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector1, class Vector2> Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
template<class Vector> void swapSpecialized (Vector &v1, Vector &v2, VectorCategories::DenseVectorTag) const
template<class Vector> void swapSpecialized (Vector &v1, Vector &v2, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> void swapSpecialized (Vector &v1, Vector &v2, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> void swapSpecialized (Vector &v1, Vector &v2, VectorCategories::SparseParallelVectorTag) const
template<class Vector, class Iterator> Vector & permuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::DenseVectorTag) const
template<class Vector, class Iterator> Vector & permuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseSequenceVectorTag) const
template<class Vector, class Iterator> Vector & permuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector, class Iterator> Vector & permuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseParallelVectorTag) const

Member Typedef Documentation

typedef Field::Element Element
 

Reimplemented from DotProductDomain.

typedef std::vector<Transposition> Permutation
 


Constructor & Destructor Documentation

VectorDomain (  const VectorDomain< Field > &    VD )  [inline]
 

Copy constructor. Constructs VectorDomain object by copying the domain. This is required to allow matrix domain objects to be passed by value into functions.

Parameters:
MD  VectorDomain object.

VectorDomain (  const Field &    F )  [inline]
 

Construct from a field

Parameters:
F  Field from which to construct


Member Function Documentation

Vector1& add (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x
)  const [inline]
 

Vector add res <- y + x

Parameters:
res  Vector into which to store result
y  Input vector y
x  Input vector x

Vector1& addin (  Vector1 &    y,
const Vector2 &    x
)  const [inline]
 

Vector in-place add y <- y + x

Parameters:
y  Input vector y; result is stored here
x  Input vector x

Vector1& addinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& addinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& addinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& addinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& addinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1 & addinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

Vector1& addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1 & addSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

bool areEqual (  const Vector1 &    v1,
const Vector2 &    v2
)  const [inline]
 

Vector equality

Parameters:
v1  Input vector
v2  Input vector
Returns:
true if and only if the vectors v1 and v2 are equal

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

bool areEqualSpecialized (  const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& axpy (  Vector1 &    res,
const Element &    a,
const Vector2 &    x,
const Vector3 &    y
)  const [inline]
 

Vector axpy res <- y + a*x

Parameters:
res  Vector into which to store result
a  Scalar element a
x  Input vector x
y  Input vector y

Vector1& axpyin (  Vector1 &    y,
const Element &    a,
const Vector2 &    x
)  const [inline]
 

Vector in-place axpy y <- y + a*x

Parameters:
y  Input vector y; result is stored here
a  Scalar element a
x  Input vector x

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1& axpyinSpecialized (  Vector1 &    y,
const Element &    a,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& axpySpecialized (  Vector1 &    res,
const Vector2 &    y,
const Element &    a,
const Vector3 &    x,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& axpySpecialized (  Vector1 &    res,
const Vector2 &    y,
const Element &    a,
const Vector3 &    x,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& axpySpecialized (  Vector1 &    res,
const Vector2 &    y,
const Element &    a,
const Vector3 &    x,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1& axpySpecialized (  Vector1 &    res,
const Vector2 &    y,
const Element &    a,
const Vector3 &    x,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& copy (  Vector1 &    res,
const Vector2 &    v,
size_t    i,
size_t    len = 0
)  const [inline]
 

Vector copy Copy a vector to a portion of another vector, possibly converting to a different representation

Parameters:
res  Output vector
i  Index to which to copy
len  Length (in indices) of output vector to invalidate. If len == 0, then copy the whole vector v
v  Input vector
Returns:
reference to output vector

Input Output Operations Vector1& copy (  Vector1 &    res,
const Vector2 &    v
)  const [inline]
 

Vector copy Copy a vector to another vector, possibly converting to a different representation

Parameters:
res  Output vector
v  Input vector
Returns:
reference to output vector

Vector& copySpecialized (  Vector &    res,
const Vector &    v,
size_t    i,
size_t    len,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector& copySpecialized (  Vector &    res,
const Vector &    v,
size_t    i,
size_t    len,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector& copySpecialized (  Vector &    res,
const Vector &    v,
size_t    i,
size_t    len,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector & copySpecialized (  Vector &    res,
const Vector &    v,
size_t    i,
size_t    len,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
size_t    i,
size_t    len,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
size_t    i,
size_t    len,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
size_t    i,
size_t    len,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1 & copySpecialized (  Vector1 &    res,
const Vector2 &    v,
size_t    i,
size_t    len,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1 & copySpecialized (  Vector1 &    res,
const Vector2 &    v,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

Element& dot (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2
)  const [inline]
 

Vector-vector dot product

Parameters:
res  element into which to store result
v1  Input vector
v2  Input vector

Element& dotprod (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2
)  const [inline]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

Field::Element & dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

Element& dotSpecialized (  Element &    res,
const Vector1 &    v1,
const Vector2 &    v2,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

const Field& field (    )  const [inline]
 

Retrieve the underlying field Return a reference to the field that this matrix domain object uses

Returns:
reference to field

bool isZero (  const Vector &    v )  const [inline]
 

Vector equality with zero

Parameters:
v  Input vector
Returns:
true if and only if the vector v is zero

bool isZeroSpecialized (  const Vector &    v,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

bool isZeroSpecialized (  const Vector &    v,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

bool isZeroSpecialized (  const Vector &    v,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

bool isZeroSpecialized (  const Vector &    v,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& mul (  Vector1 &    res,
const Vector2 &    x,
const Element &    a
)  const [inline]
 

Scalar-vector multiplication res <- a * x

Parameters:
res  Vector into which to store result
x  Input vector x
a  Input element a

Vector& mulin (  Vector &    x,
const Element &    a
)  const [inline]
 

In-place scalar-vector multiplication x <- a * x

Parameters:
res  Vector into which to store result
x  Input vector x
a  Input element a

Vector& mulinSpecialized (  Vector &    x,
const Element &    a,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector& mulinSpecialized (  Vector &    x,
const Element &    a,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector& mulinSpecialized (  Vector &    x,
const Element &    a,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector& mulinSpecialized (  Vector &    x,
const Element &    a,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& mulSpecialized (  Vector1 &    res,
const Vector2 &    x,
const Element &    a,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& mulSpecialized (  Vector1 &    res,
const Vector2 &    x,
const Element &    a,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& mulSpecialized (  Vector1 &    res,
const Vector2 &    x,
const Element &    a,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1& mulSpecialized (  Vector1 &    res,
const Vector2 &    x,
const Element &    a,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& neg (  Vector1 &    res,
const Vector2 &    x
)  const [inline]
 

Vector negate res <- -x

Parameters:
res  Vector into which to store result
x  Input vector x

Vector& negin (  Vector &    y )  const [inline]
 

Vector in-place negate y <- -y

Parameters:
y  Input vector y; result is stored here

Vector& neginSpecialized (  Vector &    y,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector& neginSpecialized (  Vector &    y,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector& neginSpecialized (  Vector &    y,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector & neginSpecialized (  Vector &    y,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& negSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& negSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& negSpecialized (  Vector1 &    res,
const Vector2 &    x,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& negSpecialized (  Vector1 &    res,
const Vector2 &    x,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& negSpecialized (  Vector1 &    res,
const Vector2 &    x,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1 & negSpecialized (  Vector1 &    res,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

VectorDomain& operator= (  const VectorDomain< Field > &    VD )  [inline]
 

Assignment operator. Assigns VectorDomain object MD to field.

Parameters:
MD  VectorDomain object.

Vector& permute (  Vector &    v,
Iterator    P_start,
Iterator    P_end
)  const [inline]
 

Permute the entries of a given vector using the given permutation

Parameters:
v  Vector to permute
P_start  Iterator of the start of the permutation to apply
P_end  Iterator of the end of the permutation to apply
Returns:
Reference to v

Vector& permuteSpecialized (  Vector &    v,
Iterator    P_start,
Iterator    P_end,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

Vector& permuteSpecialized (  Vector &    v,
Iterator    P_start,
Iterator    P_end,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

Vector& permuteSpecialized (  Vector &    v,
Iterator    P_start,
Iterator    P_end,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

Vector & permuteSpecialized (  Vector &    v,
Iterator    P_start,
Iterator    P_end,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

std::istream& read (  std::istream &    is,
Vector &    x
)  const [inline]
 

Read vector of field elements. This function assumes the field element has already been constructed and initialized.

Returns:
input stream from which field element is read.
Parameters:
is  input stream from which field element is read.
x  field element.

std::istream& readSpecialized (  std::istream &    is,
Vector &    x,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

std::istream& readSpecialized (  std::istream &    is,
Vector &    x,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

std::istream& readSpecialized (  std::istream &    is,
Vector &    x,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

std::istream & readSpecialized (  std::istream &    is,
Vector &    x,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& sub (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x
)  const [inline]
 

Vector subtract res <- y - x

Parameters:
res  Vector into which to store result
y  Input vector y
x  Input vector x

Vector1& subin (  Vector1 &    y,
const Vector2 &    x
)  const [inline]
 

Vector in-place subtract y <- y - x

Parameters:
y  Input vector y; result is stored here
x  Input vector x

Vector1& subinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& subinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& subinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& subinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& subinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1 & subinSpecialized (  Vector1 &    y,
const Vector2 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

Vector1& subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

Vector1& subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   ,
VectorCategories::GenericVectorTag   
)  const [inline, protected]
 

Vector1& subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   ,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

Vector1& subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   ,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

Vector1& subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   ,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

Vector1 & subSpecialized (  Vector1 &    res,
const Vector2 &    y,
const Vector3 &    x,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   ,
VectorCategories::DenseVectorTag   
)  const [protected]
 

void swap (  Vector &    v1,
Vector &    v2
)  const [inline]
 

Swap the contents of the two given vectors.

Parameters:
v1  First vector
v2  Second vector

void swapSpecialized (  Vector &    v1,
Vector &    v2,
VectorCategories::SparseParallelVectorTag   
)  const [inline, protected]
 

void swapSpecialized (  Vector &    v1,
Vector &    v2,
VectorCategories::SparseAssociativeVectorTag   
)  const [inline, protected]
 

void swapSpecialized (  Vector &    v1,
Vector &    v2,
VectorCategories::SparseSequenceVectorTag   
)  const [inline, protected]
 

void swapSpecialized (  Vector &    v1,
Vector &    v2,
VectorCategories::DenseVectorTag   
)  const [inline, protected]
 

std::ostream& write (  std::ostream &    os,
const Vector &    x
)  const [inline]
 

Print vector of field elements. This function assumes the field element has already been constructed and initialized.

Returns:
output stream to which field element is written.
Parameters:
os  output stream to which field element is written.
x  field element.

std::ostream& writeSpecialized (  std::ostream &    os,
const Vector &    x,
VectorCategories::SparseParallelVectorTag   
)  const [protected]
 

std::ostream& writeSpecialized (  std::ostream &    os,
const Vector &    x,
VectorCategories::SparseAssociativeVectorTag   
)  const [protected]
 

std::ostream& writeSpecialized (  std::ostream &    os,
const Vector &    x,
VectorCategories::SparseSequenceVectorTag   
)  const [protected]
 

std::ostream & writeSpecialized (  std::ostream &    os,
const Vector &    x,
VectorCategories::DenseVectorTag   
)  const [protected]
 


Member Data Documentation

Vector arithmetic operations typedef std::pair<unsigned int, unsigned int> Transposition
 

Permutation

A permutation is represented as a vector of pairs, each pair representing a transposition.


Generated on Mon Jun 20 09:16:56 2005 for linbox by doxygen1.2.18