permlib
0.2.8
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 | |
![]() | |
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. | |
![]() | |
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 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.