TITLE: semidirect product in GAP
QUESTION [1 upvotes]: I was trying to construct the following example in a paper using GAP and is having trouble, any insight would be helpful.
Example. Let GF(13^4) be as usual the Galois field of 13^4 elements. Let V
be the additive group of GF(13^4) and N a subgroup of the multiplicative
group of GF(13^4). Then N acts on V naturally and the extension V : N is
a Frobenius group with kernel V. Suppose that N is of order 35, and let a
be an involution of the Galois group of GF(13^4). Now N = (x) * (y) and
x^a = x^(-1) and y^a = y, where x is of order 5 and y is of order 7. Of course
(a) also acts on V in the usual way. Let W be a cyclic subgroup of order
29; then N: (a) acts on W in the following way: w^x = w, w^a = w^(-1), and
w^y = w^(16), where (w) = W. Finally we set G = (V x W): (N: (a)).

REPLY [1 votes]: Since you have the action already described mostly by generators, it probably is easiest to construct the group from generators and relations, instead of doing an iterated semidirect product construction. For this we need to know how $N$ and $a$ act on a basis of $GF(13^4)$. So lets get your elements $x$, $y$ and $a$:
gap> f:=GF(13^4);;
gap> Length(bas);
4
gap> root:=PrimitiveRoot(f);
Z(13^4)
gap> Order(root)/35;
816
gap> n:=root^816;
Z(13^4)^816
gap> gal:=GaloisGroup(f);
<group of size 4 with 1 generators>
gap> Order(gal.1);
4
gap> a:=gal.1^2;
FrobeniusAutomorphism( GF(13^4) )^2
gap> x:=First(Elements(Group(n)),x->Order(x)=5 and Image(a,x)=x^-1);
Z(13^4)^5712
gap> y:=First(Elements(Group(n)),y->Order(y)=7 and Image(a,y)=y);
Z(13^2)^24
gap> Order(x*y);
35

Next we describe the images of basis elements of the field:
gap> bas:=Basis(f);
CanonicalBasis( GF(13^4) )
gap> List(bas,b->List((Coefficients(bas,b*x)),Int));
[ [ 0, 2, 2, 8 ], [ 10, 8, 4, 2 ], [ 9, 12, 2, 4 ], [ 5, 0, 0, 2 ] ]
gap> List(bas,b->List((Coefficients(bas,b*y)),Int));
[ [ 10, 10, 1, 4 ], [ 5, 1, 11, 1 ], [ 11, 6, 11, 11 ], [ 4, 9, 12, 11 ] ]
gap> List(bas,b->List((Coefficients(bas,Image(a,b))),Int));
[ [ 1, 0, 0, 0 ], [ 5, 9, 1, 4 ], [ 1, 8, 5, 11 ], [ 10, 4, 3, 11 ] ]

With this (and the relations you give) we can write down a presentation: This is easiest done as string, the baclkslash tells GAP that the string will continue in the next line:
gap> free:=FreeGroup("x","y","a","w","b","c","d","e");
<free group on the generators [ x, y, a, w, b, c, d, e ]>
gap> rels:="x5,y7,[x,y],x^a*x,y^a=y,w29,b13,c13,d13,e13,[b,c],[b,d],[b,e],\
> [c,d],[c,e],[d,e],b^x=c2d2e8,c^x=b10c8d4e2,d^x=b9c12d2e4,e^x=b5e2,\
> b^y=b10c10de4,c^y=b5cd11e,d^y=b11c6d11e11,e^y=b4c9d12e11,\
> b^a=b,c^a=b5c9de4,d^a=bc8d5e11,e^a=b10c4d3e11,w^x=w,w^a*w,w^y=w16,\
> [b,w],[c,w],[d,w],[e,w],a2";;
gap> g:=free/ParseRelators(free,rels);
<fp group on the generators [ x, y, a, w, b, c, d, e ]>

We could verify that the group has the desired order (though that takes a bit of time and thus we skip it here). Finally, as the presentation is very inefficient to work with, we use the Solvable Quotient algorithm to represent the group as a PCGroup. (You can use this epimorphism to find the elements corresponding to the structure):
gap> epi:=EpimorphismSolvableQuotient(g,13^4*35*29*2);
[ x, y, a, w, b, c, d, e ] -> [ f3^2, f2^4, f1, f4^14, f5^9*f6^11*f7^2*f8^2,
  f5*f6^4*f7^5*f8^9, f5^12*f6*f7^7*f8^10, f6^4*f7^11*f8^12 ]
gap> Size(gp);
57978830
gap> Length(ConjugacyClasses(gp)); # just as example
11906
{"set_name": "stack_exchange", "score": 1, "question_id": 3807883}