linbox
VectorDomain< Field_ > Class Template Reference

#include <vector-domain.h>

+ Inheritance diagram for VectorDomain< Field_ >:

Public Types

typedef Field_ Field
 
typedef Field::Element Element
 

Public Member Functions

 VectorDomain (const VectorDomain &VD)
 Copy constructor.
 
 VectorDomain (const Field &F)
 Construct from a field.
 
VectorDomainoperator= (const VectorDomain &VD)
 Assignment operator.
 
template<class Vector>
std::ostream & write (std::ostream &os, const Vector &x) const
 Vector input/output operations These routines are useful for reading and writing vectors to and from file streams.
 
template<class Vector>
std::istream & read (std::istream &is, Vector &x) const
 Read vector of field elements.
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const typename Field::Element &a, VectorCategories::DenseVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const typename Field::Element &a, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const typename Field::Element &a, VectorCategories::SparseAssociativeVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const typename Field::Element &a, VectorCategories::SparseParallelVectorTag) const
 
template<class Vector>
VectormulinSpecialized (Vector &x, const typename Field::Element &a, VectorCategories::DenseVectorTag) const
 
template<class Vector>
VectormulinSpecialized (Vector &x, const typename Field::Element &a, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector>
VectormulinSpecialized (Vector &x, const typename Field::Element &a, VectorCategories::SparseAssociativeVectorTag) const
 
template<class Vector>
VectormulinSpecialized (Vector &x, const typename Field::Element &a, VectorCategories::SparseParallelVectorTag) const
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const typename Field::Element &a, const Vector3 &x, VectorCategories::DenseVectorTag) const
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const typename Field::Element &a, const Vector3 &x, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const typename Field::Element &a, const Vector3 &x, VectorCategories::SparseAssociativeVectorTag) const
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const typename Field::Element &a, const Vector3 &x, VectorCategories::SparseParallelVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const typename Field::Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const typename Field::Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const typename Field::Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const typename Field::Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const typename Field::Element &a, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const typename Field::Element &a, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const typename Field::Element &a, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) 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
 
template<class Vector1, class Vector2>
Field::Element & dotSpecializedDD (typename Field::Element &res, const Vector1 &v1, const Vector2 &v2) const
 
template<class Vector1, class Vector2>
Field::Element & dotSpecializedDSP (Element &res, const Vector1 &v1, const Vector2 &v2) const
 
void init (const Field_ &F)
 
const Field_ & field () const
 
const FieldAXPY< Field_ > & faxpy () 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>
Vector1 & copy (Vector1 &res, const Vector2 &v) const
 Vector copy.
 
template<class Vector1, class Vector2>
Vector1 & copy (Vector1 &res, const Vector2 &v, size_t i, size_t len=0) const
 Vector copy.
 
template<class Vector1, class Vector2>
bool areEqual (const Vector1 &v1, const Vector2 &v2) const
 Vector equality.
 
template<class Vector>
bool isZero (const Vector &v) const
 Vector equality with zero.
 
template<class Vector1, class Vector2>
Elementdot (Element &res, const Vector1 &v1, const Vector2 &v2) const
 Vector-vector dot product.
 
template<class Vector1, class Vector2>
Elementdotprod (Element &res, const Vector1 &v1, const Vector2 &v2) const
 Vector-vector dot product.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & add (Vector1 &res, const Vector2 &y, const Vector3 &x) const
 Vector add.
 
template<class Vector1, class Vector2>
Vector1 & addin (Vector1 &y, const Vector2 &x) const
 Vector in-place add.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & sub (Vector1 &res, const Vector2 &y, const Vector3 &x) const
 Vector subtract.
 
template<class Vector1, class Vector2>
Vector1 & subin (Vector1 &y, const Vector2 &x) const
 Vector in-place subtract.
 
template<class Vector1, class Vector2>
Vector1 & neg (Vector1 &res, const Vector2 &x) const
 Vector negate.
 
template<class Vector>
Vectornegin (Vector &y) const
 Vector in-place negate.
 
template<class Vector1, class Vector2>
Vector1 & mul (Vector1 &res, const Vector2 &x, const Element &a) const
 Scalar-vector multiplication.
 
