Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gap-aclib for openSUSE:Factory checked in at 2025-09-08 09:58:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gap-aclib (Old) and /work/SRC/openSUSE:Factory/.gap-aclib.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-aclib" Mon Sep 8 09:58:32 2025 rev:2 rq:1303084 version:1.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/gap-aclib/gap-aclib.changes 2023-12-28 22:55:47.918019384 +0100 +++ /work/SRC/openSUSE:Factory/.gap-aclib.new.1977/gap-aclib.changes 2025-09-08 09:59:07.842399410 +0200 @@ -1,0 +2,6 @@ +Sun Sep 7 15:36:50 UTC 2025 - Jan Engelhardt <[email protected]> + +- Update to release 1.3.3 + * Reset RNG in tests for compatibilty with polycyclic 2.17 + +------------------------------------------------------------------- Old: ---- aclib-1.3.2.tar.gz New: ---- _scmsync.obsinfo aclib-1.3.3.tar.gz build.specials.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gap-aclib.spec ++++++ --- /var/tmp/diff_new_pack.MbVLAO/_old 2025-09-08 09:59:08.310418862 +0200 +++ /var/tmp/diff_new_pack.MbVLAO/_new 2025-09-08 09:59:08.314419028 +0200 @@ -17,7 +17,7 @@ Name: gap-aclib -Version: 1.3.2 +Version: 1.3.3 Release: 0 Summary: GAP: Almost Crystallographic Groups License: Artistic-2.0 ++++++ _scmsync.obsinfo ++++++ mtime: 1757259617 commit: 93ffd86fe33172fb60db235a8b18bed2cf108e7367cfc19fdb22aaa78ddddc66 url: https://src.opensuse.org/jengelh/gap-aclib revision: master ++++++ aclib-1.3.2.tar.gz -> aclib-1.3.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/PackageInfo.g new/aclib-1.3.3/PackageInfo.g --- old/aclib-1.3.2/PackageInfo.g 2020-01-28 17:11:50.000000000 +0100 +++ new/aclib-1.3.3/PackageInfo.g 2025-08-28 16:43:19.000000000 +0200 @@ -7,8 +7,8 @@ PackageName := "AClib", Subtitle := "Almost Crystallographic Groups - A Library and Algorithms", -Version := "1.3.2", -Date := "28/01/2020", # dd/mm/yyyy format +Version := "1.3.3", +Date := "28/08/2025", # dd/mm/yyyy format License := "Artistic-2.0", Persons := [ @@ -70,7 +70,7 @@ PDFFile := "doc/manual.pdf", SixFile := "doc/manual.six", LongTitle := "Almost Crystallographic Groups - A Library and Algorithms", - Autoload := true), +), Dependencies := rec( GAP := ">=4.7", Binary files old/aclib-1.3.2/doc/manual.dvi and new/aclib-1.3.3/doc/manual.dvi differ Binary files old/aclib-1.3.2/doc/manual.pdf and new/aclib-1.3.3/doc/manual.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/doc/manual.toc new/aclib-1.3.3/doc/manual.toc --- old/aclib-1.3.2/doc/manual.toc 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/doc/manual.toc 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -\chapcontents {1}{The Almost Crystallographic Groups Package}{3} -\seccontents {1.1}{More about almost crystallographic groups} {3} -\chapcontents {2}{Algorithms for almost crystallographic groups}{5} -\seccontents {2.1}{Properties of almost crystallographic groups} {5} -\seccontents {2.2}{Betti numbers} {5} -\seccontents {2.3}{Determination of certain extensions} {6} -\chapcontents {3}{The catalog of almost crystallographic groups}{7} -\seccontents {3.1}{Rational matrix groups} {7} -\seccontents {3.2}{Polycyclically presented groups} {8} -\seccontents {3.3}{More about the type and the defining parameters} {9} -\seccontents {3.4}{The electronic versus the printed library} {10} -\chapcontents {4}{Example computations with almost crystallographic groups}{12} -\seccontents {4.1}{Example computations I} {12} -\seccontents {4.2}{Example computations II} {13} -\seccontents {4.3}{Example computations III} {13} -\chapcontents {}{Bibliography}{16} -\chapcontents {}{Index}{17} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/htm/CHAP001.htm new/aclib-1.3.3/htm/CHAP001.htm --- old/aclib-1.3.2/htm/CHAP001.htm 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/htm/CHAP001.htm 2025-08-28 16:43:19.000000000 +0200 @@ -13,17 +13,17 @@ important special case of almost crystallographic groups are the <strong>almost Bieberbach groups</strong>: these are almost crystallographic and torsion free. <p> -By its definition, an almost crystallographic group <i>G</i> has a finitely -generated nilpotent normal subgroup <i>N</i> of finite index. Clearly, <i>N</i> is +By its definition, an almost crystallographic group <var>G</var> has a finitely +generated nilpotent normal subgroup <var>N</var> of finite index. Clearly, <var>N</var> is polycyclic and thus has a polycyclic series. The number of infinite cyclic -factors in such a series for <i>N</i> is an invariant of <i>G</i>: the <strong>Hirsch length</strong> -of <i>G</i>. +factors in such a series for <var>N</var> is an invariant of <var>G</var>: the <strong>Hirsch length</strong> +of <var>G</var>. <p> For each almost crystallographic group of Hirsch length 3 and 4 there exists a representation as a rational matrix group in dimension 4 or 5, respectively. These representations can be considered as affine representations of dimension 3 or 4. Via these representations, the almost crystallographic groups act -(properly discontinuously) on <b>R</b><sup>3</sup> or <b>R</b><sup>4</sup>. That is one reason to define +(properly discontinuously) on <var><font face="helvetica,arial">R</font><sup>3</sup></var> or <var><font face="helvetica,arial">R</font><sup>4</sup></var>. That is one reason to define the <strong>dimension</strong> of an almost crystallographic group as its Hirsch length. <p> The 3-dimensional and a part of the 4-dimensional almost crystallographic @@ -58,48 +58,49 @@ actions on Lie groups. We recall the original definition here briefly and we refer to <a href="biblio.htm#AUS"><cite>AUS</cite></a>, <a href="biblio.htm#KD"><cite>KD</cite></a> and <a href="biblio.htm#LEE"><cite>LEE</cite></a> for more details. <p> -Let <i>L</i> be a connected and simply connected nilpotent Lie group. For +Let <var>L</var> be a connected and simply connected nilpotent Lie group. For example, the 3-dimensional Heisenberg group, consisting of all upper -unitriangular 3×3--matrices with real entries is of this type. -Then <i>L</i>\rtimes <span class="roman">Aut</span>(<i>L</i>) acts affinely (on the left) on <i>L</i> via -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> ∀<i>l</i>,<i>l</i>′ ∈ <i>L</i>,∀α ∈ <span class="roman">Aut</span>(<i>L</i>): <sup>(<i>l</i>,α)</sup><i>l</i>′=<i>l</i> α(<i>l</i>′)·</td></tr></table></td></tr></table> -<p> -Let <i>C</i> be a maximal compact subgroup of <span class="roman">Aut</span>(<i>L</i>). Then a subgroup <i>G</i> -of <i>L</i> \rtimes <i>C</i> is said to be an almost crystallographic group if and only -if the action of <i>G</i> on <i>L</i>, induced by the action of <i>L</i>\rtimes <span class="roman">Aut</span>(<i>L</i>), -is properly discontinuous and the quotient space <i>G</i> \<i>L</i> is compact. +unitriangular <var>3times3</var>--matrices with real entries is of this type. +Then <var>LrtimesAut(L)</var> acts affinely (on the left) on <var>L</var> via +<p><var> foralll,l'inL,forallalphainAut(L):; + <sup>(l,alpha)</sup>l'=l , alpha(l'). <p></var> +<p> +Let <var>C</var> be a maximal compact subgroup of <var>Aut(L)</var>. Then a subgroup <var>G</var> +of <var>L rtimesC</var> is said to be an almost crystallographic group if and only +if the action of <var>G</var> on <var>L</var>, induced by the action of <var>LrtimesAut(L)</var>, +is properly discontinuous and the quotient space <var>G backslashL</var> is compact. One recovers the situation of the ordinary crystallographic groups by taking -<i>L</i>=\Bbb <i>R</i><sup><i>n</i></sup>, for some <i>n</i>, and <i>C</i>=<i>O</i>(<i>n</i>), the orthogonal group. +<var>L=BbbR<sup>n</sup></var>, for some <var>n</var>, and <var>C=O(n)</var>, the orthogonal group. <p> More generally, we say that an abstract group is an almost crystallographic group if it can be realized as a genuine almost crystallographic subgroup -of some <i>L</i> \rtimes <i>C</i>. In the following theorem we outline some algebraic +of some <var>L rtimesC</var>. In the following theorem we outline some algebraic characterizations of almost crystallographic groups; see Theorem 3.1.3 of -<a href="biblio.htm#KD"><cite>KD</cite></a>. Recall that the <strong>Fitting subgroup Fitt(<i>G</i>)</strong> of a -polycyclic-by-finite group <i>G</i> is its unique maximal normal nilpotent +<a href="biblio.htm#KD"><cite>KD</cite></a>. Recall that the <strong>Fitting subgroup Fitt<var>(G)</var></strong> of a +polycyclic-by-finite group <var>G</var> is its unique maximal normal nilpotent subgroup. <p> <strong>Theorem.</strong> -The following are equivalent for a polycyclic-by-finite group <i>G</i>: +The following are equivalent for a polycyclic-by-finite group <var>G</var>: <dl compact> -<dt>(1)<dd><i>G</i> is an almost crystallographic group. -<dt>(2)<dd>Fitt(<i>G</i>) is torsion free and of finite index in <i>G</i>. -<dt>(3)<dd><i>G</i> contains a torsion free nilpotent normal subgroup <i>N</i> -of finite index in <i>G</i> with <i>C</i><sub><i>G</i></sub>(<i>N</i>) torsion free. -<dt>(4)<dd><i>G</i> has a nilpotent subgroup of finite index and there -are no non-trivial finite normal subgroups in <i>G</i>. +<dt>(1)<dd><var>G</var> is an almost crystallographic group. +<dt>(2)<dd>Fitt<var>(G)</var> is torsion free and of finite index in <var>G</var>. +<dt>(3)<dd><var>G</var> contains a torsion free nilpotent normal subgroup <var>N</var> +of finite index in <var>G</var> with <var>C<sub>G</sub>(N)</var> torsion free. +<dt>(4)<dd><var>G</var> has a nilpotent subgroup of finite index and there +are no non-trivial finite normal subgroups in <var>G</var>. </dl> <p> -In particular, if <i>G</i> is almost crystallographic, then <i>G</i> / <i>Fitt</i>(<i>G</i>) -is finite. This factor is called the <strong>holonomy group</strong> of <i>G</i>. +In particular, if <var>G</var> is almost crystallographic, then <var>G / Fitt(G)</var> +is finite. This factor is called the <strong>holonomy group</strong> of <var>G</var>. <p> The dimension of an almost crystallographic group equals the dimension -of the Lie group <i>L</i> above which coincides also with the Hirsch length +of the Lie group <var>L</var> above which coincides also with the Hirsch length of the polycyclic-by-finite group. This library therefore contains families of virtually nilpotent groups of Hirsch length 3 and 4. <p> <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>aclib manual<br>January 2020 +<address>aclib manual<br>August 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/htm/CHAP002.htm new/aclib-1.3.3/htm/CHAP002.htm --- old/aclib-1.3.2/htm/CHAP002.htm 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/htm/CHAP002.htm 2025-08-28 16:43:19.000000000 +0200 @@ -40,9 +40,10 @@ <p> <h2><a name="SECT002">2.2 Betti numbers</a></h2> <p><p> -Let <i>G</i> be a polycyclically presented and torsion free group of Hirsch -length <i>n</i>. Then we can compute the Betti numbers β<sub><i>i</i></sub>(<i>G</i>) for <i>i</i> ∈ {0, 1, 2, <i>n</i>−2, <i>n</i>−1, <i>n</i>}. If <i>n</i> ≤ 6, then we can compute all Betti -numbers β<sub><i>i</i></sub>(<i>G</i>) for 0 ≤ <i>i</i> ≤ 6 of <i>G</i>. We introduce the following +Let <var>G</var> be a polycyclically presented and torsion free group of Hirsch +length <var>n</var>. Then we can compute the Betti numbers <var>beta<sub>i</sub>(G)</var> for <var>i in +{0, 1, 2, n-2, n-1, n}</var>. If <var>n leq6</var>, then we can compute all Betti +numbers <var>beta<sub>i</sub>(G)</var> for <var>0 leqi leq6</var> of <var>G</var>. We introduce the following functions for this purpose and we refer to <a href="biblio.htm#BRO"><cite>BRO</cite></a> for the details on the orientation module and the Betti numbers. <p> @@ -50,14 +51,15 @@ <li><code>OrientationModule( </code><var>G</var><code> ) F</code> <p> This function determines the orientation module of the polycyclically -presented group <var>G</var>; that is, it returns a list of matrices <i>m</i><sub>1</sub>, …, <i>m</i><sub><i>n</i></sub> ≤ <i>GL</i>( 1, <b>Z</b>) which are the images of the 'Igs(G)' in their action +presented group <var>G</var>; that is, it returns a list of matrices <var>m<sub>1</sub>, ..., +m<sub>n</sub> leqGL( 1, <font face="helvetica,arial">Z</font>)</var> which are the images of the 'Igs(G)' in their action on the orientation module. <p> <a name = "SSEC002.2"></a> <li><code>BettiNumber( </code><var>G</var><code>, </code><var>m</var><code> ) F</code> <p> This function returns the <var>m</var>th Betti number of the polycyclically presented -torsion free group <var>G</var> if <i>m</i> ∈ {0, 1, 2, <i>n</i>−2, <i>n</i>−1, <i>n</i>}, where <i>n</i> is the +torsion free group <var>G</var> if <var>m in{0, 1, 2, n-2, n-1, n}</var>, where <var>n</var> is the Hirsch length of <var>G</var>. <p> <a name = "SSEC002.3"></a> @@ -69,13 +71,13 @@ <p> <h2><a name="SECT003">2.3 Determination of certain extensions</a></h2> <p><p> -Let <i>G</i> be a polycyclically presented almost crystallographic group. We want -to check the existence of certain extensions of <i>G</i>. +Let <var>G</var> be a polycyclically presented almost crystallographic group. We want +to check the existence of certain extensions of <var>G</var>. <p> -First, it is well-known that the equivalence classes of extensions of <i>G</i> -correspond to the second cohomology group of <i>G</i>. This cohomology group can +First, it is well-known that the equivalence classes of extensions of <var>G</var> +correspond to the second cohomology group of <var>G</var>. This cohomology group can be computed using the methods of the <font face="Gill Sans,Helvetica,Arial">Polycyclic</font> package for any -explicitly given module of <i>G</i>. Further, we can construct a polycyclic +explicitly given module of <var>G</var>. Further, we can construct a polycyclic presentation for each cocycle of the second cohomology group. We give an example for such a computation below. <p> @@ -91,10 +93,10 @@ <li><code>HasExtensionOfType( </code><var>G</var><code>, </code><var>torsionfree</var><code>, </code><var>minimalcentre</var><code> ) F</code> <p> Suppose that <var>G</var> is a polycyclically presented almost crystallographic group -with Fitting subgroup <i>N</i>. This function checks if there is a <i>G</i>-module -<i>M</i> ≅ <b>Z</b> which is centralized by <i>N</i> such that there exists a torsion -free extension of <i>M</i> by <var>G</var> (if the flag <var>torsionfree</var> is true) or an -extension <i>E</i> with <i>Z</i>(<i>Fitt</i>(<i>E</i>)) = <i>M</i> (if the flag <var>minimalcentre</var> is true) +with Fitting subgroup <var>N</var>. This function checks if there is a <var>G</var>-module +<var>M cong<font face="helvetica,arial">Z</font></var> which is centralized by <var>N</var> such that there exists a torsion +free extension of <var>M</var> by <var>G</var> (if the flag <var>torsionfree</var> is true) or an +extension <var>E</var> with <var>Z(Fitt(E)) = M</var> (if the flag <var>minimalcentre</var> is true) or an extension which satisfies both conditions (if both flags are true). <p> We note that the existence of such extensions is of interest in the @@ -105,5 +107,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP001.htm">Previous</a>] [<a href ="CHAP003.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>aclib manual<br>January 2020 +<address>aclib manual<br>August 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/htm/CHAP003.htm new/aclib-1.3.3/htm/CHAP003.htm --- old/aclib-1.3.2/htm/CHAP003.htm 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/htm/CHAP003.htm 2025-08-28 16:43:19.000000000 +0200 @@ -40,12 +40,12 @@ that is, in this case <var>type</var> is a number in [1..17] in dimension 3 or a number in [1..95] in dimension 4. Alternatively, <var>type</var> can be a string defining the desired type. In dimension 3 the possible strings are -<code>"01"</code>, <code>"02"</code>, …, <code>"17"</code>. In dimension 4 the possible strings +<code>"01"</code>, <code>"02"</code>, <var>...</var>, <code>"17"</code>. In dimension 4 the possible strings are listed in the list <code>ACDim4Types</code> and thus can be accessed from <font face="Gill Sans,Helvetica,Arial">GAP</font>. <p> <var>parameters</var> is a list of integers. Its length depends on the type of the chosen group. The lists <code>ACDim3Param</code> and <code>ACDim4Param</code> contain -at position <i>i</i> the length of the parameter list for the type number <i>i</i>. +at position <var>i</var> the length of the parameter list for the type number <var>i</var>. Every list of integers of this length is a valid <var>parameter</var> input. Alternatively, one can input <code>false</code> instead of a parameter list. Then <font face="Gill Sans,Helvetica,Arial">GAP</font> will chose a random parameter list of suitable length. @@ -105,10 +105,10 @@ We can use the polycyclic presentations of almost crystallographic groups to exhibit structure information on these groups. For example, we can determine their Fitting subgroup and ask group-theoretic -questions about this nilpotent group. The factor <i>G</i> / <i>Fit</i>(<i>G</i>) of an -almost crystallographic group <i>G</i> is called <strong>holonomy group</strong>. We +questions about this nilpotent group. The factor <var>G / Fit(G)</var> of an +almost crystallographic group <var>G</var> is called <strong>holonomy group</strong>. We provide access to this factor of a pcp group via the following -functions. Let <i>G</i> be an almost crystallographic pcp group. +functions. Let <var>G</var> be an almost crystallographic pcp group. <p> <a name = "SSEC002.3"></a> <li><code>HolonomyGroup( </code><var>G</var><code> )</code> @@ -193,13 +193,13 @@ each subfamily is assigned a type; that is, a string which is used to identify the subfamily. As mentioned above, for the 3-dimensional almost crystallographic groups the type is a string representing the numbers from -1 to 17, i.e. the available types are <code>"01"</code>, <code>"02"</code>, …, <code>"17"</code>. +1 to 17, i.e. the available types are <code>"01"</code>, <code>"02"</code>, <var>...</var>, <code>"17"</code>. <p> For the 4-dimensional almost crystallographic groups with a Fitting subgroup of class 2 the type is a string of 3 or 4 characters. In general, a string of 3 characters representing the number of the table entry in <a href="biblio.htm#KD"><cite>KD</cite></a> is used. So possible types are -<code>"001"</code>, <code>"002"</code>, …. The reader is warned however that not all +<code>"001"</code>, <code>"002"</code>, <var>...</var>. The reader is warned however that not all possible numbers are used, e.g. there are no groups of type <code>"016"</code>. Also, the types do not appear in their natural order in <a href="biblio.htm#KD"><cite>KD</cite></a>. Moreover, for certain numbers there is more than one family of groups listed in <a href="biblio.htm#KD"><cite>KD</cite></a>. @@ -245,25 +245,53 @@ we find the following groups in the table starting with entry ``13''. <p> <p> -13. <i>Q</i>=<i>P</i>2/<i>c</i> -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> </td><td nowrap="nowrap"><table border="0" align="left" cellspacing="0" cellpadding="0"><tr><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> <i>E</i>: 〈<i>a</i>,<i>b</i>,<i>c</i>,<i>d</i>,α,β || </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> [<i>b</i>,<i>a</i>]=1·61<i>cm</i> [<i>d</i>,<i>a</i>]=1 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">〉</td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="no wrap" align="center"> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"></td><td nowrap="nowrap"><table border="0" align="left" cellspacing="0" cellpadding="0"><tr><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> [<i>c</i>,<i>a</i>]=<i>d</i><sup>2 <i>k</i><sub>1</sub></sup> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">[<i>d</i>,<i>b</i>]=1 </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> [<i>c</i>,<i>b</i>]=1 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">[<i>d</i>,<i>c</i>]=1 </td></tr></table></td> </tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> α<i>a</i>=<i>a</i><sup>−1</sup>α<i>d</i><sup><i>k</i><sub>2</sub></sup> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">α<sup>2</sup>=<i>d</i><sup><i>k</i><sub>3</sub></sup> </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> α<i>b</i>=<i>b</i>α </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">α<i>d</i> = <i>d</i> α </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> α<i>c </i>=<i>c</i><sup>−1</sup>α<i>d</i><sup>−2 <i>k</i><sub>6</sub></sup> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left"></td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> β<i>a</i>=<i>a</i><sup>−1</sup>β<i>d</i><sup><i>k</i><sub>1</sub>+<i>k</i><sub>2</sub></sup> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">β<sup>2</sup>=<i>d</i><sup><i>k</i><sub>5</sub></sup> </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> β<i>b</i>=<i>b</i><sup>−1</sup>β<i>d</i><sup><i>k</i><sub>4</sub></sup> </td></tr></table></td> <td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">β<i>d</i> = <i>d</i> β </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> β<i>c</i>=<i>c</i><sup>−1</sup>β<i>d</i><sup>−2 <i>k</i><sub>6</sub></sup> </td></tr></table></td><td nowrap="nowrap" align="center"><table><tr><td nowrap="nowrap" align="center" colspan="1">αβ = <i>c</i>βα<i>d</i><sup><i>k</i><sub>6</sub></sup> </td></tr></table></td></tr></table></td><td nowrap="nowrap"> </td></tr></table></td><td nowrap="nowrap" align="center"><table><tr><td nowrap="nowrap" align="center" colspan="1"></td></tr></table></td></tr></table></td><td nowrap="nowrap"> </td></tr></table></td></tr></table> -<p> -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">λ(α)=</td><td align="left" class="cl">⎛<br />⎜<br />⎜<br />⎜<br />⎜<br />⎜<br />⎜<br />⎜<br />⎜<br />⎜<br />⎝</td><td nowrap="nowrap"><table border="0" align="left" cellspacing="0" cellpadding="0"><tr><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 1</td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"></td><td nowrap="nowrap" align="center"><i>k</i><sub>1</sub><div class="hrcomp"><hr noshade="noshade" size="1"/></div>2<br /></td><td nowrap="nowrap" align="center">+<i>k</i><sub>2</sub> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpa dding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">−2 <i>k</i><sub>6</sub> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left"></td><td nowrap="nowrap" align="center"><i>k</i><sub>3</sub><div class="hrcomp"><hr noshade="noshade" size="1"/></div>2<br /></td><td nowrap="nowrap" align="center">+</td><td nowrap="nowrap" align="center"><i>k</i><sub>6</sub><div class="hrcomp"><hr noshade="noshade" size="1"/></div>2<br /></td><td nowrap="nowrap" align="center"></td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 0</td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap ="nowrap" align="center">−1 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">0 </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0</td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">1 </td></tr></table></td><td nowrap="nowrap" align= "center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">0 </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">−1 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap=" nowrap" align="left"></td><td nowrap="nowrap" align="center">1<div class="hrcomp"><hr noshade="noshade" size="1"/></div>2<br /></td><td nowrap="nowrap" align="center"></td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table><tr><td nowrap="nowrap" align="center" colspan="1">1 </td></tr></table></td></tr></table></td><td nowrap="nowrap"></td><td align="left" class="cl" >⎞<br />⎟<br />⎟<br />⎟<br />⎟<br >/>⎟<br />⎟<br />⎟<br />⎟<br />⎟<br >/>⎠</td><td nowrap="nowrap" >align="center"> λ(β)=</td><td align="left" >class="cl">⎛<br />⎜<br />⎜<br />⎜<br >/>⎜<br />⎜<br />⎜<br />⎜<br />⎝</td><td >nowrap="nowrap"><table border="0" align="left" cellspacing="0" >cellpadding="0"><tr><td nowrap="nowrap" align="center"><table border="0" >cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> >1</td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" >cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" >align="center"><i>k</i><sub>1</sub>+<i>k</i><sub>2</sub> ></td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" >cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" >align="center"><i>k</i><sub>4</sub> </td></tr></table></td><td nowrap="nowrap " align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">−2 <i>k</i><sub>6</sub> </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left"></td><td nowrap="nowrap" align="center"><i>k</i><sub>5</sub><div class="hrcomp"><hr noshade="noshade" size="1"/></div>2<br /></td><td nowrap="nowrap" align="center"></td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 0</td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">−1 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">0 </td></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0</td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">−1 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">0 </td ></tr></table></td></tr> <tr><td nowrap="nowrap" align="center" >colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td >nowrap="nowrap" align="center"> 0 </td></tr></table></td><td nowrap="nowrap" >align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td >nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" >align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td >nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" >align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td >nowrap="nowrap" align="center">−1 </td></tr></table></td><td >nowrap="nowrap" align="center"><table border="0" cellspacing="0" >cellpadding="2"><tr><td nowrap="nowrap" >align="left">0</td></tr></table></td></tr> <tr><td nowrap="nowrap" >align="center" colspan="1"><table border="0" cellspacing="0" >cellpadding="2"><tr><td nowrap="nowrap" align="center"> 0 ></td></tr></table></td><td nowrap="nowrap" align="center" ><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" >align="center">0 </td></tr></table></td><td nowrap="nowrap" >align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td >nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" >align="center"><table border="0" cellspacing="0" cellpadding="2"><tr><td >nowrap="nowrap" align="center">0 </td></tr></table></td><td nowrap="nowrap" >align="center"><table><tr><td nowrap="nowrap" align="center" colspan="1">1 ></td></tr></table></td></tr></table></td><td nowrap="nowrap"></td><td >align="left" class="cl">⎞<br />⎟<br />⎟<br />⎟<br >/>⎟<br />⎟<br />⎟<br />⎟<br />⎠</td><td >nowrap="nowrap" align="center"></td></tr></table></td></tr></table> -<p> -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"><i>H</i><sup>2</sup>(<i>Q</i>,<b>Z</b>)=<b>Z</b>⊕(<b>Z</b><sub>2</sub>)<sup>4</sup>=<b>Z</b><sup>6</sup>/<i>A</i>,</td></tr></table></td></tr></table> -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"><i>A</i>={(<i>k</i><sub>1</sub>,…,<i>k</i><sub>6</sub>)|| <i>k</i><sub>1</sub>=0, <i>k</i><sub>2</sub>,…, <i>k</i><sub>5</sub> ∈ 2<b>Z</b>, <i>k</i><sub>6</sub> ∈ <b>Z</b>}</td></tr></table></td></tr></table> +13. <var>Q=P2/c</var> +<p><var> +matrix E:;langlea,b,c,d,alpha,beta;|; ,[b,a]=1hskip1.61cm + [d,a]=1 + rangle<br> + matrix [c,a]=d<sup>2 k_1</sup> [d,b]=1 <br> + [c,b]=1 [d,c]=1 <br> +alphaa=a<sup>-1</sup>alphad<sup>k_2</sup> alpha<sup>2</sup>=d<sup>k_3</sup> <br> +alphab=balpha alphad= d alpha <br> +alphac=c<sup>-1</sup>alphad<sup>-2 k_6</sup> <br> +betaa=a<sup>-1</sup>betad<sup>k_1+k_2</sup> beta<sup>2</sup>=d<sup>k_5</sup> <br> +betab=b<sup>-1</sup>betad<sup>k_4</sup> betad= d beta <br> +betac=c<sup>-1</sup>betad<sup>-2 k_6</sup> alphabeta=cbetaalphad<sup>k_6</sup> + +<p></var> +<p> +<p><var>lambda(alpha)=left(matrix +1 frack<sub>1</sub>2+k<sub>2</sub> 0 -2 k<sub>6</sub> frack<sub>3</sub>2+frack<sub>6</sub>2 <br> +0 -1 0 0 0 <br> +0 0 1 0 0 <br> +0 0 0 -1 frac12<br> +0 0 0 0 1 +right) +;;lambda(beta)=left(matrix +1 k<sub>1</sub>+k<sub>2</sub> k<sub>4</sub> -2 k<sub>6</sub> frack<sub>5</sub>2 <br> +0 -1 0 0 0 <br> +0 0 -1 0 0 <br> +0 0 0 -1 0<br> +0 0 0 0 1 + right) +<p></var> +<p> +<p><var>H<sup>2</sup>(Q,<font face="helvetica,arial">Z</font>)=<font face="helvetica,arial">Z</font>oplus(<font face="helvetica,arial">Z</font><sub>2</sub>)<sup>4</sup>=<font face="helvetica,arial">Z</font><sup>6</sup>/A,<p></var> +<p><var>A={(k<sub>1</sub>,...,k<sub>6</sub>)| +k<sub>1</sub>=0,;k<sub>2</sub>,..., k<sub>5</sub>in2<font face="helvetica,arial">Z</font>,;k<sub>6</sub>in<font face="helvetica,arial">Z</font>}<p></var> AB-groups: <p> -∀<i>k</i> > 0, <i>k</i> ≡ 0 mod 2, (<i>k</i>,0,1,0,1,0) +<var>forallk>0,;kequiv0bmod2,;<var>(k,0,1,0,1,0)</var></var> <p> <p> The number ``13'' at the beginning of this entry is the type of the almost crystallographic group in this library. This family of groups -with type 13 depends on 6 parameters <i>k</i><sub>1</sub>, <i>k</i><sub>2</sub>, …, <i>k</i><sub>6</sub> and these +with type 13 depends on 6 parameters <var>k<sub>1</sub>, k<sub>2</sub>, ..., k<sub>6</sub></var> and these are the <var>parameters</var> list in this library. The rational matrix representation in <font face="Gill Sans,Helvetica,Arial">GAP</font> corresponds exactly to the printed version in -<a href="biblio.htm#KD"><cite>KD</cite></a> where it is named λ. In the example below, we consider -the group with parameters (<i>k</i><sub>1</sub>,<i>k</i><sub>2</sub>,<i>k</i><sub>3</sub>,<i>k</i><sub>4</sub>,<i>k</i><sub>5</sub>,<i>k</i><sub>6</sub>)=(8,0,1,0,1,0). +<a href="biblio.htm#KD"><cite>KD</cite></a> where it is named <var>lambda</var>. In the example below, we consider +the group with parameters <var>(k<sub>1</sub>,k<sub>2</sub>,k<sub>3</sub>,k<sub>4</sub>,k<sub>5</sub>,k<sub>6</sub>)=(8,0,1,0,1,0)</var>. <p> <pre> gap> G:=AlmostCrystallographicDim4("013",[8,0,1,0,1,0]); @@ -277,15 +305,17 @@ </pre> <p> For a 4-dimensional almost crystallographic group the matrix group is -built up such that { <i>a</i>, <i>b</i>, <i>c</i>, <i>d</i>, α, β, γ} as described -in <a href="biblio.htm#KD"><cite>KD</cite></a> forms the defining generating set of <i>G</i>. For certain types -the elements α, β or γ may not be present. -Similarly, for a 3-dimensional group we have the generating set { <i>a</i>, <i>b</i>, <i>c</i>, α, β} and α and β may be absent. +built up such that <var>{ a, b, c, d, alpha, beta, gamma}</var> as described +in <a href="biblio.htm#KD"><cite>KD</cite></a> forms the defining generating set of <var>G</var>. For certain types +the elements <var>alpha</var>, <var>beta</var> or <var>gamma</var> may not be present. +Similarly, for a 3-dimensional group we have the generating set <var>{ a, b, +c, alpha, beta}</var> and <var>alpha</var> and <var>beta</var> may be absent. <p> <p> To obtain a polycyclic generating sequence from the defining generators of the matrix group we have to order the elements in the generating set -suitably. For this purpose we take the subsequence of (γ, β, α, <i>a</i>, <i>b</i>, <i>c</i>, <i>d</i>) of those generators which are present in the +suitably. For this purpose we take the subsequence of <var>(gamma, beta, +alpha, a, b, c, d)</var> of those generators which are present in the defining generating set of the matrix group. This new ordering of the generators is then used to define a polycyclic presentation of the given almost crystallographic group. @@ -293,5 +323,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>aclib manual<br>January 2020 +<address>aclib manual<br>August 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/htm/CHAP004.htm new/aclib-1.3.3/htm/CHAP004.htm --- old/aclib-1.3.2/htm/CHAP004.htm 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/htm/CHAP004.htm 2025-08-28 16:43:19.000000000 +0200 @@ -19,7 +19,7 @@ as torsion free in <a href="biblio.htm#KD"><cite>KD</cite></a> are also determined as torsion free ones by <font face="Gill Sans,Helvetica,Arial">GAP</font>. In <a href="biblio.htm#KD"><cite>KD</cite></a> these almost Bieberbach groups are listed as ``AB-groups''. So for type ``013'' these are the groups with parameters -(<i>k</i>,0,1,0,1,0) where <i>k</i> is an even integer. Let's look at some examples +<var>(k,0,1,0,1,0)</var> where <var>k</var> is an even integer. Let's look at some examples in <font face="Gill Sans,Helvetica,Arial">GAP</font>: <p> <pre> @@ -35,15 +35,17 @@ <p> Further, there is also some cohomology information in the tables of <a href="biblio.htm#KD"><cite>KD</cite></a>. In fact, the groups in this library were obtained -as extensions <i>E</i> of the form +as extensions <var>E</var> of the form <p> -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 1 → <b>Z</b>→ <i>E</i> → <i>Q</i> → 1 </td></tr></table></td></tr></table> +<p><var> +1 rightarrow<font face="helvetica,arial">Z</font>rightarrowE rightarrowQ rightarrow1 +<p></var> <p> -where, in the 4-dimensional case <i>Q</i> = <i>E</i>/〈<i>d</i> 〉. The +where, in the 4-dimensional case <var>Q = E/langled rangle</var>. The cohomology information for the particular example above shows that -the groups determined by a parameter set (<i>k</i><sub>1</sub>,<i>k</i><sub>2</sub>,<i>k</i><sub>3</sub>,<i>k</i><sub>4</sub>,<i>k</i><sub>4</sub>,<i>k</i><sub>6</sub>) +the groups determined by a parameter set <var>(k<sub>1</sub>,k<sub>2</sub>,k<sub>3</sub>,k<sub>4</sub>,k<sub>4</sub>,k<sub>6</sub>)</var> are equivalent as extensions to the groups determined by the parameters -(<i>k</i><sub>1</sub>, <i>k</i><sub>2</sub> mod 2, <i>k</i><sub>3</sub> mod 2, <i>k</i><sub>4</sub> mod 2, <i>k</i><sub>5</sub> mod 2, 0). This is +<var>(k<sub>1</sub>, k<sub>2</sub> bmod2, k<sub>3</sub> bmod2, k<sub>4</sub> bmod2, k<sub>5</sub> bmod2, 0)</var>. This is also visible in finding torsion: <p> <pre> @@ -64,16 +66,18 @@ classification of the almost Bieberbach groups in <a href="biblio.htm#KD"><cite>KD</cite></a>. Using <font face="Gill Sans,Helvetica,Arial">GAP</font>, it is now possible to check these computations. As an example we consider the 4-dimensional almost crystallographic groups of type 85 on -page 202 of <a href="biblio.htm#KD"><cite>KD</cite></a>. This group <i>E</i> has 6 generators. In the table, one +page 202 of <a href="biblio.htm#KD"><cite>KD</cite></a>. This group <var>E</var> has 6 generators. In the table, one also finds the information <p> -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> <i>H</i><sup>2</sup>(<i>Q</i>,<b>Z</b>) = <b>Z</b>⊕(<b>Z</b><sub>2</sub>)<sup>2</sup> ⊕<b>Z</b><sub>4</sub> </td></tr></table></td></tr></table> -<p> -for <i>Q</i>=<i>E</i>/〈<i>d</i> 〉 as above. Moreover, the <i>Q</i>--module <b>Z</b> is -in fact the group 〈<i>d</i> 〉, where the <i>Q</i>-action comes from -conjugation inside <i>E</i>. In the case of groups of type 85, <b>Z</b> is a -trivial <i>Q</i>-module. The following example demonstrates how to (re)compute -this two-cohomology group <i>H</i><sup>2</sup>(<i>Q</i>,<b>Z</b>). +<p><var> +H<sup>2</sup>(Q,<font face="helvetica,arial">Z</font>) = <font face="helvetica,arial">Z</font>oplus(<font face="helvetica,arial">Z</font><sub>2</sub>)<sup>2</sup> oplus<font face="helvetica,arial">Z</font><sub>4</sub> +<p></var> +<p> +for <var>Q=E/langled rangle</var> as above. Moreover, the <var>Q</var>--module <var><font face="helvetica,arial">Z</font></var> is +in fact the group <var>langled rangle</var>, where the <var>Q</var>-action comes from +conjugation inside <var>E</var>. In the case of groups of type 85, <var><font face="helvetica,arial">Z</font></var> is a +trivial <var>Q</var>-module. The following example demonstrates how to (re)compute +this two-cohomology group <var>H<sup>2</sup>(Q,<font face="helvetica,arial">Z</font>)</var>. <p> <pre> gap> G:=AlmostCrystallographicPcpGroup(4, "085", false); @@ -90,9 +94,11 @@ </pre> <p> This last line gives us the abelian invariants of the second -cohomology group <i>H</i><sup>2</sup>(<i>Q</i>,<b>Z</b>). So we should read this line as +cohomology group <var>H<sup>2</sup>(Q,<font face="helvetica,arial">Z</font>)</var>. So we should read this line as <p> -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> <i>H</i><sup>2</sup>(<i>Q</i>,<b>Z</b>) = <b>Z</b><sub>2</sub> ⊕<b>Z</b><sub>2</sub> ⊕<b>Z</b><sub>4</sub> ⊕<b>Z</b></td></tr></table></td></tr></table> +<p><var> +H<sup>2</sup>(Q,<font face="helvetica,arial">Z</font>) = <font face="helvetica,arial">Z</font><sub>2</sub> oplus<font face="helvetica,arial">Z</font><sub>2</sub> oplus<font face="helvetica,arial">Z</font><sub>4</sub> oplus<font face="helvetica,arial">Z</font> +<p></var> <p> which indeed coincides with the information in <a href="biblio.htm#KD"><cite>KD</cite></a>. <p> @@ -103,51 +109,54 @@ <code>aclib</code> and <font face="Gill Sans,Helvetica,Arial">polycyclic</font> we check some computations of <a href="biblio.htm#DM"><cite>DM</cite></a>. <p> Section 5 of the paper <a href="biblio.htm#DM"><cite>DM</cite></a> is completely devoted to an example -of the computation of the <i>P</i>-localization of a virtually nilpotent group, -where <i>P</i> is a set of primes. Although it is not our intention to -develop the theory of <i>P</i>-localization of groups at this place, let us +of the computation of the <var>P</var>-localization of a virtually nilpotent group, +where <var>P</var> is a set of primes. Although it is not our intention to +develop the theory of <var>P</var>-localization of groups at this place, let us summarize some of the main results concerning this topic here. <p> -For a set of primes <i>P</i>, we say that <i>n</i> ∈ <i>P</i> if and only if <i>n</i> is -a product of primes in <i>P</i>. A group <i>G</i> is said to be <i>P</i>-local if and -only if the map μ<sub><i>n</i></sub>:<i>G</i>→ <i>G</i>: <i>g</i> → <i>g</i><sup><i>n</i></sup> is bijective for -all <i>n</i> ∈ <i>P</i>′, where <i>P</i>′ is the set of all primes not in <i>P</i>. The -<i>P</i>-localization of a group <i>G</i>, is a <i>P</i>-local group <i>G</i><sub><i>P</i></sub> together -with a morphism α:<i>G</i> → <i>G</i><sub><i>P</i></sub> which satisfy the following -universal property: For each <i>P</i>-local group <i>L</i> and any morphism -φ: <i>G</i> → <i>L</i>, there exists a unique morphism ψ:<i>G</i><sub><i>P</i></sub> → <i>L</i>, such that ψ°α = φ. +For a set of primes <var>P</var>, we say that <var>n inP</var> if and only if <var>n</var> is +a product of primes in <var>P</var>. A group <var>G</var> is said to be <var>P</var>-local if and +only if the map <var>mu<sub>n</sub>:GrightarrowG: g mapstog<sup>n</sup></var> is bijective for +all <var>n inP'</var>, where <var>P'</var> is the set of all primes not in <var>P</var>. The +<var>P</var>-localization of a group <var>G</var>, is a <var>P</var>-local group <var>G<sub>P</sub></var> together +with a morphism <var>alpha:G rightarrowG<sub>P</sub></var> which satisfy the following +universal property: For each <var>P</var>-local group <var>L</var> and any morphism +<var>varphi: G rightarrowL</var>, there exists a unique morphism <var>psi:G<sub>P</sub> +rightarrowL</var>, such that <var>psicircalpha= varphi</var>. <p> This concept of localization is well developed for finite groups and -for nilpotent groups. For a finite group <i>G</i>, the <i>P</i>-localization is -the largest quotient of <i>G</i>, having no elements with an order belonging to -<i>P</i>′ (the morphism α, mentioned above is the natural projection). +for nilpotent groups. For a finite group <var>G</var>, the <var>P</var>-localization is +the largest quotient of <var>G</var>, having no elements with an order belonging to +<var>P'</var> (the morphism <var>alpha</var>, mentioned above is the natural projection). <p> In <a href="biblio.htm#DM"><cite>DM</cite></a> a contribution is made towards the localization of virtually nilpotent groups. The theory developed in the paper is then illustrated in the last section of the paper by means of the computation of the -<i>P</i>-localization of an almost crystallographic group. For their example -the authors have chosen an almost crystallographic group <i>G</i> of dimension 3 -and type 17. For the set of parameters (<i>k</i><sub>1</sub>,<i>k</i><sub>2</sub>,<i>k</i><sub>3</sub>,<i>k</i><sub>4</sub>) they have -considered all cases of the form (<i>k</i><sub>1</sub>,<i>k</i><sub>2</sub>,<i>k</i><sub>3</sub>,<i>k</i><sub>4</sub>)=(2,0,0,<i>k</i><sub>4</sub>). -<p> -Here we will check their computations in two cases <i>k</i><sub>4</sub>=0 and <i>k</i><sub>4</sub>=1 -using the set of primes <i>P</i>={2}. The holonomy group of these almost -crystallographic groups <i>G</i> is the dihedral group <span style="font-family:helvetica"><i>D</i></span><sub>6</sub> of order +<var>P</var>-localization of an almost crystallographic group. For their example +the authors have chosen an almost crystallographic group <var>G</var> of dimension 3 +and type 17. For the set of parameters <var>(k<sub>1</sub>,k<sub>2</sub>,k<sub>3</sub>,k<sub>4</sub>)</var> they have +considered all cases of the form <var>(k<sub>1</sub>,k<sub>2</sub>,k<sub>3</sub>,k<sub>4</sub>)=(2,0,0,k<sub>4</sub>)</var>. +<p> +Here we will check their computations in two cases <var>k<sub>4</sub>=0</var> and <var>k<sub>4</sub>=1</var> +using the set of primes <var>P={2}</var>. The holonomy group of these almost +crystallographic groups <var>G</var> is the dihedral group <var>calD<sub>6</sub></var> of order 12. Thus there is a short exact sequence of the form -<br clear="all" /><table border="0" width="100%"><tr><td><table align="center" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="center"> 1 → <span class="roman">Fitt</span>(<i>G</i>) → <i>G</i> → <span style="font-family:helvetica"><i>D</i></span><sub>6</sub> → 1·</td></tr></table></td></tr></table> +<p><var> 1 rightarrowFitt(G) rightarrowG + rightarrowcalD<sub>6</sub> rightarrow1. <p></var> <p> As a first step in their computation, Descheemaeker and Malfait determine -the group <i>I</i><sub><i>P</i>′</sub><span style="font-family:helvetica"><i>D</i></span><sub>6</sub>, which is the unique subgroup of order 3 in -<span style="font-family:helvetica"><i>D</i></span><sub>6</sub>. One of the main objects in <a href="biblio.htm#DM"><cite>DM</cite></a> is the group <i>K</i>=<i>p</i><sup>−1</sup> (<i>I</i><sub><i>P</i>′</sub><span style="font-family:helvetica"><i>D</i></span><sub>6</sub>), where <i>p</i> is the natural projection of <i>G</i> onto its -holonomy group. It is known that the <i>P</i>-localization of <i>G</i> coincides -with the <i>P</i>-localization of <i>G</i>/γ<sub>3</sub>(<i>K</i>), where γ<sub>3</sub>(<i>K</i>) is the -third term in the lower central series of <i>K</i>. As <i>G</i>/γ<sub>3</sub>(<i>K</i>) is -finite in this example, we exactly know what this <i>P</i>-localization is. -Let us now show, how GAP can be used to compute this <i>P</i>-localization in +the group <var>I<sub>P'</sub>calD<sub>6</sub></var>, which is the unique subgroup of order 3 in +<var>calD<sub>6</sub></var>. One of the main objects in <a href="biblio.htm#DM"><cite>DM</cite></a> is the group <var>K=p<sup>-1</sup> +(I<sub>P'</sub>calD<sub>6</sub>)</var>, where <var>p</var> is the natural projection of <var>G</var> onto its +holonomy group. It is known that the <var>P</var>-localization of <var>G</var> coincides +with the <var>P</var>-localization of <var>G/gamma<sub>3</sub>(K)</var>, where <var>gamma<sub>3</sub>(K)</var> is the +third term in the lower central series of <var>K</var>. As <var>G/gamma<sub>3</sub>(K)</var> is +finite in this example, we exactly know what this <var>P</var>-localization is. +Let us now show, how GAP can be used to compute this <var>P</var>-localization in two cases: <p> <p> -First case: The parameters are (<i>k</i><sub>1</sub>,<i>k</i><sub>2</sub>,<i>k</i><sub>3</sub>,<i>k</i><sub>4</sub>)=(2,0,0,0) +First case: The parameters are <var>(k<sub>1</sub>,k<sub>2</sub>,k<sub>3</sub>,k<sub>4</sub>)=(2,0,0,0)</var> <pre> gap> G := AlmostCrystallographicPcpGroup(3, 17, [2,0,0,0] ); Pcp group with orders [ 2, 6, 0, 0, 0 ] @@ -184,10 +193,10 @@ g2 ^ 2 = identity g3 ^ 2 = identity </pre> -This shows that <i>G</i><sub><i>P</i></sub> ≅ <b>Z</b><sub>2</sub><sup>3</sup>. +This shows that <var>G<sub>P</sub>cong<font face="helvetica,arial">Z</font><sub>2</sub><sup>3</sup></var>. <p> <p> -Second case: The parameters are (<i>k</i><sub>1</sub>,<i>k</i><sub>2</sub>,<i>k</i><sub>3</sub>,<i>k</i><sub>4</sub>)=(2,0,0,1) +Second case: The parameters are <var>(k<sub>1</sub>,k<sub>2</sub>,k<sub>3</sub>,k<sub>4</sub>)=(2,0,0,1)</var> <pre> gap> G := AlmostCrystallographicPcpGroup(3, 17, [2,0,0,1]);; gap> projection := NaturalHomomorphismOnHolonomyGroup( G );; @@ -209,7 +218,7 @@ g2 ^ g1^-1 = g2*g3 </pre> <p> -In this case, we see that <i>G</i><sub><i>P</i></sub>=<span style="font-family:helvetica"><i>D</i></span><sub>4</sub>. +In this case, we see that <var>G<sub>P</sub>=calD<sub>4</sub></var>. <p> <p> The reader can check that these results coincide with those obtained in @@ -220,5 +229,5 @@ <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP003.htm">Previous</a>] [<a href = "theindex.htm">Index</a>] <P> -<address>aclib manual<br>January 2020 +<address>aclib manual<br>August 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/htm/biblio.htm new/aclib-1.3.3/htm/biblio.htm --- old/aclib-1.3.2/htm/biblio.htm 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/htm/biblio.htm 2025-08-28 16:43:19.000000000 +0200 @@ -32,7 +32,7 @@ <dt><a name="DM"><b>[DM]</b></a><dd> An Descheemaeker and Wim Malfait. -<br> <i>P</i>-localization of relative groups. +<br> P-localization of relative groups. <br> <em>Journal of Pure and Applied Algebra</em>, 159(1), 2001. <dt><a name="LEE"><b>[LEE]</b></a><dd> @@ -44,5 +44,5 @@ </dl><p> [<a href="chapters.htm">Up</a>]<p> <P> -<address>aclib manual<br>January 2020 +<address>aclib manual<br>August 2025 </address></body></html> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/htm/chapters.htm new/aclib-1.3.3/htm/chapters.htm --- old/aclib-1.3.2/htm/chapters.htm 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/htm/chapters.htm 2025-08-28 16:43:19.000000000 +0200 @@ -15,5 +15,5 @@ <li><a href="theindex.htm">Index</a> </ul><p> <P> -<address>aclib manual<br>January 2020 +<address>aclib manual<br>August 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/htm/theindex.htm new/aclib-1.3.3/htm/theindex.htm --- old/aclib-1.3.2/htm/theindex.htm 2020-01-28 17:12:12.000000000 +0100 +++ new/aclib-1.3.3/htm/theindex.htm 2025-08-28 16:43:19.000000000 +0200 @@ -83,5 +83,5 @@ </dl><p> [<a href="chapters.htm">Up</a>]<p> <P> -<address>aclib manual<br>January 2020 +<address>aclib manual<br>August 2025 </address></body></html> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aclib-1.3.2/tst/manual.example-3.tst new/aclib-1.3.3/tst/manual.example-3.tst --- old/aclib-1.3.2/tst/manual.example-3.tst 2020-01-28 17:11:50.000000000 +0100 +++ new/aclib-1.3.3/tst/manual.example-3.tst 2025-08-28 16:43:19.000000000 +0200 @@ -47,6 +47,7 @@ Pcp-group with orders [ 2 ] gap> PreImage( hom, U ); Pcp-group with orders [ 2, 0, 0, 0, 0 ] +gap> Reset(GlobalMersenneTwister,1);; gap> G := AlmostCrystallographicGroup( 4, 70, false ); <matrix group of size infinity with 5 generators> gap> IsAlmostCrystallographic(G); ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2025-09-07 17:40:24.000000000 +0200 @@ -0,0 +1 @@ +.osc
