# Generate some sort of "graph" of specific subgroups

I need to look at all the conjugacy classes of subgroups of odd order in $\operatorname{GL}_6(2)$, and understand the respective inclusions. I was hoping to generate some sort of lattice of those conjugacy classes of subgroups.
For example, I have computed that there are three different conjugacy classes of subgroups isomorphic to $C_3$, and four conjugacy classes of subgroups of order $9$ (three elementary abelian and one $C_9$). I am interested in understanding what are the inclusion relations between those.

This seems like a task that GAP or MAGMA could easily do, as they are able to compute the subgroups and look if one is inside the other, but I have tried to find the right commands for such a task, and found nothing that could help me.

• Let $T$ and $U$ be sets of representatives of the conjugacy classes of subgroups of order $3$ and $9$ in $G$. Find the subgroups of order $3$ within each subgroup in $U$, and test which of the subgroups in $T$ they are each conjugate to. Dec 5, 2017 at 17:14
• Yes I meant that as an example, I would actually need to do that for all odd order subgroups of $G$... which, by hand, I guess it would take months Dec 6, 2017 at 0:46

The Magma program below will do this for you quickly if I have got it right. I wrote this very quickly, so you will need to check it.

G:=GL(6,2);
S:=Subgroups(G: OrderDividing:=615195);
/* Sort in order of decreasing size */
Sort(~S,func<s,t|torder - sorder>);
/* Print pairs (i,j) such that S[i] contains a conjugate of S[j]
for i in [1..#S-1] do
H := S[i]subgroup;
SH := [ssubgroup: s in Subgroups(H)];
for j in [i+1..#S] do
K := S[j]subgroup;
if #H mod #K eq 0 then
for L in SH do
if IsConjugate(G,K,L) then <i,j>; break; end if;
end for;
end if;
end for;
end for;

• You made me realize that I should definitely take a month of my time and learn to program in MAGMA. Thank you very much! I will check it asap Dec 6, 2017 at 9:40

If you want a more graphical view of your subgroups, you could try xgap (Xwindows only, dated interface), or my own Gap.app (Mac-only). There's also a package-in-development Francy, which does graphical display of subgroup lattices under Jupyter, and which you might be able to get to do what you need.

Once you have a group G, and a list L of subgroups, you can display them graphically in xgap or Gap.app by first running the commands
GraphicSubgroupLattice(G);
L;
Then, choose "InsertVertices from GAP" from the sheet menu to insert the vertices of L.

OTOH, GAP 4.9 ran out of memory trying to compute the list of subgroups of odd order. I had a gig of memory allocated. The command I was trying, analogous to what @Derek Holt gave for Magma, was:
LatticeByCyclicExtension(G, x->IsOddInt(Size(x)));`

Perhaps GAP experts in this forum will be able to give more information on how to be more efficient with memory.