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: 4183461[1X5 [33X[0;0YChanges between [5XGAP[105X[101X[1X 4.4 and [5XGAP[105X[101X[1X 4.5[133X[101X23[33X[0;0YThis chapter lists most important changes between [5XGAP[105X 4.4.12 and the first4public release of [5XGAP[105X 4.5. It also contains information about subsequent5update releases for [5XGAP[105X 4.5. It is not meant to serve as a complete account6on all improvements; instead, it should be viewed as an introduction to [5XGAP[105X74.5, accompanying its release announcement.[133X8910[1X5.1 [33X[0;0YChanges in the core [5XGAP[105X[101X[1X system introduced in [5XGAP[105X[101X[1X 4.5[133X[101X1112[33X[0;0YIn this section we list most important new features and bugfixes in the core13system introduced in [5XGAP[105X 4.5. For the list of changes in the interface14between the core system and packages as well as for an overview of new and15updated packages, see Section [14X5.2[114X.[133X161718[1X5.1-1 [33X[0;0YImproved functionality[133X[101X1920[33X[0;0YPerformance improvements:[133X2122[30X [33X[0;6YThe [5XGAP[105X kernel now uses [5XGMP[105X (GNU multiple precision arithmetic23library, [7Xhttp://gmplib.org/[107X) for faster large integer arithmetic.[133X2425[30X [33X[0;6YImproved performance for records with large number of components.[133X2627[30X [33X[0;6YSpeedup of hash tables implementation at the [5XGAP[105X library level.[133X2829[30X [33X[0;6Y[2XMemoryUsage[102X ([14XReference: MemoryUsage[114X) is now much more efficient, in30particular for large objects.[133X3132[30X [33X[0;6YSpeedups in the computation of low index subgroups, Tietze33transformations, calculating high powers of matrices over finite34fields, [2XFactorial[102X ([14XReference: Factorial[114X), etc.[133X3536[33X[0;0YNew and improved kernel functionality:[133X3738[30X [33X[0;6YBy default, the [5XGAP[105X kernel compiles with the [5XGMP[105X and [5Xreadline[105X39libraries. The [5XGMP[105X library is supplied with [5XGAP[105X and we recommend that40you use the version we supply. There are some problems with some other41versions. It is also possible to compile the [5XGAP[105X kernel with the42system [5XGMP[105X if your system has it. The [5Xreadline[105X library must be43installed on your system in advance to be used with [5XGAP[105X.[133X4445[30X [33X[0;6YFloating point literals are now supported in the [5XGAP[105X language, so46that, floating point numbers can be entered in [5XGAP[105X expressions in a47natural way. Support for floats is now properly documented, see48[14X'Reference: Floats'[114X. [5XGAP[105X has an interface using which packages may add49new floating point implementations and integrate them with the parser.50In particular, we expect that there will soon be a package that51implements arbitrary precision floating point arithmetic.[133X5253[30X [33X[0;6YThe Mersenne twister random number generator has been made independent54of endianness, so that random seeds can now be transferred between55architectures. See [14X'Reference: GlobalMersenneTwister'[114X for details.[133X5657[30X [33X[0;6YDefaults for [10X-m[110X and [10X-o[110X options have been increased. Changes have been58made to the way that [5XGAP[105X obtains memory from the Operating System, to59make [5XGAP[105X more compatible with C libraries. A new [10X-s[110X option has been60introduced to control or turn off the new behaviour, see [14X'Reference:61Command Line Options'[114X.[133X6263[30X [33X[0;6YThe filename and lines from which a function was read can now be64recovered using [2XFilenameFunc[102X ([14XReference: FilenameFunc[114X), [2XStartlineFunc[102X65([14XReference: StartlineFunc[114X) and [2XEndlineFunc[102X ([14XReference: EndlineFunc[114X).66This allows you, for example, to implement a function such as67[2XPageSource[102X ([14XReference: PageSource[114X) to show the file containing the68source code of a function or a method in a pager, see [2XPager[102X69([14XReference: Pager[114X).[133X7071[30X [33X[0;6Y[2XCallFuncList[102X ([14XReference: CallFuncList[114X) was made into an operation so72that it can be used to define behaviour of a non-function when called73as a function.[133X7475[30X [33X[0;6YImprovements to the cyclotomic number arithmetic for fields with large76conductors.[133X7778[30X [33X[0;6YBetter and more flexible viewing of some large objects.[133X7980[30X [33X[0;6YOpportunity to interrupt some long kernel computations, e.g.81multiplication of compressed matrices, intercepting [10XCtrl-C[110X in82designated places in the kernel code by means of a special kernel83function for that purpose.[133X8485[30X [33X[0;6Y[10XELM_LIST[110X now allows you to install methods where the second argument86is NOT a positive integer.[133X8788[30X [33X[0;6YKernel function [2XDirectoryContents[102X ([14XReference: DirectoryContents[114X) to89get the list of names of files and subdirectories in a directory.[133X9091[30X [33X[0;6YKernel functions for Kronecker product of compressed matrices, see92[2XKroneckerProduct[102X ([14XReference: KroneckerProduct[114X).[133X9394[33X[0;0YNew and improved library functionality:[133X9596[30X [33X[0;6YExtensions of data libraries:[133X9798[30X [33X[0;12YFunctions and iterators are now available to create and99enumerate simple groups by their order up to isomorphism:100[2XSimpleGroup[102X ([14XReference: SimpleGroup[114X), [2XSmallSimpleGroup[102X101([14XReference: SmallSimpleGroup[114X), [2XSimpleGroupsIterator[102X ([14XReference:102SimpleGroupsIterator[114X) and [2XAllSmallNonabelianSimpleGroups[102X103([14XReference: AllSmallNonabelianSimpleGroups[114X).[133X104105[30X [33X[0;12YSee also packages [5XCTblLib[105X, [5XIRREDSOL[105X and [5XSmallsemi[105X listed in106Section [14X5.2-2[114X.[133X107108[30X [33X[0;6YMany more methods are now available for the built-in floating point109numbers, see [14X'Reference: Floats'[114X.[133X110111[30X [33X[0;6YThe bound for the proper primality test in [2XIsPrimeInt[102X ([14XReference:112IsPrimeInt[114X) increased up to [22X10^18[122X.[133X113114[30X [33X[0;6YImproved code for determining transversal and double coset115representatives in large groups.[133X116117[30X [33X[0;6YImprovements in [2XNormalizer[102X ([14XReference: Normalizer[114X) for [22XS_n[122X.[133X118119[30X [33X[0;6YSmith normal form of a matrix may be computed over arbitrary euclidean120rings, see [2XNormalFormIntMat[102X ([14XReference: NormalFormIntMat[114X).[133X121122[30X [33X[0;6YImproved algorithms to determine the subgroup lattice of a group, as123well as the function [2XDotFileLatticeSubgroups[102X ([14XReference:124DotFileLatticeSubgroups[114X) to save the lattice structure in [11X.dot[111X file to125view it e.g. with [5XGraphViz[105X.[133X126127[30X [33X[0;6YSpecial teaching mode which simplifies some output and provides more128basic functionality, see [14X'Reference: Teaching Mode'[114X.[133X129130[30X [33X[0;6YFunctionality specific for use in undergraduate abstract algebra131courses, e.g. checksums ([14X'Reference: Check Digits'[114X); string/integer132list conversion; rings of small orders; the function [2XSetNameObject[102X133([14XReference: SetNameObject[114X) to set display names for objects for more134informative examples, e.g. constructing groups from [21Xnamed[121X objects,135such as, for example, [10XR90[110X for a 90-degree rotation).[133X136137[30X [33X[0;6YFunctions [2XDirectoryDesktop[102X ([14XReference: DirectoryDesktop[114X) and138[2XDirectoryHome[102X ([14XReference: DirectoryHome[114X) which provide uniform access139to default directories under Windows, Mac OS X and Unix.[133X140141[30X [33X[0;6YImproved methods for hashing when computing orbits.[133X142143[30X [33X[0;6YFunctionality to call external binaries under Windows.[133X144145[30X [33X[0;6YSymplectic groups over residue class rings, see [2XSymplecticGroup[102X146([14XReference: SymplecticGroup[114X).[133X147148[30X [33X[0;6YBasic version of the simplex algorithm for matrices.[133X149150[30X [33X[0;6YNew functions, operations and attributes: [2XPrimeDivisors[102X ([14XReference:151PrimeDivisors[114X), [2XShuffle[102X ([14XReference: Shuffle[114X) for lists,152[2XIteratorOfPartitions[102X ([14XReference: IteratorOfPartitions[114X),153[2XIteratorOfCombinations[102X ([14XReference: IteratorOfCombinations[114X),154[2XEnumeratorOfCombinations[102X ([14XReference: EnumeratorOfCombinations[114X) and155others.[133X156157[30X [33X[0;6YThe behaviour of [2XInfo[102X ([14XReference: Info[114X) statements can now be158configured per info class, this applies to the way the arguments are159printed and to the output stream, see [14X'Reference: Info Functions'[114X.[133X160161[30X [33X[0;6YNew function [2XTest[102X ([14XReference: Test[114X) which is a more flexible and162informative substitute of [10XReadTest[110X operation.[133X163164[30X [33X[0;6Y[10XConnectGroupAndCharacterTable[110X is replaced by more robust function165[2XCharacterTableWithStoredGroup[102X ([14XReference:166CharacterTableWithStoredGroup[114X).[133X167168[33X[0;0YMany problems in [5XGAP[105X have have been fixed, among them the following:[133X169170[30X [33X[0;6YPolynomial factorisation over rationals could miss factors of degree171greater than [22Xdeg(f)/2[122X if they have very small coefficients, while the172cofactor has large coefficients.[133X173174[30X [33X[0;6Y[2XIntermediateSubgroups[102X ([14XReference: IntermediateSubgroups[114X) called on a175group and a normal subgroup did not properly calculate maximal176inclusion relationships.[133X177178[30X [33X[0;6Y[2XCentreOfCharacter[102X ([14XReference: CentreOfCharacter[114X) and179[2XClassPositionsOfCentre[102X ([14XReference: ClassPositionsOfCentre for a180character[114X) called for a group character could return a perhaps too181large result.[133X182183[30X [33X[0;6Y[2XTrace[102X ([14XReference: Traces of field elements and matrices[114X) called for an184element of a finite field that was created with [2XAlgebraicExtension[102X185([14XReference: AlgebraicExtension[114X) ran into an error.[133X186187[30X [33X[0;6Y[2XIrreducibleRepresentationsDixon[102X ([14XReference:188IrreducibleRepresentationsDixon[114X) did not accept a list with one189character as a second argument.[133X190191[30X [33X[0;6YComposing a homomorphism from a permutation group to a finitely192presented group with another homomorphism could give wrong results.[133X193194[30X [33X[0;6YFor certain arguments, the function [2XEU[102X ([14XReference: EU[114X) returned wrong195results.[133X196197[30X [33X[0;6YIn the table of marks of cyclic groups, [2XNormalizersTom[102X ([14XReference:198NormalizersTom[114X) value was wrong.[133X199200[30X [33X[0;6YThe function [2XPermChars[102X ([14XReference: PermChars[114X) returned a perhaps wrong201result when the second argument was a positive integer (not a record)202and the trivial character of the character table given as the first203argument was not the first in the list of irreducibles.[133X204205[30X [33X[0;6Y[5XGAP[105X crashed when the intersection of ranges became empty.[133X206207[30X [33X[0;6Y[10XIsPSL[110X, and in turn [2XStructureDescription[102X ([14XReference:208StructureDescription[114X), erroneously recognised non-PSL groups of the209right order as PSL.[133X210211[30X [33X[0;6YThe semidirect product method for pcgs computable groups sometimes212tried to use finite presentations which were not polycyclic. This213usually happened when the groups were not pc groups, and there was a214very low risk of getting a wrong result.[133X215216[30X [33X[0;6YThe membership test for a group of finite field elements ran into an217error if the zero element of the field was given as the first218argument.[133X219220[30X [33X[0;6YConstant polynomials were not recognised as univariate in any221variable.[133X222223[30X [33X[0;6YThe kernel recursion depth counter was not reset properly when running224into many break loops.[133X225226[30X [33X[0;6Y[5XGAP[105X did not behave well when printing of a (large) object was227interrupted with [10XCtrl-C[110X. Now the object is no longer corrupted and the228indentation level is reset.[133X229230[33X[0;0YPotentially incompatible changes:[133X231232[30X [33X[0;6YThe zero polynomial now has degree [10X-infinity[110X, see233[2XDegreeOfLaurentPolynomial[102X ([14XReference: DegreeOfLaurentPolynomial[114X).[133X234235[30X [33X[0;6YMultiple unary [10X+[110X or [10X-[110X signs are no longer allowed (to avoid confusion236with increment/decrement operators from other programming languages).[133X237238[30X [33X[0;6YDue to changes to improve the performance of records with large number239of components, the ordering of record components in [10XView[110X'ed records240has changed.[133X241242[30X [33X[0;6YDue to improvements for vectors over finite fields, certain objects243have more limitations on changing their base field. For example, one244can not create a compressed matrix over [22XGF(2)[122X and then assign an245element of [22XGF(4)[122X to one of its entries.[133X246247[33X[0;0YNo longer supported:[133X248249[30X [33X[0;6YCompletion files mechanism.[133X250251[30X [33X[0;6Y[5XGAP[105X 3 compatibility mode.[133X252253[33X[0;0YIn addition, we no longer recommend using the [5XGAP[105X compiler [11Xgac[111X to compile254[5XGAP[105X code to [5XC[105X, and may withdraw it in future releases. Compiling [5XGAP[105X code255only ever gave a substantial speedup for rather specific types of256calculation, and much more benefit can usually be achieved quite easily by257writing a small number of key functions in [5XC[105X and loading them into the258kernel as described in [2XLoadDynamicModule[102X ([14XReference: LoadDynamicModule[114X). The259[11Xgac[111X script will remain available as a convenient way of compiling such260kernel modules from [5XC[105X.[133X261262[33X[0;0YAlso, the following functions and operations were made obsolete:263[10XAffineOperation[110X, [10XAffineOperationLayer[110X, [10XFactorCosetOperation[110X,264[10XDisplayRevision[110X, [10XProductPol[110X, [10XTeXObj[110X, [10XLaTeXObj[110X.[133X265266267[1X5.1-2 [33X[0;0YChanges in distribution formats[133X[101X268269[33X[0;0YThe [5XGAP[105X 4.5 source distribution has the form of a single archive containing270the core system and the most recent [21Xstable[121X versions of all currently271redistributed packages. There are no optional archives to download: the272[5XTomLib[105X package now contains all its tables of marks in one archive; we do273not provide separate versions of manuals for Internet Explorer, and the274former [11Xtools[111X archive is now included as an archive in the [11Xetc[111X directory. To275unpack and install the archive, user the script [11Xetc/install-tools.sh[111X.[133X276277[33X[0;0YWe no longer distribute separate bugfix archives when the core [5XGAP[105X system278changes, or updated packages archives when a redistributed package is279updated. Instead, the single [5XGAP[105X source distribution archive will be280labelled by the version of the core [5XGAP[105X system and also by a timestamp. This281archive contains the core system and the stable versions of the relevant282packages on that date. To upgrade, you simply replace the whole directory283containing the [5XGAP[105X installation, and rebuild binaries for the [5XGAP[105X kernel and284packages. For new versions of packages, we will also continue to285redistribute individual package archives so it will be possible to update a286single package without changing the rest of the [5XGAP[105X installation.[133X287288[33X[0;0YFurthermore, by default [5XGAP[105X will now automatically read a user-specific [5XGAP[105X289root directory (unless [5XGAP[105X is called with the [10X-r[110X option). All user settings290can be made in that directory, so there will be no risk of them being lost291during an update (see Section [14X5.1-3[114X below for more details). Private292packages can also be installed in this directory for the same reason.[133X293294[33X[0;0YThere are some changes in archive formats used for the distribution: we295continue to provide [11X.tar.gz[111X, [11X.tar.bz2[111X and [11X-win.zip[111X archives. We have added296[11X.zip[111X, and stopped providing [11X.zoo[111X archives. We no longer provide GAP binaries297for Mac OS 9 (Classic) any more. For installations from source on Mac OS X298one may follow the instructions for UNIX.[133X299300[33X[0;0YWith the release of [5XGAP[105X 4.5, we also encourage more users to take advantage301of the increasingly mature binary distributions which are now available.302These include:[133X303304[30X [33X[0;6YThe binary [11Xrsync[111X distribution for [5XGAP[105X on Linux PCs with i686 or x86_64305compatible processors provided by Frank Lübeck, see306[7Xhttp://www.math.rwth-aachen.de/~Frank.Luebeck/gap/rsync[107X.[133X307308[30X [33X[0;6Y[5XBOB[105X, a tool for Linux and Mac OS X to download and build [5XGAP[105X and its309packages from source provided by M. Neunhöffer:310[7Xhttp://www-groups.mcs.st-and.ac.uk/~neunhoef/Computer/Software/Gap/bob.html[107X.[133X311312[30X [33X[0;6YThe [5XGAP[105X installer for Windows provided by Alexander Konovalov:313[7Xhttps://www.gap-system.org/ukrgap/wininst/[107X.[133X314315[33X[0;0YIn the near future, we also hope to have a binary distribution for Mac OS X.[133X316317[33X[0;0YInternally, we now have infrastructure to support more robust and frequent318releases, and an improved system to fetch and test new versions of the319increasingly large number of packages. The [5XExample[105X package documents320technical requirements for packages, many of which are checked automatically321by our systems. This will allow us to check the compatibility of packages322with the system and with other packages more thoroughly before publishing323them on the [5XGAP[105X website.[133X324325326[1X5.1-3 [33X[0;0YImprovements to the user interface[133X[101X327328[33X[0;0YBy default, [5XGAP[105X now uses the [5Xreadline[105X library for command line editing. It329provides such advantages as working with unicode terminals, nicer handling330of long input lines, improved TAB-completion and flexible configuration. For331further details, see [14X'Reference: Editing using the readline library'[114X.[133X332333[33X[0;0YWe have extended facilities for user interface customisation. By default [5XGAP[105X334automatically scans a user specific [5XGAP[105X root directory (unless [5XGAP[105X is called335with the [10X-r[110X option). The name of this user specific directory depends on the336operating system and is contained in [10XGAPInfo.UserGapRoot[110X. This directory can337be used to tell [5XGAP[105X about personal preferences, to load some additional338code, to install additional packages, or to overwrite some [5XGAP[105X files, see339[14X'Reference: GAP Root Directories'[114X. Instead of a single [11X.gaprc[111X file we now340use more flexible setup based on two files: [11Xgap.ini[111X which is read early in341the startup process, and [11Xgaprc[111X which is read after the startup process, but342before the first input file given on the command line. These files may be343located in the user specific [5XGAP[105X root directory [10XGAPInfo.UserGapRoot[110X which by344default is the first [5XGAP[105X root directory, see [14X'Reference: The gap.ini and345gaprc files'[114X. For compatibility, the [11X.gaprc[111X file is still read if the346directory [10XGAPInfo.UserGapRoot[110X does not exist. See [14X'Reference: The former347.gaprc file'[114X for the instructions how to migrate your old setup.[133X348349[33X[0;0YFurthermore, there are functions to deal with user preferences, for example,350to specify how [5XGAP[105X's online help is shown or whether the coloured prompt351should be used. Calls to set user preferences may appear in the user's352[11Xgap.ini[111X file, as explained in [14X'Reference: Configuring User preferences'[114X.[133X353354[33X[0;0YIn the Windows version, we include a new shell which uses the [5Xmintty[105X355terminal in addition to the two previously used shells (Windows command line356and [5XRXVT[105X). The [5Xmintty[105X shell is now recommended. It supports Unicode encoding357and has flexible configurations options. Also, [5XGAP[105X under Windows now starts358in the [11X%HOMEDRIVE%%HOMEPATH%[111X directory, which is the user's home directory.359Besides this, a larger workspace is now permitted without a need to modify360the Windows registry.[133X361362[33X[0;0YOther changes in the user interface include:[133X363364[30X [33X[0;6Ythe command line history is now implemented at the [5XGAP[105X level, it can365be stored on quitting a [5XGAP[105X session and reread when starting a new366session, see [14X'Reference: The command line history'[114X.[133X367368[30X [33X[0;6Y[10XSetPrintFormattingStatus("stdout",false);[110X may be used to switch off369the automatic line breaking in terminal output, see370[2XSetPrintFormattingStatus[102X ([14XReference: SetPrintFormattingStatus[114X).[133X371372[30X [33X[0;6Y[5XGAP[105X supports terminals with up to 4096 columns (extendable at compile373time).[133X374375[30X [33X[0;6YDirectories in [10X-l[110X command-line option can now be specified starting376with [10X~/[110X, see [14X'Reference: Command Line Options'[114X.[133X377378[30X [33X[0;6YLarge integers are now displayed by a short string showing the first379and last few digits, and the threshold to trigger this behaviour is380user configurable (call [10XUserPreference("MaxBitsIntView")[110X to see the381default value).[133X382383[30X [33X[0;6YThe [5XGAP[105X banner has been made more compact and informative.[133X384385[30X [33X[0;6Y[2XSetHelpViewer[102X ([14XReference: SetHelpViewer[114X) now supports the Google386Chrome browser.[133X387388[30X [33X[0;6YMultiple matches in the [5XGAP[105X online help are displayed via a function389from the [5XBrowse[105X package, which is loaded in the default configuration.390This feature can be replaced by the known pager using the command[133X391392SetUserPreference( "browse", "SelectHelpMatches", false );393394395[1X5.1-4 [33X[0;0YBetter documentation[133X[101X396397[33X[0;0YThe main [5XGAP[105X manuals have been converted to the [5XGAPDoc[105X format provided by398the [5XGAPDoc[105X package by Frank Lübeck and Max Neunhöffer399([7Xhttp://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc[107X). This documentation400format is already used by many packages and is now recommended for all [5XGAP[105X401documentation.[133X402403[33X[0;0YBesides improvements to the documentation layout in all formats (text, PDF404and HTML), the new [5XGAP[105X manuals incorporate a large number of corrections,405clarifications, additions and updated examples.[133X406407[33X[0;0YWe now provide two HTML versions of the manual, one of them with [5XMathJax[105X408([7Xhttp://www.mathjax.org[107X) support for better display of mathematical symbols.409Also, there are two PDF versions of the manual - a coloured and a monochrome410one.[133X411412[33X[0;0YSeveral separate manuals now became parts of the [5XGAP[105X Reference manual. Thus,413now there are three main [5XGAP[105X manual books:[133X414415[30X [33X[0;6Y[13X[5XGAP[105X Tutorial[113X[133X416417[30X [33X[0;6Y[13X[5XGAP[105X Reference manual[113X[133X418419[30X [33X[0;6Y[13X[5XGAP[105X - Changes from Earlier Versions[113X (this manual)[133X420421[33X[0;0YNote that there is no index file combining these three manuals. Instead of422that, please use the [5XGAP[105X help system which will search all of these and423about 100 package manuals.[133X424425426[1X5.2 [33X[0;0YPackages in [5XGAP[105X[101X[1X 4.5[133X[101X427428[33X[0;0YHere we list most important changes affecting packages and present new or429essentially changed packages. For the changes in the core [5XGAP[105X system, see430Section [14X5.1[114X.[133X431432433[1X5.2-1 [33X[0;0YInterface between the core system and packages[133X[101X434435[33X[0;0YThe package loading mechanism has been improved. The most important new436feature is that all dependencies are evaluated in advance and then used to437determine the order in which package files are read. This allows [5XGAP[105X to438handle cyclic dependencies as well as situations where package A requires439package B to be loaded completely before any file of package A is read. To440avoid distortions of the order in which packages will be loaded, package441authors are strongly discouraged from calling [2XLoadPackage[102X ([14XReference:442LoadPackage[114X) and [2XTestPackageAvailability[102X ([14XReference:443TestPackageAvailability[114X) in a package code in order to determine whether444some other package will be loaded before or together with the current445package - instead, one should use [2XIsPackageMarkedForLoading[102X ([14XReference:446IsPackageMarkedForLoading[114X). In addition, there is now a better error447management if package loading fails for packages that use the new448functionality to log package loading messages (see [2XDisplayPackageLoadingLog[102X449([14XReference: DisplayPackageLoadingLog[114X) and the rest of the Chapter450[14X'Reference: Using GAP Packages'[114X which documents how to [13Xuse[113X [5XGAP[105X packages),451and package authors are very much encouraged to use these logging452facilities.[133X453454[33X[0;0YIn [5XGAP[105X 4.4 certain packages were marked as [13Xautoloaded[113X and would be loaded,455if present, when [5XGAP[105X started up. In [5XGAP[105X 4.5, this notion is divided into456three. Certain packages are recorded as [13Xneeded[113X by the [5XGAP[105X system and others457as [13Xsuggested[113X, in the same way that packages may [13Xneed[113X or [13Xsuggest[113X other458packages. If a needed package is not loadable, [5XGAP[105X will not start. Currently459only [5XGAPDoc[105X is needed. If a suggested package is loadable, it will be460loaded. Typically these are packages which install better methods for461Operations and Objects already present in [5XGAP[105X. Finally, the user preferences462mechanism can be used to specify additional packages that should be loaded463if possible. By default this includes most packages that were autoloaded in464[5XGAP[105X 4.4.12, see [2XShowUserPreferences[102X ([14XReference: ShowUserPreferences[114X).[133X465466[33X[0;0Y[5XGAP[105X packages may now use local [13Xnamespaces[113X to avoid name clashes for global467variables introduced in other packages or in the [5XGAP[105X library, see468[14X'Reference: Namespaces for GAP packages'[114X.[133X469470[33X[0;0YAll guidance on how to [13Xdevelop[113X a [5XGAP[105X package has been consolidated in the471[5XExample[105X package which also contains a checklist for upgrading a [5XGAP[105X package472to [5XGAP[105X 4.5, see [14X'Example: Guidelines for Writing a GAP Package'[114X.[133X473474475[1X5.2-2 [33X[0;0YNew and updated packages since [5XGAP[105X[101X[1X 4.4.12[133X[101X476477[33X[0;0YAt the time of the release of [5XGAP[105X 4.4.12 there were 75 packages478redistributed with [5XGAP[105X (including the [5XTomLib[105X which was distributed in the479core [5XGAP[105X archive). The first public release of [5XGAP[105X 4.5 contains precisely 99480packages.[133X481482[33X[0;0YThe new packages that have been added to the redistribution since the483release of [5XGAP[105X 4.4.12 are:[133X484485[30X [33X[0;6Y[5XCitrus[105X package by J.D. Mitchell for computations with transformation486semigroups and monoids (this package is a replacement of the [5XMonoid[105X487package).[133X488489[30X [33X[0;6Y[5Xcvec[105X package by M. Neunhöffer, providing an implementation of compact490vectors over finite fields.[133X491492[30X [33X[0;6Y[5Xfwtree[105X package by B. Eick and T. Rossmann for computing trees related493to some pro-[22Xp[122X-groups of finite width.[133X494495[30X [33X[0;6Y[5XGBNP[105X package by A.M. Cohen and J.W. Knopper, providing algorithms for496computing Grobner bases of noncommutative polynomials over fields with497respect to the [21Xtotal degree first then lexicographical[121X ordering.[133X498499[30X [33X[0;6Y[5Xgenss[105X package by M. Neunhöffer and F. Noeske, implementing the500randomised Schreier-Sims algorithm to compute a stabiliser chain and a501base and a strong generating set for arbitrary finite groups.[133X502503[30X [33X[0;6Y[5XHAPprime[105X package by P. Smith, extending the [5XHAP[105X package with an504implementation of memory-efficient algorithms for the calculation of505resolutions of small prime-power groups.[133X506507[30X [33X[0;6Y[5Xhecke[105X package by D. Traytel, providing functions for calculating508decomposition matrices of Hecke algebras of the symmetric groups and509[22Xq[122X-Schur algebras (this package is a port of the [5XGAP[105X 3 package [5XSpecht5102.4[105X to [5XGAP[105X 4).[133X511512[30X [33X[0;6Y[5XHomalg[105X project by M. Barakat, S. Gutsche, M. Lange-Hegermann et al.,513containing the following packages for the homological algebra: [5Xhomalg[105X,514[5XExamplesForHomalg[105X, [5XGauss[105X, [5XGaussForHomalg[105X, [5XGradedModules[105X,515[5XGradedRingForHomalg[105X, [5XHomalgToCAS[105X, [5XIO_ForHomalg[105X, [5XLocalizeRingForHomalg[105X,516[5XMatricesForHomalg[105X, [5XModules[105X, [5XRingsForHomalg[105X and [5XSCO[105X (see517[7Xhttp://homalg.math.rwth-aachen.de/[107X).[133X518519[30X [33X[0;6Y[5XMapClass[105X package by A. James, K. Magaard and S. Shpectorov to520calculate the mapping class group orbits for a given finite group.[133X521522[30X [33X[0;6Y[5Xrecogbase[105X package by M. Neunhöffer and A. Seress, providing a523framework to implement group recognition methods in a generic way524(suitable, in particular, for permutation groups, matrix groups,525projective groups and black box groups).[133X526527[30X [33X[0;6Y[5Xrecog[105X package by M. Neunhöffer, A. Seress, N. Ankaralioglu, P.528Brooksbank, F. Celler, S. Howe, M. Law, S. Linton, G. Malle, A.529Niemeyer, E. O'Brien and C.M. Roney-Dougal, extending the [5Xrecogbase[105X530package and provides a collection of methods for the constructive531recognition of groups (mostly intended for permutation groups, matrix532groups and projective groups).[133X533534[30X [33X[0;6Y[5XSCSCP[105X package by A. Konovalov and S. Linton, implementing the Symbolic535Computation Software Composability Protocol ([5XSCSCP[105X, see536[7Xhttp://www.symbolic-computation.org/scscp[107X) for [5XGAP[105X, which provides537interfaces to link a [5XGAP[105X instance with another copy of [5XGAP[105X or other538[5XSCSCP[105X-compliant system running locally or remotely.[133X539540[30X [33X[0;6Y[5Xsimpcomp[105X package by F. Effenberger and J. Spreer for working with541simplicial complexes.[133X542543[30X [33X[0;6Y[5XSmallsemi[105X package by A. Distler and J.D. Mitchell, containing the data544library of all semigroups with at most 8 elements as well as various545information about them.[133X546547[30X [33X[0;6Y[5XSymbCompCC[105X package by D. Feichtenschlager for computations with548parametrised presentations for finite [22Xp[122X-groups of fixed coclass.[133X549550[33X[0;0YFurthermore, some packages have been upgraded substantially since the551[5XGAP[105X 4.4.12 release:[133X552553[30X [33X[0;6Y[5XAlnuth[105X package by B. Assmann, A. Distler and B. Eick uses an interface554to PARI/GP system instead of the interface to KANT (thanks to B.555Allombert for the GP code for the new interface and help with the556transition) and now also works under Windows.[133X557558[30X [33X[0;6Y[5XCTblLib[105X package (the [5XGAP[105X Character Table Library) by T. Breuer has559been extended by many new character tables, a few bugs have been560fixed, and new features have been added, for example concerning the561relation to [5XGAP[105X's group libraries, better search facilities, and562interactive overviews. For details, see the package manual.[133X563564[30X [33X[0;6Y[5XDESIGN[105X package by L.H. Soicher:[133X565566[30X [33X[0;12YThe functions [10XPointBlockIncidenceMatrix[110X, [10XConcurrenceMatrix[110X, and567[10XInformationMatrix[110X compute matrices associated with block568designs.[133X569570[30X [33X[0;12YThe function [10XBlockDesignEfficiency[110X computes certain statistical571efficiency measures of a [22X1-(v,k,r)[122X design, using exact algebraic572computation.[133X573574[30X [33X[0;6Y[5XExample[105X package by W. Nickel, G. Gamble and A. Konovalov has a more575detailed and up-to-date guidance on developing a [5XGAP[105X package, see576[14X'Example: Guidelines for Writing a GAP Package'[114X.[133X577578[30X [33X[0;6Y[5XFR[105X package by L. Bartholdi now uses floating-point numbers to compute579approximations of rational maps given by their group-theoretical580description.[133X581582[30X [33X[0;6YThe [5XGAPDoc[105X package by F. Lübeck and M. Neunhöffer provides various583improvements, for example:[133X584585[30X [33X[0;12YThe layout of the text version of the manuals can be configured586quite freely, several standard [21Xthemes[121X are provided. The display587is now adjusted to the current screen width.[133X588589[30X [33X[0;12YSome details of the layout of the HTML version of the manuals590can now be configured by the user. All manuals are available591with and without MathJax support for display of mathematical592formulae.[133X593594[30X [33X[0;12YThe text and HTML versions of manuals make more use of unicode595characters (but the text version is also still reasonably good596on terminals with latin1 or ASCII encoding).[133X597598[30X [33X[0;12YThe PDF version of the manuals uses better fonts.[133X599600[30X [33X[0;12YOf course, there are various improvements for authors of manuals601as well, for example new functions [2XExtractExamples[102X ([14XGAPDoc:602ExtractExamples[114X) and [2XRunExamples[102X ([14XGAPDoc: RunExamples[114X) for603automatic testing and correcting of manual examples.[133X604605[30X [33X[0;6Y[5XGpd[105X package by E.J. Moore and C.D. Wensley has been substantially606rewritten. The main extensions provide functions for:[133X607608[30X [33X[0;12YSubgroupoids of a direct product with complete graph groupoid,609specified by a root group and choice of rays.[133X610611[30X [33X[0;12YAutomorphisms of finite groupoids - by object permutations; by612root group automorphisms; and by ray images.[133X613614[30X [33X[0;12YThe automorphism group of a finite groupoid together with an615isomorphism to a quotient of permutation groups.[133X616617[30X [33X[0;12YHomogeneous groupoids (unions of isomorphic groupoids) and their618morphisms, in particular homogeneous discrete groupoids: the619latter are used in constructing crossed modules of groupoids in620the [5XXMod[105X package.[133X621622[30X [33X[0;6Y[5XGRAPE[105X package by L.H. Soicher:[133X623624[30X [33X[0;12YWith much help from A. Hulpke, the interface between [5XGRAPE[105X and625[11Xdreadnaut[111X is now done entirely in [5XGAP[105X code.[133X626627[30X [33X[0;12YA 32-bit [11Xnauty/dreadnaut[111X binary for Windows (XP and later) is628included with [5XGRAPE[105X, so now [5XGRAPE[105X provides full functionality629under Windows, with no installation necessary.[133X630631[30X [33X[0;12YGraphs with ordered partitions of their vertices into632[21Xcolour-classes[121X are now handled by the graph automorphism group633and isomorphism testing functions. An automorphism of a graph634with colour-classes is an automorphism of the graph which635additionally preserves the list of colour-classes (classwise),636and an isomorphism from one graph with colour-classes to a637second is a graph isomorphism from the first graph to the second638which additionally maps the first list of colour-classes to the639second (classwise).[133X640641[30X [33X[0;12YThe [5XGAP[105X code and old standalone programs for the undocumented642functions [10XEnum[110X and [10XEnumColadj[110X have been removed as their643functionality can now largely be handled by current documented644[5XGAP[105X and [5XGRAPE[105X functions.[133X645646[30X [33X[0;6Y[5XIO[105X package by M. Neunhöffer:[133X647648[30X [33X[0;12YNew build system to allow for more flexibility regarding the use649of compiler options and adjusting to [5XGAP[105X 4.5.[133X650651[30X [33X[0;12YNew functions to access time like [10XIO_gettimeofday[110X, [10XIO_gmtime[110X and652[10XIO_localtime[110X.[133X653654[30X [33X[0;12YSome parallel skeletons built on [10Xfork[110X like: [10XParListByFork[110X,655[10XParMapReduceByFork[110X, [10XParTakeFirstResultByFork[110X and656[10XParWorkerFarmByFork[110X.[133X657658[30X [33X[0;12Y[10XIOHub[110X objects for automatic I/O multiplexing.[133X659660[30X [33X[0;12YNew functions [10XIO_gethostbyname[110X and [10XIO_getsockname[110X.[133X661662[30X [33X[0;6Y[5XIRREDSOL[105X package by B. Höfling now covers all irreducible soluble663subgroups of [22XGL(n,q)[122X for [22Xq^n < 1000000[122X and primitive soluble664permutation groups of degree [22X< 1000000[122X (previously, the bound was665[22X65536[122X). It also has faster group recognition and adds a few omissions666for [22XGL(3,8)[122X and [22XGL(6,5)[122X.[133X667668[30X [33X[0;6Y[5XParGAP[105X package by G. Cooperman is now compiled using a system-wide MPI669implementation by default to facilitate running it on proper clusters.670There is also an option to build it with the [5XMPINU[105X library which is671still supplied with the package (thanks to P. Smith for upgrading672[5XParGAP[105X build process).[133X673674[30X [33X[0;6Y[5XOpenMath[105X package by M. Costantini, A. Konovalov, M. Nicosia and A.675Solomon now supports much more OpenMath symbols to facilitate676communication by the remote procedure call protocol implemented in the677[5XSCSCP[105X package. Also, a third-party external library to support binary678OpenMath encoding has been replaced by a proper implementation made679entirely in [5XGAP[105X.[133X680681[30X [33X[0;6Y[5XOrb[105X package by J. Müller, M. Neunhöffer and F. Noeske:[133X682683[33X[0;6YThere have been numerous improvements to this package:[133X684685[30X [33X[0;12YA new fast implementation of AVL trees (balanced binary trees)686in C.[133X687688[30X [33X[0;12YNew interface to hash table functionality and implementation in689C for speedup.[133X690691[30X [33X[0;12YSome new hash functions for various object types like692transformations.[133X693694[30X [33X[0;12YNew function [10XORB_EstimateOrbitSize[110X using the birthday paradox.[133X695696[30X [33X[0;12YImproved functionality for product replacer objects.[133X697698[30X [33X[0;12YNew [21Xtree hash tables[121X.[133X699700[30X [33X[0;12YNew functionality to compute weak and strong orbits for701semigroups and monoids.[133X702703[30X [33X[0;12Y[10XOrbitGraph[110X for Orb orbits.[133X704705[30X [33X[0;12YFast C kernel methods for the following functions:[133X706707[33X[0;12Y[10XPermLeftQuoTransformationNC[110X, [10XMappingPermSetSet[110X,708[10XMappingPermListList[110X, [10XImageSetOfTransformation[110X, and709[10XKernelOfTransformation[110X.[133X710711[30X [33X[0;12YNew build system to allow for more flexibility regarding the use712of compiler options and to adjust to [5XGAP[105X 4.5.[133X713714[30X [33X[0;6Y[5XRCWA[105X package by S. Kohl among the new features and other improvements715has the following:[133X716717[30X [33X[0;12YA database of all 52394 groups generated by 3 class718transpositions of [22Xℤ[122X which interchange residue classes with719modulus less than or equal to 6. This database contains the720orders and the moduli of all of these groups. Also it provides721information on what is known about which of these groups are722equal and how their finite and infinite orbits on [22Xℤ[122X look like.[133X723724[30X [33X[0;12YMore routines for investigating the action of an rcwa group on725[22Xℤ[122X. Examples are a routine which attempts to find out whether a726given rcwa group acts transitively on the set of nonnegative727integers in its support and a routine which looks for finite728orbits on the set of all residue classes of [22Xℤ[122X.[133X729730[30X [33X[0;12YAbility to deal with rcwa permutations of [22Xℤ^2[122X.[133X731732[30X [33X[0;12YImportant methods have been made more efficient in terms of733runtime and memory consumption.[133X734735[30X [33X[0;12YThe output has been improved. For example, rcwa permutations are736now [10XDisplay[110X'ed in ASCII text resembling LaTeX output.[133X737738[30X [33X[0;6YThe [5XXGAP[105X package by F. Celler and M. Neunhöffer can now be used on73964-bit architectures (thanks to N. Eldredge and M. Horn for sending740patches). Furthermore, there is now an export to XFig option (thanks741to Russ Woodroofe for this patch). The help system in [5XXGAP[105X has been742adjusted to [5XGAP[105X 4.5.[133X743744[30X [33X[0;6YAdditionally, some packages with kernel modules or external binaries745are now available in Windows. The [11X-win.zip[111X archive and the [5XGAP[105X746installer for Windows include working versions of the following747packages: [5XBrowse[105X, [5Xcvec[105X, [5XEDIM[105X, [5XGRAPE[105X, [5XIO[105X and [5Xorb[105X, which were previously748unavailable for Windows users.[133X749750[33X[0;0YFinally, the following packages are withdrawn:[133X751752[30X [33X[0;6Y[5XIF[105X package by M. Costantini is unmaintained and no longer usable. More753advanced functionality for interfaces to other computer algebra754systems is now available in the [5XSCSCP[105X package by A. Konovalov and S.755Linton.[133X756757[30X [33X[0;6Y[5XMonoid[105X package by J. Mitchell is superseded by the [5XCitrus[105X package by758the same author.[133X759760[30X [33X[0;6Y[5XNQL[105X package by R. Hartung has been withdrawn by the author.[133X761762763[1X5.3 [33X[0;0Y[5XGAP[105X[101X[1X 4.5.5 (July 2012)[133X[101X764765[33X[0;0YFixed bugs which could lead to crashes:[133X766767[30X [33X[0;6YFor small primes (compact fields) [10XZmodnZObj(r,p)[110X now returns the768corresponding FFE to avoid crashes when compacting matrices. [Reported769by Ignat Soroko][133X770771[33X[0;0YOther fixed bugs:[133X772773[30X [33X[0;6YFixed a bug in [2XCommutatorSubgroup[102X ([14XReference: CommutatorSubgroup[114X) for774fp groups causing infinite recursion, which could, for example, be775triggered by computing automorphism groups.[133X776777[30X [33X[0;6YPreviously, the list of factors of a polynomial was mutable, and hence778could be accidentally corrupted by callers. Now the list of779irreducible factors is stored immutable. To deal with implicit780reliance on old code, always a shallow copy is returned. [reported by781Jakob Kroeker][133X782783[30X [33X[0;6YComputing high powers of matrices ran into an error for matrices in784the format of the [5Xcvec[105X package. Now the library function also works785with these matrices. [reported by Klaus Lux][133X786787[30X [33X[0;6YThe pseudo tty code which is responsible for spawning subprocesses has788been partially rewritten to allow more than 128 subprocesses on789certain systems. This mechanism is for example used by [5XANUPQ[105X and [5Xnq[105X790packages to compute group quotients via an external program.791Previously, on Mac OS X this could be done precisely 128 times, and792then an error would occur. That is, one could e.g. compute 128793nilpotent quotients, and then had to restart [5XGAP[105X to compute more. This794also affected other systems, such as OpenBSD, where it now also works795correctly.[133X796797[30X [33X[0;6YOn Mac OS X, using [5XGAP[105X compiled against GNU readline 6.2, pasting text798into the terminal session would result in this text appearing very799slowly, with a 0.1 sec delay between each [21Xkeystroke[121X. This is not the800case with versions 6.1 and older, and has been reported to the GNU801readline team. In the meantime, we work around this issue in most802situations by setting [10Xrl_event_hook[110X only if [10XOnCharReadHookActive[110X is803set.[133X804805[30X [33X[0;6Y[2XShowUserPreferences[102X ([14XReference: ShowUserPreferences[114X) ran into a break806loop in case of several undeclared user preferences. [Reported by807James Mitchell][133X808809[30X [33X[0;6Y[5XGAP[105X did not start correctly if the user preference810[10X"InfoPackageLoadingLevel"[110X was set to a number [22X>= 3[122X. The reason is that811[10XPrintFormattedString[110X was called before it was installed. The current812fix is a temporary solution.[133X813814[30X [33X[0;6YThe [10X"hints"[110X member of [10XTypOutputFile[110X used to contain 3*100 entries, yet815[10XaddLineBreakHint[110X would write entries with index up to and including8163*99+3=300, leading to a buffer overflow. This would end up817overwriting the [10X"stream"[110X member with -1. Fixed by incrementing the818size of [10X"hints"[110X to 301. [Reported by Jakob Kroeker][133X819820[30X [33X[0;6YThe function [10XIsDocumentedWord[110X tested the given word against strings821obtained by splitting help matches at non-letter characters. This way,822variable names containing underscores or digits were erroneously not823regarded as documented, and certain substrings of these names were824erroneously regarded as documented.[133X825826[30X [33X[0;6YOn Windows, an error occurred if one tried to use the default Windows827browser as a help viewer (see [2XSetHelpViewer[102X ([14XReference:828SetHelpViewer[114X)). Now the browser opens the top of the correspoding829manual chapter. The current fix is a temporary solution since the830problem remains with the positioning at the required manual section.[133X831832[33X[0;0YImproved functionality:[133X833834[30X [33X[0;6Y[2XWriteGapIniFile[102X ([14XReference: WriteGapIniFile[114X) on Windows now produces835the [11Xgap.ini[111X file with Windows style line breaks. Also, an info message836is now printed if an existing [11Xgap.ini[111X file was moved to a backup file837[11Xgap.ini.bak[111X.[133X838839[30X [33X[0;6YThe [5XCTblLib[105X and [5XTomLib[105X packages are removed from the list of suggested840packages of the core part of [5XGAP[105X. Instead they are added to the841default list of the user preference [10X"PackagesToLoad"[110X. This way it is842possible to configure [5XGAP[105X to not load these packages via changing the843default value of [10X"PackagesToLoad"[110X.[133X844845[30X [33X[0;6YThe conjugacy test in [22XS_n[122X for intransitive subgroups was improved.846This deals with inefficiency issue in the case reported by Stefan847Kohl.[133X848849[30X [33X[0;6YAdded [10XInstallAndCallPostRestore[110X to [11Xlib/system.g[111X and call it in850[11Xlib/init.g[111X instead of [10XCallAndInstallPostRestore[110X for the function that851reads the files listed in [5XGAP[105X command line. This fixes the problem852reported by Yevgen Muntyan when [2XSaveWorkspace[102X ([14XReference:853SaveWorkspace[114X) was used in a file listed in [5XGAP[105X command line (before,854according to the documentation, [2XSaveWorkspace[102X ([14XReference:855SaveWorkspace[114X) was only allowed at the main [5XGAP[105X prompt).[133X856857[30X [33X[0;6YThere is now a new user preference [10XPackagesToIgnore[110X, see858[2XSetUserPreference[102X ([14XReference: SetUserPreference[114X). It contains a list859of names of packages that shall be regarded as not available at all in860the current session, both for autoloading and for later calls of861[2XLoadPackage[102X ([14XReference: LoadPackage[114X). This preference is useful for862testing purposes if one wants to run some code without loading certain863packages.[133X864865866[1X5.4 [33X[0;0Y[5XGAP[105X[101X[1X 4.5.6 (September 2012)[133X[101X867868[33X[0;0YImproved functionality:[133X869870[30X [33X[0;6YThe argument of [2XSaveWorkspace[102X ([14XReference: SaveWorkspace[114X) can now start871with [10X~/[110X which is expanded to the users home directory.[133X872873[30X [33X[0;6YAdded the method for [2XIterator[102X ([14XReference: Iterator[114X) for874[2XPositiveIntegers[102X ([14XReference: PositiveIntegers[114X). [Suggested by Attila875Egri-Nagy].[133X876877[30X [33X[0;6YChanged kernel tables such that list access functionality for878[10XT_SINGULAR[110X objects can be installed by methods at the [5XGAP[105X level.[133X879880[30X [33X[0;6YIn case of saved history, [21XUP[121X arrow after starting [5XGAP[105X yields last881stored line. The user preference [10XHistoryMaxLines[110X is now used when882storing and saving history (see [2XSetUserPreference[102X ([14XReference:883SetUserPreference[114X)).[133X884885[33X[0;0YFixed bugs which could lead to crashes:[133X886887[30X [33X[0;6YA crash occuring during garbage collection following a call to888[10XAClosVec[110X for a [10XGF(2)[110X code. [Reported by Volker Braun][133X889890[30X [33X[0;6YA crash when parsing certain syntactically invalid code. [Reported by891multiple users][133X892893[30X [33X[0;6YFixed and improved command line editing without readline support.894Fixed a segfault which could be triggered by a combination of [21XUP[121X and895[21XDOWN[121X arrows. [Reported by James Mitchell][133X896897[30X [33X[0;6YFixed a bug in the kernel code for floats that caused a crash on SPARC898Solaris in 32-bit mode. [Reported by Volker Braun][133X899900[33X[0;0YOther fixed bugs:[133X901902[30X [33X[0;6YVery large (more than 1024 digit) integers were not being coded903correctly in function bodies unless the integer limb size was 16 bits.904[Reported by Stefan Kohl][133X905906[30X [33X[0;6YAn old variable was used in assertion, causing errors in a debugging907compilation. [Reported by Volker Braun][133X908909[30X [33X[0;6YThe environment variable [10XPAGER[110X is now correctly interpreted when it910contains the full path to the pager program. Furthermore, if the911external pager [10Xless[110X is found from the environment it is made sure that912the option [10X-r[110X is used (same for [10Xmore -f[110X). [Reported by Benjamin913Lorenz][133X914915[30X [33X[0;6YFixed a bug in [10XPermliftSeries[110X. [Reported by Aiichi Yamasaki][133X916917[30X [33X[0;6YFixed discarder function in lattice computation to distinguish general918and zuppo discarder. [Reported by Leonard Soicher][133X919920[30X [33X[0;6YThe [2XGL[102X ([14XReference: GL for dimension and a ring[114X) and [2XSL[102X ([14XReference: SL921for dimension and a ring[114X) constructors did not correctly handle922[10XGL(filter,dim,ring)[110X.[133X923924[30X [33X[0;6YThe names of two primitive groups of degree 64 were incorrect.[133X925926[30X [33X[0;6YThe [2X\in[102X ([14XReference: \in operation for testing membership[114X) method for927groups handled by a nice monomorphism sometimes could produce an error928in situations where it should return false. This only happened when929using [10XSeedFaithfulAction[110X to influence how [2XNiceMonomorphism[102X ([14XReference:930NiceMonomorphism[114X) builds the nice monomorphims for a matrix groups.[133X931932[30X [33X[0;6YWrong [2XPrintObj[102X ([14XReference: PrintObj[114X) method was removed to fix933delegations accordingly to [14X'Reference: View and Print'[114X.[133X934935[30X [33X[0;6YFixed a method for [2XCoefficients[102X ([14XReference: Coefficients[114X) which, after936Gaussian elimination, did not check that the coefficients actually lie937in the left-acting-domain of the vector space. This could lead to a938wrong answer in a vector space membership test. [Reported by Kevin939Watkins][133X940941[33X[0;0YImproved documentation:[133X942943[30X [33X[0;6YRemoved outdated statements from the documentation of944[2XStructureDescription[102X ([14XReference: StructureDescription[114X) which now945non-ambiguosly states that [10XStructureDescription[110X is not an isomorphism946invariant: non-isomorphic groups can have the same string value, and947two isomorphic groups in different representations can produce948different strings.[133X949950[30X [33X[0;6Y[5XGAP[105X now allows overloading of a loaded help book by another one. In951this case, only a warning is printed and no error is raised. This952makes sense if a book of a not loaded package is loaded in a workspace953and then [5XGAP[105X is started with a root path that contains a newer954version. [Reported by Sebastian Gutsche][133X955956[30X [33X[0;6YProvided a better description of user preferences mechanism957([14X'Reference: Configuring User preferences'[114X) and a hint to familiarise958with them using [2XWriteGapIniFile[102X ([14XReference: WriteGapIniFile[114X) function959to create a file which contains descriptions of all known user960preferences and also sets those user preferences which currently do961not have their default value. One can then edit that file to customize962(further) the user preferences for future [5XGAP[105X sessions.[133X963964[33X[0;0YNew packages added for the redistribution with [5XGAP[105X:[133X965966[30X [33X[0;6Y[5XAutoDoc[105X package by S. Gutsche, providing tools for automated967generation of [5XGAPDoc[105X manuals.[133X968969[30X [33X[0;6Y[5XConvex[105X package by S. Gutsche, which provides structures and algorithms970for convex geometry.[133X971972[30X [33X[0;6Y[5XPolymakeInterface[105X package by T. Baechler and S. Gutsche, providing a973link to the callable library of the [5Xpolymake[105X system974([7Xhttp://www.polymake.org[107X).[133X975976[30X [33X[0;6Y[5XToolsForHomalg[105X package by M. Barakat, S. Gutsche and M.977Lange-Hegermann, which provides some auxiliary functionality for the978[5Xhomalg[105X project ([7Xhttp://homalg.math.rwth-aachen.de/[107X).[133X979980981[1X5.5 [33X[0;0Y[5XGAP[105X[101X[1X 4.5.7 (December 2012)[133X[101X982983[33X[0;0YFixed bugs which could lead to crashes:[133X984985[30X [33X[0;6YClosing with [10XLogInputTo[110X (or [10XLogOutputTo[110X) a logfile opened with [2XLogTo[102X986([14XReference: LogTo[114X) left the data structures corrupted, resulting in a987crash.[133X988989[30X [33X[0;6YOn 32-bit systems we can have long integers [10Xn[110X such that [10XLog2Int(n)[110X is990not an immediate integer. In such cases [10XLog2Int[110X gave wrong or991corrupted results which in turn could crash [5XGAP[105X, e.g., in [10XViewObj(n)[110X.[133X992993[30X [33X[0;6YSome patterns of use of [2XUpEnv[102X ([14XReference: UpEnv[114X) and [2XDownEnv[102X994([14XReference: DownEnv[114X) were leading to a segfault.[133X995996[33X[0;0YOther fixed bugs:[133X997998[30X [33X[0;6YViewing of long negative integers was broken, because it went into a999break loop.[133X10001001[30X [33X[0;6YDivision by zero in [2XZmodnZ[102X ([14XReference: ZmodnZ[114X) ([22Xn[122X not prime) produced1002invalid objects. [Reported by Mark Dickinson][133X10031004[30X [33X[0;6YFixed a bug in determining multiplicative inverse for a zero1005polynomial.[133X10061007[30X [33X[0;6YFixed a bug causing infinite recursion in1008[2XNaturalHomomorphismByNormalSubgroup[102X ([14XReference:1009NaturalHomomorphismByNormalSubgroup[114X).[133X10101011[30X [33X[0;6YA workaround was added to deal with a package method creating pcgs for1012permutation groups for which the entry [10XpermpcgsNormalSteps[110X is missing.[133X10131014[30X [33X[0;6YFor a semigroup of associative words that is not the full semigroup of1015all associative words, the methods for [2XSize[102X ([14XReference: Size[114X) and1016[2XIsTrivial[102X ([14XReference: IsTrivial[114X) called one another causing infinite1017recursion.[133X10181019[30X [33X[0;6YThe 64-bit version of the [11Xgac[111X script produced wrong (>= 2^31) CRC1020values because of an integer conversion problem.[133X10211022[30X [33X[0;6YIt was not possible to compile [5XGAP[105X on some systems where [10XHAVE_SELECT[110X1023detects as false.[133X10241025[30X [33X[0;6YNumbers in memory options on the command line exceeding 2^32 could not1026be parsed correctly, even on 64-bit systems. [Reported by Volker1027Braun][133X10281029[33X[0;0YNew packages added for the redistribution with [5XGAP[105X:[133X10301031[30X [33X[0;6Y[5XFloat[105X package by L. Bartholdi, which extends [5XGAP[105X floating-point1032capabilities by providing new floating-point handlers for1033high-precision real, interval and complex arithmetic using MPFR, MPFI,1034MPC or CXSC external libraries. It also contains a very1035high-performance implementation of the LLL (Lenstra-Lenstra-Lovász)1036lattice reduction algorithm via the external library FPLLL.[133X10371038[30X [33X[0;6Y[5XToricVarieties[105X package by S. Gutsche, which provides data structures1039to handle toric varieties by their commutative algebra structure and1040by their combinatorics.[133X1041104210431044