Computational group theory
FULL1024210
Every group of order 1024, written down one by one.
There are 49,487,367,289 groups of order 1024. Besche, Eick and O'Brien counted them in 2001 [15], when they constructed every other group of order at most 2000 for GAP's SmallGroups library [4, 16]; David Burrell made a small correction to the count in 2022 [1]. The groups of order 1024 make up more than 99% of all groups of order at most 2000! Most of these groups had never been explicitly constructed. FULL1024 gathers all of them into a single library: each group appears exactly once, as an explicit presentation, and every family is checked against Burrell's counts (including cell sizes) [1].
The library
Two numbers sort the groups. The rank of a group G is its minimal number of generators, so that |G : Φ(G)| = 2d. The p-class is the length of the lower exponent-2 central series, which runs from G down to 1 with each term [P, G]P2 of the one before [7, 8]. The groups of p-class 2, those whose Frattini subgroup is central and elementary abelian, form cells (K, E): rank K and |Φ(G)| = 2E, with K + E = 10. A third number, the nilpotency class, is the length of the lower central series G > [G, G] > [G, G, G] > … > 1; it is at most the p-class.
Where the groups are
Bars are to scale. One cell, (6, 4), holds 96.4% of all groups, so each bar below magnifies the hatched remainder of the bar above it. Hover over a block, or tap it, for details.
By p-class and rank
Show the numbers as a table
Every count is checked against Burrell's [1]. For p-class 2, two independent programs that count orbits with the Cauchy–Frobenius lemma, the approach of Eick and O'Brien [10], reproduce his numbers too: the groups in cell (K, E) correspond to the orbits of GL(K, 2) on E-dimensional spaces of quadratic forms on F2K [23, 29]. The counts by rank and p-class outside p-class 2 come from Burrell's GRPS1024 [2] and agree with the groups in the library.
Group explorer
Paste a record, pick an example, or draw a random group. The page computes the invariants and presentations from the record alone, exactly and in your browser; nothing is sent anywhere. Records cover the groups of p-class 2.
Browse and filter
Three cells of p-class 2 are small enough to list in full here: 6,512 groups. Filter them by their invariants, open any one in the explorer, or copy GAP code that builds the whole selection.
How a record works
A record K E f1 … fE lists the cell and E integers. Write the generators of G modulo Φ(G) as g1, …, gK and a basis of Φ(G) as z1, …, zE. Bit i of fl says whether zl occurs in the square gi+12. The higher bits do the same for the commutators [gi, gj], with the pairs taken in the order (1, 2), (1, 3), …, (K − 1, K).
In group terms, each fl is a quadratic form on F2K, and together they make the squaring map of G. The correspondence is classical: Baer studied groups of class 2 through their commutator maps [28], and for 2-groups of p-class 2 the squaring map, whose polarization is the commutator map, determines the group [29]. The example below writes one out. Many records describe the same group, since a change of generators changes the forms, and the library stores exactly one record per group. In the cells of rank at most 7 it is the canonical record, so two groups there are isomorphic exactly when their canonical records agree; for the cells (8, 2) and (9, 1) it is a fixed representative. Groups of p-class 1 or at least 3 use GAP pc codes instead, the format of GAP's SmallGroups library [4, 16], and load with PcGroupCode(code, 1024).
Try it: the groups of order 8
One generator z of Φ(G), two generators g1, g2. Switch the three bits of f.
Worked example: a record as a quadratic map
The example record of cell (6, 4), the cell that holds 96.4% of all groups, written out in full.
Take 6 4 262145 131099 74800 24884, so K = 6 and E = 4. Each fl has 21 bits, one for each monomial of degree 2 in x1, …, x6: bits 0 to 5 are the squares and bits 6 to 20 the products, with the pairs in the order (1, 2), (1, 3), …, (5, 6).
| bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| monomial | x12 | x22 | x32 | x42 | x52 | x62 | x1x2 | x1x3 | x1x4 | x1x5 | x1x6 | x2x3 | x2x4 | x2x5 | x2x6 | x3x4 | x3x5 | x3x6 | x4x5 | x4x6 | x5x6 |
Writing each integer as a sum of powers of 2 and replacing each power by its monomial gives one quadratic form per zl:
| integer | powers of 2 | quadratic form |
|---|---|---|
| f1 = 262145 | 218 + 20 | q1 = x12 + x4x5 |
| f2 = 131099 | 217 + 24 + 23 + 21 + 20 | q2 = x12 + x22 + x42 + x52 + x3x6 |
| f3 = 74800 | 216 + 213 + 210 + 25 + 24 | q3 = x52 + x62 + x1x6 + x2x5 + x3x5 |
| f4 = 24884 | 214 + 213 + 28 + 25 + 24 + 22 | q4 = x32 + x52 + x62 + x1x4 + x2x5 + x2x6 |
Together they make a quadratic map q = (q1, q2, q3, q4) : F26 → F24, and it is the squaring map of G. Since every commutator is central, (ab)2 = a2b2[b, a], and so for every x ∈ F26
(g1x1 g2x2 ⋯ g6x6)2 = z1q1(x) z2q2(x) z3q3(x) z4q4(x).
The xi2 terms give the squares of the generators and the xixj terms the commutators, because the commutator map is the polarization q(x + y) + q(x) + q(y). For example x = (0, 0, 0, 1, 1, 0) gives (g4g5)2 = z1z3z4, and indeed g42 g52 [g5, g4] = z2 · z2z3z4 · z1 = z1z3z4. Read term by term, the record is this power-commutator presentation [8, 27], in which each z is central of order 2, so that [gi, gj] = [gj, gi]:
g1^2 = z1·z2 [g1, g4] = z4
g2^2 = z2 [g1, g6] = z3
g3^2 = z4 [g2, g5] = z3·z4
g4^2 = z2 [g2, g6] = z4
g5^2 = z2·z3·z4 [g3, g5] = z3
g6^2 = z3·z4 [g3, g6] = z2
[g4, g5] = z1
all other commutators are trivialReferences
Data and software
- [1]David Burrell, On the number of groups of order 1024, Communications in Algebra 50(6) (2022), 2408–2410. doi:10.1080/00927872.2021.2006680The count 49,487,367,289 used throughout this page; it corrects the 49,487,365,422 of [15].
- [2]David Burrell, GRPS1024, a GAP package (Artistic License 2.0). The groups of p-class 1 and 3 to 10 in the library, and their counts by rank, come from its data.
- [3]The GAP Group, GAP — Groups, Algorithms, and Programming, Version 4.12.2, 2022. gap-system.orgThe version used for every GAP computation behind this page.
- [4]Hans Ulrich Besche, Bettina Eick and Eamonn A. O'Brien, SmallGrp — The GAP Small Groups Library, a GAP package, version 1.5.1, 2022. gap-packages.github.io/smallgrpThe groups outside p-class 2 are stored as pc codes, the format of this library.
- [5]Bettina Eick and Eamonn A. O'Brien, AutPGrp — Computing the Automorphism Group of a p-Group, a GAP package, version 1.11, 2022. gap-packages.github.io/autpgrpUsed to compute or check the orders |Aut(G)| shown in the explorer.
- [6]Greg Gamble, Werner Nickel and Eamonn A. O'Brien, ANUPQ — ANU p-Quotient, a GAP package, version 3.2.6, 2022. gap-packages.github.io/anupqUsed to recompute, as descendants of 292 random parents, about a million of the groups taken from [2]; they agreed.
Groups of small order
- [7]Michael F. Newman, Determination of groups of prime-power order, in Group Theory (Canberra, 1975), Lecture Notes in Mathematics 573, Springer, 1977, 73–84. doi:10.1007/BFb0087814
- [8]Eamonn A. O'Brien, The p-group generation algorithm, Journal of Symbolic Computation 9 (1990), 677–698. doi:10.1016/S0747-7171(08)80082-X
- [9]Eamonn A. O'Brien, The groups of order 256, Journal of Algebra 143 (1991), 219–235. doi:10.1016/0021-8693(91)90261-6
- [10]Bettina Eick and Eamonn A. O'Brien, Enumerating p-groups, Journal of the Australian Mathematical Society (Series A) 67 (1999), 191–205. doi:10.1017/S1446788700001166Counting p-groups with the Cauchy–Frobenius lemma, the approach behind the p-class 2 checks on this page.
- [11]Bettina Eick and Eamonn A. O'Brien, The groups of order 512, in Algorithmic Algebra and Number Theory (Heidelberg, 1997), Springer, 1999, 379–380. doi:10.1007/978-3-642-59932-3_18
- [12]Hans Ulrich Besche and Bettina Eick, Construction of finite groups, Journal of Symbolic Computation 27 (1999), 387–404. doi:10.1006/jsco.1998.0258
- [13]Hans Ulrich Besche and Bettina Eick, The groups of order at most 1000 except 512 and 768, Journal of Symbolic Computation 27 (1999), 405–413. doi:10.1006/jsco.1998.0259
- [14]Hans Ulrich Besche and Bettina Eick, The groups of order qn · p, Communications in Algebra 29 (2001), 1759–1772. doi:10.1081/AGB-100002131
- [15]Hans Ulrich Besche, Bettina Eick and Eamonn A. O'Brien, The groups of order at most 2000, Electronic Research Announcements of the American Mathematical Society 7 (2001), 1–4. doi:10.1090/S1079-6762-01-00087-7Constructs every group of order at most 2000 except those of order 1024, which it counts: 49,487,365,422.
- [16]Hans Ulrich Besche, Bettina Eick and Eamonn A. O'Brien, A millennium project: constructing small groups, International Journal of Algebra and Computation 12 (2002), 623–644. doi:10.1142/S0218196702001115
- [17]Michael F. Newman, Eamonn A. O'Brien and Michael R. Vaughan-Lee, Groups and nilpotent Lie rings whose order is the sixth power of a prime, Journal of Algebra 278 (2004), 383–401. doi:10.1016/j.jalgebra.2003.11.012
- [18]Eamonn A. O'Brien and Michael R. Vaughan-Lee, The groups with order p7 for odd prime p, Journal of Algebra 292 (2005), 243–258. doi:10.1016/j.jalgebra.2005.01.019
- [19]Bettina Eick, Max Horn and Alexander Hulpke, Constructing groups of “small” order: recent results and open problems, in Algorithmic and Experimental Methods in Algebra, Geometry, and Number Theory, Springer, 2017, 199–211. doi:10.1007/978-3-319-70566-8_8
Isomorphisms and automorphisms
- [20]Eamonn A. O'Brien, Isomorphism testing for p-groups, Journal of Symbolic Computation 17 (1994), 133–147. doi:10.1006/jsco.1994.1007
- [21]Bettina Eick, Charles R. Leedham-Green and Eamonn A. O'Brien, Constructing automorphism groups of p-groups, Communications in Algebra 30 (2002), 2271–2295. doi:10.1081/AGB-120003468The algorithm of [5].
- [22]Bettina Eick, Automorphism groups of 2-groups, Journal of Algebra 300 (2006), 91–101. doi:10.1016/j.jalgebra.2006.01.024
Counting p-groups
- [23]Graham Higman, Enumerating p-groups. I: Inequalities, Proceedings of the London Mathematical Society (3) 10 (1960), 24–30. doi:10.1112/plms/s3-10.1.24
- [24]Graham Higman, Enumerating p-groups. II: Problems whose solution is PORC, Proceedings of the London Mathematical Society (3) 10 (1960), 566–582. doi:10.1112/plms/s3-10.1.566
- [25]Charles C. Sims, Enumerating p-groups, Proceedings of the London Mathematical Society (3) 15 (1965), 151–166. doi:10.1112/plms/s3-15.1.151
- [26]Simon R. Blackburn, Peter M. Neumann and Geetha Venkataraman, Enumeration of Finite Groups, Cambridge Tracts in Mathematics 173, Cambridge University Press, 2007. doi:10.1017/CBO9780511542756
- [27]Derek F. Holt, Bettina Eick and Eamonn A. O'Brien, Handbook of Computational Group Theory, Chapman & Hall/CRC, 2005. doi:10.1201/9781420035216
Class-two groups and quadratic maps
- [28]Reinhold Baer, Groups with abelian central quotient group, Transactions of the American Mathematical Society 44(3) (1938), 357–386. doi:10.1090/S0002-9947-1938-1501972-1Groups of class 2 studied through the bilinear commutator map; the Baer correspondence with alternating bilinear maps needs p odd.
- [29]Jonathan Pakianathan and Ergün Yalçın, Quadratic maps and Bockstein closed group extensions, Transactions of the American Mathematical Society 359 (2007), 6079–6110. doi:10.1090/S0002-9947-07-04346-2A central extension of an elementary abelian 2-group by another is determined by a quadratic map, the squaring map, whose polarization is the commutator map.
The code, the library and a paper on it will be released soon.
Citing this page
If you use FULL1024, please cite this page, together with Burrell's count [1] and GAP [3]:
Tahseen Rabbani, University of Chicago, FULL1024: every group of order 1024, 2026. https://twr7bm.github.io/full1024.html
@misc{rabbani2026full1024,
author = {Tahseen Rabbani},
title = {{FULL1024}: every group of order 1024},
year = {2026},
howpublished = {\url{https://twr7bm.github.io/full1024.html}},
note = {University of Chicago}
}