Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

It is unclear which is "the symmetric group isomorphic to G but where the 2nd element is (6,7,8,9,10)", so i suppose we associate to each g in G an element g' in an other permutation group G' = (G)' (sic!), namely the one induced by the map

{1,2,3,4,5} to {1,2,3,4,5,6,7,8,9,10} given by x goes to x+5 .

(And g' is the identity on {1,2,3,4,5}.) We can simply define the map g to g' as follows:

def shiftPermutation( g, k ):
    return Permutation( [1..k] + [ k+g(j) for j in [1 .. max( g.parent().domain() ) ] ] )

and then we can shift G = SymmetricGroup(5) with 3 (to get an asymmetry in the representation)...

G = SymmetricGroup(5)
H = PermutationGroup( [ shiftPermutation( g, 3 ) for g in G.gens() ] )
print "G =", G
print "H =", H

getting...

G = Symmetric group of order 5! as a permutation group
H = Permutation Group with generators [(4,5), (4,5,6,7,8)]

The image group is constructed, but

import random
s = random.choice( range( factorial(5) ) )
print "G[%s] is %s" % ( s, G[s] )
print "H[%s] is %s" % ( s, H[s] )

delivers

G[38] is (2,5,4)
H[38] is (4,8,7)

because

sage: G.gens()
[(1,2,3,4,5), (1,2)]
sage: H.gens()
[(4,5), (4,5,6,7,8)]

The generators were recomputed... But i'm sure the map is enough, the lists of the elements in G, and respectively H must not be mirrored by the map g to g' in the application.