Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

### 1 Introduction to the AtlasRep Package

The aim of the GAP 4 package AtlasRep is to provide a link between GAP and databases such as the ATLAS of Group Representations [WWT+], which comprises generating permutations and matrices for many almost simple groups, and information about their maximal subgroups. This database is available independent of GAP at

The AtlasRep package consists of this database (see Section 1.1) and a GAP interface (see Section 1.2); the latter is extended by further information available via the internet (see Section 4.3).

This package manual has the following parts.

A tutorial

gives an overview how the functions of the package can be used, see Chapter 2.

User interface functions

are described in Chapter 3.

Customizations of the package

are described in Chapter 4.

Information how to extend the database

can be found in Chapter 5.

More technical information

can be found in the chapters 6 (concerning GAP objects that are introduced by the package) and 7 (concerning global variables and sanity checks).

#### 1.1 The ATLAS of Group Representations

The ATLAS of Group Representations  [WWT+] consists of matrices over various rings, permutations, and shell scripts encoding so-called black box programs (see [Nic06] and Section 6.2). Many of these scripts are straight line programs (see [BSWW01], [SWW00], and Reference: Straight Line Programs) and straight line decisions (see Section 6.1). These programs can be used to compute certain elements in a group G from its standard generators (see [Wil96] and Section 3.3) for example generators of maximal subgroups of G or representatives of conjugacy classes of G.

The ATLAS of Group Representations has been prepared by Robert Wilson, Peter Walsh, Jonathan Tripp, Ibrahim Suleiman, Richard Parker, Simon Norton, Simon Nickerson, Steve Linton, John Bray, and Rachel Abbott (in reverse alphabetical order).

The information was computed and composed using computer algebra systems such as MeatAxe (see [Rin]), Magma (see [CP96]), and GAP (in reverse alphabetical order). Part of the constructions have been documented in the literature on almost simple groups, or the results have been used in such publications, see for example the bibliographies in [CCN+85] and [BN95] which are available online at http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep/bibl.

If you use the ATLAS of Group Representations to solve a problem then please send a short email to R.A.Wilson@qmul.ac.uk about it. The ATLAS of Group Representations database should be referenced with the entry [WWT+] in the bibliography of this manual.

If your work made use of functions of the GAP interface (see Section 1.2) then you should also reference this interface, using the information printed by the GAP function Cite (Reference: Cite).

For referencing the GAP system in general, use the entry [GAP18] in the bibliography of this manual, see also http://www.gap-system.org.

#### 1.2 The GAP Interface to the ATLAS of Group Representations

The GAP interface to the ATLAS of Group Representations consists of essentially two parts.

• First, there is the user interface which allows the user to get an overview of the contents of the database, and to access the data in GAP format; this is described in Chapter 3. Advanced users may add their own data to the database, this is described in Chapter 5.

• Second, there is administrational information, which covers also the declaration of GAP objects such as straight line decisions and black box programs. This is important mainly for users interested in the actual implementation (e. g., for modifying the package) or in using it together with the C-MeatAxe standalone (see [Rin]); this is described in Chapter 7.

Information concerning the C-MeatAxe, including the manual [Rin], can be found at

http://www.math.rwth-aachen.de/~MTX

The interface and this manual have been provided by Thomas Breuer, except for the interpreter for black box programs (see Section 6.2), which is due to Simon Nickerson. Comments, bug reports, and hints for improving the interface can be sent to sam@math.rwth-aachen.de.

#### 1.3 What's New in AtlasRep, Compared to Older Versions?

##### 1.3-1 What's New in Version 2.1.0? (May 2019)

The main differences to earlier versions concern extensions of the available data. Up to now, such extensions were possible only in the sense that one could notify certain locally available files to the package's functions. With this version, it becomes possible to notify also remote data files, i. e., data files which have to be downloaded before they can be read into GAP, in the same way as the data from the ATLAS of Group Representations. Two extensions of this kind become automatically available with this package version, see Section 5.1 for details.

