Regarding your thoughts on the question:
$$\mathbb Z_{48}\not\cong \mathbb Z_6 \times \mathbb Z_8 \quad \text{and}\quad \mathbb Z_6 \times \mathbb Z_8 \quad \text{is NOT cyclic}.$$
$$\mathbb Z_m\times \mathbb Z_n \;\text{ is cyclic and}\;\; \mathbb Z_m\times\mathbb Z_n \cong \mathbb Z_{mn} \; \text{if and only if}\;\; \gcd(m,n) = 1$$
As you can see, $\gcd(6, 8) = 2 \neq 1$, hence, although $\mathbb Z_6\times \mathbb Z_8$ is abelian, it is not cyclic.
Indeed, $\quad\dfrac{48}{\gcd(6, 8)}= \dfrac {48}{2} = 24.\;$ Note also that $\;\mathbb Z_6 \cong \underbrace{\mathbb Z_2\times \mathbb Z_3}_{\gcd(2, 3) = 1},\;$ so $$\mathbb Z_6\times \mathbb Z_8 = \mathbb Z_2\times \underbrace{\mathbb Z_3\times \mathbb Z_8}_{\gcd(3, 8) = 1} \cong \mathbb Z_2 \times \mathbb Z_{24}$$
So the correct answer, as you state earlier is that the order of the largest cyclic subgroup of $\mathbb Z_6\times \mathbb Z_8$, is the least common multiple of the factor groups: $$\text{lcm}\,(6, 8) = 2^3 \cdot 3 = 24$$
This cyclic subgroup is $\langle (1, 1)\rangle$, the cyclic subgroup generated by $(1, 1)$.
This is rather a collection of hints, based on my earlier comments above:
1) Instead of using AllSmallGroups
, you may find enumerating groups one by one more informative and convenient - see the Carpentries-style lesson on GAP, in particular this episode about the search in the Small Groups Library.
2) If you are only interested in the orders of all normal subgroups, instead of asking for StructureDescription
you can call NormalSubgroups
and then check their orders. For example,
gap> AllSmallGroups(360,G->ForAll( NormalSubgroups(G), g -> Size(g)=1 or IsInt(Size(g)/60)));
[ Alt( [ 1 .. 6 ] ) ]
More tips if you are interested only in specific subgroups are in the GAP F.A.Q. It also has a question about StructureDescription
.
3) Using SmallGroupsInformation
, you can find out how the groups of the given order are sorted, and which information about their properties is precomputed. That could help to organise a sieving process, when you will have several passes over the list of candidates, increasing the complexity of the checked property.
4) If you have a multicore computer, or have access to several computers, you can try to set up a parallel master-worker calculation with the SCSCP package. I have a demo for the particular example of the small groups search here.
5) Another suggestion is that GQuotients
has a documented findall
option - if it is set to false
, the algorithm will stop once one homomorphism has been found (this can be faster and might be sufficient if not all homomorphisms are needed). Although, as @Levi explained, this does not help in this case since there are only a few groups that actually are quotients.
6) Furthermore, representation matters. What are the arguments of GQuotients
- are they fp, pc or permutation groups? fp groups are the slowest. You can use IsomorphismPcGroup
or IsomorphismPermGroup
to work with isomorphic groups with a faster internal representation - some examples are in this Jupyter notebook.
7) It is also recommended to run the latest official distribution of GAP, and have properly installed packages (some of them require compilation). Some packages may speed up certain calculations. In particular, GAP 4.10.0 has some improvements of GQuotients
performance by @ahulpke (see this pull request on GitHub).
Best Answer
A subgroup of $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ must have order dividing $p^2$ by Lagrange's theorem. Since $p$ is prime, the possible orders of subgroups of $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ are $1,p,p^2$. For $1,p^2$ there are only two subgroups of $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ with that order, namely $\{(e,e)\}$ and $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ respectively, where $e\in\mathbb{Z}_{p}$ is the identity element.
So now suppose that $A\leq \mathbb{Z}_{p}\times\mathbb{Z}_{p}$ with $|A| = p$. Then since $p$ is prime, $A$ must be cyclic, so there exists some element $(a,b)\in\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ such that $A = \langle(a,b)\rangle $, so $(a,b)$ must have order $p$ in $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$.
The converse is also true, i.e. if $(a,b)$ has order $p$ then the subgroup it generates has order $p$. So the set of subgroups of $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ of order $p$ is $\{\langle(a,b)\rangle\mid(a,b) $ has order $p$$\}$.
So now note that the elements of order $p$ of $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ are exactly the elements of the form $(a,b)$ where either $a\neq e$, or $b\neq e$ (or both $\neq e$). That is, they are exactly the elements of $\mathbb{Z}_{p}\times\mathbb{Z}_{p}\setminus \{(e,e)\}$, of which there are $p^2-1$. However, each element of order $p$ accounts for $p-2$ other elements of order $p$. You can partition the set of elements of order $p$ into equivalence classes under the equivalence relation $(a,b)\sim(c,d)$ iff there exists $t\in\mathbb{Z}$ such that $(a,b)^{t} = (c,d)$. Each equivalence class has $p-1$ elements (note the identity element of $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ is not in the set of elements of order $p$), and so the number of equivalence classes is $\frac{p^2-1}{p-1} = p+1$. So there are $p+1$ subgroups of order $p$.
Now adding to account for the subgroups $\{(e,e)\}$ and $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$, we have that $\mathbb{Z}_{p}\times\mathbb{Z}_{p}$ has $p+3$ subgroups.