This file is indexed.

/usr/share/gap/doc/changes/chap2.html is in gap-doc 4r6p5-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (changes) - Chapter 2: Changes between GAP 4.5 and GAP 4.6</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap2"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap1.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap3.html">[Next Chapter]</a>&nbsp;  </div>

<p id="mathjaxlink" class="pcenter"><a href="chap2_mj.html">[MathJax on]</a></p>
<p><a id="X8175857F79C8AD8E" name="X8175857F79C8AD8E"></a></p>
<div class="ChapSects"><a href="chap2.html#X8175857F79C8AD8E">2 <span class="Heading">Changes between <strong class="pkg">GAP</strong> 4.5 and <strong class="pkg">GAP</strong> 4.6</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X837BB2577D478E55">2.1 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.2 (February 2013)</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X7C1300337DD936C4">2.1-1 <span class="Heading">Changes in the core <strong class="pkg">GAP</strong> system</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap2.html#X79A4DFE97A230E6D">2.1-2 <span class="Heading">New and updated packages since <strong class="pkg">GAP</strong> 4.5.4</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X7C2A78667F08A971">2.2 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.3 (March 2013)</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X82859C4083F0D7B9">2.3 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.4 (April 2013)</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap2.html#X7F7F29B27BF76872">2.4 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.5 (July 2013)</span></a>
</span>
</div>
</div>

<h3>2 <span class="Heading">Changes between <strong class="pkg">GAP</strong> 4.5 and <strong class="pkg">GAP</strong> 4.6</span></h3>

<p>This chapter lists most important changes between <strong class="pkg">GAP</strong> 4.5.7 and <strong class="pkg">GAP</strong> 4.6.2 (i.e. between the last release of <strong class="pkg">GAP</strong> 4.5 and the first public release of <strong class="pkg">GAP</strong> 4.6). It also contains information about subsequent update releases for <strong class="pkg">GAP</strong> 4.6.</p>

<p><a id="X837BB2577D478E55" name="X837BB2577D478E55"></a></p>

<h4>2.1 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.2 (February 2013)</span></h4>

<p><a id="X7C1300337DD936C4" name="X7C1300337DD936C4"></a></p>

<h5>2.1-1 <span class="Heading">Changes in the core <strong class="pkg">GAP</strong> system</span></h5>

<p>Improved and extended functionality:</p>


<ul>
<li><p>It is now possible to declare a name as an operation with two or more arguments (possibly several times) and <em>THEN</em> declare it as an attribute. Previously this was only possible in the other order. This should make the system more independent of the order in which packages are loaded.</p>

</li>
<li><p>Words in fp groups are now printed in factorised form if possible and not too time-consuming, i.e. <code class="code">a*b*a*b*a*b</code> will be printed as <code class="code">(a*b)^3</code>.</p>

</li>
<li><p>Added methods to calculate Hall subgroups in nonsolvable groups.</p>

</li>
<li><p>Added a generic method for <code class="func">IsPSolvable</code> (<a href="../../doc/ref/chap39.html#X81130F9A7CFCF6BF"><span class="RefLink">Reference: IsPSolvable</span></a>) and a better generic method for <code class="func">IsPNilpotent</code> (<a href="../../doc/ref/chap39.html#X87415A8485FCF510"><span class="RefLink">Reference: IsPNilpotent</span></a>) for groups.</p>

</li>
<li><p>Improvements to action homomorphisms: image of an element can use existing stabiliser chain of the image group (to reduce the number of images to compute), preimages under linear/projective action homomorphisms use linear algebra to avoid factorisation.</p>

</li>
<li><p>To improve efficiency, additional code was added to make sure that the <code class="code">HomePcgs</code> of a permutation group is in <code class="code">IsPcgsPermGroupRep</code> representation in more cases.</p>