Thus the focus of the package has changed. In earlier versions, it provided a GAP interface to the data in the ATLAS of Group Representations, whereas now this database is regarded as one collection (the "core part") among others. Where applicable, the package manual tries to distinguish between general data available to the AtlasRep functions and the data from the ATLAS of Group Representations.

In order to provide this new functionality, the following changes have been implemented. Note that some are incompatible changes, compared with earlier versions of the package.

• The format of the identifier components of the records returned by AtlasGenerators (3.5-3), AtlasProgram (3.5-4), etc., has been changed for those data that belong to extensions, see 7.7. In the new format, the name of the extension is not added to the group name but to the individual filenames; this allows for example the combination of files from the core database and from extensions in one identifier. Functions for converting between the old and the new format are available, see AtlasRepIdentifier (7.7-1).

• The records returned by AtlasGenerators (3.5-3) etc. contain also a component contents, with value the identifier of the part of the database to shich the generators belong.

• The tables of contents of the ATLAS of Group Representations and of extensions are no longer stored in the form of sequences of calls to GAP functions. Instead, each table of contents is defined via a JSON format file, see 6.4. In particular, the file atlasprm.json replaces the former gap/atlasprm.g.

Two advantages of this change are that there is no danger to call unwanted GAP functions when such files (which are expected to be available in the world wide web) get evaluated, and that the information is independent of GAP –note that MeatAxe format files and straight line programs can be used by other program systems as well.

• The functions ReloadAtlasTableOfContents, StoreAtlasTableOfContents, and ReplaceAtlasTableOfContents are no longer available. They had been intended for updating the table of contents of the ATLAS of Group Representations, but it has turned out that this was in fact not useful.

The second major change concerns the handling of user parameters.

• GAP's general user preferences mechanism (see SetUserPreference (Reference: SetUserPreference)) has been used since version 1.5.1 of the package for dealing with certain customizations of AtlasRep's behaviour, concerning the paths of data directories and two issues with MeatAxe format files.

Now this mechanism is used in more cases, see Section 4.2 for an overview. The new user preferences replace certain components of the record AtlasOfGroupRepresentationsInfo (7.1-5) that were recommended in earlier versions of the package. These components are currently still available but are no longer used by the package's functions. Also the global variable ATLASREP_TOCFILE is no longer supported, use the user preference AtlasRepTOCData instead, see Section 4.2-3. Analogously, use the user preference HowToReadMeatAxeTextFiles instead of the no longer available CMeatAxe.FastRead.

The switch to user preferences is an incompatible change if you are used to change the values of these components in your code, for example in your gaprc file, see Reference: The gap.ini and gaprc files. All assignments to these components should be changed to calls of SetUserPreference (Reference: SetUserPreference).

Another consequence of this change is that the former function AtlasOfGroupRepresentationsUserParameters of the package is no longer supported, use ShowUserPreferences (Reference: ShowUserPreferences) or BrowseUserPreferences (Browse: BrowseUserPreferences) with argument "AtlasRep" instead.

Finally, the following improvements have been added.

• Straight line programs for computing generators of normal subgroups can now be fetched with AtlasProgram (3.5-4), using the argument "kernel". The available programs of this type are shown in the DisplayAtlasInfo (3.5-1) overview for a group. More than 200 such programs are available in a new data directory datapkg of the package. If fact, this collection of files is part of an extension of the database that is distributed together with the package.

In earlier versions of the package, this kind of information had been available only implicitly; it had been stored via AGR.KERPRG, which is not supported anymore.

• AtlasProgram (3.5-4) supports more variants of arguments: "contents" can be used to list the available data extensions, "contents" and "version" can be used to restrict the data under consideration, and one can request a program for computing standard generators of some maximal subgroup, not just generators (provided that this information is available).

The information about the version of straight line programs is shown by DisplayAtlasInfo (3.5-1), as well as the availability of straight line programs for computing standard generators of maximal subgroups.

Making this information more explicit has the side-effect that the access to the AtlasRep data with BrowseAtlasInfo (Browse: BrowseAtlasInfo) is both safer and simpler, if at least version 1.8.6 of the Browse package is available. (For that, the function AGR.InfoPrgs has been extended such that also the identifier records are included in the result.)

