Tahseen Rabbani
Getting the library. The full library is about 148 GB of compressed files: 743 files holding all 49,487,367,289 groups. It currently lives on Dropbox and will be moved to a more permanent home.

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].

49,487,367,289groups of order 1024, all of them in the library
48,803,495,722of p-class 2, stored as records of a few integers
683,871,567of p-class 1 or 3 to 10, stored as GAP pc codes
Chart of the classification of the finite simple groups: the cyclic groups of prime order and the alternating groups on either side, the sixteen families of groups of Lie type in a ring, the Tits group in the middle, and the 26 sporadic groups in the corners.
The classification of the finite simple groups: the cyclic groups of prime order (Zn) and the alternating groups at the sides, the sixteen families of groups of Lie type in the ring, the Tits group in the middle and the 26 sporadic groups in the corners. Image: “Classification of the finite simple groups” by Mathsies, Wikimedia Commons, CC BY-SA 4.0; resized.

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

no groups
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.

Examples
A random record gives a valid group, but usually not the record the library stores for it.

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.

Groups by number of conjugacy classes, one bar per numberSelect a bar to filter by it; select it again to clear.

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).

bit01234567891011121314151617181920
monomialx12x22x32x42x52x62x1x2x1x3x1x4x1x5x1x6x2x3x2x4x2x5x2x6x3x4x3x5x3x6x4x5x4x6x5x6

Writing each integer as a sum of powers of 2 and replacing each power by its monomial gives one quadratic form per zl:

integerpowers of 2quadratic form
f1 = 262145218 + 20q1 = x12 + x4x5
f2 = 131099217 + 24 + 23 + 21 + 20q2 = x12 + x22 + x42 + x52 + x3x6
f3 = 74800216 + 213 + 210 + 25 + 24q3 = x52 + x62 + x1x6 + x2x5 + x3x5
f4 = 24884214 + 213 + 28 + 25 + 24 + 22q4 = 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 trivial

References

Data and software

  1. [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. [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. [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. [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. [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. [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

  1. [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
  2. [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
  3. [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
  4. [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.
  5. [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
  6. [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
  7. [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
  8. [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
  9. [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.
  10. [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
  11. [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
  12. [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
  13. [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

  1. [20]Eamonn A. O'Brien, Isomorphism testing for p-groups, Journal of Symbolic Computation 17 (1994), 133–147. doi:10.1006/jsco.1994.1007
  2. [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].
  3. [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

  1. [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
  2. [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
  3. [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
  4. [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
  5. [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

  1. [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.
  2. [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}
}