-
Notifications
You must be signed in to change notification settings - Fork 7
/
CHANGES
315 lines (277 loc) · 13.2 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
In this file we record the changes since the first GAP 4 release of
the GUAVA package.
Version 3.19 (3-2024)
o Fix various issues in the C source code, including potential buffer
overflows and many compiler warnings
o Various other minor and/or janitorial changes
Version 3.18 (1-2023)
o Enhance the `configure` script to accept `--with-gaproot=PATH`
Version 3.17 (9-2022)
o Add back QCLDPCCodeFromGroup method (it was accidentally removed
between Guava 3.8 and 3.9)
o Fix out of bounds access in the C code
o Fix most (all?) compiler warnings in the C code
o Fix PutStandardForm *again*
o Update several outdated manual examples
o Avoid accidentally displaying the output of subprocesses to the user
o Improve the package banner
o Various minor and/or janitorial changes
Version 3.16 (4-2022)
o CirculantMatrixi() now circulates to the right.
o Build of the automorphism group subsystem by Jeff Leon was failing on Macs : fixed
Version 3.15 (8-2019):
o Fixed decoding of cyclic codes
o Several updates to build system
o Updated Travis integration
Version 3.14 (4-2018):
o The external binaries from J. S. Leon and Cen Tjhai can now be used on all
architectures (Unix/Linux, MacOS, and Windows)
o The bug fix for MinimumWeight() from 3.13 was not sufficiently well tested...
o The decoding method for cyclic codes fails in certain situations. We are leaving this as
a known bug for the moment.
o A bug fix for MinimumDistanceLeon() from Alex K.
o Lots of clean up of the lib files -- removing old comments, obsolete version strings,
leftovers from CVS, etc.
o Constructions were added for several of the optimal codes in the bounds tables that
were referenced in the now defunct online table by Brouwer and Verhoeff.
Version 3.13 (2-2016):
o Incorporated fixes by Dima Pasechnik.
o Incorporated fixes by Jerome Benoit.
o Fixed bug in MinimumWeight() uncovered by Simon Tinius.
o The infix "in" operator was not working for the case of a codeword
in a code, when the code was defined by a generator polynomial.
o Fixed BCH decoding
o Changes to the test suite: moved test files to a separate "tst"
subdirectory, added "decoding.tst" file which includes thorough tests
of decoding algorithms, modified "guava.tst" so that randomization of
input values does not effect output. Added "hadamard.tst" for testing the
construction of Hadamard matrices
o Rewrite of the algorithms for constructing Hadamard matrices. Hadamard
matrices can be constructed using Sylvester's and Paley's (type I and II)
methods. The Paley constructions use properties of the quadratic
residues in a finite field, which previously was assumed to be of
prime order - GF(p) - now we can also handle extension fields - GF(p^k).
The smallest order without a construction is now 92.
o Changes necessitated by switch to GitHub (mostly to the webpage)
o Added ErrorVector() convenience function for creating small weight
error vectors from a list of error positions (used in testing Decode()
methods.)
o Cleaned up Decode/Decodeword which are supposed to return info. words
and corrected codewords respectively. Many codes with SpecialDecoder
functions were doing the wrong thing.
o Tested against GAP 4.8.1 and made changes necessitated by GAP updates.
(E.g. ReadTest -> Test)
Version 3.12 (5-2012):
o More work on configure/make. Switched "configure" script to that
written by Frank Lubeck for Browse. EDIM, etc.
o Revamped init.g and read.g and the AvailabilityTest function in
PackageInfo.g for GAP 4.5 compatibility.
o Some fixes to guava.tst. There are now exactly 4 known errors.
o Switched bibliography database in /doc to an xml format and repaired
many LaTeX warnings due to inappropriate Label attributes in
<ManSection> tags.
Version 3.11 (1-2012):
o General editing and improvements to the documentation.
o Various modifications for compatibility with GAP 4.5.
o Rework of configure/make process for compiling binaries of subsystems
written by Leon and Tjhai.
o Revamped the "guava.tst" file.
o Bug fix in TraceCode reported by Stanislav Bulygin.
o Fixes to RootsCode, bugs reported by Andries Brouwer.
o One known bug: Decoding of BCH codes is broken.
Version 3.10 (3-2009):
o Improved fix for BCH decoder bug reported by Heiko Dietrich.
o Bug fix for GV lower bound reported by Stanislav Bulygin.
Version 3.9 (12-2008):
o Fix for BCH decoder bug reported by Heiko Dietrich.
o Fix for MinimumDistanceLeon bug reported by Jorge Ernesto
Perez Chamorro
Version 3.8 (11-2008):
o Fix for C code computing minimum distance written by CJ Tjhai
Version 3.7 (08-2008):
o Fix to leonconv.c reported by Klaus Lux.
o Fix to libtool problem in leon configure script,
reported by Petr Salinger and Timothy Abbott.
Version 3.6 (06-2008):
o Added QCLDPCCodeFromGroup function.
o Improved HadamardMat.
o Corrected a missing ';' in Makefile.in, as well as several
other minor make edits (thanks to Timothy Abbott)
o Updated documentation.
Version 3.5 (04-2008):
o Minor changes (permission changes, etc)
Version 3.4 (03-2008):
o Modified the configure file for the C code (R. Miller).
o Updated documentation.
Version 3.3 (03-2008):
o Added new C code written by CJ and a new Guava function MinimumWeight
which is *much* faster than MinimumDistance (when the ground
field is GF(2) or GF(3)).
o Added Andreas Brouwer's patch for Leon's code to avoid some
memory problems.
Version 3.2 (01-2008):
o Added a macro for malloc.h in leonconv.c to fix compilation error
under Mac OS X
o Added ExtendedReedSolomonCode, QuasiCyclicCode, CyclicMDSCode,
FourNegacirculantSelfDualCode, ConstructionXCode, ConstructionXXCode,
BZCode, IsDoublyEvenCode, IsSinglyEvenCode and IsEvenCode functions.
Version 3.1 (10-2007):
o Fixed a bug in MinimumDistance reported by Lappas Eleftherios.
o William Stein fixed a compilation bug.
o Fixed XML bugs pointed out by Frank Luebeck and Max Neunhoeffer
Version 3.0: (7-2007)
o Robert Miller and Tom Boothby added as authors.
o Leon's code is now GPL'd (many thanks to Vera Pless
and Steve Smith)! Robert and Tom are working on rewriting
the code and have already fixed some bugs, compiling errors,
and memory problems.
o Fixed several bugs reported by Punarbasu Purkayastha (a EE
grad student at the Univ of Maryland) in Decode, Decodeword
for ReedSolomon codes, as well as a problem in the
GUAVA documentation.
o Re-united the "odd" and "even" forks of the GUAVA code.
Version 2.8: Forked off a branch of GUAVA which is entirely
GPL'd code. (None of Leon's code is included.) Otherwise, same
as 2.7. This branch is used in SAGE (sage.scipy.org).
Version 2.7: (5-2005)
o Cen Tjhai ("CJ") added as author.
o cjt: Complete rewrite of the files in the tbl subdirectory.
There are (as of May 11, 2006) as updated as Brouwer's
online tables (www.win.tue.nl/~aeb/voorlincod.html).
o cjt: Created two functions in codeman.g*, SubCode and
ConstructionB2Code. The ConstructionB2Code function is empty
and to be implemented in a future version.
o wdj: GUAVA Manual changes.
Version 2.6: Forked off a branch of GUAVA which is entirely
GPL'd code. (None of Leon's code is included.) Otherwise, same
as 2.5. This branch is used in SAGE (sage.scipy.org).
Version 2.5: (1-2006)
o Fixed undesired feature in Decodeword (spotten by Cayanne
McFarlane).
o Added MinimumWeightWords to manual; modified GAP code
for MinimumWeightWords to speed it up.
o Modified CheckMatCode to "Set" *mutable* generator
and check matrices.
o Added BitFlipDecoder, a fast decoder for LDPC codes
(written with Gordon McDonald).
o Added GuavaVersion and guava_version
o Added FerrorDesignCode, written with Peter Mayr at Linz
(one of the SONATA authors). This requires SONATA be
loaded.
o Added QQRCodeNC (written with Greg Coy).
o Miscellaneous additions to the GUAVA manual.
Version 2.4: (6-2005) Minor bug fix -
o In MatrixRepresentationOnRiemannRochSpaceP1,
cleaned up code and fixed a bug (GAP does not process 1 the
same as x^0 in some cases).
o Fixed spelling error in guava.tst file.
Version 2.3: (5-2005)
o added PermutationDecoderNC, CyclicDecoder
o change PermutationGroup in PermutationDecoder
to PermutationAutomorphismGroup
o in codegen.gi, line 2066, replace C.GeneratorMat
by C.EvaluationMat, and then add the existence of this extra
record component to the documentation
o classical Goppa = AG codes over P^1
o curve record data structure for plane curves
and some associated functions
o divisor record data structure for curves (only used for P^1)
and some associated functions
o automorphism group of a divisor on P^1 (very slow)
o function computing matrix representation of group
action on Riemann-Roch space (in P^1 case only, also
very slow)
o one point AG codes
o nicer evaluation codes in 2-d
o miscellaneous functions for multivariate polynomials
o new section on algebraic geometric codes in manual
Version 2.0002 (5-2005)
o A renaming of GUAVA 2.0, for the GAP 4.4.5 release.
Version 2.0001: (12-2004)
o Merely added PolynomialByExtRepNC to GUAVA. (A *temporary* addition to
last until GAP 4.4.5 was released.)
Version 2.0: (12-2004)
o Changed `ViewObj` method for random linear codes,
speeding up the implementation of the RandomLinearCode command.
o Modified BCHCode and RootsCode implementation.
o Corrected bug in UpperBoundElias.
o Rewrote GUAVA documentation into GAPDoc, with many revisions.
o Added EvaluationCode and related codes
(GeneralizedReedMullerCode, GeneralizedReedSolomonCode,
OnePointAGCode, joint with Jason McGowan)
o Added interpolation decoding method for GeneralizedReedSolomonCode
(joint with Jason McGowan), GeneralizedReedSolomonDecoder.
o Added S. Gao decoding method for GeneralizedReedSolomonCode,
GeneralizedReedSolomonDecoderGao.
o Fixed bug in MinimumDistance (wrong result if G=(I|A)
and A had a row of 0s)
o MinimumDistanceRandom algorithm implemented in non-binary case
(joint with Wayne Irons).
o Added list-decoding algorithm GeneralizedReedSolomonListDecoder
(joint with Clifton Lennon) and related commands
(some undocumented).
o Bug fix for SortedGaloisFieldElements (used to construct
Gabidulin codes).
o CalculateLinearCodeCoveringRadius changed to a slightly faster
algorithm.
o minor bug fix for ExhaustiveSearchCoveringRadius
o minor bug fix for IncreaseCoveringRadiusLowerBound
o Changed ConstantWeightSubcode so it does not call Leon's
program if wtdist is not installed. Moreover, the procedure
interfacing with the binary had a bug, which was fixed.
o Added check in AutomorphismGroup: if Leon's desauto is not
compiled (e.g., on a windows machine) then it calls PermutationGroup
command instead.
o Added Decodeword (which also works for non-linear codes)
o Added NearestNeighborDecodewords (for linear codes)
o Added NearestNeighborGRSDecodewords (for GRS codes)
o Added PermutationAutomorphismGroup (which will replace the
poorly named PermutationGroup command added in version 1.9)
o Moved several decoding commands from codeops.gi to decoders.gi
(with no change in functionality).
o Added LowerBoundGilbertVarshamov and LowerBoundSpherePacking.
o Added DivisorsMultivariatePolynomial and related commands
(some undocumented).
o Released under the GNU GPL.
Version 1.9: (3-2004)
o Faster MinimumDistance algorithm (joint with Aron Foster, a student).
o MinimumDistanceLeon algorithm (joint with Aron Foster) in
binary case.
o Faster PutStandard form algorithm (with Frank Luebeck).
o New PermutationGroup command (for possibly non-binary codes).
o New PermutationDecode command.
Version 1.82: (7-2003)
o Slight changes to prepare for the different loading
mechanism for GAP packages used in the upcoming GAP 4.4.
Version 1.8:
o New commands for toric codes.
Version 1.7: (2-2003)
o Various typos in manual fixed.
o lib/codecstr.g[di]:
`AmalgamatedDirectSumCode' previously misspelt as
`AmalgatedDirectSumCode' corrected.
o Version Id headers in doc/* and lib/* files added.
o README:
updated.
o init.g:
now checks the C code has been compiled and warns of
missing functionality if not compiled.
o banner.g, lib/setup.g:
banner split off as a separate file.
o PkgInfo.g, CHANGES (this file):
added.
Version 1.6: (9-2001)
New maintainer: David Joyner.
o Bugs in `IsAffineCode' and `MinimumDistance' (reported by
Akihiro Munemasa, who also supplied a fix for the `IsAffineCode'
bug) fixed.
o Manual thoroughly reworked. HTML manual made available.
Version 1.5:
GAP 4.2 version. Not compatible with GAP 4.1.
Version 1.4:
First GAP4 version by Lea Ruscio. Created for GAP 4.1.
Incompatible with GAP 4.2.
Version 1.3:
Last GAP3 version.
- Joe Fields (fieldsj1@southernct.edu)
March 2018