• Straight line programs for computing standard generators of a maximal subgroup, if available, can now be fetched with AtlasProgram (3.5-4), using the argument "maxstd".

• The function AtlasRepInfoRecord (3.5-10) now admits a group name as its argument, and then returns information about the group and its maximal subgroups; this information had been used before by DisplayAtlasInfo (3.5-1), but it had not been programmatically accessible.

• The sanity checks for the data (see Section 7.9) have been extended, in particular they can be applied also to data extensions. To some extent, these checks can be used also to derive new information; the code for that should be regarded as heuristic and experimental, runtimes and space requirements may be large, depending on the new data to be examined.

• Different header formats are now supported when reading and writing MeatAxe format files, see Section 4.2-9, and one can set a global default for the creation of mode 2 MeatAxe files, see Section 4.2-10.

• The function MeatAxeString (7.3-2) admits also an integer matrix as argument.

• The function CMtxBinaryFFMatOrPerm (7.3-4) admits an optional argument base, in order to write MeatAxe format files that contain either zero based or one based permutations.

• The meaningless lines about p-modular representations of groups with nontrivial p-core have been removed from the file gap/mindeg.g.

##### 1.3-2 What's New in Version 1.5.1? (March 2016)
• The paths of the directories where downloaded data files get stored are now customizable, see Section 4.2-2. Up to now, the data were stored in subdirectories of the package directory, which might cause problems with write permissions, depending on the installation of the package. (Note that choosing other data directories can be useful also in order to keep existing local data files when a new version of GAP or of the AtlasRep package gets installed.) Thanks to Bill Allombert for pointing out this problem.

• The information about data files from the ATLAS of Group Representations has been extended by CrcFile (Reference: CrcFile) values. These values are checked whenever data from such a file are read, and an error is signalled if the checksum does not fit to the expected one. Note that several users may access the same data files, and a user should not suffer from perhaps corrupted files that have been downloaded by other users. Thanks to Frank Lübeck for the idea to introduce this consistency test.

• Whenever StringFile (GAPDoc: StringFile) is called by functions of the package, this happens in the wrapper function AGR.StringFile, in order to replace occasional line breaks of the form "\r\n" by "\n". Apparently it may happen that the "\r" is silently smuggled in when data files get copied to the local computer. Thanks to Marek Mitros for help with detecting and fixing this problem.

• The function FFMatOrPermCMtxBinary (7.3-5) can now read also permutations stored in binary files that have been created with version 2.4 of the C-MeatAxe; note that this format is different from the one that is written by version 2.3. Conversely, CMtxBinaryFFMatOrPerm (7.3-4) has been generalized such that both formats can be written. The reference to the C-MeatAxe documentation now points to that of version 2.4. Thanks to Jürgen Müller for pointing out this problem.

• The function MeatAxeString (7.3-2) can now encode permutation matrices in different ways. The mode (the first header entry) can be either 2 (then the positions of the nonzero entries are listed) or 1 or 6 (then all entries of the matrix are listed). In previous versions, the function produced a matrix of mode 2 whenever this was possible, but this behaviour is not useful if the result is not processed by the C-MeatAxe. Thanks to Klaus Lux for pointing out this problem.

• Depending on the terminal capabilities and the user preference DisplayFunction (see 4.2-12), some non-ASCII characters may appear in the output shown by DisplayAtlasInfo (3.5-1).

##### 1.3-3 What's New in Version 1.5? (July 2011)
• The function AtlasSubgroup (3.5-9) now admits also the return value of OneAtlasGeneratingSetInfo (3.5-6) or the return value of AtlasGroup (3.5-8) as its first argument. The latter is implemented via the new attribute AtlasRepInfoRecord (3.5-10), which is set in the groups constructed by AtlasGroup (3.5-8).

• Information about transitivity, rank, primitivity, and point stabilizers of many permutation representations is now available. If applicable then this information appears in the records returned by OneAtlasGeneratingSetInfo (3.5-6), it is part of the overview shown by DisplayAtlasInfo (3.5-1), and it is shown also in the data overview in the web, see Section 4.3.

