permlib 0.2.9
Library for permutation computations
Loading...
Searching...
No Matches
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
 
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
 
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
 
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() [1/2]

virtual OrbitList * permlib::AbstractPermutationGroup::orbits ( ) const
pure virtual

computes all orbits

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

◆ orbits() [2/2]

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.

◆ transversalSizes()

virtual void permlib::AbstractPermutationGroup::transversalSizes ( std::vector< unsigned long > & sizes) const
protectedpure virtual

fills a list with sizes of transversals along a stabilizer chain

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

◆ type()

virtual AbstractGroupType permlib::AbstractPermutationGroup::type ( ) const
pure virtual

implementation type of this abstract class

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


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