Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

1 Introduction

1 Introduction

The XMod package provides functions for computation with

It is loaded with the command

gap> LoadPackage( "xmod" ); 

The term crossed module was introduced by J. H. C. Whitehead in [Whi48], [Whi49]. Loday, in [Lod82], reformulated the notion of a crossed module as a cat1-group. Norrie [Nor90], [Nor87] and Gilbert [Gil90] have studied derivations, automorphisms of crossed modules and the actor of a crossed module, while Ellis [Ell84] has investigated higher dimensional analogues. Properties of induced crossed modules have been determined by Brown, Higgins and Wensley in [BH78], [BW95] and [BW96]. For further references see [AW00], where we discuss some of the data structures and algorithms used in this package, and also tabulate isomorphism classes of cat1-groups up to size 30.

XMod was originally implemented in 1997 using the GAP 3 language. In April 2002 the first and third parts were converted to GAP 4, the pre-structures were added, and version 2.001 was released. The final two parts, covering derivations, sections and actors, were included in the January 2004 release 2.002 for GAP 4.4. Many of the function names have been changed during the conversion, for example ConjugationXMod has become XModByNormalSubgroup. For a list of name changes see the file names.pdf in the doc directory.

In October 2015 Alper OdabaƟ and Enver Uslu were added to the list of package authors. Their functions for computing isoclinism classes of groups and crossed modules are contained in Chapter 4, and are described in detail in their paper [IOU16].

The current version is 2.62 for GAP 4.8, released on 9th August 2017.

The package may be obtained as a compressed tar file xmod-2.62.tar.gz by ftp from one of the following sites:

Crossed modules and cat1-groups are special types of 2-dimensional groups [Bro82], [BHS11], and are implemented as 2DimensionalDomains and 2DimensionalGroups having a Source and a Range.

The package divides into eight parts. The first part is concerned with the standard constructions for pre-crossed modules and crossed modules; together with direct products; normal sub-crossed modules; and quotients. Operations for constructing pre-cat1-groups and cat1-groups, and for converting between cat1-groups and crossed modules, are also included.

The second part is concerned with morphisms of (pre-)crossed modules and (pre-)cat1-groups, together with standard operations for morphisms, such as composition, image and kernel.

The third part is the most recent part of the package, introduced in October 2015. Additional operations and properties for crossed modules are included in Section 4.1. Then, in 4.2 and 4.3 there are functions for isoclinism of groups and crossed modules.

The fourth part is concerned with the equivalent notions of derivation for a crossed module and section for a cat1-group, and the monoids which they form under the Whitehead multiplication.

The fifth part deals with actor crossed modules and actor cat1-groups. For the actor crossed module Act(mathcalX) of a crossed module mathcalX we require representations for the Whitehead group of regular derivations of mathcalX and for the group of automorphisms of mathcalX. The construction also provides an inner morphism from mathcalX to Act(mathcalX) whose kernel is the centre of mathcalX.

The sixth part, which remains under development, contains functions to compute induced crossed modules.

Since version 2.007 there are experimental functions for crossed squares and their morphisms, structures which arise as 3-dimensional groups. Examples of these are inclusions of normal sub-crossed modules, and the inner morphism from a crossed module to its actor.

The eighth part has some experimental functions for crossed modules of groupoids, interacting with the package Gpd. Much more work on this is needed.

Future plans include the implementation of group-graphs which will provide examples of pre-crossed modules (their implementation will require interaction with graph-theoretic functions in GAP 4). There are also plans to implement cat2-groups, and conversion betwen these and crossed squares.

The equivalent categories XMod (crossed modules) and Cat1 (cat1-groups) are also equivalent to GpGpd, the subcategory of group objects in the category Gpd of groupoids. Finite groupoids have been implemented in Emma Moore's package Gpd [Moo01] for groupoids and crossed resolutions.

In order that the user has some control of the verbosity of the XMod package's functions, an InfoClass InfoXMod is provided (see Chapter ref:Info Functions in the GAP Reference Manual for a description of the Info mechanism). By default, the InfoLevel of InfoXMod is 0; progressively more information is supplied by raising the InfoLevel to 1, 2 and 3.

gap> SetInfoLevel( InfoXMod, 1); #sets the InfoXMod level to 1

Once the package is loaded, the manual doc/manual.pdf can be found in the documentation folder. The html versions, with or without MathJax, should be rebuilt as follows:

gap> ReadPackage( "xmod, "makedocrel.g" ); 

It is possible to check that the package has been installed correctly by running the test files:

gap> ReadPackage( "xmod", "tst/testall.g" );
#I  Testing .../pkg/xmod/tst/gp2obj.tst 

Additional information can be found on the Computational Higher-dimensional Discrete Algebra website at:

This version 2.61 had to be released in a hurry when required package Gpd was renamed as groupoids. As a result some functions for crossed squares and cat2-groups, still under development, had to be temporarily removed, and two test files had to be removed from the list of files to be tested.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind

generated by GAPDoc2HTML