Technicalities of the `AtlasRep` Package

This chapter describes those parts of the &GAP; interface to the &ATLAS; of Group Representations that do not belong to the user interface (cf. Chapter ).

Besides global variables used for administrational purposes (see Section ) and several sanity checks (see Section ), they can be regarded as the interface between the data actually contained in the files and the corresponding &GAP; objects (see Section , , , and ), and the interface between the remote and the local version of the database (see Section and ). The former interface contains functions to read and write files in &MeatAxe; format, which may be interesting for users familiar with &MeatAxe; standalones (see for example ). Other low level functions may be undocumented in the sense that they are not described in this manual. Users interested in them may look at the actual implementation in the gap directory of the package, but it may happen that this will be changed in future versions of the package.

Global Variables Used by the `AtlasRep` Package

For debugging purposes, the functions from the &GAP; interface to the &ATLAS; of Group Representations print information depending on the info level of the info classes , , and (cf. ).

The info level of an info class can be changed using . For example, the info level of can be set to the nonnegative integer n using SetInfoLevel( InfoAtlasRep, n ).

Information about files being read can be obtained by setting the value of the global variable InfoRead1 to .

<#Include Label="InfoAtlasRep"> <#Include Label="InfoCMeatAxe"> <#Include Label="InfoBBox">

If this component is bound and has the value true then reads text files via . Otherwise each file containing a matrix over a finite field is read line by line via , and the &GAP; matrix is constructed line by line, in a compressed representation (see and ), which makes it possible to read large matrices in a reasonable amount of space. The approach is faster but needs more intermediate space when text files containing matrices over finite fields are read.

<#Include Label="AGR"> <#Include Label="AtlasOfGroupRepresentationsInfo">

How to Customize the Access to Data files
<#Include Label="AccessFunctionsDefault">

Reading and Writing MeatAxe Format Files
matrix
permutation
<#Include Label="ScanMeatAxeFile"> <#Include Label="MeatAxeString"> <#Include Label="FFList"> <#Include Label="CMtxBinaryFFMatOrPerm"> <#Include Label="FFMatOrPermCMtxBinary">

Reading and Writing &ATLAS; Straight Line Programs
<#Include Label="ScanStraightLineProgram"> <#Include Label="AtlasStringOfProgram">

Data Types Used in the &ATLAS; of Group Representations

Each representation or program that is administrated by the `AtlasRep` package belongs to a unique data type. Informally, examples of data types are permutation representation, matrix representation over the integers, or straight line program for computing class representatives.

The idea is that for each data type, there can be a column of its own in the output produced by when called without arguments or with only argument a list of group names, a line format of its own for the output produced by when called with first argument a group name, an input format of its own for , an input format of its own for , and specific tests for the data of this data type; these functions are used by the global tests described in Section .

Formally, a data type is defined by a record whose components are used by the interface functions. The details are described in the following.

<#Include Label="AGRDeclareDataType">

Filenames Used in the &ATLAS; of Group Representations
<#Include Label="[1]{access}">

<#Include Label="AGRParseFilenameFormat"> <#Include Label="AGRFileContents">

The Tables of Contents of the &ATLAS; of Group Representations
<#Include Label="toc">

Sanity Checks for the &ATLAS; of Group Representations
<#Include Label="tests">