permlib  0.2.8
Library for permutation computations
 All Classes Functions Variables Typedefs Enumerations Friends
Public Types | Public Member Functions | List of all members
permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET > Class Template Reference

subgroup search for the automorphism group of a symmetric matrix based on partition backtracking More...

#include <matrix_automorphism_search.h>

Inheritance diagram for permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET >:
permlib::partition::RBase< BSGSIN, TRANSRET > permlib::BaseSearch< BSGSIN, TRANSRET >

Public Types

typedef RBase< BSGSIN,
TRANSRET >::PERM 
PERM
 
- Public Types inherited from permlib::partition::RBase< BSGSIN, TRANSRET >
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
 
- Public Types inherited from permlib::BaseSearch< BSGSIN, TRANSRET >
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
 
- Public Member Functions inherited from permlib::partition::RBase< BSGSIN, TRANSRET >
 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
 
- Public Member Functions inherited from permlib::BaseSearch< BSGSIN, TRANSRET >
 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

- Public Attributes inherited from permlib::BaseSearch< BSGSIN, TRANSRET >
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
 
- Protected Member Functions inherited from permlib::partition::RBase< BSGSIN, TRANSRET >
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
 
- Protected Attributes inherited from permlib::partition::RBase< BSGSIN, TRANSRET >
Partition m_partition
 partition to base the backtrack tree on
 
Partition m_partition2
 

Detailed Description

template<class BSGSIN, class TRANSRET>
class permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET >

subgroup search for the automorphism group of a symmetric matrix based on partition backtracking

Constructor & Destructor Documentation

template<class BSGSIN , class TRANSRET >
permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET >::MatrixAutomorphismSearch ( const BSGSIN &  bsgs,
unsigned int  pruningLevelDCM 
)

constructor

Parameters
bsgsBSGS of group
pruningLevelDCMlevel up to which expensive double coset minimality pruning is performed; zero to disable

Member Function Documentation

template<class BSGSIN , class TRANSRET >
template<class MATRIX , class Iterator >
void permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET >::construct ( const MATRIX &  matrix,
Iterator  initialPartitionBegin,
Iterator  initialPartitionEnd 
)

initializes search with inital partition

Parameters
matrixsymmetric matrix
initialPartitionBeginbegin-iterator to initial list of row/column indices that have to be mapped onto each other
initialPartitionEndend-iterator to initial list of row/column indices that have to be mapped onto each other
template<class BSGSIN , class TRANSRET >
template<class MATRIX >
void permlib::partition::MatrixAutomorphismSearch< BSGSIN, TRANSRET >::construct ( const MATRIX &  matrix)
inline

initializes search

Parameters
matrixsymmetric matrix

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