Ask Your Question
1

Orbits on group actions acting on sets

asked 2012-12-26 10:56:11 +0100

SGQ gravatar image

Hello!

I am wondering how to solve the following problem efficiently.

I have a Permuation Group $G$ acting on $A = {1,\ldots,n}$ and I wish to compute the orbits of $G$ but not the ones of $G$ acting on $A$ but rather for $G$ acting on some $S \subseteq A \times A$ in the natural way. That is if $g \in G$ and $ x = {a,b} \in S$ then $x^g = {a^g,b^g} \in S$

Other software for permuation groups (magma, gap) allows to do this by specifing an additional option "on sets/on tuples" to compute the specifed orbits.

I am wondering how could I do the same in sage, given a permuation group $G$ and an $S$ as described above.

Thanks!

edit retag flag offensive close merge delete

Comments

Are you saying that you want the orbits of $G$ on $A\times A$ ? Such orbits are usually called orbitals. GAP can do this for you, e.g. using its package called GRAPE.

Dima gravatar imageDima ( 2012-12-26 11:49:51 +0100 )edit

But can it be directly done in sage?

SGQ gravatar imageSGQ ( 2012-12-27 06:15:39 +0100 )edit

I've written the answer below :)

Dima gravatar imageDima ( 2013-01-18 00:59:37 +0100 )edit

1 Answer

Sort by ยป oldest newest most voted
3

answered 2013-01-18 00:23:42 +0100

updated 2020-01-14 17:52:23 +0100

In a way, everything which is possible in GAP is also possible in Sage, as Sage starts up a GAP subprocess and communicates with it. So you need not have Sage bindings for every GAP function. E.g. you can do

sage: g=SymmetricGroup(7)  
sage: gap("Orbits("+str(g._gap_())+","+str(tuples([1..7],2))+",OnTuples)")
[ [ [ 1, 1 ], [ 2, 2 ], [ 3, 3 ], [ 4, 4 ], [ 5, 5 ], [ 6, 6 ], [ 7, 7 ] ], 
[ [ 1, 2 ], [ 2, 3 ], [ 2, 1 ], [ 3, 4 ], [ 1, 3 ], [ 3, 2 ], [ 4, 5 ], 
  [ 2, 4 ], [ 4, 3 ], [ 3, 1 ], [ 5, 6 ], [ 3, 5 ], [ 1, 4 ], [ 5, 4 ], 
  [ 4, 2 ], [ 6, 7 ], [ 4, 6 ], [ 2, 5 ], [ 6, 5 ], [ 5, 3 ], [ 4, 1 ], 
  [ 7, 1 ], [ 5, 7 ], [ 3, 6 ], [ 1, 5 ], [ 7, 6 ], [ 6, 4 ], [ 5, 2 ], 
  [ 7, 2 ], [ 6, 1 ], [ 4, 7 ], [ 2, 6 ], [ 1, 7 ], [ 7, 5 ], [ 6, 3 ], 
  [ 5, 1 ], [ 6, 2 ], [ 3, 7 ], [ 1, 6 ], [ 2, 7 ], [ 7, 4 ], [ 7, 3 ] ] ]

Nowadays (Sage version 8.6 or newer) one can do

sage: g=libgap.SymmetricGroup(7)
sage: g.Orbits(tuples([1..7],2),libgap.OnTuples)
[ [ [ 1, 1 ], [ 2, 2 ], [ 3, 3 ], [ 4, 4 ], [ 5, 5 ], [ 6, 6 ], [ 7, 7 ] ], [ [ 1, 2 ], [ 2, 3 ], [ 2, 1 ], [ 3, 4 ], [ 1, 3 ], [ 3, 2 ], [ 4, 5 ], [ 2, 4 ], [ 4, 3 ], [ 3, 1 ], [ 5, 6 ], [ 3, 5 ], [ 1, 4 ], [ 5, 4 ], [ 4, 2 ], [ 6, 7 ], [ 4, 6 ], [ 2, 5 ], [ 6, 5 ], [ 5, 3 ], [ 4, 1 ], [ 7, 1 ], [ 5, 7 ], [ 3, 6 ], [ 1, 5 ], [ 7, 6 ], [ 6, 4 ], [ 5, 2 ], [ 7, 2 ], [ 6, 1 ], [ 4, 7 ], [ 2, 6 ], [ 1, 7 ], [ 7, 5 ], [ 6, 3 ], [ 5, 1 ], [ 6, 2 ], [ 3, 7 ], [ 1, 6 ], [ 2, 7 ], [ 7, 4 ], [ 7, 3 ] ] ]
edit flag offensive delete link more

Comments

This doesn't work in Sage 8.9. How would one do this now?

DanP gravatar imageDanP ( 2019-12-15 21:23:38 +0100 )edit
1

I've edited the answer to indicate this.

Dima gravatar imageDima ( 2020-01-14 17:52:50 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2012-12-26 10:56:11 +0100

Seen: 1,528 times

Last updated: Jan 14 '20