A high level interface implementing a direct product of symmetric groups.
More...
#include <abstract_symmetric_product.h>
|
| 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
|
|
virtual | ~AbstractPermutationGroup () |
| | destructor
|
|
template<typename Integer> |
| Integer | order () const |
| | order of the group
|
|
boost::uint64_t | order () const |
| | order of the group
|
|
| virtual void | transversalSizes (std::vector< unsigned long > &sizes) const |
| | fills a list with sizes of transversals along a stabilizer chain
|
|
|
typedef std::list< std::set< dom_int > > | OrbitList |
| | typedef for a list of orbits, each of which is a set
|
A high level interface implementing a direct product of symmetric groups.
◆ AbstractSymmetricProduct()
template<typename InputIterator>
| 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.
- Parameters
-
| begin | begin iterator which in turn points to iterators |
| end | end iterator which in turn points to iterators |
◆ isLexMinSet()
| bool permlib::AbstractSymmetricProduct::isLexMinSet |
( |
const std::vector< dom_int > & | setIndices, |
|
|
const std::vector< dom_int > & | rankIndices ) const |
|
inlinevirtual |
checks whether a set is lexicographically minimal with respect to a given ordering of indices
- Parameters
-
| 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} |
- Returns
- true iff set is minimal with respect to given ordering
Implements permlib::AbstractPermutationGroup.
◆ orbits() [1/2]
◆ orbits() [2/2]
computes all orbits which contain a given set of elements
- Parameters
-
| s | set of elements of which orbit has to be computed; vector must be sorted |
- Returns
- all orbits of the group which contain an elements from s
Implements permlib::AbstractPermutationGroup.
◆ setStabilizer()
◆ transversalSizes()
| void permlib::AbstractSymmetricProduct::transversalSizes |
( |
std::vector< unsigned long > & | sizes | ) |
const |
|
inlineprotectedvirtual |
◆ type()
| virtual AbstractGroupType permlib::AbstractSymmetricProduct::type |
( |
| ) |
const |
|
inlinevirtual |
The documentation for this class was generated from the following file: