algorithm to find the lexicographically minimal set in an orbit
More...
#include <orbit_lex_min_search.h>
|
| OrbitLexMinSearch (const BSGSIN &bsgs, bool abortSearchIfSmallerFound=false) |
| constructor More...
|
|
dset | lexMin (const dset &element, const BSGSIN *stabilizer=NULL) |
| searches the lexicographically minimal element of an orbit More...
|
|
|
static bool | isLexSmaller (const dset &a, const dset &b) |
| compares two sets given as dsets lexicographically More...
|
|
template<class BSGSIN>
class permlib::OrbitLexMinSearch< BSGSIN >
algorithm to find the lexicographically minimal set in an orbit
implements the algorithm `‘Finding the Smallest Image of a Set’' by Steve Linton, 2004
◆ OrbitLexMinSearch()
constructor
- Parameters
-
bsgs | the group to build the orbit from |
abortSearchIfSmallerFound | If true, the lexMin search is aborted if a lex-smaller element is found. In this case the search does not necessarily find the minimal element. |
◆ isLexSmaller()
compares two sets given as dsets lexicographically
This is different to a < b as dynamic_bitsets because we are interested in the the representation of the bitsets as sets.
◆ lexMin()
searches the lexicographically minimal element of an orbit
- Parameters
-
element | one element of the orbit |
stabilizer | setwise stabilizer of given set in the group; if present may speed up computations; parameter is currently ignored |
- Returns
- lexicographically smallest orbit element
The documentation for this class was generated from the following file: