GAP Changelog

What's new in GAP 4.7.7

Feb 16, 2015
  • New features:
  • Introduced some arithmetic operations for infinity and negative infinity, see Reference: infinity.
  • Introduced new property IsGeneratorsOfSemigroup (Reference: IsGeneratorsOfSemigroup) which reflects wheter the list or collection generates a semigroup.
  • Fixed bugs which could lead to incorrect results:
  • Fixed a bug in Union (Reference: Union) (actually, in the internal library function JoinRanges) caused by downward running ranges. [Reported by Matt Fayers]
  • Fixed a bug where recursive records might be printed with the wrong component name, coming from component names being ordered differently in two different pieces of code. [Reported by Thomas Breuer]
  • The usage of abs in src/gmpints.c was replaced by AbsInt. The former is defined to operate on 32-bit integers even if GAP is compiled in 64-bit mode. That lead to truncating GAP integers and caused a crash in RemInt (Reference: RemInt), reported by Willem De Graaf and Heiko Dietrich. Using AbsInt fixes the crash, and ensures the correct behaviour on 32-bit and 64-bit builds.
  • Fixed bugs that could lead to break loops:
  • A problem with ProbabilityShapes (Reference: ProbabilityShapes) not setting frequencies list for small degrees. [Reported by Daniel Błażewicz and independently by Mathieu Gagne]
  • An error when generating a free monoid of rank infinity. [Reported by Nick Loughlin]
  • Several bugs with the code for Rees matrix semigroups not handling trivial cases properly.
  • A bug in IsomorphismTypeInfoFiniteSimpleGroup (Reference: IsomorphismTypeInfoFiniteSimpleGroup) affecting one particular group due to a misformatting in a routine that translates between the Chevalley type and the name used in the table (in this case, "T" was used instead of ["T"]). [Reported by Petr Savicky]
  • Other fixed bugs:
  • The Basis (Reference: Basis) method for full homomorphism spaces of linear mappings did not set basis vectors which could be obtained by GeneratorsOfLeftModule (Reference: GeneratorsOfLeftModule).
  • A problem with GaloisType (Reference: GaloisType) entering an infinite loop in the routine for approximating a root. [Reported by Daniel Błażewicz]
  • Fixed the crash when GAP is called when the environment variables HOME or PATH are unset. [Reported by Bill Allombert]
  • Furthermore, new packages that have been added to the redistribution since the release of GAP 4.7.6 are:
  • json package by Christopher Jefferson, providing a mapping between the JSON markup language and GAP
  • SglPPow package by Bettina Eick and Michael Vaughan-Lee, providing the database of p-groups of order p^7 for p > 11, and of order 3^8.

New in GAP 4.7.6 (Dec 13, 2014)

  • Fixed bugs which could lead to incorrect results:
  • A bug that may cause ShortestVectors (Reference: ShortestVectors) to return an incomplete list. [Reported by Florian Beye]
  • A bug that may lead to incorrect results and infinite loops when GAP is compiled without GMP support using gcc 4.9.
  • A bug that may cause OrthogonalEmbeddings (Reference: OrthogonalEmbeddings) to return an incomplete result. [Reported by Benjamin Sambale]
  • Fixed bugs that could lead to break loops:
  • ClosureGroup (Reference: ClosureGroup) should be used instead of ClosureSubgroup (Reference: ClosureSubgroup) in case there is no parent group, otherwise some calculations such as e.g. NormalSubgroups (Reference: NormalSubgroups) may fail. [Reported by Dmitrii Pasechnik]
  • Fixed a line in the code that used a hard-coded identity permutation, not a generic identity element of a group. [Reported by Toshio Sumi]
  • Fixed a problem in the new code for calculating maximal subgroups that caused a break loop for some groups from the transitive groups library. [Reported by Petr Savicky]
  • Fixed a problem in ClosureSubgroup (Reference: ClosureSubgroup) not accepting some groups without Parent (Reference: Parent). [Reported by Inneke van Gelder]
  • Other fixed bugs:
  • Eliminated a number of compiler warnings detected with some newer versions of C compilers.
  • Some minor bugs in the transformation and partial permutation code and documentation were resolved.

New in GAP 4.7.5 (Aug 1, 2014)

  • Fixed bugs which could lead to incorrect results:
  • InstallValue (Reference: InstallValue) cannot handle immediate values, characters or booleans for technical reasons. A check for such values was introduced to trigger an error message and prevent incorrect results caused by this. [Reported by Sebastian Gutsche]
  • KnowsDictionary (Reference: KnowsDictionary) and LookupDictionary (Reference: LookupDictionary) methods for IsListLookupDictionary were using PositionFirstComponent (Reference: PositionFirstComponent); the latter is only valid on sorted lists, but in IsListLookupDictionary the underlying list is NOT sorted in general, leading to bogus results.
  • Other fixed bugs:
  • A bug in DirectProductElementsFamily which used CanEasilyCompareElements (Reference: CanEasilyCompareElements) instead of CanEasilySortElements (Reference: CanEasilySortElements).
  • Fixed wrong Infolevel message that caused a break loop for some automorphism group computations.
  • Fixed an error that sometimes caused a break loop in HallSubgroup (Reference: HallSubgroup). [Reported by Benjamin Sambale]
  • Fixed a rare error in computation of conjugacy classes of a finite group by homomorphic images, providing fallback to a default algorithm.
  • Fixed an error in the calculation of Frattini subgroup in the case of the trivial radical.
  • Several minor bugs were fixed in the documentation, kernel, and library code for transformations.
  • Fixed errors in NumberPerfectGroups (Reference: NumberPerfectGroups) and NumberPerfectLibraryGroups (Reference: NumberPerfectLibraryGroups) not being aware that there are no perfect groups of odd order.
  • Restored the ability to build GAP on OS X 10.4 and 10.5 which was accidentally broken in the previous GAP release by using the build option not supported by these versions.
  • Fixed some problems for ia64 and sparc architectures. [Reported by Bill Allombert and Volker Braun]
  • New package added for the redistribution with GAP:
  • permut package by A.Ballester-Bolinches, E.Cosme-Llópez, and R.Esteban-Romero to deal with permutability in finite groups.

New in GAP 4.6.5 (Sep 19, 2013)

  • Improved functionality:
  • TraceMethods (Reference: TraceMethods (for operations)) and UntraceMethods (Reference: UntraceMethods (for operations)) now better check their arguments and provide a sensible error message if being called without arguments. Also, both variants of calling them are now documented.
  • Library methods for Sortex (Reference: Sortex) are now replaced by faster ones using the kernel SortParallel (Reference: SortParallel) functionality instead of making expensive zipped lists.
  • Fixed bugs which could lead to incorrect results:
  • IntHexString (Reference: IntHexString) wrongly produced a large integer when there were too many leading zeros. [Reported by Joe Bohanon]
  • Fixed bugs that could lead to break loops:
  • A bug that may occur in some cases while calling TransitiveIdentification (Reference: TransitiveIdentification). [Reported by Izumi Miyamoto]
  • The new code for semidirect products of permutation groups, introduced in GAP 4.6, had a bug which was causing problems for Projection (Reference: Projection). [Reported by Graham Ellis]