omc::Vectors Class Reference

List of all members.

Public Types

typedef std::set< SignedSet >
::iterator 
vector_iterator
typedef std::set< SignedSet >
::reverse_iterator 
reverse_vector_iterator

Public Member Functions

 Vectors (const Circuits &)
 Vectors (const Vectors &)
size_t getRank () const
size_t getNumElements () const
size_t getNumVectors () const
void relabel (index_t, index_t)
void relabel (const Permutation &)
void reorient (size_t)
void reorient (const Combination &)
bool operator== (const Vectors &C) const
vector_iterator vector_begin ()
vector_iterator vector_end ()
reverse_vector_iterator vector_rbegin ()
reverse_vector_iterator vector_rend ()

Protected Member Functions

void generate_vectors ()

Protected Attributes

Circuits m_circuits
std::set< SignedSetm_Vector

Constructor & Destructor Documentation

omc::Vectors::Vectors ( const Circuits C  )  [inline]

Constructor.

omc::Vectors::Vectors ( const Vectors V  )  [inline]

Copy constructor.


Member Function Documentation

void omc::Vectors::generate_vectors (  )  [protected]

Generate the vectors from the circuits by repeated composition: --------------------------------------------------------------------- 1. V = C, where V and C denotes the positive sets of vectors and circuits respectively. 2. For all c C, v v, add v*c and |v*(-c)| to V, where * denotes composition and |s| the positive representative of c. 3. If the size of V does not increase, return. Otherwise go to 2. ---------------------------------------------------------------------- Note that since only the positive half of the vectors are stored, we do not consider: 1) The compositions of a negative v with a negative c, which are always negative; 2) The compositions of a negative v with a positive c, which are the negations of the compositions of a positive v with a negative c.

size_t omc::Vectors::getNumElements (  )  const [inline]

Get the number of elements in the ground set of the OM.

size_t omc::Vectors::getNumVectors (  )  const [inline]

Get the number of vectors.

size_t omc::Vectors::getRank (  )  const [inline]

Get the rank of the OM.

bool omc::Vectors::operator== ( const Vectors V  )  const [inline]

Operator ==.

void omc::Vectors::relabel ( const Permutation perm  )  [inline]

Relabel using a given permutation.

void omc::Vectors::relabel ( index_t  i,
index_t  j 
) [inline]

Relabel a pair of elements.

void omc::Vectors::reorient ( const Combination comb  )  [inline]

Reorient a set of elements specified by a Combination object.

void omc::Vectors::reorient ( size_t  i  )  [inline]

Reorient a single element.

Vectors::vector_iterator omc::Vectors::vector_begin (  )  [inline]

Get the first position of vector iterator.

Vectors::vector_iterator omc::Vectors::vector_end (  )  [inline]

Get the end position of vector iterator.

Vectors::reverse_vector_iterator omc::Vectors::vector_rbegin (  )  [inline]

Get the first position of reverse vector iterator.

Vectors::reverse_vector_iterator omc::Vectors::vector_rend (  )  [inline]

Get the end position of reverse vector iterator.


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

Generated on Fri Feb 12 16:10:24 2010 by  doxygen 1.6.1