permlib
0.2.8
Library for permutation computations
|
subgroup search for the automorphism group of a symmetric matrix based on partition backtracking More...
#include <matrix_automorphism_search.h>
Public Types | |
typedef RBase< BSGSIN, TRANSRET >::PERM | PERM |
![]() | |
typedef BaseSearch< BSGSIN, TRANSRET >::PERM | PERM |
typedef BaseSearch< BSGSIN, TRANSRET >::TRANS | TRANS |
typedef Refinement< PERM > ::RefinementPtr | RefinementPtr |
typedef RefinementFamily< PERM > ::PartitionPtr | PartitionPtr |
typedef std::list< std::pair < PartitionPtr, RefinementPtr > >::const_iterator | PartitionIt |
![]() | |
typedef BSGSIN::PERMtype | PERM |
typedef BSGSIN::TRANStype | TRANS |
typedef std::list< typename PERM::ptr > | PERMlistType |
Public Member Functions | |
MatrixAutomorphismSearch (const BSGSIN &bsgs, unsigned int pruningLevelDCM) | |
constructor | |
template<class MATRIX , class Iterator > | |
void | construct (const MATRIX &matrix, Iterator initialPartitionBegin, Iterator initialPartitionEnd) |
initializes search with inital partition | |
template<class MATRIX > | |
void | construct (const MATRIX &matrix) |
initializes search | |
![]() | |
RBase (const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool stopAfterFirstElement=false) | |
constructor | |
void | search (BSGS< PERM, TRANSRET > &groupK) |
perform search and store result in groupK | |
virtual BaseSearch< BSGSIN, TRANSRET >::PERM::ptr | searchCosetRepresentative (BSGS< PERM, TRANSRET > &groupK, BSGS< PERM, TRANSRET > &groupL) |
searches for a coset representative if one exists | |
![]() | |
BaseSearch (const BSGSIN &bsgs, unsigned int pruningLevelDCM, bool stopAfterFirstElement) | |
constructor | |
virtual | ~BaseSearch () |
destructor | |
bool | minOrbit (unsigned long alpha, BSGS< PERM, TRANSRET > &groupK, unsigned int i, unsigned long beta_i) const |
finds minimal elements in an orbit | |
virtual PERM::ptr | searchCosetRepresentative () |
searches for a coset representative if one exists | |
Additional Inherited Members | |
![]() | |
unsigned long | m_statNodesVisited |
nodes visited during backtrack search | |
unsigned long | m_statNodesPrunedCosetMinimality |
number of nodes where (simple) double coset minimality pruning was in effect | |
unsigned long | m_statNodesPrunedCosetMinimality2 |
number of nodes where advanced double coset minimality pruning with base change was in effect | |
unsigned long | m_statNodesPrunedChildRestriction |
number of nodes where a child constraint pruning was in effect | |
![]() | |
void | construct (SubgroupPredicate< PERM > *pred, RefinementFamily< PERM > *predRefinement) |
constructs an R-base for given predicate and refinement family | |
virtual unsigned int | processNewFixPoints (const Partition &pi, unsigned int level) |
callback when a new fix point appears during R-base construction | |
virtual const std::vector < dom_int > & | subgroupBase () const |
base of the sought subgroup | |
![]() | |
Partition | m_partition |
partition to base the backtrack tree on | |
Partition | m_partition2 |
subgroup search for the automorphism group of a symmetric matrix based on partition backtracking
permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET >::MatrixAutomorphismSearch | ( | const BSGSIN & | bsgs, |
unsigned int | pruningLevelDCM | ||
) |
constructor
bsgs | BSGS of group |
pruningLevelDCM | level up to which expensive double coset minimality pruning is performed; zero to disable |
void permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET >::construct | ( | const MATRIX & | matrix, |
Iterator | initialPartitionBegin, | ||
Iterator | initialPartitionEnd | ||
) |
initializes search with inital partition
matrix | symmetric matrix |
initialPartitionBegin | begin-iterator to initial list of row/column indices that have to be mapped onto each other |
initialPartitionEnd | end-iterator to initial list of row/column indices that have to be mapped onto each other |
|
inline |
initializes search
matrix | symmetric matrix |