Two new manual sections about point stabilizers have been added, see the sections 2.4-6 and 2.4-7.

• Information about the characters afforded by many matrix and permutation representations is now available. If applicable then this information appears in the records returned by OneAtlasGeneratingSetInfo (3.5-6), for matrix representations it is part of the overview shown by DisplayAtlasInfo (3.5-1), and it is shown also in the data overview in the web, see Section 4.3.

• The functions Character (Reference: Character for a character table and a list), Identifier (Reference: Identifier for character tables), IsPrimitive (Reference: IsPrimitive), IsTransitive (Reference: IsTransitive), Transitivity (Reference: Transitivity), and RankAction (Reference: RankAction) are now supported as input conditions in DisplayAtlasInfo (3.5-1) and OneAtlasGeneratingSetInfo (3.5-6).

• It is now possible to restrict the data shown by DisplayAtlasInfo (3.5-1) or returned by OneAtlasGeneratingSetInfo (3.5-6) to private or non-private data.

• A tutorial for beginners was added to the manual, see Chapter 2, and the manual was restructured.

• In the overview shown by DisplayAtlasInfo (3.5-1) and in the data overview in the web (see Section 4.3), the ordering of groups was improved such that, e.g., "A9" precedes "A10".

• The function AtlasClassNames (3.4-2) now admits also a Brauer table as its argument, and works also for character tables of bicyclic extensions of simple groups.

• The group names that are entered in DisplayAtlasInfo (3.5-1), OneAtlasGeneratingSetInfo (3.5-6), etc., are now case insensitive, and if the package CTblLib is available then the admissible group names for the GAP character table of the group in question can be used in these functions.

• In order to reduce the number of global variables, several functions have been turned into components of the new global variable AGR (7.1-4). A few of these functions had been documented in the previous version, the old values are still available if the package files gap/obsolete.gd and gap/obsolete.gi have been read. These files are read automatically if GAP's user preference "ReadObsolete" is true when the package gets loaded, see Reference: The gap.ini file.

• A few nicer characters are used by DisplayAtlasInfo (3.5-1) if GAPInfo.TermEncoding has the value "UTF-8" and if Print (Reference: Print) is not the display function to be used, see Section 4.2-12.

• A bug in the function ReloadAtlasTableOfContents was fixed. Thanks to Jack Schmidt for reporting this bug.

##### 1.3-4 What's New in Version 1.4? (June 2008)
• In addition to the group orders that were added in version 1.3 (see Section 1.3-6), also many orders of maximal subgroups are now available. These values occur in the records returned by AtlasProgram (3.5-4) (for the case of "maxes" type programs) and of the three argument version of AtlasGenerators (3.5-3); now a size component may be bound. In these cases, the groups returned by AtlasSubgroup (3.5-9) have the Size (Reference: Size) attribute set.

• The information about the number of maximal subgroups, if available, is now used in DisplayAtlasInfo (3.5-1).

• In many cases, straight line programs for computing generators of maximal subgroups of a group G, say, can in fact be used to compute also generators of maximal subgroups of downward extensions of G; if not then it may suffice to extend the given straight line programs by additional generators.

Currently this yields more than 200 new possibilities to compute maximal subgroups, this means a growth by about 25 percent. For example, all maximal subgroups of 12.M_22 and 2.Fi_22 can now be accessed via AtlasGenerators (3.5-3).

(Of course this extension means only that one can access the straight line programs in question automatically via the GAP interface. In principle one could have used them already before, by explicitly applying a straight line program for a factor group to generators of a group, and perhaps adding some element in the kernel of the natural epimorphism.)

For this feature, information about the compatibility of standard generators of groups and their factor groups was added.

• The bibliographies contained in the ATLAS of Finite Groups [CCN+85] and in the ATLAS of Brauer Characters [JLPW95] are now available as HTML files, as BibXMLext files, and within GAP, see BrowseBibliographySporadicSimple (3.6-2).

