
| Current Path : /usr/share/gap/doc/changes/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/share/gap/doc/changes/chap3.txt |
[1X3 [33X[0;0YChanges between [5XGAP[105X[101X[1X 4.8 and [5XGAP[105X[101X[1X 4.9[133X[101X
[33X[0;0YThis chapter contains an overview of the most important changes introduced
in [5XGAP[105X 4.9.1 release (the 1st public release of [5XGAP[105X 4.9). Later it will also
contain information about subsequent update releases for [5XGAP[105X 4.9.[133X
[33X[0;0YThese changes are also listed on the Wiki page
[7Xhttps://github.com/gap-system/GAP/wiki/gap-4.9-release-notes[107X.[133X
[1X3.1 [33X[0;0Y[5XGAP[105X[101X[1X 4.9.1 (May 2018)[133X[101X
[1X3.1-1 [33X[0;0YChanges in the core [5XGAP[105X[101X[1X system introduced in [5XGAP[105X[101X[1X 4.9[133X[101X
[33X[0;0YMajor changes:[133X
[30X [33X[0;6YMerged [5XHPC-GAP[105X into [5XGAP[105X. For details, please refer to Subsection [14X3.1-2[114X
at the end of these release notes.[133X
[30X [33X[0;6Y[5XGAP[105X has a new build system, which resolves many quirks and issues with
the old system, and will be easier to maintain. For regular users, the
usual [10X./configure && make[110X should work fine as before. If you are
interested in technical details on the new build system, take a look
at [11XREADME.buildsys.md[111X.[133X
[30X [33X[0;6YThe guidelines for developing [5XGAP[105X packages were revised and moved from
the Example package to [14XReference: Using and Developing GAP Packages[114X
(#484 ([7Xhttps://github.com/gap-system/gap/pull/484[107X)).[133X
[30X [33X[0;6YIn addition to supporting single argument lambda functions like [10Xa ->
a+1[110X, [5XGAP[105X now supports lambdas with fewer or more than one argument, or
even a variable number. E.g. [10X{a,b} -> a+b[110X is a shorthand for
[10Xfunction(a,b) return a+b; end[110X. For details on how to use this, see
[14X'Reference: Function'[114X. For technical details, e.g. why we did not
choose the syntax [10X(a,b) -> a+b[110X, see #490
([7Xhttps://github.com/gap-system/gap/pull/490[107X).[133X
[30X [33X[0;6YFunction calls, list accesses and records accesses now can be nested.
For example, you can now write [10Xy := f().x;[110X (essentially equivalent to
[10Xy := f();; y := y.x;[110X), which previously would have resulted in an
error; see #457 ([7Xhttps://github.com/gap-system/gap/issues/457[107X) and
#462 ([7Xhttps://github.com/gap-system/gap/pull/462[107X)).[133X
[30X [33X[0;6YThe libraries of small, primitive and transitive groups which
previously were an integral part of [5XGAP[105X were split into three separate
packages PrimgGrp ([7Xhttp://gap-packages.github.io/primgrp/[107X), SmallGrp
([7Xhttps://gap-packages.github.io/smallgrp/[107X) and TransGrp
([7Xhttp://www.math.colostate.edu/~hulpke/transgrp/[107X). For backwards
compatibility, these are required packages in [5XGAP[105X 4.9 (i.e., [5XGAP[105X will
not start without them). We plan to change this for [5XGAP[105X 4.10 (see
#2434 ([7Xhttps://github.com/gap-system/gap/pull/2434[107X)), once all
packages which currently implicitly rely on these new packages had
time to add explicit dependencies on them (#1650
([7Xhttps://github.com/gap-system/gap/pull/1650[107X), #1714
([7Xhttps://github.com/gap-system/gap/pull/1714[107X)).[133X
[30X [33X[0;6YThe performance of [5XGAP[105X's sorting functions (such as [2XSort[102X ([14XReference:
Sort[114X), [2XSortParallel[102X ([14XReference: SortParallel[114X), etc.) has been
substantially improved, in some examples by more than a factor of
four: as a trivial example, compare the timing for [10XSort([1..100000000]
* 0)[110X. As a side effect, the result of sorting lists with equal entries
may produce different answers compared to previous [5XGAP[105X versions. If
you would like to make your code independant of the exact employed
sorting algorithm, you can use the newly added [2XStableSort[102X ([14XReference:
StableSort[114X), [2XStableSortBy[102X ([14XReference: StableSortBy[114X) and
[2XStableSortParallel[102X ([14XReference: StableSortParallel[114X). (For some
technical details, see #609
([7Xhttps://github.com/gap-system/gap/pull/609[107X)).[133X
[30X [33X[0;6YWe removed our old home-grown big integer code, and instead always use
the GMP based big integer code. This means that the GMP library now is
a required dependency, not just an optional one. Note that GAP has
been using GMP big integer arithmetic for a long time by default, and
we also have been bundling GMP with GAP. So this change mostly removed
code that was never in use for most users.[133X
[30X [33X[0;6YA number of improvements have been made to [2XRandom[102X ([14XReference: Random[114X).
These may lead to different sequences of numbers being created. On the
up side, many more methods for [2XRandom[102X ([14XReference: Random[114X) (and other
[10XRandomXYZ[110X operations) now optionally take an explicit [2XRandomSource[102X
([14XReference: RandomSource[114X) as first argument (but not yet all: help
with issue #1098 ([7Xhttps://github.com/gap-system/gap/pull/1098[107X) is
welcome). Some relevant pull requests:[133X
[30X [33X[0;12YAllow creating random permutations using a random source (#1165
([7Xhttps://github.com/gap-system/gap/pull/1165[107X))[133X
[30X [33X[0;12YLet more [2XRandom[102X ([14XReference: Random[114X) methods use an alternative
source (#1168 ([7Xhttps://github.com/gap-system/gap/pull/1168[107X))[133X
[30X [33X[0;12YHelp [2XRandom[102X ([14XReference: Random[114X) methods to use [2XRandomSource[102X
([14XReference: RandomSource[114X) (#810
([7Xhttps://github.com/gap-system/gap/pull/810[107X))[133X
[30X [33X[0;12YRemove uses of old random generator (#808
([7Xhttps://github.com/gap-system/gap/pull/808[107X))[133X
[30X [33X[0;12YFix [2XRandom[102X ([14XReference: Random[114X) on long (>2^28) lists (#781
([7Xhttps://github.com/gap-system/gap/pull/781[107X))[133X
[30X [33X[0;12YFix [2XRandomUnimodularMat[102X ([14XReference: RandomUnimodularMat[114X) (#1511
([7Xhttps://github.com/gap-system/gap/pull/1511[107X))[133X
[30X [33X[0;12YUse [2XRandomSource[102X ([14XReference: RandomSource[114X) in a few more places
(#1599 ([7Xhttps://github.com/gap-system/gap/pull/1599[107X))[133X
[30X [33X[0;6YThe output and behaviour of the profiling system has been
substantially improved:[133X
[30X [33X[0;12YMake profiling correctly handle the same file being opened
multiple times (#1069
([7Xhttps://github.com/gap-system/gap/pull/1069[107X))[133X
[30X [33X[0;12YDo not profile the [10Xreturn[110X statements ([14XReference: return[114X)
inserted into the end of functions (#1073
([7Xhttps://github.com/gap-system/gap/pull/1073[107X))[133X
[30X [33X[0;12YEnsure we reset [10XOutputtedFilenameList[110X in profiling when a
workspace is restored (#1164
([7Xhttps://github.com/gap-system/gap/pull/1164[107X))[133X
[30X [33X[0;12YBetter tracking of amounts of memory allocated and time spent in
the garbage collector (#1806
([7Xhttps://github.com/gap-system/gap/pull/1806[107X))[133X
[30X [33X[0;12YAllow profiling of memory usage (#1808
([7Xhttps://github.com/gap-system/gap/pull/1808[107X))[133X
[30X [33X[0;12YRemove profiling limit on files with <= 2^16 lines (#1913
([7Xhttps://github.com/gap-system/gap/pull/1913[107X))[133X
[30X [33X[0;6YIn many cases [5XGAP[105X now outputs the filename and location of functions
in helpful places, e.g. in error messages or when displaying compiled
functions. We also try to always use the format [10XFILENAME:LINE[110X, which
various utilities already know how to parse (e.g. in [5XiTerm2[105X,
cmd-clicking on such a string can be configured to open an editor for
the file at the indicated line). For some technical details, see #469
([7Xhttps://github.com/gap-system/gap/pull/469[107X), #755
([7Xhttps://github.com/gap-system/gap/pull/755)[107X), #1058
([7Xhttps://github.com/gap-system/gap/pull/1058[107X).[133X
[30X [33X[0;6Y[5XGAP[105X now supports constant variables, whose value cannot change anymore
during runtime; code using such constants can then be slightly
optimized by [5XGAP[105X. E.g. if [10Xfoo[110X is turned into a constant variable bound
to the value [9Xfalse[109X, then [5XGAP[105X can optimize [10Xif foo then ... fi;[110X blocks
completely away. For details, see [2XMakeConstantGlobal[102X ([14XReference:
MakeConstantGlobal[114X) in [14X'Reference: More About Global Variables'[114X.
(#1682 ([7Xhttps://github.com/gap-system/gap/pull/1682[107X), #1770
([7Xhttps://github.com/gap-system/gap/pull/1770[107X))[133X
[33X[0;0YOther changes:[133X
[30X [33X[0;6YEnhance [2XStructureDescription[102X ([14XReference: StructureDescription[114X) with a
major rewrite, enhancing [10XDirectFactorsOfGroup"[110X and adding
[10XSemidirectDecompositions[110X; the core algorithm now also works for
infinite abelian groups. Further, it became faster by quickly finding
abelian direct factors and recognizing several cases where the group
is direct indecomposable. (#379
([7Xhttps://github.com/gap-system/gap/pull/379[107X), #763
([7Xhttps://github.com/gap-system/gap/pull/763[107X), #985
([7Xhttps://github.com/gap-system/gap/pull/985[107X))[133X
[30X [33X[0;6YMark [2XFittingSubgroup[102X ([14XReference: FittingSubgroup[114X) and [2XFrattiniSubgroup[102X
([14XReference: FrattiniSubgroup[114X) as nilpotent (#400
([7Xhttps://github.com/gap-system/gap/pull/400[107X))[133X
[30X [33X[0;6YAdd method for [2XSocle[102X ([14XReference: Socle[114X) for finite nilpotent groups
(#402 ([7Xhttps://github.com/gap-system/gap/pull/402[107X))[133X
[30X [33X[0;6YChange [2XViewString[102X ([14XReference: ViewString[114X) and [2XString[102X ([14XReference:
String[114X) methods for various inverse semigroups and monoids (#438
([7Xhttps://github.com/gap-system/gap/pull/438[107X), #880
([7Xhttps://github.com/gap-system/gap/pull/880[107X), #882
([7Xhttps://github.com/gap-system/gap/pull/882[107X))[133X
[30X [33X[0;6YEnhance some nilpotent and [22Xp[122X-group attributes (#442
([7Xhttps://github.com/gap-system/gap/pull/442[107X))[133X
[30X [33X[0;6YImprove [2XUnion[102X ([14XReference: Union[114X) for a list with many ranges (#444
([7Xhttps://github.com/gap-system/gap/pull/444[107X))[133X
[30X [33X[0;6YAdd [2XUserHomeExpand[102X ([14XReference: UserHomeExpand[114X), a function to expand [10X~[110X
in filenames. (#447 ([7Xhttps://github.com/gap-system/gap/pull/447[107X))[133X
[30X [33X[0;6YExtra hint in [21XNo Method Found[121X error message if one of the arguments is
[9Xfail[109X (#460 ([7Xhttps://github.com/gap-system/gap/pull/460[107X))[133X
[30X [33X[0;6YTell Sylow subgroups of natural [22XA_n[122X or [22XS_n[122X their size when we make
them (#529 ([7Xhttps://github.com/gap-system/gap/pull/529[107X))[133X
[30X [33X[0;6YSome small enhancements on Sylow and Hall subgroup computations,
mostly for nilpotent groups. (#535
([7Xhttps://github.com/gap-system/gap/pull/535[107X))[133X
[30X [33X[0;6YRemove [11X.zoo[111X archive related tools (#540
([7Xhttps://github.com/gap-system/gap/pull/540[107X))[133X
[30X [33X[0;6YAdd new [2XFrattiniSubgroup[102X ([14XReference: FrattiniSubgroup[114X),
[2XMaximalNormalSubgroups[102X ([14XReference: MaximalNormalSubgroups[114X),
[2XMinimalNormalSubgroups[102X ([14XReference: MinimalNormalSubgroups[114X) and [2XSocle[102X
([14XReference: Socle[114X) methods for abelian and/or solvable groups, even
infinite ones. The new methods are only triggered if the group already
knows that it is abelian and/or solvable. (#552
([7Xhttps://github.com/gap-system/gap/pull/552[107X), #583
([7Xhttps://github.com/gap-system/gap/pull/583[107X), #606
([7Xhttps://github.com/gap-system/gap/pull/606[107X))[133X
[30X [33X[0;6YNew attribute [10XNormalHallSubgroups[110X, returning a list of all normal Hall
subgroups of a group. (#561
([7Xhttps://github.com/gap-system/gap/pull/561[107X))[133X
[30X [33X[0;6YAdd [2XComplementClassesRepresentatives[102X ([14XReference:
ComplementClassesRepresentatives[114X) fallback method for arbitrary groups
(#563 ([7Xhttps://github.com/gap-system/gap/pull/563[107X))[133X
[30X [33X[0;6Y(#612 ([7Xhttps://github.com/gap-system/gap/pull/612[107X)) Add parsing of hex
literals in strings, e.g. [10X"\0x61"[110X is turned into [10X"a"[110X (#612
([7Xhttps://github.com/gap-system/gap/pull/612[107X))[133X
[30X [33X[0;6YCollection of enhancements (#683
([7Xhttps://github.com/gap-system/gap/pull/683[107X))[133X
[30X [33X[0;6YVarious speed improvements to polynomial factorisation and the [5XGAP[105X
MeatAxe (#720 ([7Xhttps://github.com/gap-system/gap/pull/720[107X), #1027
([7Xhttps://github.com/gap-system/gap/pull/1027[107X))[133X
[30X [33X[0;6YThe code and documentation for transformations is improved and
corrected in many instances (#727
([7Xhttps://github.com/gap-system/gap/pull/727[107X), #732
([7Xhttps://github.com/gap-system/gap/pull/732[107X))[133X
[30X [33X[0;6YChange [10XRootFFE[110X to optionally takes a field or field size as first
argument, from which the roots will be taken (#761
([7Xhttps://github.com/gap-system/gap/pull/761[107X))[133X
[30X [33X[0;6YChange [2XPermanent[102X ([14XReference: Permanent[114X) from a global function to an
attribute (#777 ([7Xhttps://github.com/gap-system/gap/pull/777[107X))[133X
[30X [33X[0;6YAdd [2XCallFuncListWrap[102X ([14XReference: CallFuncListWrap[114X) to wrap return
value to allow distinguishing between functions which return and
functions which don't (#824
([7Xhttps://github.com/gap-system/gap/pull/824[107X))[133X
[30X [33X[0;6YAllow repeated use of same [2XDeclareSynonym[102X ([14XReference: DeclareSynonym[114X)
call (#835 ([7Xhttps://github.com/gap-system/gap/pull/835[107X))[133X
[30X [33X[0;6YNew implementation of modified Todd-Coxeter (the old one had bugs, see
#302 ([7Xhttps://github.com/gap-system/gap/issues/302[107X)), #843
([7Xhttps://github.com/gap-system/gap/pull/843[107X))[133X
[30X [33X[0;6YNew functionality: Cannon/Holt automorphisms and others (#878
([7Xhttps://github.com/gap-system/gap/pull/878[107X))[133X
[30X [33X[0;6YAdd [2XIsPowerfulPGroup[102X ([14XReference: IsPowerfulPGroup[114X) property, and a
[2XFrattiniSubgroup[102X ([14XReference: FrattiniSubgroup[114X) method for powerful
[22Xp[122X-groups (#894 ([7Xhttps://github.com/gap-system/gap/pull/894[107X))[133X
[30X [33X[0;6YImprove performance for group isomorphism/automorphisms (#896
([7Xhttps://github.com/gap-system/gap/pull/896[107X), #968
([7Xhttps://github.com/gap-system/gap/pull/968[107X))[133X
[30X [33X[0;6YMake [2XListX[102X ([14XReference: ListX[114X), [2XSetX[102X ([14XReference: SetX[114X), [2XSumX[102X
([14XReference: SumX[114X) and [2XProductX[102X ([14XReference: ProductX[114X) support lists
which are not collections (#903
([7Xhttps://github.com/gap-system/gap/pull/903[107X))[133X
[30X [33X[0;6YSome improvements for [2XLatticeByCyclicExtension[102X ([14XReference:
LatticeByCyclicExtension[114X) (#905
([7Xhttps://github.com/gap-system/gap/pull/905[107X))[133X
[30X [33X[0;6YAdd helpers to retrieve information about operations and filters:
[2XCategoryByName[102X ([14XReference: CategoryByName[114X), [2XTypeOfOperation[102X
([14XReference: TypeOfOperation[114X), [2XFilterByName[102X ([14XReference: FilterByName[114X),
[2XFiltersObj[102X ([14XReference: FiltersObj[114X), [2XFiltersType[102X ([14XReference:
FiltersType[114X), [10XIdOfFilter[110X, [10XIdOfFilterByName[110X, [2XIsAttribute[102X ([14XReference:
IsAttribute[114X), [2XIsCategory[102X ([14XReference: IsCategory[114X), [2XIsProperty[102X
([14XReference: IsProperty[114X), [2XIsRepresentation[102X ([14XReference:
IsRepresentation[114X) (#925 ([7Xhttps://github.com/gap-system/gap/pull/925[107X),
#1593 ([7Xhttps://github.com/gap-system/gap/pull/1593[107X))[133X
[30X [33X[0;6YAdd case-insensitive autocomplete (#928
([7Xhttps://github.com/gap-system/gap/pull/928[107X))[133X
[30X [33X[0;6YGive better error message if a help file is missing (#939
([7Xhttps://github.com/gap-system/gap/pull/939[107X))[133X
[30X [33X[0;6YAdd [2XLowercaseChar[102X ([14XReference: LowercaseChar[114X) and [2XUppercaseChar[102X
([14XReference: UppercaseChar[114X) (#952
([7Xhttps://github.com/gap-system/gap/pull/952[107X))[133X
[30X [33X[0;6YAdd [2XPositionMaximum[102X ([14XReference: PositionMaximum[114X) and [2XPositionMinimum[102X
([14XReference: PositionMinimum[114X) (#956
([7Xhttps://github.com/gap-system/gap/pull/956[107X))[133X
[30X [33X[0;6YSwitching default command history length from infinity to 1000 (#960
([7Xhttps://github.com/gap-system/gap/pull/960[107X))[133X
[30X [33X[0;6YAllow conversion of [10X-infinity[110X to float via [2XNewFloat[102X ([14XReference:
NewFloat[114X) and [2XMakeFloat[102X ([14XReference: MakeFloat[114X) (#961
([7Xhttps://github.com/gap-system/gap/pull/961[107X))[133X
[30X [33X[0;6YAdd option [10XNoPrecomputedData[110X to avoid use of data libraries in certain
computations (useful if one wants to verify the content of these data
libraries) (#986 ([7Xhttps://github.com/gap-system/gap/pull/986[107X))[133X
[30X [33X[0;6YRemove one-argument version of [2XAsPartialPerm[102X ([14XReference: AsPartialPerm
for a permutation and a set of positive integers[114X) for a transformation
(#1036 ([7Xhttps://github.com/gap-system/gap/pull/1036[107X))[133X
[30X [33X[0;6YPartial perms now have a [2XMultiplicativeZero[102X ([14XReference:
MultiplicativeZero[114X) rather than a [2XZero[102X ([14XReference: Zero[114X), since they
are multiplicative rather than additive elements (#1040
([7Xhttps://github.com/gap-system/gap/pull/1040[107X))[133X
[30X [33X[0;6YVarious enhancements: (#1046
([7Xhttps://github.com/gap-system/gap/pull/1046[107X))[133X
[30X [33X[0;12YA bugfix in [2XNaturalHomomorphismByIdeal[102X ([14XReference:
NaturalHomomorphismByIdeal[114X) for polynomial rings[133X
[30X [33X[0;12YImprovements in handling solvable permutation groups[133X
[30X [33X[0;12YThe trivial group now is a member of the perfect groups library[133X
[30X [33X[0;12YImprovements in using tabulated data for maximal subgroups[133X
[30X [33X[0;6YNew tests for group constructors and some fixes (e.g. [10XGO(1,4,5)[110X used
to trigger an error) (#1053
([7Xhttps://github.com/gap-system/gap/pull/1053[107X))[133X
[30X [33X[0;6YMake [10XHasSolvableFactorGroup[110X slightly more efficient (#1062
([7Xhttps://github.com/gap-system/gap/pull/1062[107X))[133X
[30X [33X[0;6YEnhance [10XHasXXFactorGroup[110X (#1066
([7Xhttps://github.com/gap-system/gap/pull/1066[107X))[133X
[30X [33X[0;6YRemove GAP4stones from tests (#1072
([7Xhttps://github.com/gap-system/gap/pull/1072[107X))[133X
[30X [33X[0;6Y[2XAsMonoid[102X ([14XReference: AsMonoid[114X) and [2XAsSemigroup[102X ([14XReference:
AsSemigroup[114X) are now operations, and various bugs were resolved
related to isomorphisms of semigroups and monoids (#1112
([7Xhttps://github.com/gap-system/gap/pull/1112[107X))[133X
[30X [33X[0;6YMark isomorphisms between trivial groups as bijective (#1116
([7Xhttps://github.com/gap-system/gap/pull/1116[107X))[133X
[30X [33X[0;6YSpeed up [2XRootMod[102X ([14XReference: RootMod[114X) and [2XRootsMod[102X ([14XReference:
RootsMod[114X) for moduli with large prime factors; also add
[10XIS_PROBAB_PRIME_INT[110X kernel function (#1141
([7Xhttps://github.com/gap-system/gap/pull/1141[107X))[133X
[30X [33X[0;6YThe search for the documentation of system setters and testers now
returns corresponding attributes and properties (#1144
([7Xhttps://github.com/gap-system/gap/pull/1144[107X))[133X
[30X [33X[0;6YRemove command line options [10X-c[110X, [10X-U[110X, [10X-i[110X and [10X-X[110X, add [10X--quitonbreak[110X
(#1192 ([7Xhttps://github.com/gap-system/gap/pull/1192[107X), #1265
([7Xhttps://github.com/gap-system/gap/pull/1265[107X), #1421
([7Xhttps://github.com/gap-system/gap/pull/1421[107X), #1448
([7Xhttps://github.com/gap-system/gap/pull/1448[107X))[133X
[30X [33X[0;6YRemove Itanium support (#1163
([7Xhttps://github.com/gap-system/gap/pull/1163[107X))[133X
[30X [33X[0;6YAdding two strings now shows a more helpful error message (#1314
([7Xhttps://github.com/gap-system/gap/pull/1314[107X))[133X
[30X [33X[0;6YSuppress [10XUnbound global variable[110X warning in [2XIsBound[102X ([14XReference:
IsBound for a global variable[114X) (#1334
([7Xhttps://github.com/gap-system/gap/pull/1334[107X))[133X
[30X [33X[0;6YIncrease warning level for Conway polynomial (#1363
([7Xhttps://github.com/gap-system/gap/pull/1363[107X))[133X
[30X [33X[0;6YPerformance improvements to maximal and intermediate subgroups, fix of
[2XRepresentativeAction[102X ([14XReference: RepresentativeAction[114X) (#1390
([7Xhttps://github.com/gap-system/gap/pull/1390[107X))[133X
[30X [33X[0;6YRevise Chapter 52 of the reference manual (fp semigroups and monoids)
(#1441 ([7Xhttps://github.com/gap-system/gap/pull/1441[107X))[133X
[30X [33X[0;6YImprove the performance of the [10XInfo[110X ([14XReference: Info[114X) statement (#1464
([7Xhttps://github.com/gap-system/gap/pull/1464[107X), #1770
([7Xhttps://github.com/gap-system/gap/pull/1770[107X))[133X
[30X [33X[0;6YWhen printing function bodies, avoid some redundant spaces (#1498
([7Xhttps://github.com/gap-system/gap/pull/1498[107X))[133X
[30X [33X[0;6YAdd kernel functions for directly accessing entries of GF2/8bit
compressed matrices (#1585
([7Xhttps://github.com/gap-system/gap/pull/1585[107X))[133X
[30X [33X[0;6YAdd [2XString[102X ([14XReference: String[114X) method for functions (#1591
([7Xhttps://github.com/gap-system/gap/pull/1591[107X))[133X
[30X [33X[0;6YCheck modules were compiled with the same version of [5XGAP[105X when loading
them (#1600 ([7Xhttps://github.com/gap-system/gap/pull/1600[107X))[133X
[30X [33X[0;6YWhen printing function, reproduce [10XTryNextMethod()[110X correctly (#1613
([7Xhttps://github.com/gap-system/gap/pull/1613[107X))[133X
[30X [33X[0;6YNew [21XBitfields[121X feature ([14XReference: Bitfields[114X) providing efficient
support for packing multiple data items into a single word for cache
and memory efficiency (#1616
([7Xhttps://github.com/gap-system/gap/pull/1616[107X))[133X
[30X [33X[0;6YImproved [11Xbin/BuildPackages.sh[111X, in particular added option to abort
upon failure (#2022 ([7Xhttps://github.com/gap-system/gap/pull/2022[107X))[133X
[30X [33X[0;6YRewrote integer code (GMP) for better performance of certain large
integer operations, and added kernel implementations of various
functions, including these:[133X
[30X [33X[0;12YAdd kernel implementations of [2XAbsInt[102X ([14XReference: AbsInt[114X),
[2XSignInt[102X ([14XReference: SignInt[114X); add new kernel functions [10XABS_RAT[110X,
[10XSIGN_RAT[110X; and speed up [14XReference: mod[114X, [2XRemInt[102X ([14XReference:
RemInt[114X), [2XQuoInt[102X ([14XReference: QuoInt[114X) for divisors which are small
powers of 2 (#1045
([7Xhttps://github.com/gap-system/gap/pull/1045[107X))[133X
[30X [33X[0;12YAdd kernel implementations of [2XJacobi[102X ([14XReference: Jacobi[114X),
[2XPowerModInt[102X ([14XReference: PowerModInt[114X), [2XValuation[102X ([14XReference:
Valuation[114X) (for integers), [2XPValuation[102X ([14XReference: PValuation[114X)
(for integers) (#1075
([7Xhttps://github.com/gap-system/gap/pull/1045[107X))[133X
[30X [33X[0;12YAdd kernel implementation of [2XFactorial[102X ([14XReference: Factorial[114X)
(#1969 ([7Xhttps://github.com/gap-system/gap/pull/1969[107X))[133X
[30X [33X[0;12YAdd kernel implementation of [2XBinomial[102X ([14XReference: Binomial[114X)
(#1921 ([7Xhttps://github.com/gap-system/gap/pull/1921[107X))[133X
[30X [33X[0;12YAdd kernel implementation of [2XLcmInt[102X ([14XReference: LcmInt[114X) (#2019
([7Xhttps://github.com/gap-system/gap/pull/2019[107X))[133X
[30X [33X[0;6YCheck version of kernel for package versions (#1600
([7Xhttps://github.com/gap-system/gap/pull/1600[107X))[133X
[30X [33X[0;6YAdd new [2XAlgebraicExtensionNC[102X ([14XReference: AlgebraicExtensionNC[114X)
operation (#1665 ([7Xhttps://github.com/gap-system/gap/pull/1665[107X))[133X
[30X [33X[0;6YAdd [10XNumberColumns[110X and [10XNumberRows[110X to [10XMatrixObj[110X interface (#1657
([7Xhttps://github.com/gap-system/gap/pull/1657[107X))[133X
[30X [33X[0;6Y[2XMinimalGeneratingSet[102X ([14XReference: MinimalGeneratingSet[114X) returns an
answer for non-cyclic groups that already have a generating set of
size 2 (which hence is minimal) (#1755
([7Xhttps://github.com/gap-system/gap/pull/1755[107X))[133X
[30X [33X[0;6YAdd [2XGetWithDefault[102X ([14XReference: GetWithDefault[114X) which returns the [22Xn[122X-th
element of the list if it is bound, and the default value otherwise
(#1762 ([7Xhttps://github.com/gap-system/gap/pull/1762[107X))[133X
[30X [33X[0;6YFast method for [10XElmsBlist[110X when positions are a range with increment 1
(#1773 ([7Xhttps://github.com/gap-system/gap/pull/1773[107X))[133X
[30X [33X[0;6YMake permutations remember their inverses (#1831
([7Xhttps://github.com/gap-system/gap/pull/1831[107X))[133X
[30X [33X[0;6YAdd invariant forms for [10XGU(1,q)[110X and [10XSU(1,q)[110X (#1874
([7Xhttps://github.com/gap-system/gap/pull/1874[107X))[133X
[30X [33X[0;6YImplement [2XStandardAssociate[102X ([14XReference: StandardAssociate[114X) and
[2XStandardAssociateUnit[102X ([14XReference: StandardAssociateUnit[114X) for [2XZmodnZ[102X
([14XReference: ZmodnZ[114X), clarify documentation for [2XIsEuclideanRing[102X
([14XReference: IsEuclideanRing[114X) (#1990
([7Xhttps://github.com/gap-system/gap/pull/1990[107X))[133X
[30X [33X[0;6YImprove documentation and interface for floats (#2016
([7Xhttps://github.com/gap-system/gap/pull/2016[107X))[133X
[30X [33X[0;6YAdd [2XPositionsProperty[102X ([14XReference: PositionsProperty[114X) method for
non-dense lists (#2021 ([7Xhttps://github.com/gap-system/gap/pull/2021[107X))[133X
[30X [33X[0;6YAdd [10XTrivialGroup(IsFpGroup)[110X (#2037
([7Xhttps://github.com/gap-system/gap/pull/2037[107X))[133X
[30X [33X[0;6YChange [2XObjectifyWithAttributes[102X ([14XReference: ObjectifyWithAttributes[114X) to
return the new objects (#2098
([7Xhttps://github.com/gap-system/gap/pull/2098[107X))[133X
[30X [33X[0;6YRemoved a never released undocumented [5XHPC-GAP[105X syntax extension which
allowed to use a backtick/backquote as alias for [2XMakeImmutable[102X
([14XReference: MakeImmutable[114X). (#2202
([7Xhttps://github.com/gap-system/gap/pull/2202[107X)).[133X
[30X [33X[0;6YVarious changes (#2253 ([7Xhttps://github.com/gap-system/gap/pull/2253[107X)):[133X
[30X [33X[0;12YImprove performance and memory usage of
[10XImageKernelBlocksHomomorphism"[110X[133X
[30X [33X[0;12YDocument [2XLowIndexSubgroups[102X ([14XReference: LowIndexSubgroups[114X)[133X
[30X [33X[0;12YCorrect [2XClassesSolvableGroup[102X ([14XReference: ClassesSolvableGroup[114X)
documentation to clarify that it requires, but does not test
membership[133X
[30X [33X[0;12Yfix [2XIsNaturalGL[102X ([14XReference: IsNaturalGL[114X) for trivial matrix
groups with empty generating set[133X
[30X [33X[0;6YMake it possible to interrupt [10Xrepeat continue; until false;[110X and
similar tight loops with [21XCtrl-C[121X (#2259
([7Xhttps://github.com/gap-system/gap/pull/2259[107X)).[133X
[30X [33X[0;6YImproved [5XGAP[105X testing infrastructure, extended [5XGAP[105X test suite, and
increased code coverage[133X
[30X [33X[0;6YCountless other tweaks, improvements, fixes were applied to the [5XGAP[105X
library, kernel and manual[133X
[33X[0;0YFixed bugs:[133X
[30X [33X[0;6YFix bugs in [2XNormalSubgroups[102X ([14XReference: NormalSubgroups[114X) and [2XPrintCSV[102X
([14XReference: PrintCSV[114X) (#433
([7Xhttps://github.com/gap-system/gap/pull/433[107X))[133X
[30X [33X[0;6YFix nice monomorphism dispatch for [2XHallSubgroup[102X ([14XReference:
HallSubgroup[114X) (e.g. fixes [10XHallSubgroup(GL(3,4), [2,3])[110X) (#559
([7Xhttps://github.com/gap-system/gap/pull/559[107X))[133X
[30X [33X[0;6YCheck for permutations whose degree would exceed the internal limit,
and document that limit (#581
([7Xhttps://github.com/gap-system/gap/pull/581[107X))[133X
[30X [33X[0;6YFix segfault after quitting from the break loop in certain cases (#709
([7Xhttps://github.com/gap-system/gap/pull/709[107X) which fixes #397
([7Xhttps://github.com/gap-system/gap/issues/397[107X))[133X
[30X [33X[0;6YFix rankings for [2XSocle[102X ([14XReference: Socle[114X) and [2XMinimalNormalSubgroups[102X
([14XReference: MinimalNormalSubgroups[114X) (#711
([7Xhttps://github.com/gap-system/gap/pull/711[107X))[133X
[30X [33X[0;6YMake key and attribute values immutable (#714
([7Xhttps://github.com/gap-system/gap/pull/714[107X))[133X
[30X [33X[0;6YMake [10XOnTuples([-1], (1,2))[110X return an error (#718
([7Xhttps://github.com/gap-system/gap/pull/718[107X))[133X
[30X [33X[0;6YFix bug in [2XNewmanInfinityCriterion[102X ([14XReference:
NewmanInfinityCriterion[114X) which could corrupt the [2XPCentralSeries[102X
([14XReference: PCentralSeries[114X) attribute (#719
([7Xhttps://github.com/gap-system/gap/pull/719[107X))[133X
[30X [33X[0;6YThe length of the list returned by [10XOnSetsPerm[110X is now properly set
(#731 ([7Xhttps://github.com/gap-system/gap/pull/731[107X))[133X
[30X [33X[0;6YFix [2XRemove[102X ([14XReference: Remove[114X) misbehaving when last member of list
with gaps in it is removed (#766
([7Xhttps://github.com/gap-system/gap/pull/766[107X))[133X
[30X [33X[0;6YFix bugs in various methods for Rees (0-)matrix semigroups: [2XIsFinite[102X
([14XReference: IsFinite[114X), [2XIsOne[102X ([14XReference: IsOne[114X), [2XEnumerator[102X
([14XReference: Enumerator[114X), [2XIsReesMatrixSemigroup[102X ([14XReference:
IsReesMatrixSemigroup[114X) and [2XIsReesZeroMatrixSemigroup[102X ([14XReference:
IsReesZeroMatrixSemigroup[114X) (#768
([7Xhttps://github.com/gap-system/gap/pull/768[107X), #1676
([7Xhttps://github.com/gap-system/gap/pull/1676[107X))[133X
[30X [33X[0;6YFix [2XIsFullTransformationSemigroup[102X ([14XReference:
IsFullTransformationSemigroup[114X) to work correctly for the full
transformation semigroup of degree 0 (#769
([7Xhttps://github.com/gap-system/gap/pull/769[107X))[133X
[30X [33X[0;6YFix printing very large (> 2^28 points) permutations (#782
([7Xhttps://github.com/gap-system/gap/pull/782[107X))[133X
[30X [33X[0;6YFix [10XIntersection([])[110X (#854
([7Xhttps://github.com/gap-system/gap/pull/854[107X))[133X
[30X [33X[0;6YFix crash in [10XIsKernelFunction[110X for some inputs (#876
([7Xhttps://github.com/gap-system/gap/pull/876[107X))[133X
[30X [33X[0;6YFix bug in [2XShortestVectors[102X ([14XReference: ShortestVectors[114X) which could
cause [2XOrthogonalEmbeddings[102X ([14XReference: OrthogonalEmbeddings[114X) to enter
a break loop (#941 ([7Xhttps://github.com/gap-system/gap/pull/941[107X))[133X
[30X [33X[0;6YFix crash in some methods involving partial perms (#948
([7Xhttps://github.com/gap-system/gap/pull/948[107X))[133X
[30X [33X[0;6Y[10XFreeMonoid(0)[110X no longer satisfies [2XIsGroup[102X ([14XReference: IsGroup[114X) (#950
([7Xhttps://github.com/gap-system/gap/pull/950[107X))[133X
[30X [33X[0;6YFix crash when invoking weak pointer functions on invalid arguments
(#1009 ([7Xhttps://github.com/gap-system/gap/pull/1009[107X))[133X
[30X [33X[0;6YFix a bug parsing character constants (#1015
([7Xhttps://github.com/gap-system/gap/pull/1015[107X))[133X
[30X [33X[0;6YFix several bugs and crashes in [10XZ(p,d)[110X for invalid arguments, e.g.
[10XZ(4,5)[110X, [10XZ(6,3)[110X (#1029 ([7Xhttps://github.com/gap-system/gap/pull/1029[107X),
#1059 ([7Xhttps://github.com/gap-system/gap/pull/1059[107X), #1383
([7Xhttps://github.com/gap-system/gap/pull/1383[107X), #1573
([7Xhttps://github.com/gap-system/gap/pull/1573[107X))[133X
[30X [33X[0;6YFix starting [5XGAP[105X on systems with large inodes (#1033
([7Xhttps://github.com/gap-system/gap/pull/1033[107X))[133X
[30X [33X[0;6YFix [2XNrFixedPoints[102X ([14XReference: NrFixedPoints for a partial perm[114X) and
[2XFixedPointsOfPartialPerm[102X ([14XReference: FixedPointsOfPartialPerm for a
partial perm[114X) for a partial perm and a partial perm semigroup (they
used to return the moved points rather than the fixed points) (#1034
([7Xhttps://github.com/gap-system/gap/pull/1034[107X))[133X
[30X [33X[0;6YFix [2XMeetOfPartialPerms[102X ([14XReference: MeetOfPartialPerms[114X) when given a
collection of 1 or 0 partial perms (#1035
([7Xhttps://github.com/gap-system/gap/pull/1035[107X))[133X
[30X [33X[0;6YThe behaviour of [2XAsPartialPerm[102X ([14XReference: AsPartialPerm for a
transformation and a set of positive integer[114X) for a transformation and
a list is corrected (#1036
([7Xhttps://github.com/gap-system/gap/pull/1036[107X))[133X
[30X [33X[0;6Y[2XIsomorphismReesZeroMatrixSemigroup[102X ([14XReference:
IsomorphismReesZeroMatrixSemigroup[114X) for a 0-simple semigroup is now
defined on the zero of the source and range semigroups (#1038
([7Xhttps://github.com/gap-system/gap/pull/1038[107X))[133X
[30X [33X[0;6YFix isomorphisms from finitely-presented monoids to finitely-presented
semigroups, and allow isomorphisms from semigroups to fp-monoids
(#1039 ([7Xhttps://github.com/gap-system/gap/pull/1039[107X))[133X
[30X [33X[0;6YFix [2XOne[102X ([14XReference: One[114X) for a partial permutation semigroup without
generators (#1040 ([7Xhttps://github.com/gap-system/gap/pull/1040[107X))[133X
[30X [33X[0;6YFix [2XMemoryUsage[102X ([14XReference: MemoryUsage[114X) for positional and component
objects (#1044 ([7Xhttps://github.com/gap-system/gap/pull/1044[107X))[133X
[30X [33X[0;6YFix [10XPlainString[110X causing immutable strings to become mutable (#1096
([7Xhttps://github.com/gap-system/gap/pull/1096[107X))[133X
[30X [33X[0;6YRestore support for sparc64 (#1124
([7Xhttps://github.com/gap-system/gap/pull/1124[107X))[133X
[30X [33X[0;6YFix a problem with `<` for transformations, which could give incorrect
results (#1130 ([7Xhttps://github.com/gap-system/gap/pull/1130[107X))[133X
[30X [33X[0;6YFix crash when comparing recursive data structures such as [10X[~] = [~][110X
(#1151 ([7Xhttps://github.com/gap-system/gap/pull/1151[107X))[133X
[30X [33X[0;6YEnsure output of [10XTrivialGroup(IsPermGroup)[110X has zero generators (#1247
([7Xhttps://github.com/gap-system/gap/pull/1247[107X))[133X
[30X [33X[0;6YFix for applying the [2XInverseGeneralMapping[102X ([14XReference:
InverseGeneralMapping[114X) of an [2XIsomorphismFpSemigroup[102X ([14XReference:
IsomorphismFpSemigroup[114X) (#1259
([7Xhttps://github.com/gap-system/gap/pull/1259[107X))[133X
[30X [33X[0;6YCollection of improvements and fixes: (#1294
([7Xhttps://github.com/gap-system/gap/pull/1294[107X))[133X
[30X [33X[0;12YA fix for quotient rings of rings by structure constants[133X
[30X [33X[0;12YGeneric routine for transformation matrix to rational canonical
form[133X
[30X [33X[0;12YSpeed improvements to block homomorphisms[133X
[30X [33X[0;12YNew routines for conjugates or subgroups with desired
containment[133X
[30X [33X[0;12YPerformance improvement for conjugacy classes in groups with a
huge number of classes, giving significant improvements to
[2XIntermediateSubgroups[102X ([14XReference: IntermediateSubgroups[114X) (e.g.
7-Sylow subgroup in [22XPSL(7,2)[122X), ascending chain and thus in turn
double coset calculations and further routines that rely on it[133X
[30X [33X[0;6YFix [2XEqFloat[102X ([14XReference: EqFloat[114X) to return correct results, instead of
always returning [9Xfalse[109X (#1370
([7Xhttps://github.com/gap-system/gap/pull/1370[107X))[133X
[30X [33X[0;6YVarious changes, including fixes for [2XCallFuncList[102X ([14XReference:
CallFuncList[114X) (#1417 ([7Xhttps://github.com/gap-system/gap/pull/1417[107X))[133X
[30X [33X[0;6YBetter define the result of [2XMappingPermListList[102X ([14XReference:
MappingPermListList[114X) (#1432
([7Xhttps://github.com/gap-system/gap/pull/1432[107X))[133X
[30X [33X[0;6YCheck the arguments to [2XIsInjectiveListTrans[102X ([14XReference:
IsInjectiveListTrans[114X) to prevent crashes (#1435
([7Xhttps://github.com/gap-system/gap/pull/1435[107X))[133X
[30X [33X[0;6YChange [2XBlownUpMat[102X ([14XReference: BlownUpMat[114X) to return fail for certain
invalid inputs (#1488 ([7Xhttps://github.com/gap-system/gap/pull/1488[107X))[133X
[30X [33X[0;6YFixes for creating Green's classes of semigroups (#1492
([7Xhttps://github.com/gap-system/gap/pull/1492[107X), #1771
([7Xhttps://github.com/gap-system/gap/pull/1771[107X))[133X
[30X [33X[0;6YFix [10XDoImmutableMatrix[110X for finite fields (#1504
([7Xhttps://github.com/gap-system/gap/pull/1504[107X))[133X
[30X [33X[0;6YMake structural copy handle boolean lists properly (#1514
([7Xhttps://github.com/gap-system/gap/pull/1514[107X))[133X
[30X [33X[0;6YMinimal fix for algebraic extensions over finite fields of order > 256
(#1569 ([7Xhttps://github.com/gap-system/gap/pull/1569[107X))[133X
[30X [33X[0;6YFix for computing quotients of certain algebra modules (#1669
([7Xhttps://github.com/gap-system/gap/pull/1669[107X))[133X
[30X [33X[0;6YFix an error in the default method for [2XPositionNot[102X ([14XReference:
PositionNot[114X) (#1672 ([7Xhttps://github.com/gap-system/gap/pull/1672[107X))[133X
[30X [33X[0;6YImprovements to Rees matrix semigroups code and new tests (#1676
([7Xhttps://github.com/gap-system/gap/pull/1676[107X))[133X
[30X [33X[0;6YFix [2XCodePcGroup[102X ([14XReference: CodePcGroup[114X) for the trivial polycyclic
group (#1679 ([7Xhttps://github.com/gap-system/gap/pull/1679[107X))[133X
[30X [33X[0;6YFix [10XFroidurePinExtendedAlg[110X for partial permutation monoids (#1697
([7Xhttps://github.com/gap-system/gap/pull/1697[107X))[133X
[30X [33X[0;6YFix computing the radical of a zero dimensional associative algebra
(#1701 ([7Xhttps://github.com/gap-system/gap/pull/1701[107X))[133X
[30X [33X[0;6YFix a bug in [2XRadicalOfAlgebra[102X ([14XReference: RadicalOfAlgebra[114X) which
could cause a break loop for some associative algebras (#1716
([7Xhttps://github.com/gap-system/gap/pull/1716[107X))[133X
[30X [33X[0;6YFix a recursion depth trap error when repeatedly calling [2XTest[102X
([14XReference: Test[114X) (#1753
([7Xhttps://github.com/gap-system/gap/pull/1753[107X))[133X
[30X [33X[0;6YFix bugs in [2XPrimePGroup[102X ([14XReference: PrimePGroup[114X) for direct products
of [22Xp[122X-groups (#1754 ([7Xhttps://github.com/gap-system/gap/pull/1754[107X))[133X
[30X [33X[0;6YFix [2XUpEnv[102X ([14XReference: UpEnv[114X) (available in break loops) when at the
bottom of the backtrace (#1780
([7Xhttps://github.com/gap-system/gap/pull/1780[107X))[133X
[30X [33X[0;6YFix [2XIsomorphismPartialPermSemigroup[102X ([14XReference:
IsomorphismPartialPermSemigroup[114X) and [2XIsomorphismPartialPermMonoid[102X
([14XReference: IsomorphismPartialPermMonoid[114X) for permutation groups with
0 generators (#1784 ([7Xhttps://github.com/gap-system/gap/pull/1784[107X))[133X
[30X [33X[0;6YFix [2XDisplaySemigroup[102X ([14XReference: DisplaySemigroup[114X) for transformation
semigroups (#1785 ([7Xhttps://github.com/gap-system/gap/pull/1785[107X))[133X
[30X [33X[0;6YFix [21Xno method found[121X errors in [2XMagmaWithOne[102X ([14XReference: MagmaWithOne[114X)
and [2XMagmaWithInverses[102X ([14XReference: MagmaWithInverses[114X) (#1798
([7Xhttps://github.com/gap-system/gap/pull/1798[107X))[133X
[30X [33X[0;6YFix an error computing kernel of group homomorphism from fp group into
permutation group (#1809
([7Xhttps://github.com/gap-system/gap/pull/1809[107X))[133X
[30X [33X[0;6YFix an error in MTC losing components when copying a new augmented
coset table (#1809 ([7Xhttps://github.com/gap-system/gap/pull/1809[107X))[133X
[30X [33X[0;6YFix output of [2XWhere[102X ([14XReference: Where[114X) in a break loop, which pointed
at the wrong code line in some cases (#1814
([7Xhttps://github.com/gap-system/gap/pull/1814[107X))[133X
[30X [33X[0;6YFix the interaction of signals in [5XGAP[105X and the [5XIO[105X package (#1851
([7Xhttps://github.com/gap-system/gap/pull/1851[107X))[133X
[30X [33X[0;6YMake line editing resilient to [10XLineEditKeyHandler[110X failure (in
particular, don't crash) (#1856
([7Xhttps://github.com/gap-system/gap/pull/1856[107X))[133X
[30X [33X[0;6YOmit non-characters from [2XPermChars[102X ([14XReference: PermChars[114X) results
(#1867 ([7Xhttps://github.com/gap-system/gap/pull/1867[107X))[133X
[30X [33X[0;6YFix [2XExteriorPower[102X ([14XReference: ExteriorPowerOfAlgebraModule[114X) when
exterior power is 0-dimensional (used to return a 1-dimensional
result) (#1872 ([7Xhttps://github.com/gap-system/gap/pull/1872[107X))[133X
[30X [33X[0;6YFix recursion depth trap and other improvements for quotients of fp
groups (#1884 ([7Xhttps://github.com/gap-system/gap/pull/1884[107X))[133X
[30X [33X[0;6YFix a bug in the computation of a permutation group isomorphic to a
group of automorphisms (#1907
([7Xhttps://github.com/gap-system/gap/pull/1907[107X))[133X
[30X [33X[0;6YFix bug in [2XInstallFlushableValueFromFunction[102X ([14XReference:
InstallFlushableValueFromFunction[114X) (#1920
([7Xhttps://github.com/gap-system/gap/pull/1920[107X))[133X
[30X [33X[0;6YFix [2XONanScottType[102X ([14XReference: ONanScottType[114X) and introduce
[2XRestrictedInverseGeneralMapping[102X ([14XReference:
RestrictedInverseGeneralMapping[114X) (#1937
([7Xhttps://github.com/gap-system/gap/pull/1937[107X))[133X
[30X [33X[0;6YFix [2XQuotientMod[102X ([14XReference: QuotientMod[114X) documentation, and the
integer implementation. This partially reverts changes made in version
4.7.8 in 2013. The documentation is now correct (resp. consistent
again), and several corner cases, e.g. [10XQuotientMod(0,0,m)[110X now work
correctly (#1991 ([7Xhttps://github.com/gap-system/gap/pull/1991[107X))[133X
[30X [33X[0;6YFix [2XPositionProperty[102X ([14XReference: PositionProperty[114X) with [3Xfrom[103X < 1
(#2056 ([7Xhttps://github.com/gap-system/gap/pull/2056[107X))[133X
[30X [33X[0;6YFix inefficiency when dealing with certain algebra modules (#2058
([7Xhttps://github.com/gap-system/gap/pull/2058[107X))[133X
[30X [33X[0;6YRestrict capacity of plain lists to [22X2^28[122X in 32-bit and [22X2^60[122X in 64-bit
builds (#2064 ([7Xhttps://github.com/gap-system/gap/pull/2064[107X))[133X
[30X [33X[0;6YFix crashes with very large heaps (> 2 GB) on 32 bit systems, and work
around a bug in [10Xmemmove[110X in 32-bit glibc versions which could corrupt
memory (affects most current Linux distributions) (#2166
([7Xhttps://github.com/gap-system/gap/pull/2166[107X)).[133X
[30X [33X[0;6YFix name of the [10Xreversed[110X option in documentation of [2XLoadAllPackages[102X
([14XReference: LoadAllPackages[114X) (#2167
([7Xhttps://github.com/gap-system/gap/pull/2167[107X)).[133X
[30X [33X[0;6YFix [10XTriangulizedMat([])[110X (see [2XTriangulizedMat[102X ([14XReference:
TriangulizedMat[114X) to return an empty list instead of producing an error
(#2260 ([7Xhttps://github.com/gap-system/gap/pull/2260[107X)).[133X
[30X [33X[0;6YFix several potential (albeit rare) crashes related to garbage
collection (#2321 ([7Xhttps://github.com/gap-system/gap/pull/2321[107X), #2313
([7Xhttps://github.com/gap-system/gap/pull/2313[107X), #2320
([7Xhttps://github.com/gap-system/gap/pull/2320[107X)).[133X
[33X[0;0YRemoved or obsolete functionality:[133X
[30X [33X[0;6YMake [10XSetUserPreferences[110X obsolete (use [2XSetUserPreference[102X ([14XReference:
SetUserPreference[114X) instead) (#512
([7Xhttps://github.com/gap-system/gap/pull/512[107X))[133X
[30X [33X[0;6YRemove undocumented [10XNameIsomorphismClass[110X (#597
([7Xhttps://github.com/gap-system/gap/pull/597[107X))[133X
[30X [33X[0;6YRemove unused code for rational classes of permutation groups (#886
([7Xhttps://github.com/gap-system/gap/pull/886[107X))[133X
[30X [33X[0;6YRemove unused and undocumented [10XRandomizer[110X and [10XCheapRandomizer[110X (#1113
([7Xhttps://github.com/gap-system/gap/pull/1113[107X))[133X
[30X [33X[0;6YRemove [11Xinstall-tools.sh[111X script and documentation mentioning it (#1305
([7Xhttps://github.com/gap-system/gap/pull/1305[107X))[133X
[30X [33X[0;6YWithdraw [10XCallWithTimeout[110X and [10XCallWithTimeoutList[110X (#1324
([7Xhttps://github.com/gap-system/gap/pull/1324[107X))[133X
[30X [33X[0;6YMake [10XRecFields[110X obsolete (use [2XRecNames[102X ([14XReference: RecNames[114X) instead)
(#1331 ([7Xhttps://github.com/gap-system/gap/pull/1331[107X))[133X
[30X [33X[0;6YRemove undocumented [10XSuPeRfail[110X and [10XREAD_COMMAND[110X (#1374
([7Xhttps://github.com/gap-system/gap/pull/1374[107X))[133X
[30X [33X[0;6YRemove unused [11Xoldmatint.gi[111X (old methods for functions that compute
Hermite and Smith normal forms of integer matrices) (#1765
([7Xhttps://github.com/gap-system/gap/pull/1765[107X))[133X
[30X [33X[0;6YMake [10XTRANSDEGREES[110X obsolete (#1852
([7Xhttps://github.com/gap-system/gap/pull/1852[107X))[133X
[1X3.1-2 [33X[0;0Y[5XHPC-GAP[105X[101X[1X[133X[101X
[33X[0;0Y[5XGAP[105X includes experimental code to support multithreaded programming in [5XGAP[105X,
dubbed [5XHPC-GAP[105X (where HPC stands for "high performance computing"). [5XGAP[105X and
[5XHPC-GAP[105X codebases diverged during the project, and we are currently working
on unifying the codebases and incorporating the [5XHPC-GAP[105X code back into the
mainstream [5XGAP[105X versions.[133X
[33X[0;0YThis is work in progress, and [5XHPC-GAP[105X as it is included with [5XGAP[105X right now
still suffers from various limitations and problems, which we are actively
working on to resolve. However, including it with [5XGAP[105X (disabled by default)
considerably simplifies development of [5XHPC-GAP[105X. It also means that you can
very easily get a (rough!) sneak peak of [5XHPC-GAP[105X. It comes together with the
new manual book called "[5XHPC-GAP[105X Reference Manual" and located in the
`doc/hpc` directory.[133X
[33X[0;0YUsers interested in experimenting with shared memory parallel programming in
[5XGAP[105X can build [5XHPC-GAP[105X by following the instructions from
[7Xhttps://github.com/gap-system/gap/wiki/Building-HPC-GAP[107X. While it is
possible to build [5XHPC-GAP[105X from a release version of [5XGAP[105X you downloaded from
the [5XGAP[105X website, due to the ongoing development of [5XHPC-GAP[105X, we recommend
that you instead build [5XHPC-GAP[105X from the latest development version available
in the [5XGAP[105X repository at GitHub, i.e. [7Xhttps://github.com/gap-system/gap[107X.[133X
[1X3.1-3 [33X[0;0YNew and updated packages since [5XGAP[105X[101X[1X 4.8.10[133X[101X
[33X[0;0YThere were 132 packages redistributed together with [5XGAP[105X 4.8.10. The [5XGAP[105X
4.9.1 distribution includes 134 packages, including numerous updates of
previously redistributed packages, and some major changes outlined below.[133X
[33X[0;0YThe libraries of small, primitive and transitive groups which previously
were an integral part of [5XGAP[105X were split into three separate packages
PrimgGrp ([7Xhttp://gap-packages.github.io/primgrp/[107X), SmallGrp
([7Xhttps://gap-packages.github.io/smallgrp/[107X) and TransGrp
([7Xhttp://www.math.colostate.edu/~hulpke/transgrp/[107X):[133X
[30X [33X[0;6YThe [5XPrimGrp[105X package by Alexander Hulpke, Colva M. Roney-Dougal and
Christopher Russell provides the library of primitive permutation
groups which includes, up to permutation isomorphism (i.e., up to
conjugacy in the corresponding symmetric group), all primitive
permutation groups of degree < 4096.[133X
[30X [33X[0;6YThe [5XSmallGrp[105X package by Bettina Eick, Hans Ulrich Besche and Eamonn
O’Brien provides the library of groups of certain [21Xsmall[121X orders. The
groups are sorted by their orders and they are listed up to
isomorphism; that is, for each of the available orders a complete and
irredundant list of isomorphism type representatives of groups is
given.[133X
[30X [33X[0;6YThe [5XTransGrp[105X package by Alexander Hulpke provides the library of
transitive groups, with an optional download of the library of
transitive groups of degree 32.[133X
[33X[0;0YFor backwards compatibility, these are required packages in [5XGAP[105X 4.9 (i.e.,
[5XGAP[105X will not start without them). We plan to change this for [5XGAP[105X 4.10 (see
#2434 ([7Xhttps://github.com/gap-system/gap/pull/2434[107X)), once all packages
which currently implicitly rely on these new packages had time to add
explicit dependencies on them (#1650
([7Xhttps://github.com/gap-system/gap/pull/1650[107X), #1714
([7Xhttps://github.com/gap-system/gap/pull/1714[107X)).[133X
[33X[0;0YThe new [5XZeroMQInterface[105X package by Markus Pfeiffer and Reimer Behrends has
been added for the redistribution. It provides both low-level bindings as
well as some higher level interfaces for the ZeroMQ ([7Xhttp://zeromq.org/[107X)
message passing library for [5XGAP[105X and [5XHPC-GAP[105X enabling lightweight distributed
computation.[133X
[33X[0;0YThe [5XHAPprime[105X package by Paul Smith is no longer redistributed with [5XGAP[105X. Part
of the code has been incorporated into the [5XHAP[105X package. Its source code
repository, containing the code of the last distributed version, can still
be found at [7Xhttps://github.com/gap-packages/happrime[107X.[133X
[33X[0;0YAlso, the [5XParGAP[105X package by Gene Cooperman is no longer redistributed with
[5XGAP[105X because it no longer can be compiled with [5XGAP[105X 4.9 (see this announcement
([7Xhttps://mail.gap-system.org/pipermail/gap/2018-March/001082.html[107X)). Its
source code repository, containing the code of the last distributed version,
plus some first fixes needed for compatibility for GAP 4.9, can still be
found at [7Xhttps://github.com/gap-packages/pargap[107X. If somebody is interested
in repairing this package and taking over its maintenance, so that it can be
distributed again, please contact the [5XGAP[105X team.[133X
[1X3.2 [33X[0;0Y[5XGAP[105X[101X[1X 4.9.2 (July 2018)[133X[101X
[1X3.2-1 [33X[0;0YChanges in the core [5XGAP[105X[101X[1X system introduced in [5XGAP[105X[101X[1X 4.9.2[133X[101X
[33X[0;0YFixed bugs that could lead to break loops:[133X
[30X [33X[0;6YFixed a bug in iterating over an empty cartesian product (#2421
([7Xhttps://github.com/gap-system/gap/pull/2421[107X)). [Reported by
@isadofschi][133X
[33X[0;0YFixed bugs that could lead to crashes:[133X
[30X [33X[0;6YFixed a crash after entering [10Xreturn;[110X in a [21Xmethod not found[121X break loop
(#2449 ([7Xhttps://github.com/gap-system/gap/pull/2449[107X)).[133X
[30X [33X[0;6YFixed a crash when an error occurs and [2XOutputLogTo[102X ([14XReference:
OutputLogTo for streams[114X) points to a stream which internally uses
another stream (#2596 ([7Xhttps://github.com/gap-system/gap/pull/2596[107X)).[133X
[33X[0;0YFixed bugs that could lead to incorrect results:[133X
[30X [33X[0;6YFixed a bug in computing maximal subgroups, which broke some other
calculations, in particular, computing intermediate subgroups. (#2488
([7Xhttps://github.com/gap-system/gap/pull/2488[107X)). [Reported by Seyed
Hassan Alavi][133X
[33X[0;0YOther fixed bugs and further improvements:[133X
[30X [33X[0;6YProfiling now correctly handles calls to [10Xlongjmp[110X and allows to
generate profiles using version 2.0.1 of the [5XProfiling[105X package (#2444
([7Xhttps://github.com/gap-system/gap/pull/2444[107X)).[133X
[30X [33X[0;6YThe [11Xbin/gap.sh[111X script now respects the [10XGAP_DIR[110X environment variable
(#2465 ([7Xhttps://github.com/gap-system/gap/pull/2465[107X)). [Contributed by
RussWoodroofe][133X
[30X [33X[0;6YThe [11Xbin/BuildPackages.sh[111X script now properly builds binaries for the
[5Xsimpcomp[105X package (#2475
([7Xhttps://github.com/gap-system/gap/pull/2475[107X)).[133X
[30X [33X[0;6YFixed a bug in restoring a workspace, which prevented [5XGAP[105X from saving
the history if a workspace was loaded during startup (#2578
([7Xhttps://github.com/gap-system/gap/pull/2578[107X)).[133X
[1X3.2-2 [33X[0;0YNew and updated packages since [5XGAP[105X[101X[1X 4.9.1[133X[101X
[33X[0;0YThis release contains updated versions of 22 packages from [5XGAP[105X 4.9.1
distribution. Additionally, it has three new packages. The new [5XJupyterKernel[105X
package by Markus Pfeiffer provides a so-called [13Xkernel[113X for the Jupyter
interactive document system ([7Xhttps://jupyter.org/[107X). This package requires
Jupyter to be installed on your system (see [7Xhttps://jupyter.org/install[107X for
instructions). It also requires [5XGAP[105X packages [5XIO[105X, [5XZeroMQInterface[105X, [5Xjson[105X, and
also two new packages by Markus Pfeiffer called [5Xcrypting[105X and [5Xuuid[105X, all
included into [5XGAP[105X 4.9.2 distribution. The [5XJupyterKernel[105X package is not yet
usable on Windows.[133X
[1X3.3 [33X[0;0Y[5XGAP[105X[101X[1X 4.9.3 (September 2018)[133X[101X
[1X3.3-1 [33X[0;0YChanges in the core [5XGAP[105X[101X[1X system introduced in [5XGAP[105X[101X[1X 4.9.3[133X[101X
[33X[0;0YFixed bugs that could lead to break loops:[133X
[30X [33X[0;6YFixed a regression in [2XHighestWeightModule[102X ([14XReference:
HighestWeightModule[114X) caused by changes in sort functions introduced in
[5XGAP[105X 4.9 release (#2617 ([7Xhttps://github.com/gap-system/gap/pull/2617[107X)).[133X
[33X[0;0YOther fixed bugs and further improvements:[133X
[30X [33X[0;6YFixed a compile time assertion that caused compiler error on some
systems (#2691 ([7Xhttps://github.com/gap-system/gap/pull/2691[107X)).[133X
[1X3.3-2 [33X[0;0YNew and updated packages since [5XGAP[105X[101X[1X 4.9.2[133X[101X
[33X[0;0YThis release contains updated versions of 18 packages from [5XGAP[105X 4.9.2
distribution. Additionally, it has three new packages:[133X
[30X [33X[0;6YThe [5XcurlInterface[105X package by Christopher Jefferson and Michael Torpey,
which provides a simple wrapper around [5Xlibcurl[105X library
([7Xhttps://curl.haxx.se/[107X) to allow downloading files over http, ftp and
https protocols.[133X
[30X [33X[0;6YThe [5Xdatastructures[105X package by Markus Pfeiffer, Max Horn, Christopher
Jefferson and Steve Linton, which aims at providing standard
datastructures, consolidating existing code and improving on it, in
particular in view of [5XHPC-GAP[105X.[133X
[30X [33X[0;6YThe [5XDeepThought[105X package by Nina Wagner and Max Horn, which provides
functionality for computations in finitely generated nilpotent groups
given by a suitable presentation using Deep Thought polynomials.[133X