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,
The transitive groups of degree 48 and some applications.
Journal of Algebra, 2022.
(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
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
Trans48Part2.tar 20000001 - 40000000
Trans48Part3.tar 40000001 - 60000000
Trans48Part4.tar 60000001 - 80000000
Trans48Part5.tar 80000001 - 100000000
Trans48Part6.tar 100000001 - 120000000
Trans48Part7.tar 120000001 - 140000000
Trans48Part8.tar 140000001 - 160000000
Trans48Part9.tar 160000001 - 180000000
Trans48Part10.tar 180000001 - 195826352


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)
    local file_number, pos, strm, i, x, g;
    file_number := QuoInt(id-1, 100000)+1;;
    pos := (id-1) mod 100000 + 1;

    strm := InputTextFile(Concatenation("TransitiveGroupsOfDegree48_", String(file_number), ".gz"));;
    for i in [1 .. pos+14] do
        x:=ReadLine(strm);;
    od;
    x:=EvalString(x);;
    CloseStream(strm);;
    if x[1] <> id then
        Error("Somehow we got the wrong group!!!\n");
    else
        g:=Group(x[2]);;
        SetTransitiveIdentification(g, id);;
        return g;
    fi;
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)".
Date made available2022
PublisherZenodo

Cite this