Let $G$ be a group of size $k\cdot p^n$.

Let $S$ be the set of all subsets of size $p^n$ of $G$.

Define the map $f\colon G \times S \rightarrow S$ by $(g, s) \mapsto gs$ if $s \in S$.

I would like to create the group action table of $f$ with GAP. So in the case of $S_3$ I would get a table with twenty rows ( elements of $S$ ) and six columns ( elements of $S_3$ ) containing $gs$.

Question: How do I create a ( this ) group action table with GAP?


You'll find it easier to work with GAP if you switch to right actions.

G := SymmetricGroup( 3 );;
S := Combinations( AsSet( G ), 3 );;

myLeftAction := function( act, pnt ) # useless for Orbits, Stabilizer, etc.
  return AsSet( List( pnt, x -> act*x ) );

myRightAction := function( pnt, act )
  return AsSet( List( pnt, x -> x*act ) );

table := List( S, s -> List( G, g -> myRightAction( s, g ) ) );;

PrintArray( table ); # If you have around 200 columns of screen
Browse( table ); # takes less screen space, but requires the Browse package

# Here is a way to display them in 72 columns using one-line notation
  JoinStringsWithSeparator( List( table, row ->
  JoinStringsWithSeparator( List( row, ent ->
  JoinStringsWithSeparator( List( ent, perm ->
  JoinStringsWithSeparator( ListPerm( perm, NrMovedPoints(G) ),
  "" )), "|")), " ")), "\n" ));
| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.