The XMod package provides functions for computation with
finite crossed modules and cat1-groups, and morphisms of these structures;
finite pre-crossed modules, pre-cat1-groups, and their Peiffer quotients;
derivations of crossed modules and sections of cat1-groups;
the actor crossed square of a crossed module; and
crossed squares and their morphisms (experimental version).
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. The current version is 2.12, released on 24th November 2008.
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.
Crossed modules and cat1-groups are special types of 2-dimensional groups [Bro82] and are implemented as 2dObjects
having a Source
and a Range
. See the file notes.pdf
in the doc
directory for an introductory account of these algebraic gadgets.
The package divides into four parts, all converted from GAP 3 to the GAP 4.4 release.
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 deals 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 fourth 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.
From 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 package may be obtained as a compressed tar file xmod.2.11.tar.gz
by ftp from one of the sites with a GAP 4 archive, or from the Bangor Mathematics web site whose URL is: http://www.informatics.bangor.ac.uk/public/mathematics/chda/
The following constructions were not in the GAP 3 version of the package: sub-2d-object functions, functions for pre-crossed modules and the Peiffer subgroup of a pre-crossed module, and the associated crossed modules. The source and range groups in these constructions are no longer required to be permutation groups.
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). Cat2-groups, and conversion betwen these and crossed squares, are also planned.
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, it is possible to check the correct installation by running the test suite of the package with the following command. (The test file itself is tst/xmod_manual.tst
.)
gap> ReadPackage( "xmod", "tst/testall.g" ); + Testing all example commands in the XMod manual + GAP4stones: 0 true |
Additional information can be found on the Computational Higher-dimensional Discrete Algebra web site at http://www.informatics.bangor.ac.uk/public/mathematics/chda/
generated by GAPDoc2HTML