permlib  0.2.9
Library for permutation computations
Public Types | Public Member Functions | Protected Member Functions | List of all members
permlib::AbstractPermutationGroup Class Referenceabstract

A high level interface for a permutation group. More...

#include <abstract_permutation_group.h>

Inheritance diagram for permlib::AbstractPermutationGroup:
permlib::AbstractBSGS< TRANS > permlib::AbstractSymmetricProduct

Public Types

typedef std::list< std::set< dom_int > > OrbitList
 typedef for a list of orbits, each of which is a set
 

Public Member Functions

virtual ~AbstractPermutationGroup ()
 destructor
 
template<typename Integer >
Integer order () const
 order of the group
 
boost::uint64_t order () const
 order of the group
 
virtual AbstractPermutationGroupsetStabilizer (const std::vector< dom_int > &s) const =0
 computes the stabilizer of a set More...
 
virtual OrbitListorbits () const =0
 computes all orbits
 
virtual OrbitListorbits (const std::vector< dom_int > &s) const =0
 computes all orbits which contain a given set of elements More...
 
virtual bool isLexMinSet (const std::vector< dom_int > &setIndices, const std::vector< dom_int > &rankIndices) const =0
 checks whether a set is lexicographically minimal with respect to a given ordering of indices More...
 
virtual AbstractGroupType type () const =0
 implementation type of this abstract class
 

Protected Member Functions

virtual void transversalSizes (std::vector< unsigned long > &sizes) const =0
 fills a list with sizes of transversals along a stabilizer chain
 

Detailed Description

A high level interface for a permutation group.

Member Function Documentation

◆ isLexMinSet()

virtual bool permlib::AbstractPermutationGroup::isLexMinSet ( const std::vector< dom_int > &  setIndices,
const std::vector< dom_int > &  rankIndices 
) const
pure virtual

checks whether a set is lexicographically minimal with respect to a given ordering of indices

Parameters
setIndicesindices of the set for which minimality has to checked
rankIndiceslist 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

Implemented in permlib::AbstractBSGS< TRANS >, and permlib::AbstractSymmetricProduct.

◆ orbits()

virtual OrbitList* permlib::AbstractPermutationGroup::orbits ( const std::vector< dom_int > &  s) const
pure virtual

computes all orbits which contain a given set of elements

Parameters
sset 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

Implemented in permlib::AbstractBSGS< TRANS >, and permlib::AbstractSymmetricProduct.

◆ setStabilizer()

virtual AbstractPermutationGroup* permlib::AbstractPermutationGroup::setStabilizer ( const std::vector< dom_int > &  s) const
pure virtual

computes the stabilizer of a set

Parameters
sset to be stabilized
Returns
stabilizer; may return this if set is already stabilized

Implemented in permlib::AbstractBSGS< TRANS >, and permlib::AbstractSymmetricProduct.


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