• If the GAP package Browse (see [BL18]) is loaded then the new functions BrowseMinimalDegrees (3.6-1) and BrowseBibliographySporadicSimple (3.6-2) are available; these functions can be called also by choosing the corresponding menu entries of the Browse application BrowseGapData (Browse: BrowseGapData).

• The function AtlasGroup (3.5-8) now admits also the return value of OneAtlasGeneratingSetInfo (3.5-6) as its argument.

##### 1.3-5 What's New in Version 1.3.1? (October 2007)

This version was mainly released in order to fix a few problems. Now one does not get warnings about unbound variables when the package is loaded and the GAP package IO [Neu14] is not available, and pathological situations in FFMatOrPermCMtxBinary (7.3-5) (concerning extremely short corrupted data files and different byte orderings in binary files) are handled more carefully.

Besides this, the two functions AtlasGroup (3.5-8) and AtlasSubgroup (3.5-9) were introduced, and the extended function QuaternionAlgebra (Reference: QuaternionAlgebra) of GAP 4.4.10 can now be used for describing base rings in OneAtlasGeneratingSetInfo (3.5-6) and AllAtlasGeneratingSetInfos (3.5-7). (This is the reason why this version of the package requires at least version 4.4.10 of GAP.)

##### 1.3-6 What's New in Version 1.3? (June 2007)
• The database was extended, see Section 4.2-5 for the number and size of files.

• New data types and corresponding GAP objects have been introduced, for representing semi-presentations, presentations, and programs for finding standard generators. For details, see AtlasProgram (3.5-4), Chapter 6, and Section 7.6.

• The records returned by the functions AtlasGenerators (3.5-3), OneAtlasGeneratingSetInfo (3.5-6), and AllAtlasGeneratingSetInfos (3.5-7) now contain the name and (if known) the order of the group in question, and also components describing the degree in the case of permutation representations or the dimension and the base ring of the natural module in the case of matrix representations.

• For many of the groups, information about the minimal degree of faithful permutation representations and the minimal dimensions of faithful matrix representations in various characteristics is available for DisplayAtlasInfo (3.5-1), OneAtlasGeneratingSetInfo (3.5-6), and AllAtlasGeneratingSetInfos (3.5-7), see also Section 6.3. For these functions, also properties such as IsPrimeInt (Reference: IsPrimeInt) can be used to describe the intended restriction of the output.

• One can now use Pager (Reference: Pager) functionality in DisplayAtlasInfo (3.5-1), see Section 4.2-12.

An interactive alternative to DisplayAtlasInfo (3.5-1) is provided by the function BrowseAtlasInfo (Browse: BrowseAtlasInfo) from the new (recommended) GAP package Browse (see [BL18]).

• The functions OneAtlasGeneratingSetInfo (3.5-6) and AllAtlasGeneratingSetInfos (3.5-7) now admit also a list of group names as the first argument.

• The functions for actually accessing the data are more flexible now, see Section 7.2.

• For transferring remote data, the GAP package IO (see [Neu14]) can now be used (and is recommended) as an alternative to wget, see Section 4.2-4.

• The address of the data server has changed. The access to the server is no longer possible via ftp, thus the mechanism used up to version 1.2, which was based on ftp, had to be rewritten.

The main consequence of this change is that information about updates of the table of contents is now provided at the package's homepage. This means that on the one hand, now package users cannot compute the table of contents directly from the server data, but on the other hand the update information can be downloaded without the necessity to install perl.

Another consequence is that the system program ls is no longer needed, see Section 1.3-8.

• The package manual has been restructured, extended and improved. It is now based on the package GAPDoc (see [LN18]).

##### 1.3-7 What's New in Version 1.2? (November 2003)

Not much.

The release of Version 1.2 became necessary first of all in order to provide a package version that is compatible with GAP 4.4, since some cross-references into the GAP Reference Manual were broken due to changes of section names. Additionally, several web addresses concerning the package itself were changed and thus had to be adjusted.

This opportunity was used

• to upgrade the administrational part for loading the package to the mechanism that is recommended for GAP 4.4,