template<class Vector>
Vectormulin (Vector &x, const Element &a) const
 In-place scalar-vector multiplication.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpy (Vector1 &res, const Element &a, const Vector2 &x, const Vector3 &y) const
 Vector axpy.
 
template<class Vector1, class Vector2>
Vector1 & axpyin (Vector1 &y, const Element &a, const Vector2 &x) const
 Vector in-place axpy.
 

Protected Member Functions

template<class Vector1, class Vector2>
ElementdotSpecializedDD (Element &res, const Vector1 &v1, const Vector2 &v2) const
 
template<class Vector1, class Vector2>
ElementdotSpecializedDSP (Element &res, const Vector1 &v1, const Vector2 &v2) const
 

Protected Attributes

const FieldAXPY< Field_ > * _faxpy
 

Reordering and permutation operations

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

typedef std::pair< unsigned int, unsigned int > Transposition
 Permutation.
 
typedef std::vector< TranspositionPermutation
 Permutation.
 
template<class Vector>
void swap (Vector &v1, Vector &v2) const
 Swap the contents of the two given vectors.
 
template<class Vector, class Iterator>
Vectorpermute (Vector &v, Iterator P_start, Iterator P_end) const
 Permute the entries of a given vector using the given permutation.
 
template<class Vector>
Vectorrandom (Vector &v)
 Random vector.
 
