[GAP Forum] from StructureDescription to specific generators?

Gary McConnell garymakonel at googlemail.com
Sun Sep 2 17:37:49 BST 2012


Dear Alexander,

This is brilliant - thank you - it gives me a great number of new methods
to think about. I should perhaps also mention that another forum member
very helpfully pointed out some functions which are not in the manual I
have (but which are accessible in the source code apparently), namely

SemidirectFactorsOfGroup

and

DirectFactorsOfGroup

which I was able to harness to give me what would appear to be complete
lists of these (normal,complement) pairings in the cases I am studying.

Many thanks and kind regards

Gary.

On Sat, Sep 1, 2012 at 4:28 PM, Alexander Hulpke <hulpke at me.com> wrote:

> Dear Gary McConnell,
>
> On Aug 22, 2012, at 12:14 PM, Gary McConnell <garymakonel at googlemail.com>
> wrote:
>
> is there an easy way to access the generators of the normal
> subgroup and the "action" homomorphism from Ck to the automorphism group of
> Cm x Cn, or some splitting homomorphism, or equivalent
>
>
> There is no built in function, but you can easily check for
> decompositions. Lets first try direct products. We need two normal
> subgroups that intersect trivially and generate the whole group. First get
> nontrivial normal subgroups. For convenience we sort by group order:
>
>
>
>
> gap> g:=SmallGroup(48,9);
> <pc group of size 48 with 5 generators>
> gap> n:=Filtered(NormalSubgroups(g),x->Size(x)>1 and Size(x)<Size(g));;
> gap> Sort(n,function(a,b) return Size(a)<Size(b);end);
>
> Now check pairs (Combinations counts x,y as y,x, so no duplicates) for
> direct product candidates.
> Instead of generation it is cheaper to use orders.
>
> gap> d:=Filtered(Combinations(n,2),x->Size(Intersection(x[1],x[2]))=1
> > and Size(x[1])*Size(x[2])=Size(g));
> [ [ Group([ f2 ]), Group([ f1, f3, f4, f5 ]) ],
>   [ Group([ f2 ]), Group([ f1*f2, f3, f4, f5 ]) ],
>   [ Group([ f1, f3, f4, f5 ]), Group([ f2*f4 ]) ],
>   [ Group([ f1*f2, f3, f4, f5 ]), Group([ f2*f4 ]) ] ]
> gap> List(d,x->List(x,Size));
> [ [ 2, 24 ], [ 2, 24 ], [ 24, 2 ], [ 24, 2 ] ]
>
> So here its always 2 x something. Lets just try the first and investigate
> the second factor.
> gap> h:=d[1][2];
> Group([ f1, f3, f4, f5 ])
>
> gap> n:=Filtered(NormalSubgroups(h),x->Size(x)>1 and Size(x)<Size(h));
> gap> Sort(n,function(a,b) return Size(a)<Size(b);end);
> gap> d:=Filtered(Combinations(n,2),x->Size(Intersection(x[1],x[2]))=1
> > and Size(x[1])*Size(x[2])=Size(h));
> [  ]
>
> So no direct product here. For semidirect products we test for
> complements. (This can be done if either N or G/N is solvable):
> gap> c:=List(n,x->Complementclasses(h,x));
> [ [  ], [ Group([ f1, f3, f4 ]) ], [  ], [  ], [  ] ]
>
> So only the second normal subgroup has complements. (If there are several
> classes we can just pick one.)
>
> gap> Size(n[2]);
> 3
>
> clearly cyclic or order 3. This is the first factor Look at the complement:
>
> gap> c:=c[2][1];
> Group([ f1, f3, f4 ])
> gap> Size(c);
> 8
> gap> IsAbelian(c);
> true
> gap> AbelianInvariants(c);
> [ 8 ]
>
> So we have a C3 : C8. In this case there is only one nontrivial
> homomorphism, but for the sake of example lets build it:
>
> gap> au:=AutomorphismGroup(n[2]);
> <group with 1 generators>
> gap> hom:=GroupHomomorphismByImages(c,au,GeneratorsOfGroup(c),
> > List(GeneratorsOfGroup(c),
> > x->ConjugatorAutomorphism(n[2],x)));
> [ f1, f3, f4 ] -> [ ^f1, ^<identity> of ..., ^<identity> of ... ]
>
> So now we have all the constituents so we could build the group as
> product. First the semidirect bit:
>
> gap> s:=SemidirectProduct(c,hom,n[2]);
> <pc group of size 24 with 4 generators>
>
> and now the direct product with C2:
>
> gap> c2:=CyclicGroup(2);;
> gap> a:=DirectProduct(s,c2);
> <pc group of size 48 with 5 generators>
>
> Lets check that they are indeed isomorphic:
> gap> IsomorphismGroups(g,a);
> [ f1, f2, f3, f4, f5 ] -> [ f1, f5, f2, f3, f4 ]
>
>
> So everything went fine.
>
> Hope this helps,
>
>    Alexander Hulpke
>
> -- Colorado State University, Department of Mathematics,
> Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA
> email: hulpke at math.colostate.edu, Phone: ++1-970-4914288
> http://www.math.colostate.edu/~hulpke
>
>
>


More information about the Forum mailing list