</li>
<li><p>Added an operation <code class="func">SortBy</code> (<a href="../../doc/ref/chap21.html#X7FE4975F8166884D"><span class="RefLink">Reference: SortBy</span></a>) with arguments being a function <var class="Arg">f</var> of one argument and a list <var class="Arg">l</var> to be sorted in such a way that <code class="code"><var class="Arg">l</var>(<var class="Arg">f</var>[i]) &lt;= <var class="Arg">l</var>(<var class="Arg">f</var>[i+1])</code>.</p>

</li>
<li><p>Added a kernel function <code class="code">MEET_BLIST</code> which returns <code class="keyw">true</code> if the two boolean lists have <code class="keyw">true</code> in any common position and <code class="keyw">false</code> otherwise. This is useful for representing subsets of a fixed set by boolean lists.</p>

</li>
<li><p>When assigning to a position in a compressed FFE vector <strong class="pkg">GAP</strong> now checks to see if the value being assigned can be converted into an internal FFE element if it isn't one already. This uses new attribute <code class="func">AsInternalFFE</code> (<a href="../../doc/ref/chap59.html#X807959EE82CED148"><span class="RefLink">Reference: AsInternalFFE</span></a>), for which methods are installed for internal FFEs, Conway FFEs and ZmodpZ objects.</p>

</li>
<li><p>Replaced <code class="func">ViewObj</code> (<a href="../../doc/ref/chap6.html#X815BF22186FD43C9"><span class="RefLink">Reference: ViewObj</span></a>) method for fields by <code class="func">ViewString</code> (<a href="../../doc/ref/chap27.html#X7803FBCA79DB5529"><span class="RefLink">Reference: ViewString</span></a>) method to improve the way how polynomial rings over algebraic extenstions of fields are displayed.</p>

</li>
<li><p>Made the info string (optional 2nd argument to <code class="func">InstallImmediateMethod</code> (<a href="../../doc/ref/chap78.html#X87B47AC0849611F8"><span class="RefLink">Reference: InstallImmediateMethod</span></a>)) behave similarly to the info string in <code class="func">InstallMethod</code> (<a href="../../doc/ref/chap78.html#X837EFDAB7BEF290B"><span class="RefLink">Reference: InstallMethod</span></a>). In particular, <code class="func">TraceImmediateMethods</code> (<a href="../../doc/ref/chap7.html#X81078D3387A38E31"><span class="RefLink">Reference: TraceImmediateMethods</span></a>) now always prints the name of the operation.</p>

</li>
<li><p>Syntax errors such as <code class="code">Unbind(x,1)</code> had the unhelpful property that <code class="code">x</code> got unbound before the syntax error was reported. A specific check was added to catch this and similar cases a little earlier.</p>

</li>
<li><p>Allow a <code class="code">GAPARGS</code> parameter to the top-level <strong class="pkg">GAP</strong> <code class="file">Makefile</code> to pass extra arguments to the <strong class="pkg">GAP</strong> used for manual building.</p>

</li>
<li><p>Added an attribute <code class="func">UnderlyingRingElement</code> (<a href="../../doc/ref/chap64.html#X874B2B2A7F5A9A78"><span class="RefLink">Reference: UnderlyingRingElement</span></a>) for Lie objects.</p>

</li>
<li><p>The function <code class="func">PrimeDivisors</code> (<a href="../../doc/ref/chap14.html#X80E7A5D381C64CC9"><span class="RefLink">Reference: PrimeDivisors</span></a>) now became an attribute. [suggested by Mohamed Barakat]</p>

</li>
<li><p>Added an operation <code class="func">DistancePerms</code> (<a href="../../doc/ref/chap42.html#X7BC944F57A04AFF2"><span class="RefLink">Reference: DistancePerms</span></a>) with a kernel method for internal permutations and a generic method.</p>

</li>
<li><p>Added a method for <code class="func">Subfields</code> (<a href="../../doc/ref/chap58.html#X83490C65819D85FE"><span class="RefLink">Reference: Subfields</span></a>) to support large finite fields. [reported by Inneke van Gelder]</p>

</li>
</ul>
<p>Fixed bugs which could lead to crashes:</p>