template<class Vector>
std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector>
std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector>
std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector>
std::ostream & writeSpecialized (std::ostream &os, const Vector &x, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector>
std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector>
std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector>
std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector>
std::istream & readSpecialized (std::istream &is, Vector &x, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
bool areEqualSpecialized (const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector>
bool isZeroSpecialized (const Vector &v, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector>
bool isZeroSpecialized (const Vector &v, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector>
bool isZeroSpecialized (const Vector &v, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector>
bool isZeroSpecialized (const Vector &v, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
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
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & copySpecialized (Vector1 &res, const Vector2 &v, size_t i, size_t len, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector>
VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector>
VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector>
VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector>
VectorcopySpecialized (Vector &res, const Vector &v, size_t i, size_t len, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
ElementdotSpecialized (Element &res, const Vector1 &v1, const Vector2 &v2, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & negSpecialized (Vector1 &res, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector>
VectorneginSpecialized (Vector &y, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector>
VectorneginSpecialized (Vector &y, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector>
VectorneginSpecialized (Vector &y, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector>
VectorneginSpecialized (Vector &y, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & mulSpecialized (Vector1 &res, const Vector2 &x, const Element &a, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector>
VectormulinSpecialized (Vector &x, const Element &a, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector>
VectormulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector>
VectormulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector>
VectormulinSpecialized (Vector &x, const Element &a, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized (Vector1 &res, const Vector2 &y, const Element &a, const Vector3 &x, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::SparseSequenceVectorTag, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::SparseAssociativeVectorTag, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::SparseParallelVectorTag, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & addinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized (Vector1 &res, const Vector2 &y, const Vector3 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & subinSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & negSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::DenseVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & negSpecialized (Vector1 &y, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized (Vector1 &y, const Element &a, const Vector2 &x, VectorCategories::GenericVectorTag, VectorCategories::GenericVectorTag) const
 Permutation.
 
template<class Vector>
void swapSpecialized (Vector &v1, Vector &v2, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class _Vector>
void swapSpecialized (_Vector &v1, _Vector &v2, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class _Vector>
void swapSpecialized (_Vector &v1, _Vector &v2, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class _Vector>
void swapSpecialized (_Vector &v1, _Vector &v2, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 
template<class Vector, class Iterator>
VectorpermuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::DenseVectorTag) const
 Permutation.
 
template<class Vector, class Iterator>
VectorpermuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseSequenceVectorTag) const
 Permutation.
 
template<class Vector, class Iterator>
VectorpermuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseAssociativeVectorTag) const
 Permutation.
 
template<class Vector, class Iterator>
VectorpermuteSpecialized (Vector &v, Iterator P_start, Iterator P_end, VectorCategories::SparseParallelVectorTag) const
 Permutation.
 

Detailed Description

template<class Field_>
class LinBox::VectorDomain< Field_ >
Examples
examples/checksolve.C, examples/dixonsolve.C, and examples/dot-product.C.

Member Typedef Documentation

◆ Field

template<class Field_>
typedef Field_ Field

◆ Element

template<class Field_>
typedef Field::Element Element

◆ Transposition

template<class Field_>
typedef std::pair<unsigned int, unsigned int> Transposition

Permutation.

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

◆ Permutation

template<class Field_>
typedef std::vector<Transposition> Permutation

Permutation.

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

Constructor & Destructor Documentation

◆ VectorDomain() [1/2]

template<class Field_>
VectorDomain ( const VectorDomain< Field_ > & VD)
inline

Copy constructor.

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

Parameters
VDVectorDomain object.

◆ VectorDomain() [2/2]

template<class Field_>
VectorDomain ( const Field & F)
inline

Construct from a field.

Parameters
FField or ring

Member Function Documentation

◆ operator=()

template<class Field_>
VectorDomain & operator= ( const VectorDomain< Field_ > & VD)
inline

Assignment operator.

Assigns VectorDomain object MD to field.

Parameters
VDVectorDomain object.

◆ write()

template<class Field_>
template<class Vector>
std::ostream & write ( std::ostream & os,
const Vector & x ) const
inline

Vector input/output operations These routines are useful for reading and writing vectors to and from file streams.

They are analagous to field read and write operations. 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
osoutput stream to which field element is written.
xfield element.

◆ read()

template<class Field_>
template<class Vector>
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
isinput stream from which field element is read.
xfield element.

◆ copy() [1/2]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & copy ( Vector1 & res,
const Vector2 & v ) const
inline

Vector copy.

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

Parameters
resOutput vector
vInput vector
Returns
reference to output vector

◆ copy() [2/2]

template<class Field_>
template<class Vector1, class Vector2>
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
resOutput vector
iIndex to which to copy
lenLength (in indices) of output vector to invalidate. If len == 0, then copy the whole vector v
vInput vector
Returns
reference to output vector

◆ areEqual()

template<class Field_>
template<class Vector1, class Vector2>
bool areEqual ( const Vector1 & v1,
const Vector2 & v2 ) const
inline

Vector equality.

Parameters
v1Input vector
v2Input vector
Returns
true if and only if the vectors v1 and v2 are equal
Examples
examples/checksolve.C, and examples/dixonsolve.C.

◆ isZero()

template<class Field_>
template<class Vector>
bool isZero ( const Vector & v) const
inline

Vector equality with zero.

Parameters
vInput vector
Returns
true if and only if the vector v is zero

◆ dot()

template<class Field_>
template<class Vector1, class Vector2>
Element & dot ( Element & res,
const Vector1 & v1,
const Vector2 & v2 ) const
inline

Vector-vector dot product.

Parameters
reselement into which to store result
v1Input vector
v2Input vector
Examples
examples/dot-product.C.

◆ dotprod()

template<class Field_>
template<class Vector1, class Vector2>
Element & dotprod ( Element & res,
const Vector1 & v1,
const Vector2 & v2 ) const
inline

Vector-vector dot product.

Alias for the above, to avoid source incompatibility.

Parameters
reselement into which to store result
v1Input vector
v2Input vector

◆ add()

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & add ( Vector1 & res,
const Vector2 & y,
const Vector3 & x ) const
inline

Vector add.

res <- y + x

Parameters
resVector into which to store result
yInput vector y
xInput vector x

◆ addin()

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & addin ( Vector1 & y,
const Vector2 & x ) const
inline

Vector in-place add.

y <- y + x

Parameters
yInput vector y; result is stored here
xInput vector x

◆ sub()

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & sub ( Vector1 & res,
const Vector2 & y,
const Vector3 & x ) const
inline

Vector subtract.

res <- y - x

Parameters
resVector into which to store result
yInput vector y
xInput vector x

◆ subin()

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & subin ( Vector1 & y,
const Vector2 & x ) const
inline

Vector in-place subtract.

y <- y - x

Parameters
yInput vector y; result is stored here
xInput vector x

◆ neg()

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & neg ( Vector1 & res,
const Vector2 & x ) const
inline

Vector negate.

res <- -x

Parameters
resVector into which to store result
xInput vector x

◆ negin()

template<class Field_>
template<class Vector>
Vector & negin ( Vector & y) const
inline

Vector in-place negate.

y <- -y

Parameters
yInput vector y; result is stored here

◆ mul()

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mul ( Vector1 & res,
const Vector2 & x,
const Element & a ) const
inline

Scalar-vector multiplication.

res <- a * x

Parameters
resVector into which to store result
xInput vector x
aInput element a

◆ mulin()

template<class Field_>
template<class Vector>
Vector & mulin ( Vector & x,
const Element & a ) const
inline

In-place scalar-vector multiplication.

x <- a * x

Parameters
xInput vector x
aInput element a
Examples
examples/dixonsolve.C.

◆ axpy()

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpy ( Vector1 & res,
const Element & a,
const Vector2 & x,
const Vector3 & y ) const
inline

Vector axpy.

res <- y + a*x

Parameters
resVector into which to store result
aScalar element a
xInput vector x
yInput vector y

◆ axpyin()

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyin ( Vector1 & y,
const Element & a,
const Vector2 & x ) const
inline

Vector in-place axpy.

y <- y + a*x

Parameters
yInput vector y; result is stored here
aScalar element a
xInput vector x

◆ swap()

template<class Field_>
template<class Vector>
void swap ( Vector & v1,
Vector & v2 ) const
inline

Swap the contents of the two given vectors.

Parameters
v1First vector
v2Second vector

◆ permute()

template<class Field_>
template<class Vector, class Iterator>
Vector & permute ( Vector & v,
Iterator P_start,
Iterator P_end ) const
inline

Permute the entries of a given vector using the given permutation.

Parameters
vVector to permute
P_startIterator of the start of the permutation to apply
P_endIterator of the end of the permutation to apply
Returns
Reference to v

◆ random()

template<class Field_>
template<class Vector>
Vector & random ( Vector & v)
inline

Random vector.

Parameters
vvector to be randomized.

◆ writeSpecialized() [1/4]

template<class Field>
template<class Vector>
std::ostream & writeSpecialized ( std::ostream & os,
const Vector & x,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ writeSpecialized() [2/4]

template<class Field>
template<class Vector>
std::ostream & writeSpecialized ( std::ostream & os,
const Vector & x,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ writeSpecialized() [3/4]

template<class Field>
template<class Vector>
std::ostream & writeSpecialized ( std::ostream & os,
const Vector & x,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ writeSpecialized() [4/4]

template<class Field>
template<class Vector>
std::ostream & writeSpecialized ( std::ostream & os,
const Vector & x,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ readSpecialized() [1/4]

template<class Field>
template<class Vector>
std::istream & readSpecialized ( std::istream & is,
Vector & x,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ readSpecialized() [2/4]

template<class Field>
template<class Vector>
std::istream & readSpecialized ( std::istream & is,
Vector & x,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ readSpecialized() [3/4]

template<class Field>
template<class Vector>
std::istream & readSpecialized ( std::istream & is,
Vector & x,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ readSpecialized() [4/4]

template<class Field>
template<class Vector>
std::istream & readSpecialized ( std::istream & is,
Vector & x,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [1/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [2/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [3/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [4/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [5/16]

template<class Field_>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ areEqualSpecialized() [6/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [7/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [8/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [9/16]

template<class Field_>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ areEqualSpecialized() [10/16]

template<class Field_>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ areEqualSpecialized() [11/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [12/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ areEqualSpecialized() [13/16]

template<class Field_>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ areEqualSpecialized() [14/16]

template<class Field_>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ areEqualSpecialized() [15/16]

template<class Field_>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ areEqualSpecialized() [16/16]

template<class Field>
template<class Vector1, class Vector2>
bool areEqualSpecialized ( const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ isZeroSpecialized() [1/4]

template<class Field>
template<class Vector>
bool isZeroSpecialized ( const Vector & v,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ isZeroSpecialized() [2/4]

template<class Field>
template<class Vector>
bool isZeroSpecialized ( const Vector & v,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ isZeroSpecialized() [3/4]

template<class Field>
template<class Vector>
bool isZeroSpecialized ( const Vector & v,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ isZeroSpecialized() [4/4]

template<class Field>
template<class Vector>
bool isZeroSpecialized ( const Vector & v,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [1/24]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ copySpecialized() [2/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [3/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [4/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [5/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [6/24]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ copySpecialized() [7/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [8/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [9/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [10/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [11/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [12/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [13/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected
Bug
check sizes ??

◆ copySpecialized() [14/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [15/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [16/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [17/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
size_t i,
size_t len,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [18/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
size_t i,
size_t len,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [19/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
size_t i,
size_t len,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [20/24]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & copySpecialized ( Vector1 & res,
const Vector2 & v,
size_t i,
size_t len,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [21/24]

template<class Field>
template<class Vector>
Vector & copySpecialized ( Vector & res,
const Vector & v,
size_t i,
size_t len,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [22/24]

template<class Field>
template<class Vector>
Vector & copySpecialized ( Vector & res,
const Vector & v,
size_t i,
size_t len,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [23/24]

template<class Field>
template<class Vector>
Vector & copySpecialized ( Vector & res,
const Vector & v,
size_t i,
size_t len,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ copySpecialized() [24/24]

template<class Field>
template<class Vector>
Vector & copySpecialized ( Vector & res,
const Vector & v,
size_t i,
size_t len,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ dotSpecialized() [1/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [2/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [3/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [4/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [5/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [6/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [7/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [8/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [9/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [10/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [11/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [12/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [13/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [14/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [15/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ dotSpecialized() [16/24]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ addSpecialized() [1/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ addSpecialized() [2/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ addSpecialized() [3/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ addSpecialized() [4/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ addinSpecialized() [1/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & addinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ addinSpecialized() [2/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & addinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ addinSpecialized() [3/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & addinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ addinSpecialized() [4/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & addinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ subSpecialized() [1/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ subSpecialized() [2/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ subSpecialized() [3/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ subSpecialized() [4/8]

template<class Field>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ subinSpecialized() [1/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & subinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ subinSpecialized() [2/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & subinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ subinSpecialized() [3/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & subinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ subinSpecialized() [4/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & subinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ negSpecialized() [1/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & negSpecialized ( Vector1 & res,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ negSpecialized() [2/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & negSpecialized ( Vector1 & res,
const Vector2 & x,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ negSpecialized() [3/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & negSpecialized ( Vector1 & res,
const Vector2 & x,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ negSpecialized() [4/6]

template<class Field>
template<class Vector1, class Vector2>
Vector1 & negSpecialized ( Vector1 & res,
const Vector2 & x,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ neginSpecialized() [1/4]

template<class Field>
template<class Vector>
Vector & neginSpecialized ( Vector & y,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ neginSpecialized() [2/4]

template<class Field>
template<class Vector>
Vector & neginSpecialized ( Vector & y,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ neginSpecialized() [3/4]

template<class Field>
template<class Vector>
Vector & neginSpecialized ( Vector & y,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ neginSpecialized() [4/4]

template<class Field>
template<class Vector>
Vector & neginSpecialized ( Vector & y,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ mulSpecialized() [1/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const Element & a,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ mulSpecialized() [2/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const Element & a,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ mulSpecialized() [3/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const Element & a,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ mulSpecialized() [4/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const Element & a,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ mulinSpecialized() [1/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const Element & a,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ mulinSpecialized() [2/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const Element & a,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ mulinSpecialized() [3/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const Element & a,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ mulinSpecialized() [4/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const Element & a,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ axpySpecialized() [1/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const Element & a,
const Vector3 & x,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ axpySpecialized() [2/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const Element & a,
const Vector3 & x,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ axpySpecialized() [3/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const Element & a,
const Vector3 & x,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ axpySpecialized() [4/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const Element & a,
const Vector3 & x,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ axpyinSpecialized() [1/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const
protected

Permutation.

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

◆ axpyinSpecialized() [2/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ axpyinSpecialized() [3/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ axpyinSpecialized() [4/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ axpyinSpecialized() [5/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
protected

Permutation.

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

◆ axpyinSpecialized() [6/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
protected

Permutation.

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

◆ axpyinSpecialized() [7/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
protected

Permutation.

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

◆ addSpecialized() [5/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ addSpecialized() [6/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag ,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ addSpecialized() [7/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ addSpecialized() [8/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & addSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ addinSpecialized() [5/6]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & addinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ addinSpecialized() [6/6]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & addinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ subSpecialized() [5/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ subSpecialized() [6/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag ,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ subSpecialized() [7/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ subSpecialized() [8/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & subSpecialized ( Vector1 & res,
const Vector2 & y,
const Vector3 & x,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ subinSpecialized() [5/6]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & subinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ subinSpecialized() [6/6]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & subinSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ negSpecialized() [5/6]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & negSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ negSpecialized() [6/6]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & negSpecialized ( Vector1 & y,
const Vector2 & x,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ axpyinSpecialized() [8/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const Element & a,
const Vector2 & x,
VectorCategories::GenericVectorTag ,
VectorCategories::GenericVectorTag  ) const
inlineprotected

Permutation.

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

◆ swapSpecialized() [1/4]

template<class Field>
template<class Vector>
void swapSpecialized ( Vector & v1,
Vector & v2,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ swapSpecialized() [2/4]

template<class Field_>
template<class _Vector>
void swapSpecialized ( _Vector & v1,
_Vector & v2,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ swapSpecialized() [3/4]

template<class Field_>
template<class _Vector>
void swapSpecialized ( _Vector & v1,
_Vector & v2,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ swapSpecialized() [4/4]

template<class Field_>
template<class _Vector>
void swapSpecialized ( _Vector & v1,
_Vector & v2,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ permuteSpecialized() [1/7]

template<class Field>
template<class Vector, class Iterator>
Vector & permuteSpecialized ( Vector & v,
Iterator P_start,
Iterator P_end,
VectorCategories::DenseVectorTag  ) const
inlineprotected

Permutation.

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

◆ permuteSpecialized() [2/7]

template<class Field_>
template<class Vector, class Iterator>
Vector & permuteSpecialized ( Vector & v,
Iterator P_start,
Iterator P_end,
VectorCategories::SparseSequenceVectorTag  ) const
inlineprotected

Permutation.

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

◆ permuteSpecialized() [3/7]

template<class Field_>
template<class Vector, class Iterator>
Vector & permuteSpecialized ( Vector & v,
Iterator P_start,
Iterator P_end,
VectorCategories::SparseAssociativeVectorTag  ) const
inlineprotected

Permutation.

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

◆ permuteSpecialized() [4/7]

template<class Field_>
template<class Vector, class Iterator>
Vector & permuteSpecialized ( Vector & v,
Iterator P_start,
Iterator P_end,
VectorCategories::SparseParallelVectorTag  ) const
inlineprotected

Permutation.

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

◆ mulSpecialized() [5/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const typename Field::Element & a,
VectorCategories::DenseVectorTag  ) const

◆ mulSpecialized() [6/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const typename Field::Element & a,
VectorCategories::SparseSequenceVectorTag  ) const

◆ mulSpecialized() [7/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const typename Field::Element & a,
VectorCategories::SparseAssociativeVectorTag  ) const

◆ mulSpecialized() [8/8]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & mulSpecialized ( Vector1 & res,
const Vector2 & x,
const typename Field::Element & a,
VectorCategories::SparseParallelVectorTag  ) const

◆ mulinSpecialized() [5/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const typename Field::Element & a,
VectorCategories::DenseVectorTag  ) const

◆ mulinSpecialized() [6/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const typename Field::Element & a,
VectorCategories::SparseSequenceVectorTag  ) const

◆ mulinSpecialized() [7/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const typename Field::Element & a,
VectorCategories::SparseAssociativeVectorTag  ) const

◆ mulinSpecialized() [8/8]

template<class Field_>
template<class Vector>
Vector & mulinSpecialized ( Vector & x,
const typename Field::Element & a,
VectorCategories::SparseParallelVectorTag  ) const

◆ axpySpecialized() [5/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const typename Field::Element & a,
const Vector3 & x,
VectorCategories::DenseVectorTag  ) const

◆ axpySpecialized() [6/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const typename Field::Element & a,
const Vector3 & x,
VectorCategories::SparseSequenceVectorTag  ) const

◆ axpySpecialized() [7/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const typename Field::Element & a,
const Vector3 & x,
VectorCategories::SparseAssociativeVectorTag  ) const

◆ axpySpecialized() [8/8]

template<class Field_>
template<class Vector1, class Vector2, class Vector3>
Vector1 & axpySpecialized ( Vector1 & res,
const Vector2 & y,
const typename Field::Element & a,
const Vector3 & x,
VectorCategories::SparseParallelVectorTag  ) const

◆ axpyinSpecialized() [9/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const typename Field::Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::DenseVectorTag  ) const

◆ axpyinSpecialized() [10/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const typename Field::Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const

◆ axpyinSpecialized() [11/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const typename Field::Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const

◆ axpyinSpecialized() [12/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const typename Field::Element & a,
const Vector2 & x,
VectorCategories::DenseVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const

◆ axpyinSpecialized() [13/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const typename Field::Element & a,
const Vector2 & x,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const

◆ axpyinSpecialized() [14/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const typename Field::Element & a,
const Vector2 & x,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const

◆ axpyinSpecialized() [15/15]

template<class Field_>
template<class Vector1, class Vector2>
Vector1 & axpyinSpecialized ( Vector1 & y,
const typename Field::Element & a,
const Vector2 & x,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const

◆ dotSpecialized() [17/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::DenseVectorTag  ) const
inline

◆ dotSpecialized() [18/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::DenseVectorTag  ) const
inline

◆ dotSpecialized() [19/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseSequenceVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inline

◆ dotSpecialized() [20/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inline

◆ dotSpecialized() [21/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseSequenceVectorTag  ) const
inline

◆ dotSpecialized() [22/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseAssociativeVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inline

◆ dotSpecialized() [23/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseAssociativeVectorTag  ) const
inline

◆ dotSpecialized() [24/24]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecialized ( Element & res,
const Vector1 & v1,
const Vector2 & v2,
VectorCategories::SparseParallelVectorTag ,
VectorCategories::SparseParallelVectorTag  ) const
inline

◆ permuteSpecialized() [5/7]

template<class Field_>
template<class _Vector, class Iterator>
_Vector & permuteSpecialized ( _Vector & v,
Iterator P_start,
Iterator P_end,
VectorCategories::SparseSequenceVectorTag  ) const
inline

◆ permuteSpecialized() [6/7]

template<class Field_>
template<class _Vector, class Iterator>
_Vector & permuteSpecialized ( _Vector & v,
Iterator P_start,
Iterator P_end,
VectorCategories::SparseAssociativeVectorTag  ) const
inline

◆ permuteSpecialized() [7/7]

template<class Field_>
template<class _Vector, class Iterator>
_Vector & permuteSpecialized ( _Vector & v,
Iterator P_start,
Iterator P_end,
VectorCategories::SparseParallelVectorTag  ) const
inline

◆ dotSpecializedDD() [1/2]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecializedDD ( Element & res,
const Vector1 & v1,
const Vector2 & v2 ) const
inlineprotectedinherited

◆ dotSpecializedDD() [2/2]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecializedDD ( typename Field::Element & res,
const Vector1 & v1,
const Vector2 & v2 ) const
inlineinherited

◆ dotSpecializedDSP() [1/2]

template<class Field_>
template<class Vector1, class Vector2>
Element & dotSpecializedDSP ( Element & res,
const Vector1 & v1,
const Vector2 & v2 ) const
inlineprotectedinherited

◆ dotSpecializedDSP() [2/2]

template<class Field_>
template<class Vector1, class Vector2>
Field::Element & dotSpecializedDSP ( Element & res,
const Vector1 & v1,
const Vector2 & v2 ) const
inlineinherited

◆ init()

void init ( const Field_ & F)
inlineinherited

◆ field()

const Field_ & field ( ) const
inlineinherited

◆ faxpy()

const FieldAXPY< Field_ > & faxpy ( ) const
inlineinherited

Field Documentation

◆ _faxpy

const FieldAXPY<Field_>* _faxpy
protectedinherited

The documentation for this class was generated from the following files: