Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I'm wondering how to specify to GAP which homomorphism to use when constructing a semidirect product. I'm trying to have it construct $\left(\mathbb{Z}_p\times\mathbb{Z}_p\right)\rtimes_\varphi S_3$. Since $\mathrm{Aut}\left(\mathbb{Z}_p\times\mathbb{Z}_p\right)\cong GL_2(\mathbb{F}_p)$, I want to specify $\varphi:S_3\rightarrow\mathrm{Aut}\left(\mathbb{Z}_p\times\mathbb{Z}_p\right)$ as $\varphi:S_3\rightarrow GL_2(\mathbb{F}_p)$ element by element (i.e. give a 2x2 matrix for each element of $S_3$).

I want to do this just to do group element multiplications quickly. I'll obviously specify $p$ when necessary.

I'm fairly new to GAP so a low-level answer (or reference) would be appreciated.

share|improve this question
2  
Have you tried looking the Gap Manual specifically the section on semi-direct products? It looks like you might be able to do what you want with this function. –  JSchlather Apr 5 '12 at 7:23
    
Thanks @JacobSchlather, I'll read those pages and post a solution if I can figure it out. Others are of course still welcome to help :) –  Sid Raval Apr 5 '12 at 14:57
2  
I noticed you still don't have an answer. You might get a quicker response if you email your question to the gap forum: forum@gap-system.org –  William DeMeo Apr 8 '12 at 1:16

1 Answer 1

up vote 5 down vote accepted

In case you still don't have an answer: You want to use the GAP command SemidirectProduct( <g>, <hom>, <n> ). Here, <hom> is a group homomorphism from the group <g> to the automorphism group of the group <n>. In GAP this might look like this (for $p=7$):

gap> h := CyclicGroup(7);;
gap> g := DirectProduct( h, h );;
gap> aut := AutomorphismGroup( g );;
gap> iso := IsomorphismGroups( GL(2,7), aut );;
gap> s := SymmetricGroup(3);;
gap> GeneratorsOfGroup( s );
[ (1,2,3), (1,2) ]
gap> hom := GroupHomomorphismByImages( s, GL(2,7), GeneratorsOfGroup( s ), [ a, b ] );
[ (1,2,3), (1,2) ] -> [ [ [ Z(7)^0, 0*Z(7) ], [ 0*Z(7), Z(7)^0 ] ], [ [ Z(7)^0, 0*Z(7) ], [ 0*Z(7), Z(7)^0 ] ] ]

a and b are your favourite images of (1,2,3) and (1,2), respectively. I chose One(GL(2,7)) because I'm lazy. Note that you have to tell GAP that your matrices are over $\mathbb{F}_p$. Fortunately, that can be done like this:

gap> a := [ [ 1, 2 ], [ 3, 4 ] ] * One( GF(7) ); 
[ [ Z(7)^0, Z(7)^2 ], [ Z(7), Z(7)^4 ] ]
gap> a in GL(2,7);
true

Now you can compose hom and iso and define your semidirect product:

gap> semi := SemidirectProduct( s, CompositionMapping( iso, hom ), g );
<pc group with 4 generators>
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.