Ask Your Question
0

Group elements in terms of its generators

asked 2021-05-08 12:52:22 +0200

Anoop S K M gravatar image

I created a permutation group with generators [(4,5,6,7,8), (1,2,3)]. The order of this group is shown as 15. c,f in Cayley_table() corresponds to these generators. Is there a way to print these 15 elements a,b,c.....m,n,o in terms of these generators c,f?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-05-08 17:13:55 +0200

tmonteil gravatar image

Given an element g of your group G, you can write it as a product of the generators of G by using the word_problem method:

sage: G = PermutationGroup([(4,5,6,7,8), (1,2,3)])                                                                                                                                                           
sage: g = G.an_element() ; g                                                                                                                                                                                 
(1,2,3)(4,5,6,7,8)
sage: g.word_problem(G.gens())                                                                                                                                                                               
x2*x1
[['(1,2,3)', 1], ['(4,5,6,7,8)', 1]]
('x2*x1', '(1,2,3)*(4,5,6,7,8)')

If you want to get the decomposition for every element of G, you can do something like:

sage: for i in G: 
....:     print('{} can be written as {}'.format(i, i.word_problem(G.gens(), as_list=True, display=None))) 
....:                                                                                                                                                                                                        
() can be written as [['<identity ...>', 1]]
(4,8,7,6,5) can be written as [['(4,5,6,7,8)', -1]]
(4,7,5,8,6) can be written as [['(4,5,6,7,8)', -2]]
(4,6,8,5,7) can be written as [['(4,5,6,7,8)', 2]]
(4,5,6,7,8) can be written as [['(4,5,6,7,8)', 1]]
(1,3,2) can be written as [['(1,2,3)', -1]]
(1,3,2)(4,8,7,6,5) can be written as [['(1,2,3)', -1], ['(4,5,6,7,8)', -1]]
(1,3,2)(4,7,5,8,6) can be written as [['(1,2,3)', -1], ['(4,5,6,7,8)', -2]]
(1,3,2)(4,6,8,5,7) can be written as [['(4,5,6,7,8)', 2], ['(1,2,3)', -1]]
(1,3,2)(4,5,6,7,8) can be written as [['(1,2,3)', -1], ['(4,5,6,7,8)', 1]]
(1,2,3) can be written as [['(1,2,3)', 1]]
(1,2,3)(4,8,7,6,5) can be written as [['(1,2,3)', 1], ['(4,5,6,7,8)', -1]]
(1,2,3)(4,7,5,8,6) can be written as [['(1,2,3)', 1], ['(4,5,6,7,8)', -2]]
(1,2,3)(4,6,8,5,7) can be written as [['(4,5,6,7,8)', 2], ['(1,2,3)', 1]]
(1,2,3)(4,5,6,7,8) can be written as [['(1,2,3)', 1], ['(4,5,6,7,8)', 1]]
edit flag offensive delete link more

Comments

Ok great! Thanks a lot.

Anoop S K M gravatar imageAnoop S K M ( 2021-05-09 07:26:25 +0200 )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

1 follower

Stats

Asked: 2021-05-08 12:52:22 +0200

Seen: 319 times

Last updated: May 08 '21