Ask Your Question
0

morphism between permutation group and matrix group

asked 2013-12-26 19:06:55 +0200

Gro-Tsen gravatar image

I can't figure out how to create a morphism between a permutation group and a matrix group (I know this is possible because Sage uses Gap and Gap doesn't have any problem with this, I don't imagine Sage removed the Gap functionality).

 sage: flip = PermutationGroupElement("(1,2)")
 sage: g = PermutationGroup([flip])
 sage: flop = Matrix(GF(3), 1, 1, [2])
 sage: k = MatrixGroup([flop])
 sage: g.order()
 2
 sage: k.order()
 2
 sage: g.hom([flop])
 <snip useless error message>
 sage: k.hom([flip])
 <snip another useless error message>

How can I construct the homomorphisms from g to k and k to g sending flip to flop and vice versa? (Maybe the problem is that Sage thinks g and k are a "permutation group" and "matrix group" respectively: if so, how can I get the underlying groups?)

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2013-12-27 04:19:21 +0200

Luca gravatar image

Sage did not remove Gap's functionality, it simply did not interface to it. There seems to be no implementation of Homsets specific to groups, and in particular no implementation of morphisms specified via the images of the generators, like there is for rings, for example. I agree that the error message is not very informative.

I see no easy workaround: either you define your own python functions, or you work directly with gap. This is probably worth a ticket on trac.sagemath.org.

edit flag offensive delete link more
0

answered 2013-12-27 09:48:15 +0200

vdelecroix gravatar image

Hi,

It is currently not possible to set group morphisms from generators (see also question 3157). Nevertheless, you can build a morphism by explicitely give the corresponding map

sage: flip = PermutationGroupElement("(1,2)")
sage: g = PermutationGroup([flip])
sage: id3  = Matrix(GF(3), 1, 1, [1])
sage: flop = Matrix(GF(3), 1, 1, [2])
sage: k = MatrixGroup([flop])
sage: H = Hom(g,k)
sage: h = H(lambda x: flop if x == flip else id3)

And then

sage: h
Generic morphism:
  From: Permutation Group with generators [(1,2)]
  To:   Matrix group over Finite Field of size 3 with 1 generators ([2],)
sage: h(flip) == flop
True

In 3157 you can see how to do this for arbitrary finite groups using the Cayley graph.

edit flag offensive delete link more

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: 2013-12-26 19:06:55 +0200

Seen: 498 times

Last updated: Dec 27 '13