Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346<Chapter Label="ChangesGAP45toGAP46">1<Heading>Changes between &GAP; 4.5 and &GAP; 4.6</Heading>23This chapter lists most important changes between4&GAP; 4.5.7 and &GAP; 4.6.25(i.e. between the last release of &GAP; 4.56and the first public release of &GAP; 4.6).7It also contains information8about subsequent update releases for &GAP; 4.6.910<Section Label="fix462">11<Heading>&GAP; 4.6.2 (February 2013)</Heading>1213<Subsection Label="Changes in the core GAP46 system">14<Heading>Changes in the core &GAP; system introduced in &GAP; 4.6</Heading>1516Improved and extended functionality:17<List>18<Item>19It is now possible to declare a name as an operation with20two or more arguments (possibly several times) and <E>THEN</E> declare21it as an attribute. Previously this was only possible in22the other order. This should make the system more independent of23the order in which packages are loaded.24</Item>25<Item>26Words in fp groups are now printed in factorised form if possible and not27too time-consuming, i.e. <C>a*b*a*b*a*b</C> will be printed as <C>(a*b)^3</C>.28</Item>29<Item>30Added methods to calculate Hall subgroups in nonsolvable groups.31</Item>32<Item>33Added a generic method for <Ref Prop="IsPSolvable" BookName="ref"/> and34a better generic method for <Ref Prop="IsPNilpotent" BookName="ref"/> for35groups.36</Item>37<Item>38Improvements to action homomorphisms: image of an element can use existing39stabiliser chain of the image group (to reduce the number of images to40compute), preimages under linear/projective action homomorphisms use41linear algebra to avoid factorisation.42</Item>43<Item>44To improve efficiency, additional code was added to make sure that the45<C>HomePcgs</C> of a permutation group is in <C>IsPcgsPermGroupRep</C>46representation in more cases.47</Item>48<Item>49Added an operation <Ref Oper="SortBy" BookName="ref"/> with arguments being50a function <A>f</A> of one argument and a list <A>l</A> to be sorted in51such a way that <C><A>l</A>(<A>f</A>[i]) <= <A>l</A>(<A>f</A>[i+1])</C>.52</Item>53<Item>54Added a kernel function <C>MEET_BLIST</C> which returns <K>true</K> if the55two boolean lists have <K>true</K> in any common position and <K>false</K>56otherwise. This is useful for representing subsets of a fixed set by boolean57lists.58</Item>59<Item>60When assigning to a position in a compressed FFE vector &GAP; now checks to61see if the value being assigned can be converted into an internal FFE62element if it isn't one already. This uses new attribute63<Ref Oper="AsInternalFFE" BookName="ref"/>, for which64methods are installed for internal FFEs, Conway FFEs and ZmodpZ objects.65</Item>66<Item>67Replaced <Ref Oper="ViewObj" BookName="ref"/> method for fields by68<Ref Oper="ViewString" BookName="ref"/> method to improve the way69how polynomial rings over algebraic extenstions of fields are displayed.70</Item>71<Item>72Made the info string (optional 2nd argument to73<Ref Func="InstallImmediateMethod" BookName="ref"/>)74behave similarly to the info string in75<Ref Func="InstallMethod" BookName="ref"/>.76In particular, <Ref Func="TraceImmediateMethods" BookName="ref"/>77now always prints the name of the operation.78</Item>79<Item>80Syntax errors such as <C>Unbind(x,1)</C> had the unhelpful81property that <C>x</C> got unbound before the syntax error82was reported. A specific check was added to catch this and83similar cases a little earlier.84</Item>85<Item>86Allow a <C>GAPARGS</C> parameter to the top-level &GAP; <F>Makefile</F> to pass87extra arguments to the &GAP; used for manual building.88</Item>89<Item>90Added an attribute <Ref Attr="UnderlyingRingElement" BookName="ref"/> for Lie objects.91</Item>92<Item>93The function <Ref Attr="PrimeDivisors" BookName="ref"/> now became an attribute.94[suggested by Mohamed Barakat]95</Item>96<Item>97Added an operation <Ref Oper="DistancePerms" BookName="ref"/> with a kernel method for98internal permutations and a generic method.99</Item>100<Item>101Added a method for <Ref Oper="Subfields" BookName="ref"/> to support large finite fields.102[reported by Inneke van Gelder]103</Item>104</List>105106Fixed bugs which could lead to crashes:107<List>108<Item>109The extremely old <C>DEBUG_DEADSONS_BAGS</C> compile-time110option has not worked correctly for many years and indeed crashes &GAP;.111The type of bug it is there to detect has not arisen in many years and we112have certainly not used this option, so it has been removed.113[Reported by Volker Braun]114</Item>115</List>116117Other fixed bugs:118119<List>120<Item>121Scanning of floating point literals collided with iterated use of integers122as record field elements in expressions like <C>r.1.2</C>.123</Item>124<Item>125Fixed two potential problems in <C>NorSerPermPcgs</C>, one corrupting126some internal data and one possibly mixing up different pcgs.127</Item>128<Item>129Fixed a performance problem with <Ref Oper="NiceMonomorphism" BookName="ref"/>.130[reported by John Bamberg]131</Item>132<Item>133Fixed a bug in <Ref Func="ReadCSV" BookName="ref"/> that caused some134<F>.csv</F> files being parsed incorrectly.135</Item>136</List>137138No longer supported:139<List>140<Item>141The file <File>lib/consistency.g</File>, which contained three undocumented142auxiliary functions, has been removed from the library. In addition, the143global record <C>Revision</C> is now deprecated, so there is no need to144bind its components in &GAP; packages.145</Item>146</List>147148</Subsection>149150<Subsection Label="New and updated packages since GAP 4.5.4">151<Heading>New and updated packages since &GAP; 4.5.4</Heading>152153At the time of the release of &GAP; 4.5 there were 99 packages redistributed with &GAP;.154The first public release of &GAP; 4.6 contains 106 packages.155<P/>156157The new packages that have been added to the redistribution158since the release of &GAP; 4.5.4 are:159160<List>161<Item>162<Package>AutoDoc</Package> package by S. Gutsche,163providing tools for automated generation of <Package>GAPDoc</Package> manuals.164</Item>165<Item>166<Package>Congruence</Package> package by A. Konovalov,167which provides functions to construct various canonical168congruence subgroups in <M>SL_2(&ZZ;)</M>, and also169intersections of a finite number of such subgroups,170implements the algorithm for generating Farey symbols for171congruence subgroups and uses it to produce a system of172independent generators for these subgroups.173</Item>174<Item>175<Package>Convex</Package> package by S. Gutsche,176which provides structures and algorithms for convex geometry.177</Item>178<Item>179<Package>Float</Package> package by L. Bartholdi, which extends &GAP;180floating-point capabilities by providing new floating-point handlers for181high-precision real, interval and complex arithmetic using MPFR, MPFI,182MPC or CXSC external libraries. It also contains a very high-performance183implementation of the LLL (Lenstra-Lenstra-Lovász) lattice reduction184algorithm via the external library FPLLL.185</Item>186<Item>187<Package>PolymakeInterface</Package> package by T. Baechler and S. Gutsche,188providing a link to the callable library of the <Package>polymake</Package>189system (<URL>http://www.polymake.org</URL>).190</Item>191<Item>192<Package>ToolsForHomalg</Package> package by M. Barakat, S. Gutsche and193M. Lange-Hegermann, which provides some auxiliary functionality for the194<Package>homalg</Package> project (<URL>http://homalg.math.rwth-aachen.de/</URL>).195</Item>196<Item>197<Package>ToricVarieties</Package> package by S. Gutsche,198which provides data structures to handle toric varieties by their199commutative algebra structure and by their combinatorics.200</Item>201</List>202203Furthermore, some packages have been upgraded substantially204since the &GAP; 4.5.4 release:205<List>206<Item>207Starting from 2.x.x, the functionality for iterated monodromy208groups has been moved from the <Package>FR</Package> package209by L. Bartholdi to a separate package IMG (currently undeposited,210available from <URL>https://github.com/laurentbartholdi/img</URL>).211This completely removes the dependency of <Package>FR</Package>212on external library modules, and should make its installation much easier.213</Item>214</List>215216</Subsection>217218</Section>219220<Section Label="fix463">221<Heading>&GAP; 4.6.3 (March 2013)</Heading>222223Improved functionality:224<List>225226<Item>227Several changes were made to <Ref Func="IdentityMat" BookName="ref"/>228and <Ref Func="NullMat" BookName="ref"/>. First off, the229documentation was changed to properly state that these functions support230arbitrary rings, and not just fields. Also, more usage examples were231added to the manual.232<P/>233For <C>NullMat</C>, it is now also always possible to specify a ring element234instead of a ring, and this is documented. This matches existing235<C>IdentityMat</C> behavior, and partially worked before (undocumented),236but in some cases could run into error or infinite recursion.237<P/>238In the other direction, if a finite field element, <C>IdentityMat</C> now239really creates a matrix over the smallest field containing that element.240Previously, a matrix over the prime field was created instead, contrary241to the documentation.242<P/>243Furthermore, <C>IdentityMat</C> over small finite fields is now substantially244faster when creating matrices of large dimension (say a thousand or so).245<P/>246Finally, <Ref Func="MutableIdentityMat" BookName="ref"/> and247<Ref Func="MutableNullMat" BookName="ref"/> were explicitly declared248obsolete (and may be removed in &GAP; 4.7). They actually were deprecated249since &GAP; 4.1, and their use discouraged by the manual. Code using250them should switch to <Ref Func="IdentityMat" BookName="ref"/>251respectively <Ref Func="NullMat" BookName="ref"/>.252</Item>253254<Item>255Two new <Ref Attr="PerfectResiduum" BookName="ref"/> methods were added for256solvable and perfect groups, handling these cases optimally. Moreover, the257existing generic method was improved by changing it to use258<Ref Attr="DerivedSeriesOfGroup" BookName="ref"/>. Previously, it would259always compute the derived series from scratch and then throw away the result.260</Item>261262<Item>263A new <Ref Attr="MinimalGeneratingSet" BookName="ref"/> method for groups264handled by a nice monomorphisms was added, similar to the existing265<Ref Attr="SmallGeneratingSet" BookName="ref"/> method. This is useful266if the nice monomorphism is already mapping into a pc or pcp group.267</Item>268269<Item>270Added a special method for <Ref Oper="DerivedSubgroup" BookName="ref"/>271if the group is known to be abelian.272</Item>273274</List>275276Fixed bugs:277278<List>279<Item>280Fixed a bug in <Ref Func="PowerModInt" BookName="ref"/> computing281<M>r^e</M> mod <M>m</M> in a special case when <M>e=0</M> and <M>m=0</M>.282[Reported by Ignat Soroko]283</Item>284285<Item>286<Ref Oper="CoefficientsQadic" BookName="ref"/> now better checks287its arguments to avoid an infinite loop when being asked for a288<A>q</A>-adic representation for <M>q=1</M>.289[Reported by Ignat Soroko]290</Item>291292<Item>293Methods for <C>SylowSubgroupOp</C>294(see <Ref Oper="SylowSubgroup" BookName="ref"/>) for symmetric and295alternating group did not always set <Ref Prop="IsPGroup" BookName="ref"/>296and <Ref Attr="PrimePGroup" BookName="ref"/> for the returned Sylow subgroup.297</Item>298299<Item>300Display of matrices consisting of Conway field elements301(which are displayed as polynomials) did not print constant 1 terms.302</Item>303304<Item>305Added an extra check and a better error message in the method to306access <E>natural</E> generators of domains using the <C>.</C>307operator (see <Ref Attr="GeneratorsOfDomain" BookName="ref"/>).308</Item>309310<Item>311Trying to solve the word problem in an fp group where one or more generators312has a name of more than one alphabetic character led to a break loop.313</Item>314315<Item>316Provided the default method for317<Ref Oper="AbsoluteIrreducibleModules" BookName="ref"/> as a temporary318workaround for the problem which may cause returning wrong results or319producing an error when being called for a non-prime field.320</Item>321322<Item>323A bug in the &GAP; kernel caused <C>RNamObj</C> to error out when called324with a string that had the <Ref Prop="IsSSortedList" BookName="ref"/>325property set (regardless of whether it was set to <K>true</K> or <K>false</K>).326This in turn would lead to strange (and inappropriate) errors when using327such a string to access entries of a record.328</Item>329330<Item>331&GAP; can store vectors over small finite fields (size at most 256) in a332special internal data representation where each entry of the vector uses333exactly one byte. Due to an off-by-one bug, the case of a field with334exactly 256 elements was not handled properly. As a result, &GAP; failed335to convert a vector to the special data representation, which in some336situations could lead to a crash. The off-by-one error was fixed and now337vectors over <M>GF(256)</M> work as expected.338</Item>339340<Item>341A bug in the code for accessing sublist via the <C>list{poss}</C> syntax could342lead to &GAP; crashing. Specifically, if the list was a compressed vector343over a finite field, and the sublist syntax was nested, as in344<C>vec{poss1}{poss2}</C>. This now correctly triggers an error instead of345crashing.346</Item>347348</List>349350New packages added for the redistribution with &GAP;:351352<List>353<Item>354<Package>SpinSym</Package> package by L. Maas, which355contains Brauer tables of Schur covers of symmetric and356alternating groups and provides some related functionalities.357</Item>358</List>359360</Section>361362363<Section Label="fix464">364<Heading>&GAP; 4.6.4 (April 2013)</Heading>365366New functionality:367<List>368<Item>369<!-- #368 -->370New command line option <C>-O</C> was introduced to disable loading obsolete371variables. This option may be used, for example, to check that they are372not used in a &GAP; package or one's own &GAP; code. For further details373see <Ref Label="Options" BookName="ref"/> and374<Ref Label="Replaced and Removed Command Names" BookName="ref"/>.375</Item>376</List>377378Fixed bugs which could lead to incorrect results:379380<List>381<Item>382<!-- #378 -->383Fixed the bug in <Ref Func="NewmanInfinityCriterion" BookName="ref"/> which384may cause returning <K>true</K> instead of <K>false</K>.385[Reported by Lev Glebsky]386</Item>387</List>388389Fixed bugs which could lead to crashes:390391<List>392<Item>393<!-- #362 -->394Fixed the kernel method for <Ref Oper="Remove" BookName="ref"/> which did395not raise an error in case of empty lists, but corrupted the object.396The error message in a library method is also improved.397[Reported by Roberto Ràdina]398</Item>399</List>400401Fixed bugs that could lead to break loops:402403<List>404405<Item>406<!-- #356 -->407Fixed requirements in a method to multiply a list and an algebraic element.408[Reported by Sebastian Gutsche]409</Item>410411<Item>412<!-- #357 -->413Fixed a bug in <Ref Attr="NaturalCharacter" BookName="ref"/> entering a414break loop when being called on a homomorphism whose image is not a415permutation group.416[Reported by Sebastian Gutsche]417</Item>418419<Item>420<!-- #363 -->421Fixed a bug in <Ref Oper="ExponentsConjugateLayer" BookName="ref"/> which422occured, for example, in some calls of423<Ref Func="SubgroupsSolvableGroup" BookName="ref"/>424[Reported by Ramon Esteban-Romero]425</Item>426427<Item>428<!-- #364 -->429Fixed a problem with displaying function fields,430e.g. <C>Field(Indeterminate(Rationals,"x"))</C>.431[Reported by Jan Willem Knopper]432</Item>433434<Item>435<!-- #365 -->436Fixed two bugs in the code for437<Ref Oper="NaturalHomomorphismByIdeal" BookName="ref"/> for polynomial rings.438[Reported by Martin Leuner]439</Item>440441<Item>442<!-- #370 -->443Added missing method for <Ref Oper="String" BookName="ref"/> for <C>-infinity</C>.444</Item>445446<Item>447<!-- #380 -->448Fixed the bug with <Ref Attr="ONanScottType" BookName="ref"/> not449recognising product action properly in some cases.450</Item>451452<Item>453<!-- #385 -->454The method for <Ref Attr="SlotUsagePattern" BookName="ref"/> for straight455line programs had a bug which triggered an error, if the straight line456program contained unnecessary steps.457</Item>458459</List>460461</Section>462463464<Section Label="fix465">465<Heading>&GAP; 4.6.5 (July 2013)</Heading>466467Improved functionality:468<List>469<Item>470<!-- #392 -->471<Ref Func="TraceMethods" BookName="ref"/> and472<Ref Func="UntraceMethods" BookName="ref"/> now better check their473arguments and provide a sensible error message if being called without474arguments. Also, both variants of calling them are now documented.475</Item>476<Item>477<!-- #410 -->478Library methods for <Ref Oper="Sortex" BookName="ref"/> are now479replaced by faster ones using the kernel480<Ref Func="SortParallel" BookName="ref"/> functionality instead481of making expensive zipped lists.482</Item>483</List>484485Fixed bugs which could lead to incorrect results:486487<List>488<Item>489<!-- #409 -->490<Ref Func="IntHexString" BookName="ref" /> wrongly produced a large491integer when there were too many leading zeros.492[Reported by Joe Bohanon]493</Item>494</List>495496Fixed bugs that could lead to break loops:497498<List>499<Item>500<!-- #404 -->501A bug that may occur in some cases while calling502<Ref Attr="TransitiveIdentification" BookName="ref"/>.503[Reported by Izumi Miyamoto]504</Item>505<Item>506<!-- #419 -->507The new code for semidirect products of permutation groups, introduced508in &GAP; 4.6, had a bug which was causing problems for509<Ref Oper="Projection" BookName="ref"/>.510[Reported by Graham Ellis]511</Item>512</List>513514</Section>515516</Chapter>517518519<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->520<!-- %% -->521<!-- %E -->522523524