First time here? Check out the FAQ!

Ask Your Question
1

Orbits on group actions acting on sets

asked 12 years ago

SGQ gravatar image

Hello!

I am wondering how to solve the following problem efficiently.

I have a Permuation Group G acting on A=1,,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 SA×A in the natural way. That is if gG and x=a,bS then xg=ag,bgS

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!

Preview: (hide)

Comments

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

Dima gravatar imageDima ( 12 years ago )

But can it be directly done in sage?

SGQ gravatar imageSGQ ( 12 years ago )

I've written the answer below :)

Dima gravatar imageDima ( 12 years ago )

1 Answer

Sort by » oldest newest most voted
3

answered 12 years ago

updated 5 years ago

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 ] ] ]
Preview: (hide)
link

Comments

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

DanP gravatar imageDanP ( 5 years ago )
1

I've edited the answer to indicate this.

Dima gravatar imageDima ( 5 years ago )

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: 12 years ago

Seen: 1,627 times

Last updated: Jan 14 '20