Skip to content

Commit

Permalink
Updated CHANGES file for the webpage
Browse files Browse the repository at this point in the history
  • Loading branch information
osj1961 committed Feb 1, 2025
1 parent b5de08d commit 07c145f
Showing 1 changed file with 96 additions and 59 deletions.
155 changes: 96 additions & 59 deletions CHANGES.guava
Original file line number Diff line number Diff line change
@@ -1,54 +1,91 @@
In this file we record the changes since the first GAP 4 release of
the GUAVA package.

Version 3.20 (2-2025)
o Many changes to the manual were made. Accumulated anachronisms were revealed by manual/example
test extraction via AutoDoc
o The C23 standard defines a bool type and that will shortly be the default for gcc. Adjusted old C code
(which defined its own bool type).
o CoveringRadius() for codes over small non-binary fields was throwing an error. Fixed, but a more permanent solution
is needed. (See issue #104)
o Many other minor fixes (also revealed by AutoDoc's extraction of tests from the manual examples).

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 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,
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
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 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
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
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
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
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
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 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
many LaTeX warnings due to inappropriate Label attributes in
<ManSection> tags.

Version 3.11 (1-2012):
Expand All @@ -67,15 +104,15 @@ Version 3.10 (3-2009):

Version 3.9 (12-2008):
o Fix for BCH decoder bug reported by Heiko Dietrich.
o Fix for MinimumDistanceLeon bug reported by Jorge Ernesto
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,
o Fix to libtool problem in leon configure script,
reported by Petr Salinger and Timothy Abbott.

Version 3.6 (06-2008):
Expand All @@ -102,7 +139,7 @@ Version 3.3 (03-2008):
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,
o Added ExtendedReedSolomonCode, QuasiCyclicCode, CyclicMDSCode,
FourNegacirculantSelfDualCode, ConstructionXCode, ConstructionXXCode,
BZCode, IsDoublyEvenCode, IsSinglyEvenCode and IsEvenCode functions.

Expand All @@ -111,11 +148,11 @@ Version 3.1 (10-2007):
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,
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
Expand All @@ -127,12 +164,12 @@ 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)
Version 2.7: (5-2005)
o Cen Tjhai ("CJ") added as author.
o cjt: Complete rewrite of the files in the tbl subdirectory.
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
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.
Expand All @@ -141,14 +178,14 @@ 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
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.
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
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
Expand All @@ -157,26 +194,26 @@ Version 2.5: (1-2006)
o Added QQRCodeNC (written with Greg Coy).
o Miscellaneous additions to the GUAVA manual.

Version 2.4: (6-2005) Minor bug fix -
Version 2.4: (6-2005) Minor bug fix -
o In MatrixRepresentationOnRiemannRochSpaceP1,
cleaned up code and fixed a bug (GAP does not process 1 the
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
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
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
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
Expand All @@ -188,17 +225,17 @@ 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 aded PolynomialByExtRepNC to GUAVA. (A *temporary* addition to
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,
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,
(GeneralizedReedMullerCode, GeneralizedReedSolomonCode,
OnePointAGCode, joint with Jason McGowan)
o Added interpolation decoding method for GeneralizedReedSolomonCode
(joint with Jason McGowan), GeneralizedReedSolomonDecoder.
Expand All @@ -210,18 +247,18 @@ Version 2.0: (12-2004)
(joint with Wayne Irons).
o Added list-decoding algorithm GeneralizedReedSolomonListDecoder
(joint with Clifton Lennon) and related commands
(some undocumented).
(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
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
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)
Expand All @@ -232,28 +269,28 @@ Version 2.0: (12-2004)
(with no change in functionality).
o Added LowerBoundGilbertVarshamov and LowerBoundSpherePacking.
o Added DivisorsMultivariatePolynomial and related commands
(some undocumented).
(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
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
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.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
`AmalgamatedDirectSumCode' previously misspelt as
`AmalgatedDirectSumCode' corrected.
o Version Id headers in doc/* and lib/* files added.
o README:
Expand All @@ -277,7 +314,7 @@ 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.
First GAP4 version by Lea Ruscio. Created for GAP 4.1.
Incompatible with GAP 4.2.

Version 1.3:
Expand Down

0 comments on commit 07c145f

Please sign in to comment.