<ul>
<li><p>The extremely old <code class="code">DEBUG_DEADSONS_BAGS</code> compile-time option has not worked correctly for many years and indeed crashes <strong class="pkg">GAP</strong>. The type of bug it is there to detect has not arisen in many years and we have certainly not used this option, so it has been removed. [Reported by Volker Braun]</p>

</li>
</ul>
<p>Other fixed bugs:</p>


<ul>
<li><p>Scanning of floating point literals collided with iterated use of integers as record field elements in expressions like <code class="code">r.1.2</code>.</p>

</li>
<li><p>Fixed two potential problems in <code class="code">NorSerPermPcgs</code>, one corrupting some internal data and one possibly mixing up different pcgs.</p>

</li>
<li><p>Fixed a performance problem with <code class="func">NiceMonomorphism</code> (<a href="../../doc/ref/chap40.html#X7965086E82ABCF41"><span class="RefLink">Reference: NiceMonomorphism</span></a>). [reported by John Bamberg]</p>

</li>
<li><p>Fixed a bug in <code class="func">ReadCSV</code> (<a href="../../doc/ref/chap10.html#X86FDC1EF82CAD2DA"><span class="RefLink">Reference: ReadCSV</span></a>) that caused some <code class="file">.csv</code> files being parsed incorrectly.</p>

</li>
</ul>
<p>No longer supported:</p>


<ul>
<li><p>The file <code class="file">lib/consistency.g</code>, which contained three undocumented auxiliary functions, has been removed from the library. In addition, the global record <code class="code">Revision</code> is now deprecated, so there is no need to bind its components in <strong class="pkg">GAP</strong> packages.</p>

</li>
</ul>
<p><a id="X79A4DFE97A230E6D" name="X79A4DFE97A230E6D"></a></p>

<h5>2.1-2 <span class="Heading">New and updated packages since <strong class="pkg">GAP</strong> 4.5.4</span></h5>

<p>At the time of the release of <strong class="pkg">GAP</strong> 4.5 there were 99 packages redistributed with <strong class="pkg">GAP</strong>. The first public release of <strong class="pkg">GAP</strong> 4.6 contains 106 packages.</p>

<p>The new packages that have been added to the redistribution since the release of <strong class="pkg">GAP</strong> 4.5.4 are:</p>


<ul>
<li><p><strong class="pkg">AutoDoc</strong> package by S. Gutsche, providing tools for automated generation of <strong class="pkg">GAPDoc</strong> manuals.</p>

</li>
<li><p><strong class="pkg">Congruence</strong> package by A. Konovalov, which provides functions to construct various canonical congruence subgroups in <span class="SimpleMath">SL_2(ℤ)</span>, and also intersections of a finite number of such subgroups, implements the algorithm for generating Farey symbols for congruence subgroups and uses it to produce a system of independent generators for these subgroups.</p>

</li>
<li><p><strong class="pkg">Convex</strong> package by S. Gutsche, which provides structures and algorithms for convex geometry.</p>

</li>
<li><p><strong class="pkg">Float</strong> package by L. Bartholdi, which extends <strong class="pkg">GAP</strong> floating-point capabilities by providing new floating-point handlers for high-precision real, interval and complex arithmetic using MPFR, MPFI, MPC or CXSC external libraries. It also contains a very high-performance implementation of the LLL (Lenstra-Lenstra-Lovász) lattice reduction algorithm via the external library FPLLL.</p>

