|
permlib 0.2.9
Library for permutation computations
|
A high level interface implementing a group represented by a BSGS data structure. More...
#include <abstract_bsgs.h>
Public Types | |
| typedef BSGS< typename TRANS::PERMtype, TRANS > | PermutationGroup |
| typedef for the BSGS type associated with this group | |
Public Types inherited from permlib::AbstractPermutationGroup | |
| typedef std::list< std::set< dom_int > > | OrbitList |
| typedef for a list of orbits, each of which is a set | |
Public Member Functions | |
| AbstractBSGS (const boost::shared_ptr< PermutationGroup > &bsgs_, bool computeSupport=true) | |
| 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 | |
| std::list< typename TRANS::PERMtype::ptr > | generators () const |
| strong generating set of this permutation group | |
| const boost::shared_ptr< PermutationGroup > | bsgs () const |
| BSGS data structure for this permutation group. | |
| template<typename Iterator > | |
| AbstractPermutationGroup::OrbitList * | orbits (Iterator begin, Iterator end) const |
Public Member Functions inherited from permlib::AbstractPermutationGroup | |
| virtual | ~AbstractPermutationGroup () |
| destructor | |
| template<typename Integer > | |
| Integer | order () const |
| order of the group | |
| boost::uint64_t | order () const |
| order of the group | |
Protected Member Functions | |
| virtual void | transversalSizes (std::vector< unsigned long > &sizes) const |
| fills a list with sizes of transversals along a stabilizer chain | |
| template<typename Iterator > | |
| OrbitList * | orbits (Iterator begin, Iterator end) const |
| helpers::BaseSupportRestriction * | supportRestriction (const std::vector< dom_int > &s) const |
| returns a strategy to decide whether the action of this group is trivial on /s/ | |
A high level interface implementing a group represented by a BSGS data structure.
| permlib::AbstractBSGS< TRANS >::AbstractBSGS | ( | const boost::shared_ptr< PermutationGroup > & | bsgs_, |
| bool | computeSupport = true ) |
constructor
| bsgs_ | the BSGS data structure that represents this group |
| computeSupport | if true, the support of the group is computed to accelerate stabilizer and lexMin computations |
|
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.
|
virtual |
computes all orbits
Implements permlib::AbstractPermutationGroup.
|
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.
|
virtual |
computes the stabilizer of a set
| s | set to be stabilized |
Implements permlib::AbstractPermutationGroup.
|
protectedvirtual |
fills a list with sizes of transversals along a stabilizer chain
Implements permlib::AbstractPermutationGroup.
|
inlinevirtual |
implementation type of this abstract class
Implements permlib::AbstractPermutationGroup.