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< TranspositionPermutation
template<class Vector> void swap (Vector &v1, Vector &v2) const
template<class Vector, class Iterator> Vectorpermute (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 Fieldfield () 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> Elementdot (Element &res, const Vector1 &v1, const Vector2 &v2) const
template<class Vector1, class Vector2> Elementdotprod (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> Vectornegin (Vector &y) const
template<class Vector1, class Vector2> Vector1 & mul (Vector1 &res, const Vector2 &x, const Element &a) const
template<class Vector> Vectormulin (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> VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::DenseVectorTag) const
template<class Vector> VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::DenseVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseParallelVectorTag) const
template<class Vector1, class Vector2> ElementdotSpecialized (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> VectorneginSpecialized (Vector &y, VectorCategories::DenseVectorTag) const
template<class Vector> VectorneginSpecialized (Vector &y, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> VectorneginSpecialized (Vector &y, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> VectorneginSpecialized (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> VectormulinSpecialized (Vector &x, const Element &a, VectorCategories::DenseVectorTag) const
template<class Vector> VectormulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseSequenceVectorTag) const
template<class Vector> VectormulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector> VectormulinSpecialized (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> VectorpermuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::DenseVectorTag) const
template<class Vector, class Iterator> VectorpermuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseSequenceVectorTag) const
template<class Vector, class Iterator> VectorpermuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseAssociativeVectorTag) const
template<class Vector, class Iterator> VectorpermuteSpecialized (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