====== BigObject PermutationAction ====== //from application [[..:group|group]]//\\ \\ derived objects for permutation representations ? derived from: : ''[[..:group:Action |Action]]'' ===== Properties ===== ==== Orbits ==== Dealing with orbits under permutation groups. ---- {{anchor:switch_table:}} ? **''SWITCH_TABLE''** :: A switch table is a tool for finding lex-maximal or -minimal in orbits under the action of a permutation group. Its main ingredient is an upper-left triangular matrix with group elements as entries. See https://arxiv.org/abs/1709.04746 The output contains the support at every level, i.e. a number and a Set, the number is the size of the support and and the Set are the indices of those entries that can be permuted to the index of the current level while keeping previous level indices fixed. I.e. entry [i,j] will keep the first i entries of a vector fixed, while moving the j-th entry to position i. Note that we start counting at 0! ? Type: :''[[..:group#SwitchTable |SwitchTable]]'' ? Example: :: > $P = new PermutationAction(GENERATORS=>[[1,2,0,4,5,3],[2,1,0,5,4,3]]); > print $P->SWITCH_TABLE; Supports: (size, content) Level 0: 2 {1 2} Level 1: 1 {2} Entries: [0,1]: 1 0 2 4 3 5 [0,2]: 1 2 0 4 5 3 [1,2]: 0 2 1 3 5 4 ---- ==== no category ==== {{anchor:base:}} ? **''BASE''** :: A base for ''[[..:group:PermutationAction#STRONG_GENERATORS |STRONG_GENERATORS]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:n_strong_generators:}} ? **''N_STRONG_GENERATORS''** :: The number of ''[[..:group:PermutationAction#STRONG_GENERATORS |STRONG_GENERATORS]]''. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:strong_generators:}} ? **''STRONG_GENERATORS''** :: Strong generating set with respect to ''[[..:group:PermutationAction#BASE |BASE]]''. ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:transversals:}} ? **''TRANSVERSALS''** :: Transversals along the stabilizer chain. ? Type: :''[[..:common#Array |Array]]<[[..:common#Array |Array]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:transversal_sizes:}} ? **''TRANSVERSAL_SIZES''** :: The number of group elements per transversal. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- ===== Methods ===== ==== Orbits ==== Dealing with orbits under permutation groups. ---- {{anchor:lex_maximal:}} ? **''lex_maximal''** :: Assume the group acts on a vector by permuting its entries. Then this method gives the lex-maximal vector from the orbit of the input vector under the group action. See https://arxiv.org/abs/1709.04746 ---- {{anchor:lex_minimal:}} ? **''lex_minimal''** :: Similar to ''[[..:group:PermutationAction#lex_maximal |lex_maximal]]''. ----