# [GAP Forum] Re: Semisimple groups

Derek Holt dfh at maths.warwick.ac.uk
Sat Sep 25 18:15:47 BST 2004

```Dear GAP-Forum,

On Sat, Sep 25, 2004 at 09:29:21AM -0600, Alexander Hulpke wrote:
> Dear GAP-Forum,
>
> Alireza Abdollahi wrote:
>
> > I need to compute  all "semisimple subgroups" (up to
> > isomorphism) of the direct product of seven
> > SymmetricGroup(10).
> > (By a semisimple group I mean a finite non-trivial
> > group which contains  no non-trivial abelian normal
> > subgroup.)
> >
> > Does anyone know an "ad hoc" way to compute all such
> > subgroups with GAP?
>
> I think the image under each projection on on of the 7 copies of S_10 has to
> be semisimple again. Thus you are looking for iterated subdirect products
> of 7 groups, each of which is a semisimple subgroup of S10.

I think this is going to be a horrendously difficult problem!
It would not be impossible to write down the possible socles of the
semisimple subgroups of (S10)^7, and then one could classify the
semisimple groups according to their socle.

Possibly the most difficult of these subcases is groups with socle
(A5)^14 (14 copies of A5). Such groups G satisfy
(A5)^14 < G < (S5 wr C2)^7, where the quoteint group (S5 wr C2)^7/(A5)^14
is isomorphic to the direct product (D8)^7 of 7 copies of the dihedral
group of order 8. So to get isomorphism classes of the possible G, I
think one needs to find representatives of the subgroups of (D8)^7 under
the action of S7 permuting the direct factors of (D8)^7.

This would seem to be very difficult - (D8)^7 has one heck of a lot so
subgroups!

Derek Holt.

> There is no built-in function for this, however the appended code forms
> subdirect products of two groups (some of the resulting groups are still
> isomorphic!).
>
> On could try to iterate it to get 7 copies, but this is likely to take very
> long and might be memory intensive.
>
> For example, this would be the calculation for S_5^3:
>
> g:=SymmetricGroup(5);
> d:=DirectProduct(g,g);
> semi:=[g,DerivedSubgroup(g)]; # list of all semisimple subgroups of S5
> semi2:=AllSubdirectProducts(d,semi,semi);  # semisimple subgroups of S5xS5
>
>
> d3:=DirectProduct(d,g);
> semi3:=AllSubdirectProducts(d3,semi2,semi);
>
> However S_10^7 is rather large -- I have not tried how far this approach
> would go. Also at each step you might want to weed out isomorphic groups by
> hand before proceeding.
>
> I hope this is of help,
>
>    Alexander Hulpke
>
> PS: As the question was sent three days ago to gap-trouble and now has been
> sent again to the Forum (thus the public reply) let me add the note that
> while we will try to respond to every question all of us have other duties
> besides of answering questions -- sometimes it might take a week or two to
> respond. Please exercise some patience!
>
> -- 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
>
> AllSubdirectProducts:=function(d,l1,l2)
> local prd, e1, e2, n, m, nate, gf, natf, iso, au, t, gens, g, h, e, f, rep;
>   prd:=[];
>   e1:=Embedding(d,1);
>   e2:=Embedding(d,2);
>   # run through all pairs of groups
>   for g in l1 do
>     for h in l2 do
>       n:=NormalSubgroups(g);
>       m:=NormalSubgroups(h);
>       # run through all pairs of normal subgroups
>       for e in n do
> 	nate:=NaturalHomomorphismByNormalSubgroup(g,e);
> 	gf:=Image(nate,g);
> 	for f in m do
> 	  if Index(h,f)=Index(g,e) then
> 	    natf:=NaturalHomomorphismByNormalSubgroup(h,f);
> 	    iso:=IsomorphismGroups(gf,Image(natf,h));
> 	    if iso<>fail then
> 	      # run through all isomorphisms between the factors modulo
> 	      # inner
> 	      au:=AutomorphismGroup(gf);
> 	      t:=RightTransversal(au,InnerAutomorphismsAutomorphismGroup(au));
>               for rep in t do
> 		# form product
> 		gens:=Concatenation(
> 			List(GeneratorsOfGroup(e),i->Image(e1,i)),
> 			List(GeneratorsOfGroup(f),i->Image(e2,i)),
> 			List(GeneratorsOfGroup(g),
> 			      i->Image(e1,i)*
> 				Image(e2,PreImagesRepresentative(natf,
> 				Image(iso,Image(rep,Image(nate,i)))) )));
> 		gens:=Group(gens,One(d));
> 		Print("found :",Size(e)," ",Size(f),"->",Size(gens),"\n");
> 	      od;
> 	    fi;
> 	  fi;
> 	od;
>       od;
>     od;
>   od;
>   return prd;
> end;
>
> g:=SymmetricGroup(5);
> d:=DirectProduct(g,g);
> semi:=[g,DerivedSubgroup(g)];
>
> _______________________________________________
> Forum mailing list
> Forum at mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum

```