<p>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 <strong class="pkg">XMod</strong> 1 to <strong class="pkg">XMod</strong> 2.001 are far from complete. Starting with version 2.009 the file <code class="file">CHANGES</code> lists the minor changes as well as the more fundamental ones.</p>
<p>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.)
<p>Conversion of <strong class="pkg">XMod</strong> 1 from <strong class="pkg">GAP</strong> 3.4.3 to the new <strong class="pkg">GAP</strong> syntax began soon after <strong class="pkg">GAP</strong> 4 was released, and had a lengthy gestation. The new <strong class="pkg">GAP</strong> syntax encouraged a re-naming of many of the function names. An early decision was to introduce generic categories <code class="code">2dDomain</code> for (pre-)crossed modules and (pre-)cat1-groups, and <code class="code">2dMapping</code> for the various types of morphism. In 2.009 <code class="code">3dDomain</code> was used for crossed squares and cat2-groups, and <code class="code">3dMapping</code> for their morphisms. A generic name for derivations and sections is also required, and <codeclass="code">Up2dMapping</code> is currently used.</p>
<h5>15.1-3 <span class="Heading">Version 2.001 for <strong class="pkg">GAP</strong> 4</span></h5>
<p>This was the first version of <strong class="pkg">XMod</strong> for <strong class="pkg">GAP</strong> 4, completed in April 2002 in time for the release of <strong class="pkg">GAP</strong> 4.3. Functions for actors and induced crossed modules were not included, nor many of the functions for derivations and sections, for example <code class="code">InnerDerivation</code>.</p>
<p>Version 2.004 of April 14th 2004 added the <code class="func">Cat1Select</code> (<a href="chap2.html#X7B8E67D880E380C8"><span class="RefLink">2.7-1</span></a>) functionality of version 1 to the <code class="func">Cat1Group</code> (<a href="chap2.html#X7CF4C37F87D27EBA"><span class="RefLink">2.4-1</span></a>) function.</p>
<p>A significant addition in Version 2.005 was the conversion of the actor crossed module functions from the <code class="file">3.4.4</code> version. This included <code class="func">AutomorphismPermGroup</code> (<a href="chap6.html#X80F121357F06E72D"><span class="RefLink">6.1-1</span></a>) for a crossed module; <code class="func">WhiteheadXMod</code> (<a href="chap6.html#X790EBC7C7D320C03"><span class="RefLink">6.1-2</span></a>); <code class="func">NorrieXMod</code> (<a href="chap6.html#X790EBC7C7D320C03"><span class="RefLink">6.1-2</span></a>); <code class="func">LueXMod</code> (<a href="chap6.html#X790EBC7C7D320C03"><span class="RefLink">6.1-2</span></a>); <code class="func">ActorXMod</code> (<a href="chap6.html#X790EBC7C7D320C03"><span class="RefLink">6.1-2</span></a>); <code class="func">CentreXMod</code> (<a href="chap4.html#X7B57446086BA1BF0"><span class="RefLink">4.1-7</span></a>) of a crossed module; <code class="func">InnerMorphism</code> (<a href="chap6.html#X85CF21F57F0F1329"><span class="RefLink">6.1-3</span></a>); and <code class="func">InnerActorXMod</code> (<a href="chap6.html#X85CF21F57F0F1329"><span class="RefLink">6.1-3</span></a>).</p>
<p>These versions contain changes made between September 2004 and October 2007.</p>
<ul>
<li><p>Added basic functions for crossed squares, considered as <code class="code">3dObjects</code> 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.)</p>
</li>
<li><p>Converted the documentation to the format of the <strong class="pkg">GAPDoc</strong> package.</p>
</li>
<li><p>Improved <code class="func">AutomorphismPermGroup</code> (<a href="chap6.html#X80F121357F06E72D"><span class="RefLink">6.1-1</span></a>) for crossed modules, and introduced a special method for conjugation crossed modules.</p>
</li>
<li><p>Version 2.010, of October 2007, was timed to coincide with the release of <strong class="pkg">GAP</strong> 4.4.10, and included a change of filenames; and correct file protection codes.</p>
<h4>15.2 <span class="Heading">Versions for <strong class="pkg">GAP</strong> [4.5 .. 4.12]</span></h4>
<p>Version 2.19, released on 9th June 2012, included the following changes:</p>
<ul>
<li><p>The file <code class="code">makedocrel.g</code> was copied, with appropriate changes, from <strong class="pkg">GAPDoc</strong>, and now provides the correct way to update the documentation.</p>
</li>
<li><p>The first functions for crossed modules of groupoids were introduced.</p>
</li>
<li><p>A GNU General Public License declaration was added.</p>
<p>Version <strong class="button">2.21</strong> contained major changes to the <code class="func">Cat1Select</code> (<a href="chap2.html#X7B8E67D880E380C8"><span class="RefLink">2.7-1</span></a>) operation: the list <code class="code">CAT1_LIST</code> of cat1-structures in the data file <code class="file">cat1data.g</code> was changed from permutation groups to pc-groups, with the generators of subgroups; images of the tail map; and images of the headmap being given as <code class="code">ExtRepOfObj</code> of words in the generators.</p>
<p>The <code class="code">AllCat1s</code> function was reintroduced from the <strong class="pkg">GAP</strong>3 version, and renamed as the operation <code class="code">AllCat1DataGroupsBasic</code>.</p>
<p>In version <strong class="button">2.25</strong> the data in <code class="file">cat1data.g</code> was extended from groups of size up to <span class="SimpleMath">48</span> to groups of size up to <span class="SimpleMath">70</span>. In particular, the <span class="SimpleMath">267</span> groups of size 64 give rise to a total of <span class="SimpleMath">1275</span> 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 <strong class="button">2.24</strong> of this package.</p>
<p>Version <strong class="button">2.43</strong>, released on 11th November 2015, included the following changes:</p>
<ul>
<li><p>The material on isoclinism in Chapter 4 was added.</p>
</li>
<li><p>The package webpage has moved to <span class="URL"><a href="https://github.com/cdwensley">https://github.com/cdwensley</a></span>.</p>
</li>
<li><p>A GitHub repository was started at: <span class="URL"><a href="https://github.com/gap-packages/xmod">https://github.com/gap-packages/xmod</a></span>.</p>
</li>
<li><p>The section on <em>Distinct and Common Representatives</em> was moved to the <strong class="pkg">Utils</strong> package.</p>
<p>Major changes in names took place, with <code class="code">2dDomain, 2dGroup, 2dMapping</code>, etc. becoming <code class="code">2DimensionalDomain, 2DimensionalGroup, 2DimensionalMapping</code>, etc., and similarly for 3-dimensional versions. Also <code class="code">HigherDimensionalDomain</code> and related categories, domains, properties, attributes and operations were introduced. At the same time, functions for cat2-groups were introduced by Alper Odabas.</p>
<ul>
<li><p>Added conversion functions between <strong class="pkg">XMod</strong> and <strong class="pkg">Hap</strong> and a new chapter in the manual about these functions.</p>
</li>
<li><p>Added functions for quasi-isomorphisms.</p>
<ul>
<li><p>Added attributes <code class="code">Size2d</code> for 2d-objects and <code class="code">Size3d</code> for 3d-objects since lists are inappropriate values for the standard function <code class="code">Size</code>.</p>
</li>
<li><p>Added <code class="code">PreXModWithTrivialRange</code> and started work on double groupoids.</p>
<h5>15.2-7 <span class="Heading">Versions from 2.92</span></h5>
<ul>
<li><p>Renamed <code class="code">PermAutomorphismAsXModMorphism</code> as <code class="code">PermAutomorphismAs2dGroupMorphism</code> and added a cat<span class="SimpleMath">^1</span>-group method for this and for <code class="code">AutomorphismPermGroup</code>.</p>
<ul>
<li><p>Speed up the calculation of Whitehead groups.</p>
</li>
<li><p>Add more functions for <code class="code">3dObjects</code> and implement <code class="code">cat2-groups</code>.</p>
</li>
<li><p>Improve interaction with the package <strong class="pkg">groupoids</strong> implementing the group groupoid version of a crossed module, and adding more functions for crossed modules of groupoids.</p>
</li>
<li><p>Add interaction with <strong class="pkg">IdRel</strong> (and possibly <strong class="pkg">XRes</strong> and <strong class="pkg">natp</strong>) .</p>
</li>
<li><p>Need <code class="code">InverseGeneralMapping</code> for morphisms and more features for <code class="code">FpXMods</code>, <code class="code">PcXMods</code>, etc.</p>
</li>
<li><p>Implement actions of a crossed module.</p>
</li>
<li><p>Implement <code class="code">FreeXMods</code> and an operation <code class="code">Isomorphism2dDomains</code>.</p>
</li>
<li><p>Allow the construction of a group of morphisms of crossed modules.</p>
</li>
<li><p>Complete the conversion from Version <strong class="button">1</strong> of the calculation of sections using <code class="code">EndoClasses</code>.</p>
<ul>
<li><p>If <span class="SimpleMath">M, N</span> are ordinary <span class="SimpleMath">P</span>-modules and <span class="SimpleMath">A</span> is an arbitrary abelian group on which <span class="SimpleMath">P</span> acts trivially, then there is a crossed square with sides</p>
<p class="pcenter">
0 : A \to N,\quad 0 : A \to M,\quad
0 : M \to P,\quad 0 : N \to P.
</p>
</li>
<li><p>For a group <span class="SimpleMath">L</span>, the automorphism crossed module <span class="SimpleMath">Act L = (ι : L -> Aut L)</span> splits to form the square with <span class="SimpleMath">(ι_1 : L -> Inn L)</span> on two sides, and <span class="SimpleMath">(ι_2 : Inn L -> Aut L)</span> on the other two sides, where <span class="SimpleMath">ι_1</span> maps <span class="SimpleMath">l ∈ L</span> to the inner automorphism <span class="SimpleMath">β_l : L -> L, l^' ↦ l^-1l^'l</span>, and <span class="SimpleMath">ι_2</span> is the inclusion of <span class="SimpleMath">Inn L</span> in <span class="SimpleMath">Aut L</span>. The actions are standard, and the crossed pairing is</p>
<p class="pcenter">
\boxtimes \;:\; \Inn\ L \times \Inn\ L \to L, \quad
(\beta_l, \beta_{l^{\prime}}) \;\mapsto\; [l, l^{\prime}]~.
</p>
</li>
</ul>
</li>
<li><p>Improve the interaction with the <strong class="pkg">HAP</strong> package.</p>
</li>
<li><p>Implement cat1-groups with objects.</p>
</li>
<li><p>Lots more work on double groupoids.</p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.