This chapter, which contains details of the major changes to the package as it develops, was first created in April 2002. Details of the changes from XMod 1 to XMod 2.001 are far from complete. Starting with version 2.009 the file CHANGES
lists the minor changes as well as the more fundamental ones.
The inspiration for this package was the need, in the mid-1990's, to calculate induced crossed modules (see [BW95], [BW96], [BW03]). GAP was chosen over other computational group theory systems because the code was freely available, and it was possible to modify the Tietze transformation code so as to record the images of the original generators of a presentation as words in the simplified presentation. (These modifications are now a standard part of the Tietze transformation package in GAP.)
The first version of XMod became an accepted package for GAP 3.4.3 in December 1996.
Conversion of XMod 1 from GAP 3.4.3 to the new GAP syntax began soon after GAP 4 was released, and had a lengthy gestation. The new GAP syntax encouraged a re-naming of many of the function names. An early decision was to introduce generic categories 2dDomain
for (pre-)crossed modules and (pre-)cat1-groups, and 2dMapping
for the various types of morphism. In 2.009 3dDomain
was used for crossed squares and cat2-groups, and 3dMapping
for their morphisms. A generic name for derivations and sections is also required, and Up2dMapping
is currently used.
This was the first version of XMod for GAP 4, completed in April 2002 in time for the release of GAP 4.3. Functions for actors and induced crossed modules were not included, nor many of the functions for derivations and sections, for example InnerDerivation
.
During May 2002 converted the code for induced crossed modules. (Induced cat1-groups may be converted one day.)
Version 2.004 of April 14th 2004 added the Cat1Select
(2.7-1) functionality of version 1 to the Cat1Group
(2.4-1) function.
A significant addition in Version 2.005 was the conversion of the actor crossed module functions from the 3.4.4
version. This included AutomorphismPermGroup
(6.1-1) for a crossed module; WhiteheadXMod
(6.1-2); NorrieXMod
(6.1-2); LueXMod
(6.1-2); ActorXMod
(6.1-2); CentreXMod
(4.1-7) of a crossed module; InnerMorphism
(6.1-3); and InnerActorXMod
(6.1-3).
These versions contain changes made between September 2004 and October 2007.
Added basic functions for crossed squares, considered as 3dObjects
with crossed pairings, and their morphisms. Groups with two normal subgroups, and the actor of a crossed module, provide standard examples of crossed squares. (Cat2-groups are not yet implemented.)
Converted the documentation to the format of the GAPDoc package.
Improved AutomorphismPermGroup
(6.1-1) for crossed modules, and introduced a special method for conjugation crossed modules.
Substantial revisons made to XModByCentralExtension
(2.1-5); NorrieXMod
(6.1-2); LueXMod
(6.1-2); ActorXMod
(6.1-2); and InducedXModByCopower
(7.2-1).
Version 2.010, of October 2007, was timed to coincide with the release of GAP 4.4.10, and included a change of filenames; and correct file protection codes.
Version 2.19, released on 9th June 2012, included the following changes:
The file makedocrel.g
was copied, with appropriate changes, from GAPDoc, and now provides the correct way to update the documentation.
The first functions for crossed modules of groupoids were introduced.
A GNU General Public License declaration was added.
Version 2.21 contained major changes to the Cat1Select
(2.7-1) operation: the list CAT1_LIST
of cat1-structures in the data file cat1data.g
was changed from permutation groups to pc-groups, with the generators of subgroups; images of the tail map; and images of the head map being given as ExtRepOfObj
of words in the generators.
The AllCat1s
function was reintroduced from the GAP3 version, and renamed as the operation AllCat1DataGroupsBasic
.
In version 2.25 the data in cat1data.g
was extended from groups of size up to 48 to groups of size up to 70. In particular, the 267 groups of size 64 give rise to a total of 1275 cat1-groups. The authors are indebted to Van Luyen Le in Galway for pointing out a number of errors in the version of this list distributed with version 2.24 of this package.
Version 2.43, released on 11th November 2015, included the following changes:
The material on isoclinism in Chapter 4 was added.
The package webpage has moved to https://github.com/cdwensley.
A GitHub repository was started at: https://github.com/gap-packages/xmod.
The section on Distinct and Common Representatives was moved to the Utils package.
Major changes in names took place, with 2dDomain, 2dGroup, 2dMapping
, etc. becoming 2DimensionalDomain, 2DimensionalGroup, 2DimensionalMapping
, etc., and similarly for 3-dimensional versions. Also HigherDimensionalDomain
and related categories, domains, properties, attributes and operations were introduced. At the same time, functions for cat2-groups were introduced by Alper Odabas.
Added an implementation of crossed modules of groupoids.
Lots more work on crossed squares and cat2-groups.
Added an implementation of group groupoids.
Added conversion functions between XMod and Hap and a new chapter in the manual about these functions.
Added functions for quasi-isomorphisms.
Added attributes Size2d
for 2d-objects and Size3d
for 3d-objects since lists are inappropriate values for the standard function Size
.
Added PreXModWithTrivialRange
and started work on double groupoids.
Speed up the calculation of Whitehead groups.
Add more functions for 3dObjects
and implement cat2-groups
.
Improve interaction with the package groupoids implementing the group groupoid version of a crossed module, and adding more functions for crossed modules of groupoids.
Add interaction with IdRel (and possibly XRes and natp) .
Need InverseGeneralMapping
for morphisms and more features for FpXMods
, PcXMods
, etc.
Implement actions of a crossed module.
Implement FreeXMods
and an operation Isomorphism2dDomains
.
Allow the construction of a group of morphisms of crossed modules.
Complete the conversion from Version 1 of the calculation of sections using EndoClasses
.
More crossed square constructions:
If M, N are ordinary P-modules and A is an arbitrary abelian group on which P acts trivially, then there is a crossed square with sides
0 : A \to N,\quad 0 : A \to M,\quad 0 : M \to P,\quad 0 : N \to P.
For a group L, the automorphism crossed module Act L = (ι : L -> Aut L) splits to form the square with (ι_1 : L -> Inn L) on two sides, and (ι_2 : Inn L -> Aut L) on the other two sides, where ι_1 maps l ∈ L to the inner automorphism β_l : L -> L, l^' ↦ l^-1l^'l, and ι_2 is the inclusion of Inn L in Aut L. The actions are standard, and the crossed pairing is
\boxtimes \;:\; \Inn\ L \times \Inn\ L \to L, \quad (\beta_l, \beta_{l^{\prime}}) \;\mapsto\; [l, l^{\prime}]~.
Improve the interaction with the HAP package.
Implement cat1-groups with objects.
Lots more work on double groupoids.
generated by GAPDoc2HTML