Customizations of the `AtlasRep` Package
Installing the `AtlasRep` Package

To install the package, unpack the archive file in a directory in the pkg directory of your local copy of &GAP; 4. This might be the pkg directory of the &GAP; 4 root directory, see for details. It is however also possible to keep an additional pkg directory in your private directories, see Section . The latter possibility must be chosen if you do not have write access to the &GAP; root directory.

Data files (in the subdirectories datagens and dataword of the package) that are available from an earlier version of the package are in principle kept; see for necessary updates.

If it is likely that one will work offline, it makes sense to install the starter archive that can be downloaded from the package's homepage.

The package consists entirely of &GAP; code, no external binaries need to be compiled for the package itself. However, if the &GAP; package `IO` IO package is used to access remote data files (see Section ) then its external binary must be available.

After unpacking the package archive, it should be checked whether the subdirectories datagens and dataword of the package directory have write permissions for those users who will download files from the servers. The recommended permissions under UNIX are set as follows.

you@unix> chmod 1777 atlasrep/data* you@unix> ls -ld atlasrep/data* drwxrwxrwt 3 you you 1024 Oct 31 12:34 datagens drwxrwxrwt 3 you you 1024 Oct 31 12:34 dataword

<#Include Label="[1]{testinst.g}">

PDF, HTML, and text versions of the package manual are available in the doc directory of the package.

Maintaining the Local Data of the `AtlasRep` Package
<a id="sect:maintain"/>

The current table of contents of the database is contained in the file gap/atlasprm.g of the `AtlasRep` package. This file is read by default when the package is loaded. It may happen that new data files have been added to the servers since the last release of the `AtlasRep` package, thus it is useful to update the table of contents of the package from time to time.

For that, one can fetch the most recent version of the file gap/atlasprm.g from the home page of the package (see Section ), either by calling in a &GAP; session or by hand. In the latter case, the new file can then be read into the &GAP; session via . <#Include Label="ATLASREP_TOCFILE">

Users who have write access to the directory where the `AtlasRep` package is installed can alternatively use the maketoc script in the etc directory of the package for regularly updating the file gap/atlasprm.g. Users without this write access can store the new file in a different place, and read it with .

<#Include Label="ReloadAtlasTableOfContents"> <#Include Label="StoreAtlasTableOfContents"> <#Include Label="ReplaceAtlasTableOfContents"> <#Include Label="AGRTestTableOfContentsRemoteUpdates">

User Parameters for the `AtlasRep` Package

This section lists global parameters for which it might make sense to change their defaults by assignments to global variables, either just for the current &GAP; session or as user preferences in the user's gaprc file (see ). For an overview of these parameters, see .

Local or Remote Access
local access
remote access
servers
There are two possibilities to use the `AtlasRep` package.

Local access only (offline)
You can restrict the access to the data that are actually stored in the local installation of &GAP;.
Remote access (online)
If your computer is connected to a network that provides access to the &ATLAS; data (for example the internet) then the functions of the package may fetch the requested data automatically from remote servers when they are required for the first time; these data are then by default stored in the local copy, so later access to them needs no network transfer.

The latter possibility is presently not used by other &GAP; packages, so it may be regarded as an important feature of the `AtlasRep` package. Anyhow it requires a few words of explanation.

The possibility of online access reflects in particular the fact that the &ATLAS; of Group Representations is designed as an open database, it is expected to grow. As soon as the developers of the &ATLAS; of Group Representations add new information to the servers, these data become available in &GAP; when remote access is enabled, after one has updated the corresponding table of contents (see Section ).

Remote access is enabled if and only if the value of the remote component of the global variable is true. If one wants to work offline, i.e., if one does not want &GAP; to attempt accessing remote data then this value must be set to false.

Conversely, if the default value of the remote component in your &GAP; installation is false then changing this value to true may be not successful. First, it might be the case that no server is reachable. And second, if one can in principle download files from a server then it might be impossible to actually store these files in the data directories of the installed package; in this case, it is advisable to install the whole package or just its data directories in a private directory, see for details.

Adding and Removing Servers

