|
permlib
0.2.8
Library for permutation computations
|
A high level interface implementing a direct product of symmetric groups. More...
#include <abstract_symmetric_product.h>
Public Member Functions | |
| template<typename InputIterator > | |
| AbstractSymmetricProduct (InputIterator begin, InputIterator end) | |
| constructor | |
| virtual AbstractPermutationGroup * | setStabilizer (const std::vector< dom_int > &s) const |
| computes the stabilizer of a set | |
| virtual OrbitList * | orbits () const |
| computes all orbits | |
| virtual OrbitList * | orbits (const std::vector< dom_int > &s) const |
| computes all orbits which contain a given set of elements | |
| virtual bool | isLexMinSet (const std::vector< dom_int > &setIndices, const std::vector< dom_int > &rankIndices) const |
| checks whether a set is lexicographically minimal with respect to a given ordering of indices | |
| virtual AbstractGroupType | type () const |
| implementation type of this abstract class | |
Protected Member Functions | |
| virtual void | transversalSizes (std::vector< unsigned long > &sizes) const |
| fills a list with sizes of transversals along a stabilizer chain | |
A high level interface implementing a direct product of symmetric groups.
| permlib::AbstractSymmetricProduct::AbstractSymmetricProduct | ( | InputIterator | begin, |
| InputIterator | end | ||
| ) | [inline] |
constructor
The group is constructed from a list of lists. Each inner list contains an orbit of indices on which a symmetric group acts.
| begin | begin iterator which in turn points to iterators |
| end | end iterator which in turn points to iterators |
| bool permlib::AbstractSymmetricProduct::isLexMinSet | ( | const std::vector< dom_int > & | setIndices, |
| const std::vector< dom_int > & | rankIndices | ||
| ) | const [inline, virtual] |
checks whether a set is lexicographically minimal with respect to a given ordering of indices
| setIndices | indices of the set for which minimality has to checked |
| rankIndices | list of indices; the order of these indices defines a partial order on {1..n} |
Implements permlib::AbstractPermutationGroup.
| AbstractPermutationGroup::OrbitList * permlib::AbstractSymmetricProduct::orbits | ( | const std::vector< dom_int > & | s | ) | const [inline, virtual] |
computes all orbits which contain a given set of elements
| s | set of elements of which orbit has to be computed; vector must be sorted |
Implements permlib::AbstractPermutationGroup.
| AbstractPermutationGroup * permlib::AbstractSymmetricProduct::setStabilizer | ( | const std::vector< dom_int > & | s | ) | const [inline, virtual] |
computes the stabilizer of a set
| s | set to be stabilized |
Implements permlib::AbstractPermutationGroup.
1.7.6.1