# MAGMA question: SemidirectProduct using a homomorphism $f:G \rightarrow GL_n(\mathbb{F}_p)$.

Suppose I have a homomorphism $f:G\rightarrow GL_n(\mathbb{F}_p)$ and I wish to form the semidirect product $E\rtimes_f G$ with $E$ being the elementary abelian group of order $p^n$.

The Semidirect product command in Magma takes arguments Semidirect(K,H,f):Grp, Grp, Map -> Grp to produce the semidirect product $K\rtimes_f H$ as a group object. Here f is a homorphism from H into AutK, where AutK is the Automorphism group of K, formed (I assume) by AutomorphismGroup(K).

In Magma, I set GLnp := GL(n,p); and make $f$ using f := hom< G -> GLnp | ... >; and $E$ using E := AbelianGroup([p:i in [1..n]]);. Then I make AutE := AutomorphismGroup(E);. So now the problem is taking that f and turning it into a homomorphism from G to AutE so that I can use it with SemidirectProduct.

The natural way I thought to do this was to construct an isomorphism g from GLnp to AutE, then setting phi := g*f; and forming SemidirectProduct(E,G,phi);. I find the GrpAuto class pretty difficult to work with, but managed to do this in a hack-y way when I had $n=3$ and $p=2$. However when I then tried to use the same method to form the group I really wanted, for which $n=10$ and $p=23$, the isomorphism from g from GLnp to AutE blew up, I assume because Magma tries to take the cartesian product of the two sets and then form the map as a subset (or something like that). I tried a couple other ways of forming g, and some worked at first, but then blew up when I used SemidirectProduct(E,G,phi);.

My $G$ here only has order $2640$ and Magma handles $E$ just fine by itself, so it seems like a permutation group on the scale of $E \rtimes_f G$ should be be well within the computational limits of Magma. (I have made permutation groups around that size before!) The problem is finding a way around whatever Magma is doing that is costing so much memory.

So I have three questions about this.

Am I wrong? Is what I want to do simply outside the computational limits of Magma?

In general,

What is the best way to make a homomorphism into a GrpAuto object from a GrpMat object?

and, most importantly of all,

How can I form $E\rtimes_f G$ in Magma given a homomorphism $f:G\rightarrow GL_n(\mathbb{F}_p)$, given as a map f from GrpPC : G to GL(n, GF(p))?

-

## 1 Answer

As far as I know, Magma does not have facilities for computing with semidirect products with elements represented by ordered pairs, so it needs to construct some kind of representation of the semidirect product, and by default it will try and construct a permutation representation. I think the problem here is probably that Magma will try and construct a permutation representation of ${\rm GL}(10,23)$ first, and will fail abysmally!

From what you say, it sounds as though $G$ is a solvable group. If you have a PC-presentation of $G$ and you know the matrices defining the action of the PC-generators of $G$ on $E$, then it should be moderately straightforward to write down a PC-presentation of the semidirect product, and thereby construct it directly as a PC-group, so why not do it that way?

It would be more difficult if $G$ was not solvable. My inclination then would be to define the semidirect product as a subgroup of a maximal parabolic subgroup of ${\rm GL}(11,23)$. You would then at least have a concrete representation of the group as a matrix group, so would have some chance of carrying out calculations within it.

-
Thanks. I was able to write it as an FPGroup, but when I use PCGroup on that it says it's too big for PC. Would you happen to know if there's a way to compute fitting subgroups for FP groups? – Alexander Gruber Nov 26 '12 at 3:09
I was suggesting that you define it directly as a GrpPC, which you can do using the command PolycyclicGroup< x1, ..., xn | R : parameters > : List(Identifiers), List(GrpFPRel) -> GrpPC, Map. But before you that, you could try using the command SolvableQuotient on the GrpFP that you created. – Derek Holt Nov 26 '12 at 8:59
I tried using PolycyclicGroup but I am not sure how to get the relations in the form it wants. docs.google.com/open?id=0B3X5C_7tdfR2MUVHY1RXUmt0XzQ This is what the FP relations look like. PolycyclicGroup doesn't like them even if I use the given PC presentation of the first group (direct product of C5C11 and binary octahedral). The relations for the representations (which I got from matrices) don't seem to be in the right form for PolycyclicGroup, but I'm not sure how to fix that. – Alexander Gruber Nov 26 '12 at 15:43
I looked at your file. One problem is that you have only given 2 generators for the subgroup <h1,h2> of order 48, but you need to give all 5 PC-generators, and also (I am afraid) their conjugate relations on all of the other generators. Also your actions of p and q on the 10-dimensional module seem to satisfy pqp^-1=q^4, whereas the relation you gave, q^p=q^4, means p^-1*q*p=q^4. – Derek Holt Nov 26 '12 at 17:18