Dear Mrs. and Mr. Forum,
in his latest message Steve Linton writes
Is there a comprehensive list of changes from 3.1 to 3.2?
Unfortunately such a list does not exist. But I try to give an overview
(without guarantee of completeness).
There are five different kinds of changes.
1) New features in the GAP language.
2) New files in the GAP library, a result of new structures in GAP.
3) New functions for structures that already existed in GAP-3.1.
4) New data.
5) New behaviour of objects that already existed in GAP-3.1.
ad 1): These are the five extensions pointed out in the announcement, namely
the access to sublists via curly brackets '{' and '}',
the existence of permutations acting on points larger than 65535,
the generalization of ranges,
the generalization of matrices, and
the representation of strings equal to lists.
Additionally, GAP-3.2 is a little bit more exact in detecting global
variables in user-defined functions.
ad 2): The following files are new in GAP-3.2.
agctbl.g: AgGroup specific parts of the Dixon-Schneider algorithm
cdaggrp.g: functions for calculating the degrees of the irreducible
characters of a solvable group
chevgrp.g: information about Chevalley-groups (used in "recsl.g")
ctgapmoc.g: functions used for conversion of GAP tables to MOC format
ctlattic.g: functions mainly dealing with lattices in the context of
character tables
fpsgpres.g: functions that compute presentations of subgroups of
finitely presented groups
fptietze.g: functions that compute presentations of subgroups of
finitely presented groups
grpctbl.g: the Dixon-Schneider Algorithm for computing character
tables of groups
permag.g: functions that calculate composition series for solvable
permutation groups and convert such groups into ag groups
permcose.g: functions to work with cosets of subgroups in
permutation groups
permcser.g: functions to compute composition series for permutation
groups and related stuff
permctbl.g: permutation group specific parts of the Dixon-Schneider
algorithm
permprod.g: functions for group products and group constructions
polyfin.g: functions for polynomials over finite fields
polyfld.g: functions for polynomials over fields
polynom.g: functions that are dispatchers for polynomial functions,
and the polynomial arithmetic
polyrat.g: functions for polynomials over finite fields
recsl.g: function which help to recognize SL(q,n)
tom.g: functions dealing with Tables Of MarksAlso new are the share library packages in directories 'anupq', 'nq',
and 'weyl', as described in the announcement.
ad 3): The following functions are new (Note that additionally some NAMES
of functions meanwhile have changed, e.g., all functions defined in
file 'pq.g'.).
AGDoubleCosets, AddDecMats, AscendingChain, BasicSetBrauerTree,
BetaSet, BrauerTree, CalcDoubleCosets, CanonicalCosetElement,
CanonicalRightTransversal, CharacteristicPolynomial,
CycleStructurePerm, DifferenceBlist, ElementVector, Exponent,
Extension, FactorAgSubgroup, FieldMatrices, FieldMatricesOps,
FiniteFieldMatrices, FiniteFieldMatricesOps, GenRelOrdersAgGroup,
IntegralizedMat, IntersectionBlist, IsIdentical, LeftCosetAgGroupOps,
LinearIndependentColumns, MainEntryCCEAgGroup, MakeStabChainRandom,
MaximalBlocks, MinMaxLatticeRelation, MinimalPolynomial,
OnCanonicalCosetElements, PCore, PadicCoefficients, PermCharInfo,
PermutationCharacter, PrintClassSubgroupLattice,
PrintGroupSubgroupLattice, PrintMaxSubgroupLattice,
PrintMinSubgroupLattice, Radical, RefinedChain,
RelatorRepresentatives, RelsSortedByStartGen, RequirePackage,
RightCosetMatGroupOps, Save, SetPrintLevel, SortCharTable,
UnionBlist,(Some of them are self-explanatory, all can be looked up in the
manual resp. online-help.)
ad 4): There is a library of 3-groups, as said in the announcement.
Additionally there are functions computing classical (matrix) groups,
namely 'GeneralLinearGroup', 'SpecialLinearGroup', 'SymplecticGroup',
'GeneralUnitaryGroup', and 'SpecialUnitaryGroup'.The about 60 new tables in the character table library are mainly
those of maximal subgroups of sporadic simple groups. Also new is a
component 'maxes' in the table record of tables of sporadic simple
groups, a list containing the names of the tables their maximal
subgroups; note that not yet all these tables are available in GAP.
ad 5): This is of course the most interesting kind of changes, since
everything listed up here will probably cause trouble for someone
who has written programs for GAP-3.1.
First, some functions that were written in the GAP language in 3.1
have been put into the kernel, like 'OnPoints'. The different
behaviour is mainly that such functions work much faster now, and
in some cases errors are detected at an earlier stage.Next, some function names have changed, that is, the manual knows
them under a new name; but we hope that GAP-3.2 allows you to
access them also under the old name.The extensions of the language cause different behaviour of some
functions; 'IsList' will return 'true' also for lists in GAP-3.2
(which makes it difficult to distinguish empty list and empty string),
and 'IsRange' returns 'true' for the more general type of ranges in
GAP-3.2, which also may cause some strange results when using code
written for GAP-3.1.The format of character tables in the library has changed. This
should not be of any interest for the user, except that some
redundant data (like 'indicator' components ) is simply omitted in
the GAP-3.2 library.
I hope this list is a little bit useful. Sorry again that we have no
complete and official list of changes. For the next release we should provide
this.
Thomas Breuer
(sam@ernie.math.rwth-aachen.de)