When access to remote data is enabled (see Section ) then the available servers are given by the servers component of the global variable .

Removing
entries from this list means to disable access to the corresponding servers, adding entries makes the corresponding servers available. Of course the latter makes sense only if the new servers really exist, for example in a local network.

Currently there is just one remote server. As soon as other servers become available, or a server name is changed which makes it necessary to adjust the servers component, this will be announced in the &GAP; Forum, cf. . The same holds when upgrades of the package become available.

Accessing Data Files with the &GAP; Package `IO` or with wget
<#Include Label="IO_or_wget">

Compressed or Uncompressed Data Files

When used with UNIX, &GAP; can read gzipped files, see . If the component compress compress of has the value true then each &MeatAxe; format file that is fetched from a remote server is afterwards compressed with gzip. gzip This saves a lot of space if many &MeatAxe; format files are accessed. (Note that data files in other formats are very small.) For example, at the time of the release of version 1.5 there were about 8\,400 data files in &MeatAxe; format, which needed about 1\,400 MB in uncompressed text format and about 275 MB in compressed text format. The default value for the component compress is false.

Customizing DisplayAtlasInfo

The way how shows the requested overview is controlled by the component displayFunction of . The default value is , other useful values are and AGR.Pager; the latter calls with the formatted option, which is necessary for switching off &GAP;'s automatic line breaking.

Customizing the Access to Data Files

By default, local data files are stored in the subdirectories datagens and dataword of the package, and the files are exactly the text files provided on the servers. However, a more flexible approach may be useful.

First, one may want to use different file formats, for example the &MeatAxe; binary files that are provided by the servers parallel to the &MeatAxe; text files. Second, one may want to use a different directory structure, for example the same structure as used on the servers –this makes sense for example if a local mirror of a server is available, because then one can read the server files directly, without transferring/copying them to another directory.

As a consequence, one would like to customize the meaning of the following three access steps.

Are the required files locally available?
The required files may have a different name or a different path, and the data can be available in one file or can be distributed to several files.
How can a file be made locally available?
A different server file may be fetched or some postprocessing may be required.
How is the data of a file accessed by &GAP;?
A different function may be needed to read the file.

Details how to achieve these customizations can be found in Section .

Reading Large Matrices over Finite Fields

Matrices over finite fields in &GAP; can be represented in a compressed format that needs less space than the corresponding text file. Such a &MeatAxe; format text file can be read by either line by line (which is the default) or as a whole; the latter is faster but needs more space than the former. For example, a 4\,370 by 4\,370 matrix over the field with two elements (as occurs for an irreducible representation of the Baby Monster) requires less than 3 MB space in &GAP; but the corresponding &MeatAxe; format text file is more than 19 MB large, which means that when one reads the file with the fast variant, &GAP; will temporarily grow by more than this value. One can change the mode by setting the global variable to true or false, respectively.

Note that this parameter is meaningful only when is used. It has no effect for example if &MeatAxe; binary files are read, cf. .

<#Include Label="AtlasOfGroupRepresentationsShowUserParameters">

Web Services for the `AtlasRep` Package

The home page of the `AtlasRep` package is

&ATLASREPHOME;
.

Besides package archives and introductory package information, it provides

the current file with the table of contents (the file gap/atlasprm.g of the package, see &ATLASREPHOME;/atlasprm.g), cf. ,
a starter archive (see &ATLASREPHOME;/atlasrepdata.tar.gz), containing many small representations and programs,
the list of changes of server files in HTML format (see &ATLASREPHOME;/htm/data/changes.htm), cf. , and
an overview of the data available via the &GAP; interface to the &ATLAS; of Group Representations, in HTML format (see &ATLASREPHOME;/htm/data/overview.htm); this is similar to the information shown by , further information can be found on the home page of the &ATLAS;, see &ATLASSERVER;.
Extending the &ATLAS; Database

Users who have computed new representations that might be interesting for inclusion into the &ATLAS; of Group representations can send the data in question to &WILSONMAIL;.

It is also possible to store private representations and programs in local directories, and to use them in the same way as the official data. See Chapter for details.