• to extend the test suite, which now covers more consistency checks using the GAP Character Table Library (see [Bre13]),

• to make the function ScanMeatAxeFile (7.3-1) more robust, due to the fact that the GAP function PermList (Reference: PermList) now returns fail instead of raising an error,

• to change the way how representations with prescribed properties are accessed (the new function OneAtlasGeneratingSetInfo (3.5-6) is now preferred to the former OneAtlasGeneratingSet, and AllAtlasGeneratingSetInfos (3.5-7) has been added in order to provide programmatic access in parallel to the human readable descriptions printed by DisplayAtlasInfo (3.5-1)),

• and last but not least to include the current table of contents of the underlying database.

For AtlasRep users, the new feature of GAP 4.4 is particularly interesting that due to better kernel support, reading large matrices over finite fields is now faster than it was in GAP 4.3.

##### 1.3-8 What's New in Version 1.1? (October 2002)

The biggest change w. r. t. Version 1.1 is the addition of private extensions (see Chapter 5). It includes a new "free format" for straight line programs (see Section 5.2). Unfortunately, this feature requires the system program ls, so it may be not available for example under MS Windows operating systems. [But see Section 1.3-6.]

In order to admit the addition of other types of data, the implementation of several functions has been changed. Data types are described in Section 7.5. An example of a new data type are quaternionic representations (see Section 7.6). The user interface itself (see Chapter 3) remained the same.

As an alternative to perl, one can use wget now for transferring data files (see 4.2).

Data files can be read much more efficiently in GAP 4.3 than in GAP 4.2. In Version 1.1 of the AtlasRep package, this feature is used for reading matrices and permutations in MeatAxe text format with ScanMeatAxeFile (7.3-1). As a consequence, (at least) GAP 4.3 is required for AtlasRep Version 1.1.

The new compress component of the global variable AtlasOfGroupRepresentationsInfo (7.1-5) allows one to store data files automatically in gzipped form.

For matrix representations in characteristic zero, invariant forms and generators for the centralizer algebra are now accessible in GAP if they are contained in the source files –this information had been ignored in Version 1.0.

Additional information is now available via the internet (see 4.3).

The facilities for updating the table of contents have been extended.

The manual is now distributed also in PDF and HTML format; on the other hand, the PostScript format manual is no longer contained in the archives.

Apart from these changes, a few minor bugs in the handling of MeatAxe files have been fixed, typos in the documentation have been corrected, and the syntax checks for ATLAS straight line programs (see 7.4) have been improved.

#### 1.4 Acknowledgements

• Frank Lübeck and Max Neunhöffer kindly provided the perl script that had been used for fetching remote data until version 1.2. Thanks also to Greg Gamble and Alexander Hulpke for technical hints concerning "standard" perl.

• Ulrich Kaiser helped with preparing the package for MS Windows.

• Klaus Lux had the idea to support data extensions, see Chapter 5, he did a lot of beta testing, and helped to fix several bugs.

• Frank Lübeck contributed the functions CMtxBinaryFFMatOrPerm (7.3-4) and FFMatOrPermCMtxBinary (7.3-5).

• Frank Lübeck and Max Neunhöffer wrote the GAPDoc package [LN18], which is used for processing the documentation of the AtlasRep package and for processing the bibliographies included in this package (see BrowseBibliographySporadicSimple (3.6-2)),

• Max Neunhöffer wrote the GAP package IO [Neu14], which is recommended for transferring data.

• Max Neunhöffer has also suggested the generalization of the data access described in Section 7.2, the admissibility of the function Character (Reference: Character for a character table and a list) as a filter in DisplayAtlasInfo (3.5-1), OneAtlasGeneratingSetInfo (3.5-6), and AllAtlasGeneratingSetInfos (3.5-7), and the variant of AtlasRepInfoRecord (3.5-10) that takes a group name as its input.

• Gunter Malle suggested to make the information about representations of minimal degree accessible, see Section 6.3.

• Andries Brouwer suggested to add a tutorial (see Chapter 2), Klaus Lux suggested several improvements of this chapter.

Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML