DOI: 10.5281/zenodo.5935750
title: Transitive groups of degree 48

description: This database contains the transitive groups of degree 48. It is intended to be used in GAP, but also to be accessible more generally. The groups were originally computed by Derek Holt using MAGMA; this computation was reported in the following paper: Derek Holt, Gordon Royle and Gareth Tracey,<br> The transitive groups of degree 48 and some applications.<br> Journal of Algebra, 2022.<br> (https://doi.org/10.1016/j.jalgebra.2021.06.018) The groups were subsequently made available as one of MAGMA's Optional Databases (http://magma.maths.usyd.edu.au/magma/download/db/). Installing the MAGMA database enables the use of the command "TransitiveGroup(48,i)" for where i is a positive integer at most 195826352 (which is the number of transitive groups of degree 48). The data files and accompanying functions in this archive provide a similar mechanism to access the groups in GAP. In order for researchers to refer to groups unambiguously (either formally, in research papers, or informally, while communicating with colleagues), it is desirable that the numbering of the groups is independent of the system used to access them. On these grounds, the numbering used here is consistent with the numbering established by MAGMA. The full data set is very large, because there are 195826352 transitive<br> groups of degree 48. As a result, the data has been split into 1959 files with names of the form "TransitiveGroupsOfDegree48_X.gz", where X is an integer between 1 and 1959. All but the last of these files contains 100000 transitive groups, and each of them is compressed (using gzip) to save space. These files have been combined into 10 tar files, with names such as Trans48Part1.tar, Trans48Part2.tar etc., each containing 200 compressed files (except for the last which contains 159 files). By group identification numbers, the 10 tar files contains the following groups: Trans48Part1.tar 1 - 20000000<br> Trans48Part2.tar 20000001 - 40000000<br> Trans48Part3.tar 40000001 - 60000000<br> Trans48Part4.tar 60000001 - 80000000<br> Trans48Part5.tar 80000001 - 100000000<br> Trans48Part6.tar 100000001 - 120000000<br> Trans48Part7.tar 120000001 - 140000000<br> Trans48Part8.tar 140000001 - 160000000<br> Trans48Part9.tar 160000001 - 180000000<br> Trans48Part10.tar 180000001 - 195826352 <br> The group with transitive identification number n is found in the file "TransitiveGroupsOfDegree48_X", where X = floor( n-1 / 100000) + 1, and as each file has a 13-line descriptive header, group n is located on line (n-1 mod 100000) + 14. The groups are given as [ id, gens ] where "id" is the Transitive Identification number of the group, and "gens" is a list of permutations which generate the group. The following GAP function provides a reasonably fast way to access a group by its identification number without having to read in all the data. The function identifies which of the 1959 compressed files contains the group, and then reads only that one file. The file can remain compressed because GAP 4.11.1+ can automatically decompress the file as it is read. TransitiveGroup48 := function(id)<br> local file_number, pos, strm, i, x, g;<br> file_number := QuoInt(id-1, 100000)+1;;<br> pos := (id-1) mod 100000 + 1; strm := InputTextFile(Concatenation("TransitiveGroupsOfDegree48_", String(file_number), ".gz"));;<br> for i in [1 .. pos+14] do<br> x:=ReadLine(strm);;<br> od;<br> x:=EvalString(x);;<br> CloseStream(strm);;<br> if x[1] &lt;&gt; id then<br> Error("Somehow we got the wrong group!!!\n");<br> else<br> g:=Group(x[2]);;<br> SetTransitiveIdentification(g, id);;<br> return g;<br> fi;<br> end; To use this function, download the database and untar each part (or the parts that you are interested in) and move all the "TransitiveGroupsOfDegree48_X.gz" files into a single directory. DO NOT DECOMPRESS THESE FILES. Then change to that directory, start GAP, and create the function "TransitiveGroup48" function using the above code. Finally, remember that the command is "TransitiveGroup48(i)" and not "TransitiveGroup(48,i)".