</li>
<li><p><strong class="pkg">PolymakeInterface</strong> package by T. Baechler and S. Gutsche, providing a link to the callable library of the <strong class="pkg">polymake</strong> system (<span class="URL"><a href="http://www.polymake.org">http://www.polymake.org</a></span>).</p>

</li>
<li><p><strong class="pkg">ToolsForHomalg</strong> package by M. Barakat, S. Gutsche and M. Lange-Hegermann, which provides some auxiliary functionality for the <strong class="pkg">homalg</strong> project (<span class="URL"><a href="http://homalg.math.rwth-aachen.de/">http://homalg.math.rwth-aachen.de/</a></span>).</p>

</li>
<li><p><strong class="pkg">ToricVarieties</strong> package by S. Gutsche, which provides data structures to handle toric varieties by their commutative algebra structure and by their combinatorics.</p>

</li>
</ul>
<p>Furthermore, some packages have been upgraded substantially since the <strong class="pkg">GAP</strong> 4.5.4 release:</p>


<ul>
<li><p>Starting from 2.x.x, the functionality for iterated monodromy groups has been moved from the <strong class="pkg">FR</strong> package by L. Bartholdi to a separate package IMG (currently undeposited, available from <span class="URL"><a href="https://github.com/laurentbartholdi/img">https://github.com/laurentbartholdi/img</a></span>). This completely removes the dependency of <strong class="pkg">FR</strong> on external library modules, and should make its installation much easier.</p>

</li>
</ul>
<p><a id="X7C2A78667F08A971" name="X7C2A78667F08A971"></a></p>

<h4>2.2 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.3 (March 2013)</span></h4>

<p>Improved functionality:</p>


<ul>
<li><p>Several changes were made to <code class="func">IdentityMat</code> (<a href="../../doc/ref/chap24.html#X7DB902CE848D1524"><span class="RefLink">Reference: IdentityMat</span></a>) and <code class="func">NullMat</code> (<a href="../../doc/ref/chap24.html#X86D343A77D9B3D4D"><span class="RefLink">Reference: NullMat</span></a>). First off, the documentation was changed to properly state that these functions support arbitrary rings, and not just fields. Also, more usage examples were added to the manual.</p>

<p>For <code class="code">NullMat</code>, it is now also always possible to specify a ring element instead of a ring, and this is documented. This matches existing <code class="code">IdentityMat</code> behavior, and partially worked before (undocumented), but in some cases could run into error or infinite recursion.</p>

<p>In the other direction, if a finite field element, <code class="code">IdentityMat</code> now really creates a matrix over the smallest field containing that element. Previously, a matrix over the prime field was created instead, contrary to the documentation.</p>

<p>Furthermore, <code class="code">IdentityMat</code> over small finite fields is now substantially faster when creating matrices of large dimension (say a thousand or so).</p>

<p>Finally, <code class="func">MutableIdentityMat</code> (<a href="../../doc/ref/chap77.html#X7F6A6CBC7C9E91E5"><span class="RefLink">Reference: MutableIdentityMat</span></a>) and <code class="func">MutableNullMat</code> (<a href="../../doc/ref/chap77.html#X7F6A6CBC7C9E91E5"><span class="RefLink">Reference: MutableNullMat</span></a>) were explicitly declared obsolete (and may be removed in <strong class="pkg">GAP</strong> 4.7). They actually were deprecated since <strong class="pkg">GAP</strong> 4.1, and their use discouraged by the manual. Code using them should switch to <code class="func">IdentityMat</code> (<a href="../../doc/ref/chap24.html#X7DB902CE848D1524"><span class="RefLink">Reference: IdentityMat</span></a>) respectively <code class="func">NullMat</code> (<a href="../../doc/ref/chap24.html#X86D343A77D9B3D4D"><span class="RefLink">Reference: NullMat</span></a>).</p>

</li>
<li><p>Two new <code class="func">PerfectResiduum</code> (<a href="../../doc/ref/chap39.html#X83D5C8B8865C85F1"><span class="RefLink">Reference: PerfectResiduum</span></a>) methods were added for solvable and perfect groups, handling these cases optimally. Moreover, the existing generic method was improved by changing it to use <code class="func">DerivedSeriesOfGroup</code> (<a href="../../doc/ref/chap39.html#X7A879948834BD889"><span class="RefLink">Reference: DerivedSeriesOfGroup</span></a>). Previously, it would always compute the derived series from scratch and then throw away the result.</p>

</li>
<li><p>A new <code class="func">MinimalGeneratingSet</code> (<a href="../../doc/ref/chap39.html#X81D15723804771E2"><span class="RefLink">Reference: MinimalGeneratingSet</span></a>) method for groups handled by a nice monomorphisms was added, similar to the existing <code class="func">SmallGeneratingSet</code> (<a href="../../doc/ref/chap39.html#X814DBABC878D5232"><span class="RefLink">Reference: SmallGeneratingSet</span></a>) method. This is useful if the nice monomorphism is already mapping into a pc or pcp group.</p>

</li>
<li><p>Added a special method for <code class="func">DerivedSubgroup</code> (<a href="../../doc/ref/chap39.html#X7CC17CF179ED7EF2"><span class="RefLink">Reference: DerivedSubgroup</span></a>) if the group is known to be abelian.</p>

</li>
</ul>
<p>Fixed bugs:</p>


<ul>
<li><p>Fixed a bug in <code class="func">PowerModInt</code> (<a href="../../doc/ref/chap14.html#X7E404B1183DBC82A"><span class="RefLink">Reference: PowerModInt</span></a>) computing <span class="SimpleMath">r^e</span> mod <span class="SimpleMath">m</span> in a special case when <span class="SimpleMath">e=0</span> and <span class="SimpleMath">m=0</span>. [Reported by Ignat Soroko]</p>

</li>
<li><p><code class="func">CoefficientsQadic</code> (<a href="../../doc/ref/chap14.html#X79B466E984CD52D4"><span class="RefLink">Reference: CoefficientsQadic</span></a>) now better checks its arguments to avoid an infinite loop when being asked for a <var class="Arg">q</var>-adic representation for <span class="SimpleMath">q=1</span>. [Reported by Ignat Soroko]</p>

</li>
<li><p>Methods for <code class="code">SylowSubgroupOp</code> (see <code class="func">SylowSubgroup</code> (<a href="../../doc/ref/chap39.html#X7AA351308787544C"><span class="RefLink">Reference: SylowSubgroup</span></a>)) for symmetric and alternating group did not always set <code class="func">IsPGroup</code> (<a href="../../doc/ref/chap39.html#X8089F18C810B7E3E"><span class="RefLink">Reference: IsPGroup</span></a>) and <code class="func">PrimePGroup</code> (<a href="../../doc/ref/chap39.html#X87356BAA7E9E2142"><span class="RefLink">Reference: PrimePGroup</span></a>) for the returned Sylow subgroup.</p>

</li>
<li><p>Display of matrices consisting of Conway field elements (which are displayed as polynomials) did not print constant 1 terms.</p>

</li>
<li><p>Added an extra check and a better error message in the method to access <em>natural</em> generators of domains using the <code class="code">.</code> operator (see <code class="func">GeneratorsOfDomain</code> (<a href="../../doc/ref/chap31.html#X7E353DD1838AB223"><span class="RefLink">Reference: GeneratorsOfDomain</span></a>)).</p>

</li>
<li><p>Trying to solve the word problem in an fp group where one or more generators has a name of more than one alphabetic character led to a break loop.</p>

</li>
<li><p>Provided the default method for <code class="func">AbsoluteIrreducibleModules</code> (<a href="../../doc/ref/chap71.html#X7D0BD5337D1C069B"><span class="RefLink">Reference: AbsoluteIrreducibleModules</span></a>) as a temporary workaround for the problem which may cause returning wrong results or producing an error when being called for a non-prime field.</p>

</li>
<li><p>A bug in the <strong class="pkg">GAP</strong> kernel caused <code class="code">RNamObj</code> to error out when called with a string that had the <code class="func">IsSSortedList</code> (<a href="../../doc/ref/chap21.html#X80CDAF45782E8DCB"><span class="RefLink">Reference: IsSSortedList</span></a>) property set (regardless of whether it was set to <code class="keyw">true</code> or <code class="keyw">false</code>). This in turn would lead to strange (and inappropriate) errors when using such a string to access entries of a record.</p>

</li>
<li><p><strong class="pkg">GAP</strong> can store vectors over small finite fields (size at most 256) in a special internal data representation where each entry of the vector uses exactly one byte. Due to an off-by-one bug, the case of a field with exactly 256 elements was not handled properly. As a result, <strong class="pkg">GAP</strong> failed to convert a vector to the special data representation, which in some situations could lead to a crash. The off-by-one error was fixed and now vectors over <span class="SimpleMath">GF(256)</span> work as expected.</p>

</li>
<li><p>A bug in the code for accessing sublist via the <code class="code">list{poss}</code> syntax could lead to <strong class="pkg">GAP</strong> crashing. Specifically, if the list was a compressed vector over a finite field, and the sublist syntax was nested, as in <code class="code">vec{poss1}{poss2}</code>. This now correctly triggers an error instead of crashing.</p>

</li>
</ul>
<p>New packages added for the redistribution with <strong class="pkg">GAP</strong>:</p>


<ul>
<li><p><strong class="pkg">SpinSym</strong> package by L. Maas, which contains Brauer tables of Schur covers of symmetric and alternating groups and provides some related functionalities.</p>

</li>
</ul>
<p><a id="X82859C4083F0D7B9" name="X82859C4083F0D7B9"></a></p>

<h4>2.3 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.4 (April 2013)</span></h4>

<p>New functionality:</p>


<ul>
<li><p>New command line option <code class="code">-O</code> was introduced to disable loading obsolete variables. This option may be used, for example, to check that they are not used in a <strong class="pkg">GAP</strong> package or one's own <strong class="pkg">GAP</strong> code. For further details see <a href="../../doc/ref/chap3.html#X79CCD3A6821E5A37"><span class="RefLink">Reference: options</span></a> and <a href="../../doc/ref/chap77.html#X78C85ED17F00DCC1"><span class="RefLink">Reference: Replaced and Removed Command Names</span></a>.</p>

</li>
</ul>
<p>Fixed bugs which could lead to incorrect results:</p>


<ul>
<li><p>Fixed the bug in <code class="func">NewmanInfinityCriterion</code> (<a href="../../doc/ref/chap47.html#X85C9FD548394C1E2"><span class="RefLink">Reference: NewmanInfinityCriterion</span></a>) which may cause returning <code class="keyw">true</code> instead of <code class="keyw">false</code>. [Reported by Lev Glebsky]</p>

</li>
</ul>
<p>Fixed bugs which could lead to crashes:</p>


<ul>
<li><p>Fixed the kernel method for <code class="func">Remove</code> (<a href="../../doc/ref/chap21.html#X7E98B11B79BA9167"><span class="RefLink">Reference: Remove</span></a>) which did not raise an error in case of empty lists, but corrupted the object. The error message in a library method is also improved. [Reported by Roberto Ràdina]</p>

</li>
</ul>
<p>Fixed bugs that could lead to break loops:</p>


<ul>
<li><p>Fixed requirements in a method to multiply a list and an algebraic element. [Reported by Sebastian Gutsche]</p>

</li>
<li><p>Fixed a bug in <code class="func">NaturalCharacter</code> (<a href="../../doc/ref/chap72.html#X82C01DDB82D751A9"><span class="RefLink">Reference: NaturalCharacter (for a group)</span></a>) entering a break loop when being called on a homomorphism whose image is not a permutation group. [Reported by Sebastian Gutsche]</p>

</li>
<li><p>Fixed a bug in <code class="func">ExponentsConjugateLayer</code> (<a href="../../doc/ref/chap45.html#X868D6DB07D349460"><span class="RefLink">Reference: ExponentsConjugateLayer</span></a>) which occured, for example, in some calls of <code class="func">SubgroupsSolvableGroup</code> (<a href="../../doc/ref/chap39.html#X7AD7804A803910AC"><span class="RefLink">Reference: SubgroupsSolvableGroup</span></a>) [Reported by Ramon Esteban-Romero]</p>

</li>
<li><p>Fixed a problem with displaying function fields, e.g. <code class="code">Field(Indeterminate(Rationals,"x"))</code>. [Reported by Jan Willem Knopper]</p>

</li>
<li><p>Fixed two bugs in the code for <code class="func">NaturalHomomorphismByIdeal</code> (<a href="../../doc/ref/chap56.html#X83D53D98809EC461"><span class="RefLink">Reference: NaturalHomomorphismByIdeal</span></a>) for polynomial rings. [Reported by Martin Leuner]</p>

</li>
<li><p>Added missing method for <code class="func">String</code> (<a href="../../doc/ref/chap27.html#X81FB5BE27903EC32"><span class="RefLink">Reference: String</span></a>) for <code class="code">-infinity</code>.</p>

</li>
<li><p>Fixed the bug with <code class="func">ONanScottType</code> (<a href="../../doc/ref/chap43.html#X7E50211A7B92455F"><span class="RefLink">Reference: ONanScottType</span></a>) not recognising product action properly in some cases.</p>

</li>
<li><p>The method for <code class="func">SlotUsagePattern</code> (<a href="../../doc/ref/chap37.html#X84C83CE98194FD03"><span class="RefLink">Reference: SlotUsagePattern</span></a>) for straight line programs had a bug which triggered an error, if the straight line program contained unnecessary steps.</p>

</li>
</ul>
<p><a id="X7F7F29B27BF76872" name="X7F7F29B27BF76872"></a></p>

<h4>2.4 <span class="Heading"><strong class="pkg">GAP</strong> 4.6.5 (July 2013)</span></h4>

<p>Improved functionality:</p>


<ul>
<li><p><code class="func">TraceMethods</code> (<a href="../../doc/ref/chap7.html#X80B044017C9E4137"><span class="RefLink">Reference: TraceMethods (for operations)</span></a>) and <code class="func">UntraceMethods</code> (<a href="../../doc/ref/chap7.html#X7EB04D387C53E4C1"><span class="RefLink">Reference: UntraceMethods (for operations)</span></a>) now better check their arguments and provide a sensible error message if being called without arguments. Also, both variants of calling them are now documented.</p>

</li>
<li><p>Library methods for <code class="func">Sortex</code> (<a href="../../doc/ref/chap21.html#X87287FCA81E2B06A"><span class="RefLink">Reference: Sortex</span></a>) are now replaced by faster ones using the kernel <code class="func">SortParallel</code> (<a href="../../doc/ref/chap21.html#X791F2B2C7E9B9A46"><span class="RefLink">Reference: SortParallel</span></a>) functionality instead of making expensive zipped lists.</p>

</li>
</ul>
<p>Fixed bugs which could lead to incorrect results:</p>


<ul>
<li><p><code class="func">IntHexString</code> (<a href="../../doc/ref/chap27.html#X7B6D118184F692A0"><span class="RefLink">Reference: IntHexString</span></a>) wrongly produced a large integer when there were too many leading zeros. [Reported by Joe Bohanon]</p>

</li>
</ul>
<p>Fixed bugs that could lead to break loops:</p>


<ul>
<li><p>A bug that may occur in some cases while calling <code class="func">TransitiveIdentification</code> (<a href="../../doc/ref/chap50.html#X7EE614D780C713D1"><span class="RefLink">Reference: TransitiveIdentification</span></a>). [Reported by Izumi Miyamoto]</p>

</li>
<li><p>The new code for semidirect products of permutation groups, introduced in <strong class="pkg">GAP</strong> 4.6, had a bug which was causing problems for <code class="func">Projection</code> (<a href="../../doc/ref/chap32.html#X8769E8DA80BC96C1"><span class="RefLink">Reference: Projection</span></a>). [Reported by Graham Ellis]</p>

</li>
</ul>

<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">[Top of Book]</a>&nbsp;  <a href="chap0.html#contents">[Contents]</a>&nbsp;  &nbsp;<a href="chap1.html">[Previous Chapter]</a>&nbsp;  &nbsp;<a href="chap3.html">[Next Chapter]</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>