permlib  0.2.8
Library for permutation computations
 All Classes Functions Variables Typedefs Enumerations Friends
Public Member Functions
permlib::SymmetricGroupRecognitionHeuristic< PERM > Class Template Reference

Fast recognition of symmetric group subgroups. More...

#include <type_recognition_heuristic.h>

List of all members.

Public Member Functions

 SymmetricGroupRecognitionHeuristic (unsigned int n, bool storeUnusedGenerators=false)
bool addGenerator (const PERM &p)
 adds a group generator for recognition
void symmetricGroupOrbits (std::vector< std::list< dom_int > > &orbits)
 computes the orbits of recognized non-trivial symmetric subgroups
const std::list< PERM > & unusedGenerators ()
 returns the list of all group generators that were not used for group recognition

Detailed Description

template<class PERM>
class permlib::SymmetricGroupRecognitionHeuristic< PERM >

Fast recognition of symmetric group subgroups.

This class identifies subgroups that are symmetric groups by analyzing the graph induced by permutations which are transpositions.


Constructor & Destructor Documentation

template<class PERM >
permlib::SymmetricGroupRecognitionHeuristic< PERM >::SymmetricGroupRecognitionHeuristic ( unsigned int  n,
bool  storeUnusedGenerators = false 
)
Parameters:
nsize of the group domain
storeUnusedGeneratorsif set to true, all non-identity permutations that are not transpositions are stored for further use

Member Function Documentation

template<class PERM >
bool permlib::SymmetricGroupRecognitionHeuristic< PERM >::addGenerator ( const PERM &  p)

adds a group generator for recognition

Parameters:
pgroup generator
Returns:
true iff p is a transposition (and is therefore used for recognition) or is the identity
template<class PERM >
void permlib::SymmetricGroupRecognitionHeuristic< PERM >::symmetricGroupOrbits ( std::vector< std::list< dom_int > > &  orbits)

computes the orbits of recognized non-trivial symmetric subgroups

Parameters:
orbitsvector of lists which contain indices belonging to the same orbit

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