1===========================================================================
2This file describes changes in the GAP package 'nq'.
3===========================================================================
4
52.5.4 (2019-02-15)
6  - Update build system for compatibility with GAP 4.9 and later
7  - Various other janitorial updates
8
92.5.3 (2016-03-08)
10  - Maintenance release
11
122.5.2 (2016-01-07)
13  - Move website to http://gap-packages.github.io/nq/
14
152.5.1 (2014-04-02)
16  * Fix linker error on Unix systems other than Mac OS X
17  * Remove GAP function NqBuildManual (use the makedoc.g
18    script instead)
19
202.5 (2014-04-01)
21  * Renamed configure option "--with-gap-root" to "--with-gaproot"
22    in order to match the io and orb packages more closely.
23  * Changed build system to use automake
24  * Changed how the manual is built (now AutoDoc is used to
25	automatically generate the title page from PackageInfo.g)
26  * Add GPL license file to make clear that nq is licensed under the GPL
27    (after discussion with Werner Nickel and getting his explicit approval)
28  * Moved the homepage to GitHub
29  * Updated Max Horn's contact details
30
312.4 (2012-01-12)
32  * Fixed crash on some systems caused by a long standing memory
33    management bug.
34  * Fixed crash on certain systems caused by exponents being sometimes
35    treated as 64bit words, and sometimes as 32bit words.
36  * Fixed spurious warnings when running "configure" that could occur
37    when using --with-gmp-prefix
38  * Fixed a warning when using nq in GAP versions before 4.5.
39  * Improved build system:
40    - Improved GMP detection in configure script; it now checks if GAP
41      built a GMP library, and if so, uses that.
42    - Unified how the user can choose which GAP config to use in the
43      configure script: Instead of a --with-gap-config argument to
44      configure, now a CONFIGNAME environment variable is used. This
45      matches how GAP's own configure script works, and also various
46      other packages.
47    - Added support for ABI override via ABI environment variable
48    - Changed --with-gmp-prefix to --with-gmp, with exact same semantics
49      as the --with-gmp option of GAP's configure.
50
512.3 (2011-09-15)
52  * Removed maintainer flag from Werner, added Max as new maintainer
53  * Synced cnf/config.* files with the ones used by GAP
54  * Rewrote and improved configure script and the build system
55  * Added '--with-gap-dir' option to configure
56  * Fixed compilation on modern day systems (e.g. Mac OS X),
57    by including stdlib.h and string.h instead of malloc.h
58  * Stopped insisting on static linking the nq binary
59  * Dropped compatibility with GAP versions prior to 4.4
60  * Made test cases ignore the version string nq outputs
61  * Fixed crash on Mac OS X when compiling in 64 bit mode
62  * Updated documentation
63  * Enabled extra warnings for the C code, and fix many of resulting warnings
64  * Converted History file to this CHANGES file.
65
662.2 (2007-02-07)
67  * filter out the identity word as relator
68
692.1 (2003-10-20)
70  * removed instances of `share package'
71  * removed obsolete files doc/manual.in gap/nqrest.gi
72
732.0 (2003-02-12)
74  * GAP4 print routines (gap.c) added.  The -g option now
75    prints a pc-presentation in GAP4 style at the end of a
76    run.
77  * Evaluation of an Engel identity redefines the Commute
78    array.  As a consequence, commutator calculations are
79    carried out only with the precision required to evaluate
80    an iterated commutator.  This gives a speedup of a factor
81    of 3-4 in Engel-4 and Engel-5 groups.
82  * Implementation of parsing Engel-n commutators and
83    evaluation of those commutators with redefined Commute[]
84    arrays.
85  * turned NQ into a GAP 4 package
86  * modified the GAP 4 output routines
87  * wrote new setup for nq using autoconf
88  * replaced in glimt.c all BSD compatible integer functions
89    by GMP functions.  Now libmp.a is not needed anymore.
90  * extended the input grammar to accept identical generators
91    as part of the generator list seperated from the other
92    generators by a semicolon
93  * added machinery to evaluate identical relations
94  * added a combinatorial collector
95  * reconstruction of the integer matrix code
96  * rewrite of the examples code
97
98
991.2 (1998-03-??)
100  * added option that allows to check the Engel condition in
101    reverse order
102  * added -m option that outputs all non-zero vectors handed
103    to addRow() to file.
104  * built integer overflow check into function Number() in
105    presentation.c .
106  * replaced the function Commutator() in collect.c.  Instead
107    of using Solve to solve uv x = vu the equation is solved
108    directly.
109  * Added support for metabelian identities.
110  * Added the option -p to toggle the printing of the epimorphism
111    and the nilpotent quotient at the end of a run.  I also added
112    code to print the definitions of each generator of weight at
113    least 2.
114  * print statements for the definitions of new generators.
115  * added option -E to reverse the order in which Engel
116    generators are processes.
117  * NQ now reads from stdin when the file name argument is missing
118
1191.1e (1994-08-04)
120  * fixed printing of preimages in PrintEpim() in relation.c.
121  * the error function of Collect() now prints the generator
122    which caused the error. Collect() was also slightly
123    reformatted.
124
1251.1d (1994-03-??)
126  * changed the functions buildPairs() and buildWord()
127    such that they also build words with negative exponents.
128    This can be switched off using the option -s (s for
129    semigroup words).
130  * Added a check for the identity matrix to the function
131    addRow(). A flag EarlyStop is set if the check is
132    positive. This flag is now used in the files
133    consistency.c, relations.c and engel.c to stop the
134    computation as soon as all new generators are eliminated.
135  * Fixed the last printing of the total runtime in main().
136  * changed the function evalEngel() in engel.c such that it
137    stops checking instances of the Engel law as soon as all
138    instances of a certain weight did not yield anything new.
139    This is not proved to be mathematically sound.
140  * the function buildPairs() in engel.c now checks if an
141    instance [x, ny] of the n-th Engel law is trivial for
142    weight reasons.
143  * the function Collect() in collect.c aborts a run if it
144    runs into an integer overflow.
145  * the functions outputMatrix() and printGapMatrix() in
146    glimt.c have been changed to print only rows and columns
147    whose pivot entry is not 1.
148  * the function MatrixToExpVec() in glimt.c now frees the
149    large matrix row by row.
150  * Update the README file.
151
1521.1c (1993-08-12)
153  * modified the file engel.c to allow checking of more
154    identities. This entry has been made in Oct 93; it
155    has to be checked what the modifications are and which
156    options have been added.
157
1581.1b (1993-02-26)
159  * added the option -a to nq and the corresponding
160    output routine outputMatrix() to glimt.c.
161
1621.1 (1993-01-22)
163  * introduction of this file and the file README
164  * added option -t to nq
165  * improvements to testNq
166  * added target clean to the make file
167
1681.0 (1992-12-??)
169  * Version 1.0 of the ANU NQ
170