[gap-guava] 03/07: Imported Upstream version 3.6

Jerome Benoit calculus-guest at moszumanska.debian.org
Thu Sep 11 14:27:42 UTC 2014


This is an automated email from the git hooks/post-receive script.

calculus-guest pushed a commit to branch master
in repository gap-guava.

commit 827624395020432e401512956dc44345bea0494e
Author: Tim Abbott <tabbott at mit.edu>
Date:   Sat Feb 7 14:09:07 2009 -0500

    Imported Upstream version 3.6
---
 CHANGES.guava                     |   9 +-
 Makefile                          |  11 +-
 Makefile.in                       |  11 +-
 PackageInfo.g                     |  10 +-
 README.guava                      |   4 +-
 doc/chap0.html                    |  21 +-
 doc/chap0.txt                     |  32 +-
 doc/chap4.html                    |  19 +-
 doc/chap4.txt                     |  21 +-
 doc/chap5.html                    | 126 +++++-
 doc/chap5.txt                     | 134 +++++-
 doc/chap7.html                    | 142 +++++-
 doc/chap7.txt                     | 368 +++++++++++++++-
 doc/chapBib.html                  |  37 +-
 doc/chapBib.txt                   |  13 +-
 doc/chapInd.html                  |   2 +
 doc/chapInd.txt                   |   2 +
 doc/guava.aux                     | 889 +++++++++++++++++++-------------------
 doc/guava.bbl                     |  10 +
 doc/guava.bib                     |  21 +
 doc/guava.blg                     |  79 ++--
 doc/guava.brf                     |  52 +--
 doc/guava.idx                     | 514 +++++++++++-----------
 doc/guava.ilg                     |   6 +-
 doc/guava.ind                     | 510 +++++++++++-----------
 doc/guava.log                     | 704 +++++++++++++++---------------
 doc/guava.pnr                     | 423 +++++++++---------
 doc/guava.tex                     | 515 ++++++++++++++++++++--
 doc/guava.toc                     | 417 +++++++++---------
 doc/guava.xml                     | 632 +++++++++++++++++++++++++--
 doc/manual.pdf                    | Bin 895936 -> 922944 bytes
 doc/manual.six                    | 675 +++++++++++++++--------------
 guava_gapdoc.gap                  |   2 +-
 htm/chap0.html                    |  21 +-
 htm/chap4.html                    |  19 +-
 htm/chap5.html                    | 126 +++++-
 htm/chap7.html                    | 142 +++++-
 htm/chapBib.html                  |  37 +-
 htm/chapInd.html                  |   2 +
 init.g                            |   2 +-
 lib/codegen.gd                    |  16 +
 lib/codegen.gi                    |  73 ++++
 lib/matrices.gi                   |  56 ++-
 lib/{matrices.gi => matrices.gi~} |   0
 src/Makefile                      |   1 +
 src/leon/Makefile                 | 183 --------
 src/leon/Makefile.in              |   6 +-
 src/leonconv                      | Bin 14416 -> 0 bytes
 48 files changed, 4613 insertions(+), 2482 deletions(-)

diff --git a/CHANGES.guava b/CHANGES.guava
index 2c12453..225793b 100644
--- a/CHANGES.guava
+++ b/CHANGES.guava
@@ -1,6 +1,13 @@
 In this file we record the changes since the first GAP 4 release of
 the GUAVA package.
 
+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)
 
@@ -199,4 +206,4 @@ Version 1.4:
 Version 1.3:
    Last GAP3 version.
 
-   - David Joyner -- April 25, 2008
+   - David Joyner -- June 22, 2008
diff --git a/Makefile b/Makefile
index 0214fe9..ebf37ec 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ all:
 	cp orbdes ../../bin/leon; cp orblist ../../bin/leon; \
 	cp randobj ../../bin/leon; cp setstab ../../bin/leon; \
 	cp wtdist ../../bin/leon; cp src/*.sh ../../bin/leon; \
-	cp wtdist ../../bin; cp desauto ../../bin \
+	cp wtdist ../../bin; cp desauto ../../bin; \
 	cp wtdist ../../bin/x86_64-unknown-linux-gnu-gcc; cp desauto ../../bin/x86_64-unknown-linux-gnu-gcc \
 	)
 # the last two for backwards compatibility?
@@ -51,9 +51,14 @@ popcount.o: $(CJSRCDIR)/popcount.c $(CJSRCDIR)/popcount.h $(CJSRCDIR)/config.h $
 # pseudo targets
 clean:
 	( cd bin/x86_64-unknown-linux-gnu-gcc; rm -f *.o )
+	( cd src && make clean )
+	( cd src/leon && make clean )
 
-distclean:
-	( rm -rf bin/x86_64-unknown-linux-gnu-gcc )
+distclean: clean
+	( rm -rf bin )
+	( rm -f Makefile )
+	( cd src && make distclean )
+	( cd src/leon && make distclean )
 
 # for GAP distribution
 src_dist:
diff --git a/Makefile.in b/Makefile.in
index 2645019..36bcb94 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -19,7 +19,7 @@ all:
 	cp orbdes ../../bin/leon; cp orblist ../../bin/leon; \
 	cp randobj ../../bin/leon; cp setstab ../../bin/leon; \
 	cp wtdist ../../bin/leon; cp src/*.sh ../../bin/leon; \
-	cp wtdist ../../bin; cp desauto ../../bin \
+	cp wtdist ../../bin; cp desauto ../../bin; \
 	cp wtdist ../../bin/@GAPARCH@; cp desauto ../../bin/@GAPARCH@ \
 	)
 # the last two for backwards compatibility?
@@ -51,9 +51,14 @@ popcount.o: $(CJSRCDIR)/popcount.c $(CJSRCDIR)/popcount.h $(CJSRCDIR)/config.h $
 # pseudo targets
 clean:
 	( cd bin/@GAPARCH@; rm -f *.o )
+	( cd src && make clean )
+	( cd src/leon && make clean )
 
-distclean:
-	( rm -rf bin/@GAPARCH@ )
+distclean: clean
+	( rm -rf bin )
+	( rm -f Makefile )
+	( cd src && make distclean )
+	( cd src/leon && make distclean )
 
 # for GAP distribution
 src_dist:
diff --git a/PackageInfo.g b/PackageInfo.g
index a461eae..685e5f7 100644
--- a/PackageInfo.g
+++ b/PackageInfo.g
@@ -10,14 +10,14 @@ SetPackageInfo( rec(
 
   PackageName := "GUAVA",
   Subtitle := "a GAP package for computing with error-correcting codes",
-  Version := "3.5",
-  Date    := "02/05/2008",
+  Version := "3.6",
+  Date    := "20/06/2008",
   ArchiveURL 
-          := "http://sage.math.washington.edu/home/wdj/guava/guava3.5",
+          := "http://sage.math.washington.edu/home/wdj/guava/guava3.6",
   ArchiveFormats 
           := ".tar.gz",
   BannerString:=Concatenation(["\n   ____                          |\n",
-    "  /            \\           /   --+--  Version 3.5", "\n",
+    "  /            \\           /   --+--  Version 3.6", "\n",
     " /      |    | |\\\\        //|    |\n",
     "|    _  |    | | \\\\      // |     GUAVA Group\n",
     "|     \\ |    | |--\\\\    //--|     \n",
@@ -188,7 +188,7 @@ SetPackageInfo( rec(
     BookName  := "GUAVA",
     ArchiveURLSubset := ["doc", "htm"],
     # format/extension can be one of .zoo, .tar.gz, .tar.bz2, -win.zip
-    #Archive   := "http://linear-ecc.googlecode.com/files/guava3.5.tar.gz",
+    #Archive   := "http://linear-ecc.googlecode.com/files/guava3.6.tar.gz",
     HTMLStart := "htm/chap0.html",
     PDFFile   := "doc/manual.pdf",
     # the path to the .six file used by GAP's help system
diff --git a/README.guava b/README.guava
index d8d3cb1..c571a0f 100644
--- a/README.guava
+++ b/README.guava
@@ -47,7 +47,7 @@ which was GPL'd on April 17th, 2007:
 
 The ``even''/``odd'' forks of the GUAVA code are now united.
 
-The current version is 3.5. 
+The current version is 3.6. 
 
                             Installing GUAVA
                             ----------------
@@ -124,5 +124,5 @@ will need to be able to reproduce the problem; so please include:
    comments in GAP  begin with a #).
 
   - David Joyner (wdjoyner at gmail.com)
-    March 31, 2008
+    Junee 22, 2008
 
diff --git a/doc/chap0.html b/doc/chap0.html
index ccfba1e..e89752d 100644
--- a/doc/chap0.html
+++ b/doc/chap0.html
@@ -25,9 +25,9 @@
 
 <h2>A <strong class="pkg">GAP</strong>4 Package for computing with error-correcting codes  </h2>
 
-<p>Version 3.5</p>
+<p>Version 3.6</p>
 
-<p>April 25, 2008</p>
+<p>June 20, 2008</p>
 
 </div>
 <p><b>
@@ -69,9 +69,9 @@ Cen (``CJ'') Tjhai
 
 <p><a id="X81488B807F2A1CF1" name="X81488B807F2A1CF1"></a></p>
 <h3>Copyright</h3>
-<p>© The GUAVA Group: 1992-2003 Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes, Lea Ruscio (for the tex version), Jeffrey Leon © 2004 David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio. © 2007 Robert L Miller, Tom Boothby</p>
+<p><strong class="pkg">GUAVA</strong>: © The GUAVA Group: 1992-2003 Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes, Lea Ruscio (for the tex version), Jeffrey Leon © 2004 David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio. © 2007 Robert L Miller, Tom Boothby</p>
 
-<p><strong class="pkg">GUAVA</strong> is released under the GNU General Public License (GPL). This file is part of <strong class="pkg">GUAVA</strong>, though as documentation it is released under the GNU Free Documentation License (see <span class="URL"><a href="http://www.gnu.org/licenses/licenses.html#FDL">http://www.gnu.org/licenses/licenses.html#FDL</a></span>).</p>
+<p><strong class="pkg">GUAVA</strong> is released under the GNU General Public License (GPL).</p>
 
 <p><strong class="pkg">GUAVA</strong> is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
 
@@ -83,6 +83,8 @@ Cen (``CJ'') Tjhai
 
 <p>For many years <strong class="pkg">GUAVA</strong> has been released along with the ``backtracking'' C programs of J. Leon. In one of his *.c files the following statements occur: ``Copyright (C) 1992 by Jeffrey S. Leon. This software may be used freely for educational and research purposes. Any other use requires permission from the author.'' The following should now be appended: ``I, Jeffrey S. Leon, agree to license all the partition backtrack code which I have written under the GPL [...]
 
+<p><strong class="pkg">GUAVA</strong> documentation: © Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes, Lea Ruscio (for the tex version), David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front [...]
+
 <p><a id="X82A988D47DFAFCFA" name="X82A988D47DFAFCFA"></a></p>
 <h3>Acknowledgements</h3>
 <p><strong class="pkg">GUAVA</strong> was originally written by Jasper Cramwinckel, Erik Roijackers, and Reinald Baart in the early-to-mid 1990's as a final project during their study of Mathematics at the Delft University of Technology, Department of Pure Mathematics, under the direction of Professor Juriaan Simonis. This work was continued in Aachen, at Lehrstuhl D fur Mathematik. In version 1.3, new functions were added by Eric Minkes, also from Delft University of Technology.</p>
@@ -95,7 +97,7 @@ Cen (``CJ'') Tjhai
 
 <p>Please send bug reports, suggestions and other comments about <strong class="pkg">GUAVA</strong> to <span class="URL"><a href="mailto:support at gap-system.org">support at gap-system.org</a></span>. Currently known bugs and suggested <strong class="pkg">GUAVA</strong> projects are listed on the bugs and projects web page <span class="URL"><a href="http://sage.math.washington.edu/home/wdj/guava/guava2do.html">http://sage.math.washington.edu/home/wdj/guava/guava2do.html</a></span>. Older rele [...]
 
-<p><em>Contributors</em>: Other than the authors listed on the title page, the following people have contributed code to the <strong class="pkg">GUAVA</strong> project: Alexander Hulpke, Steve Linton, Frank Lübeck, Aron Foster, Wayne Irons, Clifton (``Clipper") Lennon, Jason McGowan, Shuhong Gao, Greg Gamble.</p>
+<p><em>Contributors</em>: Other than the authors listed on the title page, the following people have contributed code to the <strong class="pkg">GUAVA</strong> project: Alexander Hulpke, Steve Linton, Frank Lübeck, Aron Foster, Wayne Irons, Clifton (Clipper) Lennon, Jason McGowan, Shuhong Gao, Greg Gamble.</p>
 
 <p>For documentation on Leon's programs, see the src/leon/doc subdirectory of <strong class="pkg">GUAVA</strong>.</p>
 
@@ -378,6 +380,11 @@ Algebraic geometric codes
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7B6C2BED8319C811">5.7-24 EvaluationBivariateCodeNC</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X842E227E8785168E">5.7-25 OnePointAGCode</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap5.html#X84F3673D7BBF5956">5.8 <span class="Heading">
+Low-Density Parity-Check Codes
+</span></a>
+<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X8020A9357AD0BA92">5.8-1 QCLDPCCodeFromGroup</a></span>
+</div>
 </div>
 <div class="ContChap"><a href="chap6.html#X866FC1117814B64D">6. <span class="Heading">Manipulating Codes</span></a>
 <div class="ContSect"><span class="nocss"> </span><a href="chap6.html#X8271A4697FDA97B2">6.1 <span class="Heading">
@@ -523,6 +530,10 @@ Miscellaneous polynomial functions
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X8431985183B63BB7">7.6-9 DegreesMonomialTerm</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X860EF39B841380A1">7.6-10 DivisorsMultivariatePolynomial</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap7.html#X82257DE97D1822AA">7.7 <span class="Heading">
+GNU Free Documentation License
+</span></a>
+</div>
 </div>
 <br />
 </div>
diff --git a/doc/chap0.txt b/doc/chap0.txt
index 810c076..c11d200 100644
--- a/doc/chap0.txt
+++ b/doc/chap0.txt
@@ -6,10 +6,10 @@
            A GAP4 Package for computing with error-correcting codes  
   
   
-                                  Version 3.5
+                                  Version 3.6
   
   
-                                 April 25, 2008
+                                 June 20, 2008
   
   
                                Jasper Cramwinckel
@@ -41,14 +41,13 @@
   
   -------------------------------------------------------
   Copyright
-  ©  The  GUAVA  Group:  1992-2003 Jasper Cramwinckel, Erik Roijackers,Reinald
-  Baart,  Eric  Minkes,  Lea Ruscio (for the tex version), Jeffrey Leon © 2004
-  David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers, Reinald Baart,
-  Eric Minkes, Lea Ruscio. © 2007 Robert L Miller, Tom Boothby
+  GUAVA:   ©   The   GUAVA   Group:   1992-2003   Jasper   Cramwinckel,   Erik
+  Roijackers,Reinald  Baart,  Eric  Minkes,  Lea Ruscio (for the tex version),
+  Jeffrey  Leon  ©  2004  David  Joyner,  Cen  Tjhai, Jasper Cramwinckel, Erik
+  Roijackers,  Reinald Baart, Eric Minkes, Lea Ruscio. © 2007 Robert L Miller,
+  Tom Boothby
   
-  GUAVA  is  released under the GNU General Public License (GPL). This file is
-  part  of  GUAVA,  though  as documentation it is released under the GNU Free
-  Documentation License (see http://www.gnu.org/licenses/licenses.html#FDL).
+  GUAVA is released under the GNU General Public License (GPL).
   
   GUAVA  is  free software; you can redistribute it and/or modify it under the
   terms  of  the  GNU General Public License as published by the Free Software
@@ -74,6 +73,16 @@
   Leon, agree to license all the partition backtrack code which I have written
   under the GPL (www.fsf.org) as of this date, April 17, 2007.''
   
+  GUAVA  documentation:  ©  Jasper Cramwinckel, Erik Roijackers,Reinald Baart,
+  Eric  Minkes,  Lea  Ruscio  (for  the tex version), David Joyner, Cen Tjhai,
+  Jasper Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio.
+  Permission  is granted to copy, distribute and/or modify this document under
+  the  terms  of  the GNU Free Documentation License, Version 1.2 or any later
+  version  published  by  the  Free  Software  Foundation;  with  no Invariant
+  Sections,  no  Front-Cover  Texts,  and  no  Back-Cover Texts. A copy of the
+  license  is  included  in  the  section  entitled  "GNU  Free  Documentation
+  License".
+  
   
   -------------------------------------------------------
   Acknowledgements
@@ -110,7 +119,7 @@
   
   Contributors: Other than the authors listed on the title page, the following
   people  have  contributed code to the GUAVA project: Alexander Hulpke, Steve
-  Linton, Frank Lübeck, Aron Foster, Wayne Irons, Clifton (``Clipper") Lennon,
+  Linton,  Frank  Lübeck,  Aron Foster, Wayne Irons, Clifton (Clipper) Lennon,
   Jason McGowan, Shuhong Gao, Greg Gamble.
   
   For  documentation  on Leon's programs, see the src/leon/doc subdirectory of
@@ -322,6 +331,8 @@
       5.7-23 EvaluationBivariateCode
       5.7-24 EvaluationBivariateCodeNC
       5.7-25 OnePointAGCode
+    5.8 Low-Density Parity-Check Codes
+      5.8-1 QCLDPCCodeFromGroup
   6. Manipulating Codes
     6.1 Functions that Generate a New Code from a Given Code
       6.1-1 ExtendedCode
@@ -439,6 +450,7 @@
       7.6-8 CoefficientToPolynomial
       7.6-9 DegreesMonomialTerm
       7.6-10 DivisorsMultivariatePolynomial
+    7.7 GNU Free Documentation License
   
   
   -------------------------------------------------------
diff --git a/doc/chap4.html b/doc/chap4.html
index 5d7ab81..5cb98c7 100644
--- a/doc/chap4.html
+++ b/doc/chap4.html
@@ -1855,24 +1855,7 @@ gap> WeightCodeword(c2-r);
 <h5>4.10-5 BitFlipDecoder</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> BitFlipDecoder</code>( <var class="Arg">C, r</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p>The iterative decoding method <code class="code">BitFlipDecoder</code> must only be applied to LDPC codes. These have not been implemented in GUAVA (but see <code class="code">FerreroDesignCode</code> for a code with similar properties). A binary low density parity check (LDPC) code of length $n$ and redundancy $r$ is defined in terms of its check matrix $H$:</p>
-
-
-<ul>
-<li><p>Each row of $H$ has exactly $x$ 1's.</p>
-
-</li>
-<li><p>Each column has exactly $y$ 1's.</p>
-
-</li>
-<li><p>The number of 1's in common between any two columns is less than or equal to one.</p>
-
-</li>
-<li><p>$x/n$ and $y/r$ are 'small'.</p>
-
-</li>
-</ul>
-<p>For these codes, <code class="code">BitFlipDecoder</code> decodes very quickly. (Warning: it can give wildly wrong results for arbitrary binary linear codes.) The bit flipping algorithm is described for example in chapter 13 of <a href="chapBib.html#biBJH04">[JH04]</a>.</p>
+<p>The iterative decoding method <code class="code">BitFlipDecoder</code> must only be applied to LDPC codes. For more information on LDPC codes, refer to Section <a href="chap5.html#X84F3673D7BBF5956"><b>5.8</b></a>. For these codes, <code class="code">BitFlipDecoder</code> decodes very quickly. (Warning: it can give wildly wrong results for arbitrary binary linear codes.) The bit flipping algorithm is described for example in Chapter 13 of <a href="chapBib.html#biBJH04">[JH04]</a>.</p>
 
 
 <table class="example">
diff --git a/doc/chap4.txt b/doc/chap4.txt
index 5ea40e8..4eb47a8 100644
--- a/doc/chap4.txt
+++ b/doc/chap4.txt
@@ -1846,23 +1846,10 @@
   > BitFlipDecoder( C, r ) ___________________________________________function
   
   The  iterative  decoding  method BitFlipDecoder must only be applied to LDPC
-  codes.  These  have not been implemented in GUAVA (but see FerreroDesignCode
-  for  a  code  with  similar  properties).  A binary low density parity check
-  (LDPC)  code  of  length  $n$  and redundancy $r$ is defined in terms of its
-  check matrix $H$:
-  
-  --    Each row of $H$ has exactly $x$ 1's.
-  
-  --    Each column has exactly $y$ 1's.
-  
-  --    The  number  of  1's in common between any two columns is less than or
-        equal to one.
-  
-  --    $x/n$ and $y/r$ are 'small'.
-  
-  For  these codes, BitFlipDecoder decodes very quickly. (Warning: it can give
-  wildly  wrong  results  for arbitrary binary linear codes.) The bit flipping
-  algorithm is described for example in chapter 13 of [JH04].
+  codes.  For  more information on LDPC codes, refer to Section 5.8. For these
+  codes,  BitFlipDecoder  decodes  very  quickly. (Warning: it can give wildly
+  wrong results for arbitrary binary linear codes.) The bit flipping algorithm
+  is described for example in Chapter 13 of [JH04].
   
   ---------------------------  Example  ----------------------------
     gap> C:=HammingCode(4,GF(2));
diff --git a/doc/chap5.html b/doc/chap5.html
index 7600ac5..020fb63 100644
--- a/doc/chap5.html
+++ b/doc/chap5.html
@@ -127,6 +127,11 @@ Algebraic geometric codes
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7B6C2BED8319C811">5.7-24 EvaluationBivariateCodeNC</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X842E227E8785168E">5.7-25 OnePointAGCode</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap5.html#X84F3673D7BBF5956">5.8 <span class="Heading">
+Low-Density Parity-Check Codes
+</span></a>
+<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X8020A9357AD0BA92">5.8-1 QCLDPCCodeFromGroup</a></span>
+</div>
 </div>
 
 <h3>5. <span class="Heading">Generating Codes</span></h3>
@@ -145,6 +150,10 @@ Algebraic geometric codes
 
 <p>Section <a href="chap5.html#X850A28C579137220"><b>5.6</b></a> describes functions for generating codes as the image of an evaluation map applied to a space of functions. For example, generalized Reed-Solomon codes and toric codes are described there.</p>
 
+<p>Section <a href="chap5.html#X7AE2B2CD7C647990"><b>5.7</b></a> describes functions for generating algebraic geometry codes.</p>
+
+<p>Section <a href="chap5.html#X84F3673D7BBF5956"><b>5.8</b></a> describes functions for constructing low-density parity-check (LDPC) codes.</p>
+
 <p><a id="X86A92CB184CBD3C7" name="X86A92CB184CBD3C7"></a></p>
 
 <h4>5.1 <span class="Heading">
@@ -2213,7 +2222,7 @@ gap> MinimumDistance(C);
 <h5>5.7-23 EvaluationBivariateCode</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> EvaluationBivariateCode</code>( <var class="Arg">pts, L, crv</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p>Input: <code class="code">pts</code> is a set of affine points on <code class="code">crv</code>, <code class="code">L</code> is a list of rational functions on <code class="code">crv</code>. <br /> Output: The evaluation code associated to the points in <code class="code">pts</code> and functions in <code class="code">L</code>, but specifically for affine plane curves and this function checks if points are ``bad" (if so removes them from the list <code class="code">pts</code> automati [...]
+<p>Input: <code class="code">pts</code> is a set of affine points on <code class="code">crv</code>, <code class="code">L</code> is a list of rational functions on <code class="code">crv</code>. <br /> Output: The evaluation code associated to the points in <code class="code">pts</code> and functions in <code class="code">L</code>, but specifically for affine plane curves and this function checks if points are "bad" (if so removes them from the list <code class="code">pts</code> automatic [...]
 
 <p>Very similar to <code class="code">EvaluationCode</code> (see <code class="func">EvaluationCode</code> (<a href="chap5.html#X78E078567D19D433"><b>5.6-1</b></a>) for a more general construction).</p>
 
@@ -2306,6 +2315,121 @@ gap> MinimumDistance(C);
 
 <p>See <code class="func">EvaluationCode</code> (<a href="chap5.html#X78E078567D19D433"><b>5.6-1</b></a>) for a more general construction.</p>
 
+<p><a id="X84F3673D7BBF5956" name="X84F3673D7BBF5956"></a></p>
+
+<h4>5.8 <span class="Heading">
+Low-Density Parity-Check Codes
+</span></h4>
+
+<p>Low-density parity-check (LDPC) codes form a class of linear block codes whose parity-check matrix--as the name implies, is sparse. LDPC codes were introduced by Robert Gallager in 1962 <a href="chapBib.html#biBGallager.1962">[Gal62]</a> as his PhD work. Due to the decoding complexity for the technology back then, these codes were forgotten. Not until the late 1990s, these codes were rediscovered and research results have shown that LDPC codes can achieve near Shannon's capacity perfo [...]
+
+<p>Based on the structure of their parity-check matrix, LDPC codes may be categorised into two classes:</p>
+
+
+<ul>
+<li><p>Regular LDPC codes</p>
+
+<p>This class of codes has a fixed number of non zeros per column and per row in their parity-check matrix. These codes are usually denoted as (n,j,k) codes where n is the block length, j is the number of non zeros per column in their parity-check matrix and k is the number of non zeros per row in their parity-check matrix.</p>
+
+</li>
+<li><p>Irregular LDPC codes</p>
+
+<p>The irregular codes, on the other hand, do not have a fixed number of non zeros per column and row in their parity-check matrix. This class of codes are commonly represented by two polynomials which denote the distribution of the number of non zeros in the columns and rows respectively of their parity-check matrix.</p>
+
+</li>
+</ul>
+<p><a id="X8020A9357AD0BA92" name="X8020A9357AD0BA92"></a></p>
+
+<h5>5.8-1 QCLDPCCodeFromGroup</h5>
+
+<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> QCLDPCCodeFromGroup</code>( <var class="Arg">m, j, k</var> )</td><td class="tdright">( function )</td></tr></table></div>
+<p><code class="code">QCLDCCodeFromGroup</code> produces an (n,j,k) regular quasi-cyclic LDPC code over GF(2) of block length n = mk. The term quasi-cyclic in the context of LDPC codes typically refers to LDPC codes whose parity-check matrix H has the following form</p>
+
+
+<pre class="normal">
+
+    -                                              -
+    |  I_P(0,0)  |  I_P(0,1)  | ... |  I_P(0,k-1)  |
+    |  I_P(1,0)  |  I_P(1,1)  | ... |  I_P(1,k-1)  |
+H = |      .     |     .      |  .  |       .      |,
+    |      .     |     .      |  .  |       .      |
+    | I_P(j-1,0) | I_P(j-1,1) | ... | I_P(j-1,k-1) |
+    -                                              -
+		
+</pre>
+
+<p>where I_P(s,t) is an identity matrix of size m x m which has been shifted so that the 1 on the first row starts at position P(s,t).</p>
+
+<p>Let F be a multiplicative group of integers modulo m. If m is a prime, F=0,1,...,m-1, otherwise F contains a set of integers which are relatively prime to m. In both cases, the order of F is equal to phi(m). Let a and b be non zeros of F such that the orders of a and b are k and j respectively. Note that the integers a and b can always be found provided that k and j respectively divide phi(m). Having obtain integers a and b, construct the following j x k matrix P so that the element a [...]
+
+
+<pre class="normal">
+
+    -                                             -
+    |    1    |     a    | . . . |      a^{k-1}   |
+    |    b    |    ab    | . . . |     a^{k-1}b   |
+P = |    .    |    .     |   .   |        .       |.
+    |    .    |    .     |   .   |        .       |
+    | b^{j-1} | ab^{j-1} | . . . | a^{k-1}b^{j-1} |
+    -                                             -
+		
+</pre>
+
+<p>The parity-check matrix H of the LDPC code can be obtained by expanding each element of matrix P, i.e. P(s,t), to an identity matrix I_P(s,t) of size m x m.</p>
+
+<p>The code rate R of the constructed code is given by</p>
+
+<p class="pcenter">
+		R \geq 1 - \frac{j}{k}
+	</p>
+
+<p>where the sign >= is due to the possible existence of some non linearly independent rows in H. For more details to the paper by Tanner et al <a href="chapBib.html#biBTSSFC04">[S}04]</a>.</p>
+
+
+<table class="example">
+<tr><td><pre>
+gap> C := QCLDPCCodeFromGroup(7,2,3);
+a linear [21,8,1..6]5..10 low-density parity-check code over GF(2)
+gap> MinimumWeight(C);
+[21,8] linear code over GF(2) - minimum weight evaluation
+Known lower-bound: 1
+There are 3 generator matrices, ranks : 8 8 5 
+The weight of the minimum weight codeword satisfies 0 mod 2 congruence
+Enumerating codewords with information weight 1 (w=1)
+    Found new minimum weight 6
+Number of matrices required for codeword enumeration 2
+Completed w= 1, 24 codewords enumerated, lower-bound 4, upper-bound 6
+Termination expected with information weight 2 at matrix 1
+-----------------------------------------------------------------------------
+Enumerating codewords with information weight 2 (w=2) using 1 matrices
+Completed w= 2, 28 codewords enumerated, lower-bound 6, upper-bound 6
+-----------------------------------------------------------------------------
+Minimum weight: 6
+6
+gap> # The quasi-cyclic structure is obvious from the check matrix
+gap> Display( CheckMat(C) );
+ 1 . . . . . . . 1 . . . . . . . . 1 . . .
+ . 1 . . . . . . . 1 . . . . . . . . 1 . .
+ . . 1 . . . . . . . 1 . . . . . . . . 1 .
+ . . . 1 . . . . . . . 1 . . . . . . . . 1
+ . . . . 1 . . . . . . . 1 . 1 . . . . . .
+ . . . . . 1 . . . . . . . 1 . 1 . . . . .
+ . . . . . . 1 1 . . . . . . . . 1 . . . .
+ . . . . . 1 . . . . . 1 . . . . 1 . . . .
+ . . . . . . 1 . . . . . 1 . . . . 1 . . .
+ 1 . . . . . . . . . . . . 1 . . . . 1 . .
+ . 1 . . . . . 1 . . . . . . . . . . . 1 .
+ . . 1 . . . . . 1 . . . . . . . . . . . 1
+ . . . 1 . . . . . 1 . . . . 1 . . . . . .
+ . . . . 1 . . . . . 1 . . . . 1 . . . . .
+gap> # This is the famous [155,64,20] quasi-cyclic LDPC codes
+gap> C := QCLDPCCodeFromGroup(31,3,5);
+a linear [155,64,1..24]24..77 low-density parity-check code over GF(2)
+gap> # An example using non prime m, it may take a while to construct this code
+gap> C := QCLDPCCodeFromGroup(356,4,8);
+a linear [2848,1436,1..120]312..1412 low-density parity-check code over GF(2)
+</pre></td></tr></table>
+
 
 <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a>    <a href="chap4.html">Previous Chapter</a>    <a href="chap6.html">Next Chapter</a>   </div>
 
diff --git a/doc/chap5.txt b/doc/chap5.txt
index b8c9a59..b5b0f9d 100644
--- a/doc/chap5.txt
+++ b/doc/chap5.txt
@@ -18,6 +18,11 @@
   evaluation  map  applied  to  a space of functions. For example, generalized
   Reed-Solomon codes and toric codes are described there.
   
+  Section 5.7 describes functions for generating algebraic geometry codes.
+  
+  Section  5.8  describes  functions for constructing low-density parity-check
+  (LDPC) codes.
+  
   
   5.1 Generating Unrestricted Codes
   
@@ -2268,7 +2273,7 @@
   functions on crv.
   Output: The evaluation code associated to the points in pts and functions in
   L,  but  specifically  for  affine  plane curves and this function checks if
-  points  are  ``bad"  (if so removes them from the list pts automatically). A
+  points  are  "bad"  (if  so removes them from the list pts automatically). A
   point  is  ``bad''  if  either  it  does  not lie on the set of non-singular
   F-rational points (places of degree 1) on the curve.
   
@@ -2370,3 +2375,130 @@
   
   See EvaluationCode (5.6-1) for a more general construction.
   
+  
+  5.8 Low-Density Parity-Check Codes
+  
+  Low-density  parity-check  (LDPC)  codes  form a class of linear block codes
+  whose  parity-check  matrix--as the name implies, is sparse. LDPC codes were
+  introduced  by  Robert  Gallager in 1962 [Gal62] as his PhD work. Due to the
+  decoding   complexity  for  the  technology  back  then,  these  codes  were
+  forgotten.  Not  until  the  late  1990s,  these codes were rediscovered and
+  research  results  have  shown  that  LDPC  codes can achieve near Shannon's
+  capacity  performance  provided  that  their block length is long enough and
+  soft-decision  iterative  decoder  is  employed.  Note that the bit-flipping
+  decoder  (see  BitFlipDecoder) is a hard-decision decoder and hence capacity
+  achieving  performance  cannot  be  achieved  despite  having  a large block
+  length.
+  
+  Based  on  the  structure  of  their  parity-check matrix, LDPC codes may be
+  categorised into two classes:
+  
+  --    Regular LDPC codes
+  
+        This class of codes has a fixed number of non zeros per column and per
+        row  in  their parity-check matrix. These codes are usually denoted as
+        (n,j,k)  codes  where  n  is  the block length, j is the number of non
+        zeros  per  column in their parity-check matrix and k is the number of
+        non zeros per row in their parity-check matrix.
+  
+  --    Irregular LDPC codes
+  
+        The  irregular codes, on the other hand, do not have a fixed number of
+        non  zeros per column and row in their parity-check matrix. This class
+        of  codes are commonly represented by two polynomials which denote the
+        distribution  of  the  number  of  non  zeros  in the columns and rows
+        respectively of their parity-check matrix.
+  
+  5.8-1 QCLDPCCodeFromGroup
+  
+  > QCLDPCCodeFromGroup( m, j, k ) ___________________________________function
+  
+  QCLDCCodeFromGroup  produces  an (n,j,k) regular quasi-cyclic LDPC code over
+  GF(2)  of  block length n = mk. The term quasi-cyclic in the context of LDPC
+  codes  typically  refers  to  LDPC codes whose parity-check matrix H has the
+  following form
+  
+  
+      -                                              -
+      |  I_P(0,0)  |  I_P(0,1)  | ... |  I_P(0,k-1)  |
+      |  I_P(1,0)  |  I_P(1,1)  | ... |  I_P(1,k-1)  |
+  H = |      .     |     .      |  .  |       .      |,
+      |      .     |     .      |  .  |       .      |
+      | I_P(j-1,0) | I_P(j-1,1) | ... | I_P(j-1,k-1) |
+      -                                              -
+  		  where I_P(s,t) is an identity matrix of size m x m which has been shifted so
+  that the 1 on the first row starts at position P(s,t).
+  
+  Let  F  be  a  multiplicative  group  of integers modulo m. If m is a prime,
+  F=0,1,...,m-1,  otherwise  F contains a set of integers which are relatively
+  prime to m. In both cases, the order of F is equal to phi(m). Let a and b be
+  non  zeros  of  F  such that the orders of a and b are k and j respectively.
+  Note  that  the  integers  a and b can always be found provided that k and j
+  respectively  divide  phi(m).  Having obtain integers a and b, construct the
+  following  j x k matrix P so that the element at row s and column t is given
+  by P(s,t) = a^tb^s, i.e.
+  
+  
+      -                                             -
+      |    1    |     a    | . . . |      a^{k-1}   |
+      |    b    |    ab    | . . . |     a^{k-1}b   |
+  P = |    .    |    .     |   .   |        .       |.
+      |    .    |    .     |   .   |        .       |
+      | b^{j-1} | ab^{j-1} | . . . | a^{k-1}b^{j-1} |
+      -                                             -
+  		  The parity-check matrix H of the LDPC code can be obtained by expanding each
+  element of matrix P, i.e. P(s,t), to an identity matrix I_P(s,t) of size m x
+  m.
+  
+  The code rate R of the constructed code is given by
+  
+  
+       R \geq 1 - \frac{j}{k}
+  
+  
+  where  the  sign  >=  is  due to the possible existence of some non linearly
+  independent rows in H. For more details to the paper by Tanner et al [S}04].
+  
+  ---------------------------  Example  ----------------------------
+    gap> C := QCLDPCCodeFromGroup(7,2,3);
+    a linear [21,8,1..6]5..10 low-density parity-check code over GF(2)
+    gap> MinimumWeight(C);
+    [21,8] linear code over GF(2) - minimum weight evaluation
+    Known lower-bound: 1
+    There are 3 generator matrices, ranks : 8 8 5 
+    The weight of the minimum weight codeword satisfies 0 mod 2 congruence
+    Enumerating codewords with information weight 1 (w=1)
+        Found new minimum weight 6
+    Number of matrices required for codeword enumeration 2
+    Completed w= 1, 24 codewords enumerated, lower-bound 4, upper-bound 6
+    Termination expected with information weight 2 at matrix 1
+    -----------------------------------------------------------------------------
+    Enumerating codewords with information weight 2 (w=2) using 1 matrices
+    Completed w= 2, 28 codewords enumerated, lower-bound 6, upper-bound 6
+    -----------------------------------------------------------------------------
+    Minimum weight: 6
+    6
+    gap> # The quasi-cyclic structure is obvious from the check matrix
+    gap> Display( CheckMat(C) );
+     1 . . . . . . . 1 . . . . . . . . 1 . . .
+     . 1 . . . . . . . 1 . . . . . . . . 1 . .
+     . . 1 . . . . . . . 1 . . . . . . . . 1 .
+     . . . 1 . . . . . . . 1 . . . . . . . . 1
+     . . . . 1 . . . . . . . 1 . 1 . . . . . .
+     . . . . . 1 . . . . . . . 1 . 1 . . . . .
+     . . . . . . 1 1 . . . . . . . . 1 . . . .
+     . . . . . 1 . . . . . 1 . . . . 1 . . . .
+     . . . . . . 1 . . . . . 1 . . . . 1 . . .
+     1 . . . . . . . . . . . . 1 . . . . 1 . .
+     . 1 . . . . . 1 . . . . . . . . . . . 1 .
+     . . 1 . . . . . 1 . . . . . . . . . . . 1
+     . . . 1 . . . . . 1 . . . . 1 . . . . . .
+     . . . . 1 . . . . . 1 . . . . 1 . . . . .
+    gap> # This is the famous [155,64,20] quasi-cyclic LDPC codes
+    gap> C := QCLDPCCodeFromGroup(31,3,5);
+    a linear [155,64,1..24]24..77 low-density parity-check code over GF(2)
+    gap> # An example using non prime m, it may take a while to construct this code
+    gap> C := QCLDPCCodeFromGroup(356,4,8);
+    a linear [2848,1436,1..120]312..1412 low-density parity-check code over GF(2)
+  ------------------------------------------------------------------
+  
diff --git a/doc/chap7.html b/doc/chap7.html
index c3e8696..4d2e874 100644
--- a/doc/chap7.html
+++ b/doc/chap7.html
@@ -122,6 +122,10 @@ Miscellaneous polynomial functions
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X8431985183B63BB7">7.6-9 DegreesMonomialTerm</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X860EF39B841380A1">7.6-10 DivisorsMultivariatePolynomial</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap7.html#X82257DE97D1822AA">7.7 <span class="Heading">
+GNU Free Documentation License
+</span></a>
+</div>
 </div>
 
 <h3>7. <span class="Heading">
@@ -999,7 +1003,7 @@ gap> PrintArray( SylvesterMat(4) );
 <h5>7.3-4 HadamardMat</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> HadamardMat</code>( <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p><code class="code">HadamardMat</code> returns a Hadamard matrix of order <var class="Arg">n</var>. This is an nx n matrix with the property that the matrix multiplied by its transpose returns <var class="Arg">n</var> times the identity matrix. This is only possible for n=1, n=2 or in cases where <var class="Arg">n</var> is a multiple of 4. If the matrix does not exist or is not known (as of 1998), <code class="code">HadamardMat</code> returns an error. A large number of construction m [...]
+<p><code class="code">HadamardMat</code> returns a Hadamard matrix of order <var class="Arg">n</var>. This is an nx n matrix with the property that the matrix multiplied by its transpose returns <var class="Arg">n</var> times the identity matrix. This is only possible for n=1, n=2 or in cases where <var class="Arg">n</var> is a multiple of 4. If the matrix does not exist or is not known (as of 1998), <code class="code">HadamardMat</code> returns an error. A large number of construction m [...]
 
 
 <table class="example">
@@ -1634,7 +1638,7 @@ gap> WeightHistogram(H);
 <h5>7.5-14 MultiplicityInList</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> MultiplicityInList</code>( <var class="Arg">L, a</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p>This is a very simple list command which returns how many times a occurs in L. It returns 0 if a is not in L. (The GAP command <code class="code">Collected</code> does not quite handle this ``extreme" case.)</p>
+<p>This is a very simple list command which returns how many times a occurs in L. It returns 0 if a is not in L. (The GAP command <code class="code">Collected</code> does not quite handle this "extreme" case.)</p>
 
 
 <table class="example">
@@ -1939,6 +1943,140 @@ gap> DivisorsMultivariatePolynomial(f,R2);
 [ x1+x2, x1+x2, x1+x2 ]
 </pre></td></tr></table>
 
+<p><a id="X82257DE97D1822AA" name="X82257DE97D1822AA"></a></p>
+
+<h4>7.7 <span class="Heading">
+GNU Free Documentation License
+</span></h4>
+
+<p>GNU Free Documentation License Version 1.2, November 2002</p>
+
+<p>Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.</p>
+
+<p>0. PREAMBLE</p>
+
+<p>The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.</p>
+
+<p>This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.</p>
+
+<p>We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.</p>
+
+<p>1. APPLICABILITY AND DEFINITIONS</p>
+
+<p>This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or dist [...]
+
+<p>A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.</p>
+
+<p>A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with th [...]
+
+<p>The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.</p>
+
+<p>The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.</p>
+
+<p>A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters [...]
+
+<p>Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools a [...]
+
+<p>The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.</p>
+
+<p>A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.</p>
+
+<p>The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.</p>
+
+<p>2. VERBATIM COPYING</p>
+
+<p>You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exch [...]
+
+<p>You may also lend copies, under the same conditions stated above, and you may publicly display copies.</p>
+
+<p>3. COPYING IN QUANTITY</p>
+
+<p>If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title w [...]
+
+<p>If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.</p>
+
+<p>If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when  [...]
+
+<p>It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.</p>
+
+<p>4. MODIFICATIONS</p>
+
+<p>You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:</p>
+
+<p>A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.</p>
+
+<p>B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.</p>
+
+<p>C. State on the Title page the name of the publisher of the Modified Version, as the publisher.</p>
+
+<p>D. Preserve all the copyright notices of the Document.</p>
+
+<p>E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.</p>
+
+<p>F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.</p>
+
+<p>G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.</p>
+
+<p>H. Include an unaltered copy of this License.</p>
+
+<p>I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.</p>
+
+<p>J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.</p>
+
+<p>K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.</p>
+
+<p>L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.</p>
+
+<p>M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.</p>
+
+<p>N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.</p>
+
+<p>O. Preserve any Warranty Disclaimers.</p>
+
+<p>If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.</p>
+
+<p>You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.</p>
+
+<p>You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add  [...]
+
+<p>The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.</p>
+
+<p>5. COMBINING DOCUMENTS</p>
+
+<p>You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.</p>
+
+<p>The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections i [...]
+
+<p>In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".</p>
+
+<p>6. COLLECTIONS OF DOCUMENTS</p>
+
+<p>You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.</p>
+
+<p>You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.</p>
+
+<p>7. AGGREGATION WITH INDEPENDENT WORKS</p>
+
+<p>A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative wor [...]
+
+<p>If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.</p>
+
+<p>8. TRANSLATION</p>
+
+<p>Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers [...]
+
+<p>If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.</p>
+
+<p>9. TERMINATION</p>
+
+<p>You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.</p>
+
+<p>10. FUTURE REVISIONS OF THIS LICENSE</p>
+
+<p>The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.</p>
+
+<p>Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not a [...]
+
 
 <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a>    <a href="chap6.html">Previous Chapter</a>    <a href="chapBib.html">Next Chapter</a>   </div>
 
diff --git a/doc/chap7.txt b/doc/chap7.txt
index 3ed11bb..856dfa5 100644
--- a/doc/chap7.txt
+++ b/doc/chap7.txt
@@ -966,11 +966,12 @@
   where n is a multiple of 4. If the matrix does not exist or is not known (as
   of  1998),  HadamardMat  returns  an  error.  A large number of construction
   methods  is known to create these matrices for different orders. HadamardMat
-  makes   use   of   two  construction  methods  (among  which  the  Sylvester
-  construction  --  see SylvesterMat (7.3-3)). These methods cover most of the
-  possible  Hadamard  matrices, although some special algorithms have not been
-  implemented  yet.  The  following  orders  less  than 100 do not yet have an
-  implementation for a Hadamard matrix in GUAVA: 28, 36, 52, 76, 92.
+  makes   use   of   two  construction  methods  (the  Paley  Type  I  and  II
+  constructions,  and the Sylvester construction -- see SylvesterMat (7.3-3)).
+  These  methods  cover  most of the possible Hadamard matrices, although some
+  special  algorithms have not been implemented yet. The following orders less
+  than  100  do not yet have an implementation for a Hadamard matrix in GUAVA:
+  52, 92.
   
   ---------------------------  Example  ----------------------------
     gap> C := HadamardMat(8);; PrintArray(C);
@@ -1621,7 +1622,7 @@
   
   This  is a very simple list command which returns how many times a occurs in
   L.  It returns 0 if a is not in L. (The GAP command Collected does not quite
-  handle this ``extreme" case.)
+  handle this "extreme" case.)
   
   ---------------------------  Example  ----------------------------
     gap> L:=[1,2,3,4,3,2,1,5,4,3,2,1];;
@@ -1908,3 +1909,358 @@
     [ x1+x2, x1+x2, x1+x2 ]
   ------------------------------------------------------------------
   
+  
+  7.7 GNU Free Documentation License
+  
+  GNU Free Documentation License Version 1.2, November 2002
+  
+  Copyright  (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St,
+  Fifth  Floor,  Boston,  MA  02110-1301 USA Everyone is permitted to copy and
+  distribute  verbatim copies of this license document, but changing it is not
+  allowed.
+  
+  0. PREAMBLE
+  
+  The  purpose  of  this  License  is  to  make  a  manual, textbook, or other
+  functional  and  useful  document  "free" in the sense of freedom: to assure
+  everyone  the effective freedom to copy and redistribute it, with or without
+  modifying  it,  either  commercially  or  noncommercially. Secondarily, this
+  License preserves for the author and publisher a way to get credit for their
+  work,  while  not  being  considered  responsible  for modifications made by
+  others.
+  
+  This  License  is a kind of "copyleft", which means that derivative works of
+  the  document  must themselves be free in the same sense. It complements the
+  GNU  General  Public  License, which is a copyleft license designed for free
+  software.
+  
+  We  have  designed  this  License  in  order  to use it for manuals for free
+  software,  because  free  software  needs free documentation: a free program
+  should come with manuals providing the same freedoms that the software does.
+  But  this License is not limited to software manuals; it can be used for any
+  textual  work,  regardless of subject matter or whether it is published as a
+  printed  book. We recommend this License principally for works whose purpose
+  is instruction or reference.
+  
+  1. APPLICABILITY AND DEFINITIONS
+  
+  This  License  applies  to  any  manual  or  other work, in any medium, that
+  contains  a  notice  placed  by  the  copyright  holder  saying  it  can  be
+  distributed  under  the  terms  of  this  License.  Such  a  notice grants a
+  world-wide,  royalty-free  license,  unlimited in duration, to use that work
+  under  the  conditions  stated  herein. The "Document", below, refers to any
+  such  manual  or  work.  Any  member  of  the  public  is a licensee, and is
+  addressed as "you". You accept the license if you copy, modify or distribute
+  the work in a way requiring permission under copyright law.
+  
+  A  "Modified Version" of the Document means any work containing the Document
+  or  a  portion  of  it, either copied verbatim, or with modifications and/or
+  translated into another language.
+  
+  A  "Secondary  Section" is a named appendix or a front-matter section of the
+  Document  that  deals exclusively with the relationship of the publishers or
+  authors  of  the  Document  to the Document's overall subject (or to related
+  matters)  and  contains nothing that could fall directly within that overall
+  subject.  (Thus,  if  the  Document  is in part a textbook of mathematics, a
+  Secondary  Section  may not explain any mathematics.) The relationship could
+  be  a  matter  of  historical  connection  with  the subject or with related
+  matters,  or  of  legal,  commercial,  philosophical,  ethical  or political
+  position regarding them.
+  
+  The  "Invariant  Sections"  are  certain Secondary Sections whose titles are
+  designated,  as  being  those of Invariant Sections, in the notice that says
+  that  the Document is released under this License. If a section does not fit
+  the above definition of Secondary then it is not allowed to be designated as
+  Invariant. The Document may contain zero Invariant Sections. If the Document
+  does not identify any Invariant Sections then there are none.
+  
+  The  "Cover  Texts"  are  certain short passages of text that are listed, as
+  Front-Cover  Texts  or  Back-Cover  Texts,  in the notice that says that the
+  Document is released under this License. A Front-Cover Text may be at most 5
+  words, and a Back-Cover Text may be at most 25 words.
+  
+  A  "Transparent"  copy  of  the  Document  means  a  machine-readable  copy,
+  represented  in  a  format  whose  specification is available to the general
+  public,  that  is  suitable for revising the document straightforwardly with
+  generic  text  editors  or  (for  images  composed  of pixels) generic paint
+  programs or (for drawings) some widely available drawing editor, and that is
+  suitable  for  input  to  text  formatters or for automatic translation to a
+  variety  of formats suitable for input to text formatters. A copy made in an
+  otherwise  Transparent  file  format whose markup, or absence of markup, has
+  been  arranged to thwart or discourage subsequent modification by readers is
+  not  Transparent.  An  image  format  is  not  Transparent  if  used for any
+  substantial  amount  of  text.  A  copy  that is not "Transparent" is called
+  "Opaque".
+  
+  Examples  of  suitable  formats  for  Transparent copies include plain ASCII
+  without  markup, Texinfo input format, LaTeX input format, SGML or XML using
+  a publicly available DTD, and standard-conforming simple HTML, PostScript or
+  PDF  designed  for human modification. Examples of transparent image formats
+  include  PNG,  XCF  and JPG. Opaque formats include proprietary formats that
+  can  be read and edited only by proprietary word processors, SGML or XML for
+  which  the  DTD and/or processing tools are not generally available, and the
+  machine-generated  HTML,  PostScript or PDF produced by some word processors
+  for output purposes only.
+  
+  The "Title Page" means, for a printed book, the title page itself, plus such
+  following  pages  as  are needed to hold, legibly, the material this License
+  requires to appear in the title page. For works in formats which do not have
+  any  title page as such, "Title Page" means the text near the most prominent
+  appearance  of  the work's title, preceding the beginning of the body of the
+  text.
+  
+  A  section  "Entitled XYZ" means a named subunit of the Document whose title
+  either  is  precisely XYZ or contains XYZ in parentheses following text that
+  translates  XYZ in another language. (Here XYZ stands for a specific section
+  name   mentioned   below,   such   as   "Acknowledgements",   "Dedications",
+  "Endorsements",  or  "History".)  To  "Preserve the Title" of such a section
+  when  you modify the Document means that it remains a section "Entitled XYZ"
+  according to this definition.
+  
+  The  Document  may  include  Warranty  Disclaimers  next to the notice which
+  states that this License applies to the Document. These Warranty Disclaimers
+  are  considered  to  be  included  by reference in this License, but only as
+  regards  disclaiming  warranties:  any other implication that these Warranty
+  Disclaimers  may  have  is  void  and  has  no effect on the meaning of this
+  License.
+  
+  2. VERBATIM COPYING
+  
+  You  may copy and distribute the Document in any medium, either commercially
+  or  noncommercially,  provided that this License, the copyright notices, and
+  the  license  notice  saying  this  License  applies  to  the  Document  are
+  reproduced in all copies, and that you add no other conditions whatsoever to
+  those  of  this  License.  You may not use technical measures to obstruct or
+  control the reading or further copying of the copies you make or distribute.
+  However,  you  may  accept  compensation  in  exchange  for  copies.  If you
+  distribute  a  large  enough  number  of  copies  you  must  also follow the
+  conditions in section 3.
+  
+  You  may  also  lend copies, under the same conditions stated above, and you
+  may publicly display copies.
+  
+  3. COPYING IN QUANTITY
+  
+  If you publish printed copies (or copies in media that commonly have printed
+  covers) of the Document, numbering more than 100, and the Document's license
+  notice  requires  Cover  Texts,  you  must enclose the copies in covers that
+  carry,  clearly and legibly, all these Cover Texts: Front-Cover Texts on the
+  front  cover,  and Back-Cover Texts on the back cover. Both covers must also
+  clearly and legibly identify you as the publisher of these copies. The front
+  cover  must  present  the  full  title  with  all words of the title equally
+  prominent and visible. You may add other material on the covers in addition.
+  Copying  with  changes  limited  to the covers, as long as they preserve the
+  title  of  the  Document  and  satisfy  these  conditions, can be treated as
+  verbatim copying in other respects.
+  
+  If  the  required  texts for either cover are too voluminous to fit legibly,
+  you  should  put  the  first  ones listed (as many as fit reasonably) on the
+  actual cover, and continue the rest onto adjacent pages.
+  
+  If  you  publish  or distribute Opaque copies of the Document numbering more
+  than  100, you must either include a machine-readable Transparent copy along
+  with   each   Opaque   copy,  or  state  in  or  with  each  Opaque  copy  a
+  computer-network  location  from  which the general network-using public has
+  access  to  download  using  public-standard  network  protocols  a complete
+  Transparent  copy  of  the  Document, free of added material. If you use the
+  latter  option,  you  must  take  reasonably  prudent  steps, when you begin
+  distribution  of  Opaque copies in quantity, to ensure that this Transparent
+  copy  will  remain thus accessible at the stated location until at least one
+  year  after the last time you distribute an Opaque copy (directly or through
+  your agents or retailers) of that edition to the public.
+  
+  It  is  requested,  but  not  required,  that you contact the authors of the
+  Document well before redistributing any large number of copies, to give them
+  a chance to provide you with an updated version of the Document.
+  
+  4. MODIFICATIONS
+  
+  You  may  copy  and  distribute a Modified Version of the Document under the
+  conditions of sections 2 and 3 above, provided that you release the Modified
+  Version  under precisely this License, with the Modified Version filling the
+  role  of  the  Document, thus licensing distribution and modification of the
+  Modified Version to whoever possesses a copy of it. In addition, you must do
+  these things in the Modified Version:
+  
+  A.  Use  in the Title Page (and on the covers, if any) a title distinct from
+  that  of the Document, and from those of previous versions (which should, if
+  there  were  any, be listed in the History section of the Document). You may
+  use  the  same title as a previous version if the original publisher of that
+  version gives permission.
+  
+  B.  List  on  the  Title  Page,  as authors, one or more persons or entities
+  responsible  for  authorship  of  the modifications in the Modified Version,
+  together with at least five of the principal authors of the Document (all of
+  its  principal  authors, if it has fewer than five), unless they release you
+  from this requirement.
+  
+  C.  State  on  the  Title  page  the  name  of the publisher of the Modified
+  Version, as the publisher.
+  
+  D. Preserve all the copyright notices of the Document.
+  
+  E.  Add  an  appropriate copyright notice for your modifications adjacent to
+  the other copyright notices.
+  
+  F. Include, immediately after the copyright notices, a license notice giving
+  the  public  permission  to use the Modified Version under the terms of this
+  License, in the form shown in the Addendum below.
+  
+  G.  Preserve in that license notice the full lists of Invariant Sections and
+  required Cover Texts given in the Document's license notice.
+  
+  H. Include an unaltered copy of this License.
+  
+  I.  Preserve  the section Entitled "History", Preserve its Title, and add to
+  it  an  item stating at least the title, year, new authors, and publisher of
+  the  Modified  Version  as  given  on the Title Page. If there is no section
+  Entitled  "History"  in  the  Document,  create one stating the title, year,
+  authors,  and publisher of the Document as given on its Title Page, then add
+  an item describing the Modified Version as stated in the previous sentence.
+  
+  J.  Preserve  the network location, if any, given in the Document for public
+  access  to  a  Transparent  copy  of  the Document, and likewise the network
+  locations given in the Document for previous versions it was based on. These
+  may  be placed in the "History" section. You may omit a network location for
+  a work that was published at least four years before the Document itself, or
+  if the original publisher of the version it refers to gives permission.
+  
+  K.  For  any  section Entitled "Acknowledgements" or "Dedications", Preserve
+  the  Title of the section, and preserve in the section all the substance and
+  tone  of  each  of the contributor acknowledgements and/or dedications given
+  therein.
+  
+  L.  Preserve  all the Invariant Sections of the Document, unaltered in their
+  text  and  in  their  titles.  Section  numbers  or  the  equivalent are not
+  considered part of the section titles.
+  
+  M.  Delete  any  section  Entitled "Endorsements". Such a section may not be
+  included in the Modified Version.
+  
+  N.  Do  not retitle any existing section to be Entitled "Endorsements" or to
+  conflict in title with any Invariant Section.
+  
+  O. Preserve any Warranty Disclaimers.
+  
+  If  the  Modified  Version  includes new front-matter sections or appendices
+  that  qualify  as Secondary Sections and contain no material copied from the
+  Document,  you may at your option designate some or all of these sections as
+  invariant. To do this, add their titles to the list of Invariant Sections in
+  the  Modified  Version's  license notice. These titles must be distinct from
+  any other section titles.
+  
+  You  may add a section Entitled "Endorsements", provided it contains nothing
+  but  endorsements  of your Modified Version by various parties--for example,
+  statements  of  peer  review  or  that  the  text  has  been  approved by an
+  organization as the authoritative definition of a standard.
+  
+  You  may  add  a  passage  of  up to five words as a Front-Cover Text, and a
+  passage  of  up  to 25 words as a Back-Cover Text, to the end of the list of
+  Cover  Texts  in  the Modified Version. Only one passage of Front-Cover Text
+  and one of Back-Cover Text may be added by (or through arrangements made by)
+  any  one  entity. If the Document already includes a cover text for the same
+  cover, previously added by you or by arrangement made by the same entity you
+  are  acting  on  behalf of, you may not add another; but you may replace the
+  old  one,  on explicit permission from the previous publisher that added the
+  old one.
+  
+  The  author(s)  and publisher(s) of the Document do not by this License give
+  permission  to  use  their  names  for  publicity  for or to assert or imply
+  endorsement of any Modified Version.
+  
+  5. COMBINING DOCUMENTS
+  
+  You  may  combine  the  Document  with  other  documents released under this
+  License,  under  the terms defined in section 4 above for modified versions,
+  provided  that  you include in the combination all of the Invariant Sections
+  of all of the original documents, unmodified, and list them all as Invariant
+  Sections  of your combined work in its license notice, and that you preserve
+  all their Warranty Disclaimers.
+  
+  The  combined  work need only contain one copy of this License, and multiple
+  identical  Invariant  Sections  may be replaced with a single copy. If there
+  are  multiple  Invariant Sections with the same name but different contents,
+  make  the  title  of each such section unique by adding at the end of it, in
+  parentheses, the name of the original author or publisher of that section if
+  known,  or  else  a  unique  number. Make the same adjustment to the section
+  titles  in  the  list  of  Invariant  Sections  in the license notice of the
+  combined work.
+  
+  In  the combination, you must combine any sections Entitled "History" in the
+  various original documents, forming one section Entitled "History"; likewise
+  combine  any sections Entitled "Acknowledgements", and any sections Entitled
+  "Dedications". You must delete all sections Entitled "Endorsements".
+  
+  6. COLLECTIONS OF DOCUMENTS
+  
+  You  may  make  a  collection consisting of the Document and other documents
+  released  under  this  License,  and  replace  the individual copies of this
+  License  in the various documents with a single copy that is included in the
+  collection,  provided that you follow the rules of this License for verbatim
+  copying of each of the documents in all other respects.
+  
+  You  may extract a single document from such a collection, and distribute it
+  individually  under this License, provided you insert a copy of this License
+  into  the  extracted document, and follow this License in all other respects
+  regarding verbatim copying of that document.
+  
+  7. AGGREGATION WITH INDEPENDENT WORKS
+  
+  A  compilation  of  the  Document or its derivatives with other separate and
+  independent  documents  or  works,  in  or  on  a  volume  of  a  storage or
+  distribution  medium,  is  called  an "aggregate" if the copyright resulting
+  from  the  compilation  is  not  used  to  limit  the  legal  rights  of the
+  compilation's  users  beyond  what  the  individual  works  permit. When the
+  Document  is  included  in  an aggregate, this License does not apply to the
+  other  works  in  the aggregate which are not themselves derivative works of
+  the Document.
+  
+  If  the Cover Text requirement of section 3 is applicable to these copies of
+  the  Document,  then  if  the  Document  is less than one half of the entire
+  aggregate,  the  Document's Cover Texts may be placed on covers that bracket
+  the Document within the aggregate, or the electronic equivalent of covers if
+  the  Document  is  in electronic form. Otherwise they must appear on printed
+  covers that bracket the whole aggregate.
+  
+  8. TRANSLATION
+  
+  Translation  is  considered  a  kind  of modification, so you may distribute
+  translations  of  the  Document  under  the  terms  of  section 4. Replacing
+  Invariant  Sections with translations requires special permission from their
+  copyright holders, but you may include translations of some or all Invariant
+  Sections  in  addition to the original versions of these Invariant Sections.
+  You  may  include a translation of this License, and all the license notices
+  in  the  Document,  and  any  Warranty  Disclaimers,  provided that you also
+  include  the  original  English  version  of  this  License and the original
+  versions of those notices and disclaimers. In case of a disagreement between
+  the  translation  and  the  original  version of this License or a notice or
+  disclaimer, the original version will prevail.
+  
+  If  a section in the Document is Entitled "Acknowledgements", "Dedications",
+  or  "History", the requirement (section 4) to Preserve its Title (section 1)
+  will typically require changing the actual title.
+  
+  9. TERMINATION
+  
+  You  may  not copy, modify, sublicense, or distribute the Document except as
+  expressly  provided  for  under  this  License.  Any  other attempt to copy,
+  modify,   sublicense   or   distribute   the  Document  is  void,  and  will
+  automatically terminate your rights under this License. However, parties who
+  have  received  copies, or rights, from you under this License will not have
+  their licenses terminated so long as such parties remain in full compliance.
+  
+  10. FUTURE REVISIONS OF THIS LICENSE
+  
+  The  Free  Software  Foundation may publish new, revised versions of the GNU
+  Free  Documentation  License  from  time  to time. Such new versions will be
+  similar  in  spirit  to  the  present  version,  but may differ in detail to
+  address new problems or concerns. See http://www.gnu.org/copyleft/.
+  
+  Each version of the License is given a distinguishing version number. If the
+  Document  specifies  that  a particular numbered version of this License "or
+  any later version" applies to it, you have the option of following the terms
+  and conditions either of that specified version or of any later version that
+  has  been published (not as a draft) by the Free Software Foundation. If the
+  Document  does  not specify a version number of this License, you may choose
+  any version ever published (not as a draft) by the Free Software Foundation.
+  
diff --git a/doc/chapBib.html b/doc/chapBib.html
index 8e6760c..06a94d9 100644
--- a/doc/chapBib.html
+++ b/doc/chapBib.html
@@ -74,6 +74,15 @@
  <span class='Bib_pages'>p. 219--224</span></p>
 
 
+<p><a id="biBGallager.1962" name="biBGallager.1962"></a></p>
+<p class='Bib_entry'>
+[<span class='Bib_key' style="color: #8e0000;">Gal62</span>]   <b class='Bib_author'>Gallager, R.</b> <i class='Bib_title'>Low-Density Parity-Check Codes</i>,
+ <span class='Bib_journal'>IRE Trans. Inform. Theory</span>,
+ <em class='Bib_volume'>IT-8</em>,
+ (<span class='Bib_year'>1962)</span>,
+ <span class='Bib_pages'>p. 21--28</span></p>
+
+
 <p><a id="biBGao03" name="biBGao03"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">Gao03</span>]   <b class='Bib_author'>Gao, S.</b> <i class='Bib_title'>A new algorithm for decoding Reed-Solomon codes</i>,
@@ -144,15 +153,6 @@
  (<span class='Bib_year'>2004)</span></p>
 
 
-<p><a id="biBLeon82" name="biBLeon82"></a></p>
-<p class='Bib_entry'>
-[<span class='Bib_key' style="color: #8e0000;">Leo82</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>Computing automorphism groups of error-correcting codes</i>,
- <span class='Bib_journal'>IEEE Trans. Inform. Theory</span>,
- <em class='Bib_volume'>28</em>,
- (<span class='Bib_year'>1982)</span>,
- <span class='Bib_pages'>p. 496--511</span></p>
-
-
 <p><a id="biBLeon88" name="biBLeon88"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">Leo88</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>A probabilistic algorithm for computing minimum weights of
@@ -163,6 +163,15 @@
  <span class='Bib_pages'>p. 1354--1359</span></p>
 
 
+<p><a id="biBLeon82" name="biBLeon82"></a></p>
+<p class='Bib_entry'>
+[<span class='Bib_key' style="color: #8e0000;">Leo82</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>Computing automorphism groups of error-correcting codes</i>,
+ <span class='Bib_journal'>IEEE Trans. Inform. Theory</span>,
+ <em class='Bib_volume'>28</em>,
+ (<span class='Bib_year'>1982)</span>,
+ <span class='Bib_pages'>p. 496--511</span></p>
+
+
 <p><a id="biBLeon91" name="biBLeon91"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">Leo91</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>Permutation group algorithms based on partitions, I: theory
@@ -180,6 +189,16 @@
  (<span class='Bib_year'>1983)</span></p>
 
 
+<p><a id="biBTSSFC04" name="biBTSSFC04"></a></p>
+<p class='Bib_entry'>
+[<span class='Bib_key' style="color: #8e0000;">S}04</span>]   <b class='Bib_author'>R. Tanner D. Sridhara A. Sridharan, T. F. and }, D. C.</b> <i class='Bib_title'>LDPC Block and Convolutional Codes Based on Circulant
+      Matrices</i>,
+ <span class='Bib_journal'>STRING-NOT-KNOWN: ieee_j_it</span>,
+ <em class='Bib_volume'>50</em> (<span class='Bib_number'>12)</span>,
+ (<span class='Bib_year'>2004)</span>,
+ <span class='Bib_pages'>p. 2966--2984</span></p>
+
+
 <p><a id="biBSloane72" name="biBSloane72"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">SRC72</span>]   <b class='Bib_author'>Sloane, N., Reddy, S. and Chen, C.</b> <i class='Bib_title'>New binary codes</i>,
diff --git a/doc/chapBib.txt b/doc/chapBib.txt
index 846ec17..4f05215 100644
--- a/doc/chapBib.txt
+++ b/doc/chapBib.txt
@@ -23,6 +23,9 @@
   covering  radius  2  and  other  new covering codes, IEEE Trans. Inform.
   Theory, 37, 1 (1991), 219--224
   
+  [Gal62] Gallager, R., Low-Density Parity-Check Codes, IRE Trans. Inform.
+  Theory, IT-8 (1962), 21--28
+  
   [Gao03]  Gao,  S.,  A  new  algorithm  for  decoding Reed-Solomon codes,
   Communications,  Information  and  Network  Security (V. Bhargava, H. V.
   Poor,  V.  Tarokh and S. Yoon, Eds.), Kluwer Academic Publishers (2003),
@@ -51,19 +54,23 @@
   [JH04] Justesen, J. and Hoholdt, T., A course in error-correcting codes,
   European Mathematical Society (2004)
   
-  [Leo82]  Leon,  J. S., Computing automorphism groups of error-correcting
-  codes, IEEE Trans. Inform. Theory, 28 (1982), 496--511
-  
   [Leo88]  Leon,  J.  S.,  A probabilistic algorithm for computing minimum
   weights  of large error-correcting codes, IEEE Trans. Inform. Theory, 34
   (1988), 1354--1359
   
+  [Leo82]  Leon,  J. S., Computing automorphism groups of error-correcting
+  codes, IEEE Trans. Inform. Theory, 28 (1982), 496--511
+  
   [Leo91]  Leon,  J. S., Permutation group algorithms based on partitions,
   I: theory and algorithms, J. Symbolic Comput., 12 (1991), 533--583
   
   [MS83]  MacWilliams,  F.  J.  and  Sloane,  N.  J.  A.,  The  theory  of
   error-correcting codes, Amsterdam: North-Holland (1983)
   
+  [S}04]  R.  Tanner  D.  Sridhara  A. Sridharan, T. F. and }, D. C., LDPC
+  Block   and   Convolutional   Codes   Based   on   Circulant   Matrices,
+  STRING-NOT-KNOWN: ieee_j_it, 50, 12 (2004), 2966--2984
+  
   [SRC72]  Sloane,  N.,  Reddy,  S.  and  Chen, C., New binary codes, IEEE
   Trans. Inform. Theory, 18 (1972), 503--510
   
diff --git a/doc/chapInd.html b/doc/chapInd.html
index 88ce5ea..d015545 100644
--- a/doc/chapInd.html
+++ b/doc/chapInd.html
@@ -276,6 +276,7 @@ IsPrimitivePolynomial  <a href="chap2.html#X7ECC593583E68A6C">2.2-2</a><br />
 <code class="func">Krawtchouk</code>  <a href="chap7.html#X7ACDC5377CD17451">7.5-6</a><br />
 <code class="func">KrawtchoukMat</code>  <a href="chap7.html#X82899B64802A4BCE">7.3-1</a><br />
 Latin square  <a href="chap7.html#X8033E9A67BA155C8">7.3-10</a><br />
+LDPC  <a href="chap5.html#X84F3673D7BBF5956">5.8</a><br />
 least common multiple  <a href="chap5.html#X82231CF08073695F">5.7-12</a><br />
 <code class="func">LeftActingDomain</code>  <a href="chap4.html#X86F070E0807DC34E">4.5-3</a><br />
 length  <a href="chap4.html#X85FDDF0B7B7D87FB">4.</a><br />
@@ -345,6 +346,7 @@ primitive element  <a href="chap2.html#X87C3D1B984960984">2.2</a><br />
 <code class="func">Print</code>  <a href="chap4.html#X7AFA64D97A1F39A3">4.6-1</a><br />
 <code class="func">PuncturedCode</code>  <a href="chap6.html#X7E6E4DDA79574FDB">6.1-2</a><br />
 <code class="func">PutStandardForm</code>  <a href="chap7.html#X7B47D82485B66F1D">7.3-6</a><br />
+<code class="func">QCLDPCCodeFromGroup</code>  <a href="chap5.html#X8020A9357AD0BA92">5.8-1</a><br />
 <code class="func">QQRCode</code>  <a href="chap5.html#X7F4C3AD2795A8D7A">5.5-9</a><br />
 <code class="func">QQRCodeNC</code>  <a href="chap5.html#X8764ABCF854C695E">5.5-8</a><br />
 <code class="func">QRCode</code>  <a href="chap5.html#X825F42F68179D2AB">5.5-7</a><br />
diff --git a/doc/chapInd.txt b/doc/chapInd.txt
index b7ad771..4817636 100644
--- a/doc/chapInd.txt
+++ b/doc/chapInd.txt
@@ -256,6 +256,7 @@
   Krawtchouk  7.5-6
   KrawtchoukMat  7.3-1
   Latin square  7.3-10
+  LDPC  5.8
   least common multiple  5.7-12
   LeftActingDomain  4.5-3
   length  4.
@@ -325,6 +326,7 @@
   Print  4.6-1
   PuncturedCode  6.1-2
   PutStandardForm  7.3-6
+  QCLDPCCodeFromGroup  5.8-1
   QQRCode  5.5-9
   QQRCodeNC  5.5-8
   QRCode  5.5-7
diff --git a/doc/guava.aux b/doc/guava.aux
index 3cc0306..0d86bb3 100644
--- a/doc/guava.aux
+++ b/doc/guava.aux
@@ -260,492 +260,502 @@
 \@writefile{brf}{\backcite{JH04}{{59}{4.10.5}{subsection.4.10.5}}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.10.6}\leavevmode {\color  {Chapter }NearestNeighborGRSDecodewords}}{60}{subsection.4.10.6}}
 \newlabel{NearestNeighborGRSDecodewords}{{4.10.6}{60}{\textcolor {Chapter }{NearestNeighborGRSDecodewords}\relax }{subsection.4.10.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.10.7}\leavevmode {\color  {Chapter }NearestNeighborDecodewords}}{61}{subsection.4.10.7}}
-\newlabel{NearestNeighborDecodewords}{{4.10.7}{61}{\textcolor {Chapter }{NearestNeighborDecodewords}\relax }{subsection.4.10.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.10.7}\leavevmode {\color  {Chapter }NearestNeighborDecodewords}}{60}{subsection.4.10.7}}
+\newlabel{NearestNeighborDecodewords}{{4.10.7}{60}{\textcolor {Chapter }{NearestNeighborDecodewords}\relax }{subsection.4.10.7}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.10.8}\leavevmode {\color  {Chapter }Syndrome}}{61}{subsection.4.10.8}}
 \newlabel{Syndrome}{{4.10.8}{61}{\textcolor {Chapter }{Syndrome}\relax }{subsection.4.10.8}{}}
+\citation{HP03}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.10.9}\leavevmode {\color  {Chapter }SyndromeTable}}{62}{subsection.4.10.9}}
 \newlabel{SyndromeTable}{{4.10.9}{62}{\textcolor {Chapter }{SyndromeTable}\relax }{subsection.4.10.9}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.10.10}\leavevmode {\color  {Chapter }StandardArray}}{62}{subsection.4.10.10}}
 \newlabel{StandardArray}{{4.10.10}{62}{\textcolor {Chapter }{StandardArray}\relax }{subsection.4.10.10}{}}
-\citation{HP03}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.10.11}\leavevmode {\color  {Chapter }PermutationDecode}}{63}{subsection.4.10.11}}
-\newlabel{PermutationDecode}{{4.10.11}{63}{\textcolor {Chapter }{PermutationDecode}\relax }{subsection.4.10.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.10.11}\leavevmode {\color  {Chapter }PermutationDecode}}{62}{subsection.4.10.11}}
+\newlabel{PermutationDecode}{{4.10.11}{62}{\textcolor {Chapter }{PermutationDecode}\relax }{subsection.4.10.11}{}}
 \@writefile{brf}{\backcite{HP03}{{63}{4.10.11}{subsection.4.10.11}}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.10.12}\leavevmode {\color  {Chapter }PermutationDecodeNC}}{63}{subsection.4.10.12}}
 \newlabel{PermutationDecodeNC}{{4.10.12}{63}{\textcolor {Chapter }{PermutationDecodeNC}\relax }{subsection.4.10.12}{}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {5}\leavevmode {\color  {Chapter }Generating Codes}}{65}{chapter.5}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}\leavevmode {\color  {Chapter }Generating Codes}}{64}{chapter.5}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\newlabel{Generating Codes}{{5}{65}{\textcolor {Chapter }{Generating Codes}\relax }{chapter.5}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.1}\leavevmode {\color  {Chapter } Generating Unrestricted Codes }}{65}{section.5.1}}
-\newlabel{Generating Unrestricted Codes}{{5.1}{65}{\textcolor {Chapter }{ Generating Unrestricted Codes }\relax }{section.5.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}\leavevmode {\color  {Chapter }ElementsCode}}{65}{subsection.5.1.1}}
-\newlabel{ElementsCode}{{5.1.1}{65}{\textcolor {Chapter }{ElementsCode}\relax }{subsection.5.1.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}\leavevmode {\color  {Chapter }HadamardCode}}{66}{subsection.5.1.2}}
-\newlabel{HadamardCode}{{5.1.2}{66}{\textcolor {Chapter }{HadamardCode}\relax }{subsection.5.1.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}\leavevmode {\color  {Chapter }ConferenceCode}}{66}{subsection.5.1.3}}
-\newlabel{ConferenceCode}{{5.1.3}{66}{\textcolor {Chapter }{ConferenceCode}\relax }{subsection.5.1.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.4}\leavevmode {\color  {Chapter }MOLSCode}}{67}{subsection.5.1.4}}
-\newlabel{MOLSCode}{{5.1.4}{67}{\textcolor {Chapter }{MOLSCode}\relax }{subsection.5.1.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.5}\leavevmode {\color  {Chapter }RandomCode}}{68}{subsection.5.1.5}}
-\newlabel{RandomCode}{{5.1.5}{68}{\textcolor {Chapter }{RandomCode}\relax }{subsection.5.1.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}\leavevmode {\color  {Chapter }NordstromRobinsonCode}}{68}{subsection.5.1.6}}
-\newlabel{NordstromRobinsonCode}{{5.1.6}{68}{\textcolor {Chapter }{NordstromRobinsonCode}\relax }{subsection.5.1.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.7}\leavevmode {\color  {Chapter }GreedyCode}}{68}{subsection.5.1.7}}
-\newlabel{GreedyCode}{{5.1.7}{68}{\textcolor {Chapter }{GreedyCode}\relax }{subsection.5.1.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.8}\leavevmode {\color  {Chapter }LexiCode}}{69}{subsection.5.1.8}}
-\newlabel{LexiCode}{{5.1.8}{69}{\textcolor {Chapter }{LexiCode}\relax }{subsection.5.1.8}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.2}\leavevmode {\color  {Chapter } Generating Linear Codes }}{69}{section.5.2}}
-\newlabel{Generating Linear Codes}{{5.2}{69}{\textcolor {Chapter }{ Generating Linear Codes }\relax }{section.5.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\leavevmode {\color  {Chapter }GeneratorMatCode}}{69}{subsection.5.2.1}}
-\newlabel{GeneratorMatCode}{{5.2.1}{69}{\textcolor {Chapter }{GeneratorMatCode}\relax }{subsection.5.2.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\leavevmode {\color  {Chapter }CheckMatCodeMutable}}{70}{subsection.5.2.2}}
-\newlabel{CheckMatCodeMutable}{{5.2.2}{70}{\textcolor {Chapter }{CheckMatCodeMutable}\relax }{subsection.5.2.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}\leavevmode {\color  {Chapter }CheckMatCode}}{70}{subsection.5.2.3}}
-\newlabel{CheckMatCode}{{5.2.3}{70}{\textcolor {Chapter }{CheckMatCode}\relax }{subsection.5.2.3}{}}
+\newlabel{Generating Codes}{{5}{64}{\textcolor {Chapter }{Generating Codes}\relax }{chapter.5}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}\leavevmode {\color  {Chapter } Generating Unrestricted Codes }}{64}{section.5.1}}
+\newlabel{Generating Unrestricted Codes}{{5.1}{64}{\textcolor {Chapter }{ Generating Unrestricted Codes }\relax }{section.5.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}\leavevmode {\color  {Chapter }ElementsCode}}{64}{subsection.5.1.1}}
+\newlabel{ElementsCode}{{5.1.1}{64}{\textcolor {Chapter }{ElementsCode}\relax }{subsection.5.1.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}\leavevmode {\color  {Chapter }HadamardCode}}{65}{subsection.5.1.2}}
+\newlabel{HadamardCode}{{5.1.2}{65}{\textcolor {Chapter }{HadamardCode}\relax }{subsection.5.1.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.3}\leavevmode {\color  {Chapter }ConferenceCode}}{65}{subsection.5.1.3}}
+\newlabel{ConferenceCode}{{5.1.3}{65}{\textcolor {Chapter }{ConferenceCode}\relax }{subsection.5.1.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.4}\leavevmode {\color  {Chapter }MOLSCode}}{66}{subsection.5.1.4}}
+\newlabel{MOLSCode}{{5.1.4}{66}{\textcolor {Chapter }{MOLSCode}\relax }{subsection.5.1.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.5}\leavevmode {\color  {Chapter }RandomCode}}{67}{subsection.5.1.5}}
+\newlabel{RandomCode}{{5.1.5}{67}{\textcolor {Chapter }{RandomCode}\relax }{subsection.5.1.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.6}\leavevmode {\color  {Chapter }NordstromRobinsonCode}}{67}{subsection.5.1.6}}
+\newlabel{NordstromRobinsonCode}{{5.1.6}{67}{\textcolor {Chapter }{NordstromRobinsonCode}\relax }{subsection.5.1.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.7}\leavevmode {\color  {Chapter }GreedyCode}}{67}{subsection.5.1.7}}
+\newlabel{GreedyCode}{{5.1.7}{67}{\textcolor {Chapter }{GreedyCode}\relax }{subsection.5.1.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.8}\leavevmode {\color  {Chapter }LexiCode}}{68}{subsection.5.1.8}}
+\newlabel{LexiCode}{{5.1.8}{68}{\textcolor {Chapter }{LexiCode}\relax }{subsection.5.1.8}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}\leavevmode {\color  {Chapter } Generating Linear Codes }}{68}{section.5.2}}
+\newlabel{Generating Linear Codes}{{5.2}{68}{\textcolor {Chapter }{ Generating Linear Codes }\relax }{section.5.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\leavevmode {\color  {Chapter }GeneratorMatCode}}{68}{subsection.5.2.1}}
+\newlabel{GeneratorMatCode}{{5.2.1}{68}{\textcolor {Chapter }{GeneratorMatCode}\relax }{subsection.5.2.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\leavevmode {\color  {Chapter }CheckMatCodeMutable}}{69}{subsection.5.2.2}}
+\newlabel{CheckMatCodeMutable}{{5.2.2}{69}{\textcolor {Chapter }{CheckMatCodeMutable}\relax }{subsection.5.2.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}\leavevmode {\color  {Chapter }CheckMatCode}}{69}{subsection.5.2.3}}
+\newlabel{CheckMatCode}{{5.2.3}{69}{\textcolor {Chapter }{CheckMatCode}\relax }{subsection.5.2.3}{}}
 \citation{HP03}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}\leavevmode {\color  {Chapter }HammingCode}}{71}{subsection.5.2.4}}
-\newlabel{HammingCode}{{5.2.4}{71}{\textcolor {Chapter }{HammingCode}\relax }{subsection.5.2.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}\leavevmode {\color  {Chapter }ReedMullerCode}}{71}{subsection.5.2.5}}
-\newlabel{ReedMullerCode}{{5.2.5}{71}{\textcolor {Chapter }{ReedMullerCode}\relax }{subsection.5.2.5}{}}
-\@writefile{brf}{\backcite{HP03}{{71}{5.2.5}{subsection.5.2.5}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.6}\leavevmode {\color  {Chapter }AlternantCode}}{71}{subsection.5.2.6}}
-\newlabel{AlternantCode}{{5.2.6}{71}{\textcolor {Chapter }{AlternantCode}\relax }{subsection.5.2.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.4}\leavevmode {\color  {Chapter }HammingCode}}{70}{subsection.5.2.4}}
+\newlabel{HammingCode}{{5.2.4}{70}{\textcolor {Chapter }{HammingCode}\relax }{subsection.5.2.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.5}\leavevmode {\color  {Chapter }ReedMullerCode}}{70}{subsection.5.2.5}}
+\newlabel{ReedMullerCode}{{5.2.5}{70}{\textcolor {Chapter }{ReedMullerCode}\relax }{subsection.5.2.5}{}}
+\@writefile{brf}{\backcite{HP03}{{70}{5.2.5}{subsection.5.2.5}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.6}\leavevmode {\color  {Chapter }AlternantCode}}{70}{subsection.5.2.6}}
+\newlabel{AlternantCode}{{5.2.6}{70}{\textcolor {Chapter }{AlternantCode}\relax }{subsection.5.2.6}{}}
 \citation{HP03}
 \citation{MS83}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.7}\leavevmode {\color  {Chapter }GoppaCode}}{72}{subsection.5.2.7}}
-\newlabel{GoppaCode}{{5.2.7}{72}{\textcolor {Chapter }{GoppaCode}\relax }{subsection.5.2.7}{}}
-\@writefile{brf}{\backcite{HP03}{{72}{5.2.7}{subsection.5.2.7}}}
-\@writefile{brf}{\backcite{MS83}{{72}{5.2.7}{subsection.5.2.7}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.8}\leavevmode {\color  {Chapter }GeneralizedSrivastavaCode}}{72}{subsection.5.2.8}}
-\newlabel{GeneralizedSrivastavaCode}{{5.2.8}{72}{\textcolor {Chapter }{GeneralizedSrivastavaCode}\relax }{subsection.5.2.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.7}\leavevmode {\color  {Chapter }GoppaCode}}{71}{subsection.5.2.7}}
+\newlabel{GoppaCode}{{5.2.7}{71}{\textcolor {Chapter }{GoppaCode}\relax }{subsection.5.2.7}{}}
+\@writefile{brf}{\backcite{HP03}{{71}{5.2.7}{subsection.5.2.7}}}
+\@writefile{brf}{\backcite{MS83}{{71}{5.2.7}{subsection.5.2.7}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.8}\leavevmode {\color  {Chapter }GeneralizedSrivastavaCode}}{71}{subsection.5.2.8}}
+\newlabel{GeneralizedSrivastavaCode}{{5.2.8}{71}{\textcolor {Chapter }{GeneralizedSrivastavaCode}\relax }{subsection.5.2.8}{}}
 \citation{He72}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.9}\leavevmode {\color  {Chapter }SrivastavaCode}}{73}{subsection.5.2.9}}
-\newlabel{SrivastavaCode}{{5.2.9}{73}{\textcolor {Chapter }{SrivastavaCode}\relax }{subsection.5.2.9}{}}
-\@writefile{brf}{\backcite{He72}{{73}{5.2.9}{subsection.5.2.9}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.10}\leavevmode {\color  {Chapter }CordaroWagnerCode}}{73}{subsection.5.2.10}}
-\newlabel{CordaroWagnerCode}{{5.2.10}{73}{\textcolor {Chapter }{CordaroWagnerCode}\relax }{subsection.5.2.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.11}\leavevmode {\color  {Chapter }FerreroDesignCode}}{73}{subsection.5.2.11}}
-\newlabel{FerreroDesignCode}{{5.2.11}{73}{\textcolor {Chapter }{FerreroDesignCode}\relax }{subsection.5.2.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.12}\leavevmode {\color  {Chapter }RandomLinearCode}}{74}{subsection.5.2.12}}
-\newlabel{RandomLinearCode}{{5.2.12}{74}{\textcolor {Chapter }{RandomLinearCode}\relax }{subsection.5.2.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.13}\leavevmode {\color  {Chapter }OptimalityCode}}{75}{subsection.5.2.13}}
-\newlabel{OptimalityCode}{{5.2.13}{75}{\textcolor {Chapter }{OptimalityCode}\relax }{subsection.5.2.13}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.14}\leavevmode {\color  {Chapter }BestKnownLinearCode}}{75}{subsection.5.2.14}}
-\newlabel{BestKnownLinearCode}{{5.2.14}{75}{\textcolor {Chapter }{BestKnownLinearCode}\relax }{subsection.5.2.14}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.9}\leavevmode {\color  {Chapter }SrivastavaCode}}{72}{subsection.5.2.9}}
+\newlabel{SrivastavaCode}{{5.2.9}{72}{\textcolor {Chapter }{SrivastavaCode}\relax }{subsection.5.2.9}{}}
+\@writefile{brf}{\backcite{He72}{{72}{5.2.9}{subsection.5.2.9}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.10}\leavevmode {\color  {Chapter }CordaroWagnerCode}}{72}{subsection.5.2.10}}
+\newlabel{CordaroWagnerCode}{{5.2.10}{72}{\textcolor {Chapter }{CordaroWagnerCode}\relax }{subsection.5.2.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.11}\leavevmode {\color  {Chapter }FerreroDesignCode}}{72}{subsection.5.2.11}}
+\newlabel{FerreroDesignCode}{{5.2.11}{72}{\textcolor {Chapter }{FerreroDesignCode}\relax }{subsection.5.2.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.12}\leavevmode {\color  {Chapter }RandomLinearCode}}{73}{subsection.5.2.12}}
+\newlabel{RandomLinearCode}{{5.2.12}{73}{\textcolor {Chapter }{RandomLinearCode}\relax }{subsection.5.2.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.13}\leavevmode {\color  {Chapter }OptimalityCode}}{74}{subsection.5.2.13}}
+\newlabel{OptimalityCode}{{5.2.13}{74}{\textcolor {Chapter }{OptimalityCode}\relax }{subsection.5.2.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.14}\leavevmode {\color  {Chapter }BestKnownLinearCode}}{74}{subsection.5.2.14}}
+\newlabel{BestKnownLinearCode}{{5.2.14}{74}{\textcolor {Chapter }{BestKnownLinearCode}\relax }{subsection.5.2.14}{}}
 \citation{GDT91}
-\@writefile{toc}{\contentsline {section}{\numberline {5.3}\leavevmode {\color  {Chapter } Gabidulin Codes }}{77}{section.5.3}}
-\newlabel{Gabidulin Codes}{{5.3}{77}{\textcolor {Chapter }{ Gabidulin Codes }\relax }{section.5.3}{}}
-\@writefile{brf}{\backcite{GDT91}{{77}{5.3}{section.5.3}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\leavevmode {\color  {Chapter }GabidulinCode}}{77}{subsection.5.3.1}}
-\newlabel{GabidulinCode}{{5.3.1}{77}{\textcolor {Chapter }{GabidulinCode}\relax }{subsection.5.3.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\leavevmode {\color  {Chapter }EnlargedGabidulinCode}}{77}{subsection.5.3.2}}
-\newlabel{EnlargedGabidulinCode}{{5.3.2}{77}{\textcolor {Chapter }{EnlargedGabidulinCode}\relax }{subsection.5.3.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\leavevmode {\color  {Chapter }DavydovCode}}{77}{subsection.5.3.3}}
-\newlabel{DavydovCode}{{5.3.3}{77}{\textcolor {Chapter }{DavydovCode}\relax }{subsection.5.3.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\leavevmode {\color  {Chapter }TombakCode}}{77}{subsection.5.3.4}}
-\newlabel{TombakCode}{{5.3.4}{77}{\textcolor {Chapter }{TombakCode}\relax }{subsection.5.3.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.5}\leavevmode {\color  {Chapter }EnlargedTombakCode}}{77}{subsection.5.3.5}}
-\newlabel{EnlargedTombakCode}{{5.3.5}{77}{\textcolor {Chapter }{EnlargedTombakCode}\relax }{subsection.5.3.5}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}\leavevmode {\color  {Chapter } Gabidulin Codes }}{76}{section.5.3}}
+\newlabel{Gabidulin Codes}{{5.3}{76}{\textcolor {Chapter }{ Gabidulin Codes }\relax }{section.5.3}{}}
+\@writefile{brf}{\backcite{GDT91}{{76}{5.3}{section.5.3}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\leavevmode {\color  {Chapter }GabidulinCode}}{76}{subsection.5.3.1}}
+\newlabel{GabidulinCode}{{5.3.1}{76}{\textcolor {Chapter }{GabidulinCode}\relax }{subsection.5.3.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\leavevmode {\color  {Chapter }EnlargedGabidulinCode}}{76}{subsection.5.3.2}}
+\newlabel{EnlargedGabidulinCode}{{5.3.2}{76}{\textcolor {Chapter }{EnlargedGabidulinCode}\relax }{subsection.5.3.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\leavevmode {\color  {Chapter }DavydovCode}}{76}{subsection.5.3.3}}
+\newlabel{DavydovCode}{{5.3.3}{76}{\textcolor {Chapter }{DavydovCode}\relax }{subsection.5.3.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}\leavevmode {\color  {Chapter }TombakCode}}{76}{subsection.5.3.4}}
+\newlabel{TombakCode}{{5.3.4}{76}{\textcolor {Chapter }{TombakCode}\relax }{subsection.5.3.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.5}\leavevmode {\color  {Chapter }EnlargedTombakCode}}{76}{subsection.5.3.5}}
+\newlabel{EnlargedTombakCode}{{5.3.5}{76}{\textcolor {Chapter }{EnlargedTombakCode}\relax }{subsection.5.3.5}{}}
 \citation{MS83}
-\@writefile{toc}{\contentsline {section}{\numberline {5.4}\leavevmode {\color  {Chapter } Golay Codes }}{78}{section.5.4}}
-\newlabel{Golay Codes}{{5.4}{78}{\textcolor {Chapter }{ Golay Codes }\relax }{section.5.4}{}}
-\@writefile{brf}{\backcite{MS83}{{78}{5.4}{section.5.4}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\leavevmode {\color  {Chapter }BinaryGolayCode}}{78}{subsection.5.4.1}}
-\newlabel{BinaryGolayCode}{{5.4.1}{78}{\textcolor {Chapter }{BinaryGolayCode}\relax }{subsection.5.4.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\leavevmode {\color  {Chapter }ExtendedBinaryGolayCode}}{78}{subsection.5.4.2}}
-\newlabel{ExtendedBinaryGolayCode}{{5.4.2}{78}{\textcolor {Chapter }{ExtendedBinaryGolayCode}\relax }{subsection.5.4.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\leavevmode {\color  {Chapter }TernaryGolayCode}}{79}{subsection.5.4.3}}
-\newlabel{TernaryGolayCode}{{5.4.3}{79}{\textcolor {Chapter }{TernaryGolayCode}\relax }{subsection.5.4.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}\leavevmode {\color  {Chapter }ExtendedTernaryGolayCode}}{79}{subsection.5.4.4}}
-\newlabel{ExtendedTernaryGolayCode}{{5.4.4}{79}{\textcolor {Chapter }{ExtendedTernaryGolayCode}\relax }{subsection.5.4.4}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.5}\leavevmode {\color  {Chapter } Generating Cyclic Codes }}{79}{section.5.5}}
-\newlabel{Generating Cyclic Codes}{{5.5}{79}{\textcolor {Chapter }{ Generating Cyclic Codes }\relax }{section.5.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.1}\leavevmode {\color  {Chapter }GeneratorPolCode}}{80}{subsection.5.5.1}}
-\newlabel{GeneratorPolCode}{{5.5.1}{80}{\textcolor {Chapter }{GeneratorPolCode}\relax }{subsection.5.5.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.2}\leavevmode {\color  {Chapter }CheckPolCode}}{81}{subsection.5.5.2}}
-\newlabel{CheckPolCode}{{5.5.2}{81}{\textcolor {Chapter }{CheckPolCode}\relax }{subsection.5.5.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.3}\leavevmode {\color  {Chapter }RootsCode}}{81}{subsection.5.5.3}}
-\newlabel{RootsCode}{{5.5.3}{81}{\textcolor {Chapter }{RootsCode}\relax }{subsection.5.5.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.4}\leavevmode {\color  {Chapter }BCHCode}}{82}{subsection.5.5.4}}
-\newlabel{BCHCode}{{5.5.4}{82}{\textcolor {Chapter }{BCHCode}\relax }{subsection.5.5.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.5}\leavevmode {\color  {Chapter }ReedSolomonCode}}{83}{subsection.5.5.5}}
-\newlabel{ReedSolomonCode}{{5.5.5}{83}{\textcolor {Chapter }{ReedSolomonCode}\relax }{subsection.5.5.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.6}\leavevmode {\color  {Chapter }ExtendedReedSolomonCode}}{83}{subsection.5.5.6}}
-\newlabel{ExtendedReedSolomonCode}{{5.5.6}{83}{\textcolor {Chapter }{ExtendedReedSolomonCode}\relax }{subsection.5.5.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.7}\leavevmode {\color  {Chapter }QRCode}}{83}{subsection.5.5.7}}
-\newlabel{QRCode}{{5.5.7}{83}{\textcolor {Chapter }{QRCode}\relax }{subsection.5.5.7}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}\leavevmode {\color  {Chapter } Golay Codes }}{77}{section.5.4}}
+\newlabel{Golay Codes}{{5.4}{77}{\textcolor {Chapter }{ Golay Codes }\relax }{section.5.4}{}}
+\@writefile{brf}{\backcite{MS83}{{77}{5.4}{section.5.4}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\leavevmode {\color  {Chapter }BinaryGolayCode}}{77}{subsection.5.4.1}}
+\newlabel{BinaryGolayCode}{{5.4.1}{77}{\textcolor {Chapter }{BinaryGolayCode}\relax }{subsection.5.4.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\leavevmode {\color  {Chapter }ExtendedBinaryGolayCode}}{77}{subsection.5.4.2}}
+\newlabel{ExtendedBinaryGolayCode}{{5.4.2}{77}{\textcolor {Chapter }{ExtendedBinaryGolayCode}\relax }{subsection.5.4.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\leavevmode {\color  {Chapter }TernaryGolayCode}}{78}{subsection.5.4.3}}
+\newlabel{TernaryGolayCode}{{5.4.3}{78}{\textcolor {Chapter }{TernaryGolayCode}\relax }{subsection.5.4.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.4}\leavevmode {\color  {Chapter }ExtendedTernaryGolayCode}}{78}{subsection.5.4.4}}
+\newlabel{ExtendedTernaryGolayCode}{{5.4.4}{78}{\textcolor {Chapter }{ExtendedTernaryGolayCode}\relax }{subsection.5.4.4}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.5}\leavevmode {\color  {Chapter } Generating Cyclic Codes }}{78}{section.5.5}}
+\newlabel{Generating Cyclic Codes}{{5.5}{78}{\textcolor {Chapter }{ Generating Cyclic Codes }\relax }{section.5.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.1}\leavevmode {\color  {Chapter }GeneratorPolCode}}{79}{subsection.5.5.1}}
+\newlabel{GeneratorPolCode}{{5.5.1}{79}{\textcolor {Chapter }{GeneratorPolCode}\relax }{subsection.5.5.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.2}\leavevmode {\color  {Chapter }CheckPolCode}}{80}{subsection.5.5.2}}
+\newlabel{CheckPolCode}{{5.5.2}{80}{\textcolor {Chapter }{CheckPolCode}\relax }{subsection.5.5.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.3}\leavevmode {\color  {Chapter }RootsCode}}{80}{subsection.5.5.3}}
+\newlabel{RootsCode}{{5.5.3}{80}{\textcolor {Chapter }{RootsCode}\relax }{subsection.5.5.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.4}\leavevmode {\color  {Chapter }BCHCode}}{81}{subsection.5.5.4}}
+\newlabel{BCHCode}{{5.5.4}{81}{\textcolor {Chapter }{BCHCode}\relax }{subsection.5.5.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.5}\leavevmode {\color  {Chapter }ReedSolomonCode}}{82}{subsection.5.5.5}}
+\newlabel{ReedSolomonCode}{{5.5.5}{82}{\textcolor {Chapter }{ReedSolomonCode}\relax }{subsection.5.5.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.6}\leavevmode {\color  {Chapter }ExtendedReedSolomonCode}}{82}{subsection.5.5.6}}
+\newlabel{ExtendedReedSolomonCode}{{5.5.6}{82}{\textcolor {Chapter }{ExtendedReedSolomonCode}\relax }{subsection.5.5.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.7}\leavevmode {\color  {Chapter }QRCode}}{82}{subsection.5.5.7}}
+\newlabel{QRCode}{{5.5.7}{82}{\textcolor {Chapter }{QRCode}\relax }{subsection.5.5.7}{}}
 \citation{BM03}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.8}\leavevmode {\color  {Chapter }QQRCodeNC}}{84}{subsection.5.5.8}}
-\newlabel{QQRCodeNC}{{5.5.8}{84}{\textcolor {Chapter }{QQRCodeNC}\relax }{subsection.5.5.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.9}\leavevmode {\color  {Chapter }QQRCode}}{84}{subsection.5.5.9}}
-\newlabel{QQRCode}{{5.5.9}{84}{\textcolor {Chapter }{QQRCode}\relax }{subsection.5.5.9}{}}
-\@writefile{brf}{\backcite{BM03}{{84}{5.5.9}{subsection.5.5.9}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.10}\leavevmode {\color  {Chapter }FireCode}}{85}{subsection.5.5.10}}
-\newlabel{FireCode}{{5.5.10}{85}{\textcolor {Chapter }{FireCode}\relax }{subsection.5.5.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.11}\leavevmode {\color  {Chapter }WholeSpaceCode}}{85}{subsection.5.5.11}}
-\newlabel{WholeSpaceCode}{{5.5.11}{85}{\textcolor {Chapter }{WholeSpaceCode}\relax }{subsection.5.5.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.12}\leavevmode {\color  {Chapter }NullCode}}{86}{subsection.5.5.12}}
-\newlabel{NullCode}{{5.5.12}{86}{\textcolor {Chapter }{NullCode}\relax }{subsection.5.5.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.13}\leavevmode {\color  {Chapter }RepetitionCode}}{86}{subsection.5.5.13}}
-\newlabel{RepetitionCode}{{5.5.13}{86}{\textcolor {Chapter }{RepetitionCode}\relax }{subsection.5.5.13}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.14}\leavevmode {\color  {Chapter }CyclicCodes}}{86}{subsection.5.5.14}}
-\newlabel{CyclicCodes}{{5.5.14}{86}{\textcolor {Chapter }{CyclicCodes}\relax }{subsection.5.5.14}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.15}\leavevmode {\color  {Chapter }NrCyclicCodes}}{86}{subsection.5.5.15}}
-\newlabel{NrCyclicCodes}{{5.5.15}{86}{\textcolor {Chapter }{NrCyclicCodes}\relax }{subsection.5.5.15}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.16}\leavevmode {\color  {Chapter }QuasiCyclicCode}}{87}{subsection.5.5.16}}
-\newlabel{QuasiCyclicCode}{{5.5.16}{87}{\textcolor {Chapter }{QuasiCyclicCode}\relax }{subsection.5.5.16}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.17}\leavevmode {\color  {Chapter }CyclicMDSCode}}{88}{subsection.5.5.17}}
-\newlabel{CyclicMDSCode}{{5.5.17}{88}{\textcolor {Chapter }{CyclicMDSCode}\relax }{subsection.5.5.17}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.8}\leavevmode {\color  {Chapter }QQRCodeNC}}{83}{subsection.5.5.8}}
+\newlabel{QQRCodeNC}{{5.5.8}{83}{\textcolor {Chapter }{QQRCodeNC}\relax }{subsection.5.5.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.9}\leavevmode {\color  {Chapter }QQRCode}}{83}{subsection.5.5.9}}
+\newlabel{QQRCode}{{5.5.9}{83}{\textcolor {Chapter }{QQRCode}\relax }{subsection.5.5.9}{}}
+\@writefile{brf}{\backcite{BM03}{{83}{5.5.9}{subsection.5.5.9}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.10}\leavevmode {\color  {Chapter }FireCode}}{84}{subsection.5.5.10}}
+\newlabel{FireCode}{{5.5.10}{84}{\textcolor {Chapter }{FireCode}\relax }{subsection.5.5.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.11}\leavevmode {\color  {Chapter }WholeSpaceCode}}{84}{subsection.5.5.11}}
+\newlabel{WholeSpaceCode}{{5.5.11}{84}{\textcolor {Chapter }{WholeSpaceCode}\relax }{subsection.5.5.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.12}\leavevmode {\color  {Chapter }NullCode}}{85}{subsection.5.5.12}}
+\newlabel{NullCode}{{5.5.12}{85}{\textcolor {Chapter }{NullCode}\relax }{subsection.5.5.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.13}\leavevmode {\color  {Chapter }RepetitionCode}}{85}{subsection.5.5.13}}
+\newlabel{RepetitionCode}{{5.5.13}{85}{\textcolor {Chapter }{RepetitionCode}\relax }{subsection.5.5.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.14}\leavevmode {\color  {Chapter }CyclicCodes}}{85}{subsection.5.5.14}}
+\newlabel{CyclicCodes}{{5.5.14}{85}{\textcolor {Chapter }{CyclicCodes}\relax }{subsection.5.5.14}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.15}\leavevmode {\color  {Chapter }NrCyclicCodes}}{85}{subsection.5.5.15}}
+\newlabel{NrCyclicCodes}{{5.5.15}{85}{\textcolor {Chapter }{NrCyclicCodes}\relax }{subsection.5.5.15}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.16}\leavevmode {\color  {Chapter }QuasiCyclicCode}}{86}{subsection.5.5.16}}
+\newlabel{QuasiCyclicCode}{{5.5.16}{86}{\textcolor {Chapter }{QuasiCyclicCode}\relax }{subsection.5.5.16}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.17}\leavevmode {\color  {Chapter }CyclicMDSCode}}{87}{subsection.5.5.17}}
+\newlabel{CyclicMDSCode}{{5.5.17}{87}{\textcolor {Chapter }{CyclicMDSCode}\relax }{subsection.5.5.17}{}}
 \citation{HHKK07}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.18}\leavevmode {\color  {Chapter }FourNegacirculantSelfDualCode}}{89}{subsection.5.5.18}}
-\newlabel{FourNegacirculantSelfDualCode}{{5.5.18}{89}{\textcolor {Chapter }{FourNegacirculantSelfDualCode}\relax }{subsection.5.5.18}{}}
-\@writefile{brf}{\backcite{HHKK07}{{89}{5.5.18}{subsection.5.5.18}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.19}\leavevmode {\color  {Chapter }FourNegacirculantSelfDualCodeNC}}{90}{subsection.5.5.19}}
-\newlabel{FourNegacirculantSelfDualCodeNC}{{5.5.19}{90}{\textcolor {Chapter }{FourNegacirculantSelfDualCodeNC}\relax }{subsection.5.5.19}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.6}\leavevmode {\color  {Chapter } Evaluation Codes }}{90}{section.5.6}}
-\newlabel{Evaluation Codes}{{5.6}{90}{\textcolor {Chapter }{ Evaluation Codes }\relax }{section.5.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.1}\leavevmode {\color  {Chapter }EvaluationCode}}{90}{subsection.5.6.1}}
-\newlabel{EvaluationCode}{{5.6.1}{90}{\textcolor {Chapter }{EvaluationCode}\relax }{subsection.5.6.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.2}\leavevmode {\color  {Chapter }GeneralizedReedSolomonCode}}{90}{subsection.5.6.2}}
-\newlabel{GeneralizedReedSolomonCode}{{5.6.2}{90}{\textcolor {Chapter }{GeneralizedReedSolomonCode}\relax }{subsection.5.6.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.18}\leavevmode {\color  {Chapter }FourNegacirculantSelfDualCode}}{88}{subsection.5.5.18}}
+\newlabel{FourNegacirculantSelfDualCode}{{5.5.18}{88}{\textcolor {Chapter }{FourNegacirculantSelfDualCode}\relax }{subsection.5.5.18}{}}
+\@writefile{brf}{\backcite{HHKK07}{{88}{5.5.18}{subsection.5.5.18}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5.19}\leavevmode {\color  {Chapter }FourNegacirculantSelfDualCodeNC}}{89}{subsection.5.5.19}}
+\newlabel{FourNegacirculantSelfDualCodeNC}{{5.5.19}{89}{\textcolor {Chapter }{FourNegacirculantSelfDualCodeNC}\relax }{subsection.5.5.19}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.6}\leavevmode {\color  {Chapter } Evaluation Codes }}{89}{section.5.6}}
+\newlabel{Evaluation Codes}{{5.6}{89}{\textcolor {Chapter }{ Evaluation Codes }\relax }{section.5.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.1}\leavevmode {\color  {Chapter }EvaluationCode}}{89}{subsection.5.6.1}}
+\newlabel{EvaluationCode}{{5.6.1}{89}{\textcolor {Chapter }{EvaluationCode}\relax }{subsection.5.6.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.2}\leavevmode {\color  {Chapter }GeneralizedReedSolomonCode}}{89}{subsection.5.6.2}}
+\newlabel{GeneralizedReedSolomonCode}{{5.6.2}{89}{\textcolor {Chapter }{GeneralizedReedSolomonCode}\relax }{subsection.5.6.2}{}}
 \citation{JH04}
 \citation{MS83}
 \citation{JH04}
-\@writefile{brf}{\backcite{JH04}{{91}{5.6.2}{subsection.5.6.2}}}
-\@writefile{brf}{\backcite{MS83}{{91}{5.6.2}{subsection.5.6.2}}}
-\@writefile{brf}{\backcite{JH04}{{91}{5.6.2}{subsection.5.6.2}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.3}\leavevmode {\color  {Chapter }GeneralizedReedMullerCode}}{91}{subsection.5.6.3}}
-\newlabel{GeneralizedReedMullerCode}{{5.6.3}{91}{\textcolor {Chapter }{GeneralizedReedMullerCode}\relax }{subsection.5.6.3}{}}
+\@writefile{brf}{\backcite{JH04}{{90}{5.6.2}{subsection.5.6.2}}}
+\@writefile{brf}{\backcite{MS83}{{90}{5.6.2}{subsection.5.6.2}}}
+\@writefile{brf}{\backcite{JH04}{{90}{5.6.2}{subsection.5.6.2}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.3}\leavevmode {\color  {Chapter }GeneralizedReedMullerCode}}{90}{subsection.5.6.3}}
+\newlabel{GeneralizedReedMullerCode}{{5.6.3}{90}{\textcolor {Chapter }{GeneralizedReedMullerCode}\relax }{subsection.5.6.3}{}}
 \citation{Jo04}
 \citation{Han99}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.4}\leavevmode {\color  {Chapter }ToricPoints}}{92}{subsection.5.6.4}}
-\newlabel{ToricPoints}{{5.6.4}{92}{\textcolor {Chapter }{ToricPoints}\relax }{subsection.5.6.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.5}\leavevmode {\color  {Chapter }ToricCode}}{92}{subsection.5.6.5}}
-\newlabel{ToricCode}{{5.6.5}{92}{\textcolor {Chapter }{ToricCode}\relax }{subsection.5.6.5}{}}
-\@writefile{brf}{\backcite{Jo04}{{92}{5.6.5}{subsection.5.6.5}}}
-\@writefile{brf}{\backcite{Han99}{{92}{5.6.5}{subsection.5.6.5}}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.7}\leavevmode {\color  {Chapter } Algebraic geometric codes }}{93}{section.5.7}}
-\newlabel{Algebraic geometric codes}{{5.7}{93}{\textcolor {Chapter }{ Algebraic geometric codes }\relax }{section.5.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.1}\leavevmode {\color  {Chapter }AffineCurve}}{93}{subsection.5.7.1}}
-\newlabel{AffineCurve}{{5.7.1}{93}{\textcolor {Chapter }{AffineCurve}\relax }{subsection.5.7.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.2}\leavevmode {\color  {Chapter }AffinePointsOnCurve}}{94}{subsection.5.7.2}}
-\newlabel{AffinePointsOnCurve}{{5.7.2}{94}{\textcolor {Chapter }{AffinePointsOnCurve}\relax }{subsection.5.7.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.3}\leavevmode {\color  {Chapter }GenusCurve}}{94}{subsection.5.7.3}}
-\newlabel{GenusCurve}{{5.7.3}{94}{\textcolor {Chapter }{GenusCurve}\relax }{subsection.5.7.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.4}\leavevmode {\color  {Chapter }GOrbitPoint }}{94}{subsection.5.7.4}}
-\newlabel{GOrbitPoint }{{5.7.4}{94}{\textcolor {Chapter }{GOrbitPoint }\relax }{subsection.5.7.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.5}\leavevmode {\color  {Chapter }DivisorOnAffineCurve}}{96}{subsection.5.7.5}}
-\newlabel{DivisorOnAffineCurve}{{5.7.5}{96}{\textcolor {Chapter }{DivisorOnAffineCurve}\relax }{subsection.5.7.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.6}\leavevmode {\color  {Chapter }DivisorAddition }}{96}{subsection.5.7.6}}
-\newlabel{DivisorAddition }{{5.7.6}{96}{\textcolor {Chapter }{DivisorAddition }\relax }{subsection.5.7.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.7}\leavevmode {\color  {Chapter }DivisorDegree }}{96}{subsection.5.7.7}}
-\newlabel{DivisorDegree }{{5.7.7}{96}{\textcolor {Chapter }{DivisorDegree }\relax }{subsection.5.7.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.8}\leavevmode {\color  {Chapter }DivisorNegate }}{97}{subsection.5.7.8}}
-\newlabel{DivisorNegate }{{5.7.8}{97}{\textcolor {Chapter }{DivisorNegate }\relax }{subsection.5.7.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.9}\leavevmode {\color  {Chapter }DivisorIsZero }}{97}{subsection.5.7.9}}
-\newlabel{DivisorIsZero }{{5.7.9}{97}{\textcolor {Chapter }{DivisorIsZero }\relax }{subsection.5.7.9}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.10}\leavevmode {\color  {Chapter }DivisorsEqual }}{97}{subsection.5.7.10}}
-\newlabel{DivisorsEqual }{{5.7.10}{97}{\textcolor {Chapter }{DivisorsEqual }\relax }{subsection.5.7.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.11}\leavevmode {\color  {Chapter }DivisorGCD }}{97}{subsection.5.7.11}}
-\newlabel{DivisorGCD }{{5.7.11}{97}{\textcolor {Chapter }{DivisorGCD }\relax }{subsection.5.7.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.12}\leavevmode {\color  {Chapter }DivisorLCM }}{97}{subsection.5.7.12}}
-\newlabel{DivisorLCM }{{5.7.12}{97}{\textcolor {Chapter }{DivisorLCM }\relax }{subsection.5.7.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.13}\leavevmode {\color  {Chapter }RiemannRochSpaceBasisFunctionP1 }}{99}{subsection.5.7.13}}
-\newlabel{RiemannRochSpaceBasisFunctionP1 }{{5.7.13}{99}{\textcolor {Chapter }{RiemannRochSpaceBasisFunctionP1 }\relax }{subsection.5.7.13}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.14}\leavevmode {\color  {Chapter }DivisorOfRationalFunctionP1 }}{99}{subsection.5.7.14}}
-\newlabel{DivisorOfRationalFunctionP1 }{{5.7.14}{99}{\textcolor {Chapter }{DivisorOfRationalFunctionP1 }\relax }{subsection.5.7.14}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.15}\leavevmode {\color  {Chapter }RiemannRochSpaceBasisP1 }}{100}{subsection.5.7.15}}
-\newlabel{RiemannRochSpaceBasisP1 }{{5.7.15}{100}{\textcolor {Chapter }{RiemannRochSpaceBasisP1 }\relax }{subsection.5.7.15}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.16}\leavevmode {\color  {Chapter }MoebiusTransformation }}{101}{subsection.5.7.16}}
-\newlabel{MoebiusTransformation }{{5.7.16}{101}{\textcolor {Chapter }{MoebiusTransformation }\relax }{subsection.5.7.16}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.17}\leavevmode {\color  {Chapter }ActionMoebiusTransformationOnFunction }}{101}{subsection.5.7.17}}
-\newlabel{ActionMoebiusTransformationOnFunction }{{5.7.17}{101}{\textcolor {Chapter }{ActionMoebiusTransformationOnFunction }\relax }{subsection.5.7.17}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.18}\leavevmode {\color  {Chapter }ActionMoebiusTransformationOnDivisorP1 }}{101}{subsection.5.7.18}}
-\newlabel{ActionMoebiusTransformationOnDivisorP1 }{{5.7.18}{101}{\textcolor {Chapter }{ActionMoebiusTransformationOnDivisorP1 }\relax }{subsection.5.7.18}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.19}\leavevmode {\color  {Chapter }IsActionMoebiusTransformationOnDivisorDefinedP1 }}{101}{subsection.5.7.19}}
-\newlabel{IsActionMoebiusTransformationOnDivisorDefinedP1 }{{5.7.19}{101}{\textcolor {Chapter }{IsActionMoebiusTransformationOnDivisorDefinedP1 }\relax }{subsection.5.7.19}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.20}\leavevmode {\color  {Chapter }DivisorAutomorphismGroupP1 }}{102}{subsection.5.7.20}}
-\newlabel{DivisorAutomorphismGroupP1 }{{5.7.20}{102}{\textcolor {Chapter }{DivisorAutomorphismGroupP1 }\relax }{subsection.5.7.20}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.21}\leavevmode {\color  {Chapter }MatrixRepresentationOnRiemannRochSpaceP1 }}{103}{subsection.5.7.21}}
-\newlabel{MatrixRepresentationOnRiemannRochSpaceP1 }{{5.7.21}{103}{\textcolor {Chapter }{MatrixRepresentationOnRiemannRochSpaceP1 }\relax }{subsection.5.7.21}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.22}\leavevmode {\color  {Chapter }GoppaCodeClassical}}{104}{subsection.5.7.22}}
-\newlabel{GoppaCodeClassical}{{5.7.22}{104}{\textcolor {Chapter }{GoppaCodeClassical}\relax }{subsection.5.7.22}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.23}\leavevmode {\color  {Chapter }EvaluationBivariateCode}}{104}{subsection.5.7.23}}
-\newlabel{EvaluationBivariateCode}{{5.7.23}{104}{\textcolor {Chapter }{EvaluationBivariateCode}\relax }{subsection.5.7.23}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.24}\leavevmode {\color  {Chapter }EvaluationBivariateCodeNC}}{104}{subsection.5.7.24}}
-\newlabel{EvaluationBivariateCodeNC}{{5.7.24}{104}{\textcolor {Chapter }{EvaluationBivariateCodeNC}\relax }{subsection.5.7.24}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.4}\leavevmode {\color  {Chapter }ToricPoints}}{91}{subsection.5.6.4}}
+\newlabel{ToricPoints}{{5.6.4}{91}{\textcolor {Chapter }{ToricPoints}\relax }{subsection.5.6.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.6.5}\leavevmode {\color  {Chapter }ToricCode}}{91}{subsection.5.6.5}}
+\newlabel{ToricCode}{{5.6.5}{91}{\textcolor {Chapter }{ToricCode}\relax }{subsection.5.6.5}{}}
+\@writefile{brf}{\backcite{Jo04}{{91}{5.6.5}{subsection.5.6.5}}}
+\@writefile{brf}{\backcite{Han99}{{91}{5.6.5}{subsection.5.6.5}}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.7}\leavevmode {\color  {Chapter } Algebraic geometric codes }}{92}{section.5.7}}
+\newlabel{Algebraic geometric codes}{{5.7}{92}{\textcolor {Chapter }{ Algebraic geometric codes }\relax }{section.5.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.1}\leavevmode {\color  {Chapter }AffineCurve}}{92}{subsection.5.7.1}}
+\newlabel{AffineCurve}{{5.7.1}{92}{\textcolor {Chapter }{AffineCurve}\relax }{subsection.5.7.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.2}\leavevmode {\color  {Chapter }AffinePointsOnCurve}}{93}{subsection.5.7.2}}
+\newlabel{AffinePointsOnCurve}{{5.7.2}{93}{\textcolor {Chapter }{AffinePointsOnCurve}\relax }{subsection.5.7.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.3}\leavevmode {\color  {Chapter }GenusCurve}}{93}{subsection.5.7.3}}
+\newlabel{GenusCurve}{{5.7.3}{93}{\textcolor {Chapter }{GenusCurve}\relax }{subsection.5.7.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.4}\leavevmode {\color  {Chapter }GOrbitPoint }}{93}{subsection.5.7.4}}
+\newlabel{GOrbitPoint }{{5.7.4}{93}{\textcolor {Chapter }{GOrbitPoint }\relax }{subsection.5.7.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.5}\leavevmode {\color  {Chapter }DivisorOnAffineCurve}}{95}{subsection.5.7.5}}
+\newlabel{DivisorOnAffineCurve}{{5.7.5}{95}{\textcolor {Chapter }{DivisorOnAffineCurve}\relax }{subsection.5.7.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.6}\leavevmode {\color  {Chapter }DivisorAddition }}{95}{subsection.5.7.6}}
+\newlabel{DivisorAddition }{{5.7.6}{95}{\textcolor {Chapter }{DivisorAddition }\relax }{subsection.5.7.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.7}\leavevmode {\color  {Chapter }DivisorDegree }}{95}{subsection.5.7.7}}
+\newlabel{DivisorDegree }{{5.7.7}{95}{\textcolor {Chapter }{DivisorDegree }\relax }{subsection.5.7.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.8}\leavevmode {\color  {Chapter }DivisorNegate }}{96}{subsection.5.7.8}}
+\newlabel{DivisorNegate }{{5.7.8}{96}{\textcolor {Chapter }{DivisorNegate }\relax }{subsection.5.7.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.9}\leavevmode {\color  {Chapter }DivisorIsZero }}{96}{subsection.5.7.9}}
+\newlabel{DivisorIsZero }{{5.7.9}{96}{\textcolor {Chapter }{DivisorIsZero }\relax }{subsection.5.7.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.10}\leavevmode {\color  {Chapter }DivisorsEqual }}{96}{subsection.5.7.10}}
+\newlabel{DivisorsEqual }{{5.7.10}{96}{\textcolor {Chapter }{DivisorsEqual }\relax }{subsection.5.7.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.11}\leavevmode {\color  {Chapter }DivisorGCD }}{96}{subsection.5.7.11}}
+\newlabel{DivisorGCD }{{5.7.11}{96}{\textcolor {Chapter }{DivisorGCD }\relax }{subsection.5.7.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.12}\leavevmode {\color  {Chapter }DivisorLCM }}{96}{subsection.5.7.12}}
+\newlabel{DivisorLCM }{{5.7.12}{96}{\textcolor {Chapter }{DivisorLCM }\relax }{subsection.5.7.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.13}\leavevmode {\color  {Chapter }RiemannRochSpaceBasisFunctionP1 }}{98}{subsection.5.7.13}}
+\newlabel{RiemannRochSpaceBasisFunctionP1 }{{5.7.13}{98}{\textcolor {Chapter }{RiemannRochSpaceBasisFunctionP1 }\relax }{subsection.5.7.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.14}\leavevmode {\color  {Chapter }DivisorOfRationalFunctionP1 }}{98}{subsection.5.7.14}}
+\newlabel{DivisorOfRationalFunctionP1 }{{5.7.14}{98}{\textcolor {Chapter }{DivisorOfRationalFunctionP1 }\relax }{subsection.5.7.14}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.15}\leavevmode {\color  {Chapter }RiemannRochSpaceBasisP1 }}{99}{subsection.5.7.15}}
+\newlabel{RiemannRochSpaceBasisP1 }{{5.7.15}{99}{\textcolor {Chapter }{RiemannRochSpaceBasisP1 }\relax }{subsection.5.7.15}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.16}\leavevmode {\color  {Chapter }MoebiusTransformation }}{100}{subsection.5.7.16}}
+\newlabel{MoebiusTransformation }{{5.7.16}{100}{\textcolor {Chapter }{MoebiusTransformation }\relax }{subsection.5.7.16}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.17}\leavevmode {\color  {Chapter }ActionMoebiusTransformationOnFunction }}{100}{subsection.5.7.17}}
+\newlabel{ActionMoebiusTransformationOnFunction }{{5.7.17}{100}{\textcolor {Chapter }{ActionMoebiusTransformationOnFunction }\relax }{subsection.5.7.17}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.18}\leavevmode {\color  {Chapter }ActionMoebiusTransformationOnDivisorP1 }}{100}{subsection.5.7.18}}
+\newlabel{ActionMoebiusTransformationOnDivisorP1 }{{5.7.18}{100}{\textcolor {Chapter }{ActionMoebiusTransformationOnDivisorP1 }\relax }{subsection.5.7.18}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.19}\leavevmode {\color  {Chapter }IsActionMoebiusTransformationOnDivisorDefinedP1 }}{100}{subsection.5.7.19}}
+\newlabel{IsActionMoebiusTransformationOnDivisorDefinedP1 }{{5.7.19}{100}{\textcolor {Chapter }{IsActionMoebiusTransformationOnDivisorDefinedP1 }\relax }{subsection.5.7.19}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.20}\leavevmode {\color  {Chapter }DivisorAutomorphismGroupP1 }}{101}{subsection.5.7.20}}
+\newlabel{DivisorAutomorphismGroupP1 }{{5.7.20}{101}{\textcolor {Chapter }{DivisorAutomorphismGroupP1 }\relax }{subsection.5.7.20}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.21}\leavevmode {\color  {Chapter }MatrixRepresentationOnRiemannRochSpaceP1 }}{102}{subsection.5.7.21}}
+\newlabel{MatrixRepresentationOnRiemannRochSpaceP1 }{{5.7.21}{102}{\textcolor {Chapter }{MatrixRepresentationOnRiemannRochSpaceP1 }\relax }{subsection.5.7.21}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.22}\leavevmode {\color  {Chapter }GoppaCodeClassical}}{103}{subsection.5.7.22}}
+\newlabel{GoppaCodeClassical}{{5.7.22}{103}{\textcolor {Chapter }{GoppaCodeClassical}\relax }{subsection.5.7.22}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.23}\leavevmode {\color  {Chapter }EvaluationBivariateCode}}{103}{subsection.5.7.23}}
+\newlabel{EvaluationBivariateCode}{{5.7.23}{103}{\textcolor {Chapter }{EvaluationBivariateCode}\relax }{subsection.5.7.23}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.24}\leavevmode {\color  {Chapter }EvaluationBivariateCodeNC}}{103}{subsection.5.7.24}}
+\newlabel{EvaluationBivariateCodeNC}{{5.7.24}{103}{\textcolor {Chapter }{EvaluationBivariateCodeNC}\relax }{subsection.5.7.24}{}}
 \citation{St93}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.25}\leavevmode {\color  {Chapter }OnePointAGCode}}{105}{subsection.5.7.25}}
-\newlabel{OnePointAGCode}{{5.7.25}{105}{\textcolor {Chapter }{OnePointAGCode}\relax }{subsection.5.7.25}{}}
-\@writefile{brf}{\backcite{St93}{{105}{5.7.25}{subsection.5.7.25}}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {6}\leavevmode {\color  {Chapter }Manipulating Codes}}{107}{chapter.6}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7.25}\leavevmode {\color  {Chapter }OnePointAGCode}}{104}{subsection.5.7.25}}
+\newlabel{OnePointAGCode}{{5.7.25}{104}{\textcolor {Chapter }{OnePointAGCode}\relax }{subsection.5.7.25}{}}
+\@writefile{brf}{\backcite{St93}{{104}{5.7.25}{subsection.5.7.25}}}
+\citation{Gallager.1962}
+\@writefile{toc}{\contentsline {section}{\numberline {5.8}\leavevmode {\color  {Chapter } Low-Density Parity-Check Codes }}{105}{section.5.8}}
+\newlabel{LDPC}{{5.8}{105}{\textcolor {Chapter }{ Low-Density Parity-Check Codes }\relax }{section.5.8}{}}
+\@writefile{brf}{\backcite{Gallager.1962}{{105}{5.8}{section.5.8}}}
+\citation{TSSFC04}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.8.1}\leavevmode {\color  {Chapter }QCLDPCCodeFromGroup}}{106}{subsection.5.8.1}}
+\newlabel{QCLDPCCodeFromGroup}{{5.8.1}{106}{\textcolor {Chapter }{QCLDPCCodeFromGroup}\relax }{subsection.5.8.1}{}}
+\@writefile{brf}{\backcite{TSSFC04}{{106}{5.8.1}{subsection.5.8.1}}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {6}\leavevmode {\color  {Chapter }Manipulating Codes}}{108}{chapter.6}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\newlabel{Manipulating Codes}{{6}{107}{\textcolor {Chapter }{Manipulating Codes}\relax }{chapter.6}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.1}\leavevmode {\color  {Chapter } Functions that Generate a New Code from a Given Code }}{107}{section.6.1}}
-\newlabel{Functions that Generate a New Code from a Given Code}{{6.1}{107}{\textcolor {Chapter }{ Functions that Generate a New Code from a Given Code }\relax }{section.6.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color  {Chapter }ExtendedCode}}{107}{subsection.6.1.1}}
-\newlabel{ExtendedCode}{{6.1.1}{107}{\textcolor {Chapter }{ExtendedCode}\relax }{subsection.6.1.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\leavevmode {\color  {Chapter }PuncturedCode}}{108}{subsection.6.1.2}}
-\newlabel{PuncturedCode}{{6.1.2}{108}{\textcolor {Chapter }{PuncturedCode}\relax }{subsection.6.1.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\leavevmode {\color  {Chapter }EvenWeightSubcode}}{108}{subsection.6.1.3}}
-\newlabel{EvenWeightSubcode}{{6.1.3}{108}{\textcolor {Chapter }{EvenWeightSubcode}\relax }{subsection.6.1.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}\leavevmode {\color  {Chapter }PermutedCode}}{109}{subsection.6.1.4}}
-\newlabel{PermutedCode}{{6.1.4}{109}{\textcolor {Chapter }{PermutedCode}\relax }{subsection.6.1.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.5}\leavevmode {\color  {Chapter }ExpurgatedCode}}{109}{subsection.6.1.5}}
-\newlabel{ExpurgatedCode}{{6.1.5}{109}{\textcolor {Chapter }{ExpurgatedCode}\relax }{subsection.6.1.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.6}\leavevmode {\color  {Chapter }AugmentedCode}}{110}{subsection.6.1.6}}
-\newlabel{AugmentedCode}{{6.1.6}{110}{\textcolor {Chapter }{AugmentedCode}\relax }{subsection.6.1.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.7}\leavevmode {\color  {Chapter }RemovedElementsCode}}{110}{subsection.6.1.7}}
-\newlabel{RemovedElementsCode}{{6.1.7}{110}{\textcolor {Chapter }{RemovedElementsCode}\relax }{subsection.6.1.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.8}\leavevmode {\color  {Chapter }AddedElementsCode}}{111}{subsection.6.1.8}}
-\newlabel{AddedElementsCode}{{6.1.8}{111}{\textcolor {Chapter }{AddedElementsCode}\relax }{subsection.6.1.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.9}\leavevmode {\color  {Chapter }ShortenedCode}}{111}{subsection.6.1.9}}
-\newlabel{ShortenedCode}{{6.1.9}{111}{\textcolor {Chapter }{ShortenedCode}\relax }{subsection.6.1.9}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.10}\leavevmode {\color  {Chapter }LengthenedCode}}{112}{subsection.6.1.10}}
-\newlabel{LengthenedCode}{{6.1.10}{112}{\textcolor {Chapter }{LengthenedCode}\relax }{subsection.6.1.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.11}\leavevmode {\color  {Chapter }SubCode}}{113}{subsection.6.1.11}}
-\newlabel{SubCode}{{6.1.11}{113}{\textcolor {Chapter }{SubCode}\relax }{subsection.6.1.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.12}\leavevmode {\color  {Chapter }ResidueCode}}{113}{subsection.6.1.12}}
-\newlabel{ResidueCode}{{6.1.12}{113}{\textcolor {Chapter }{ResidueCode}\relax }{subsection.6.1.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.13}\leavevmode {\color  {Chapter }ConstructionBCode}}{113}{subsection.6.1.13}}
-\newlabel{ConstructionBCode}{{6.1.13}{113}{\textcolor {Chapter }{ConstructionBCode}\relax }{subsection.6.1.13}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.14}\leavevmode {\color  {Chapter }DualCode}}{114}{subsection.6.1.14}}
-\newlabel{DualCode}{{6.1.14}{114}{\textcolor {Chapter }{DualCode}\relax }{subsection.6.1.14}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.15}\leavevmode {\color  {Chapter }ConversionFieldCode}}{115}{subsection.6.1.15}}
-\newlabel{ConversionFieldCode}{{6.1.15}{115}{\textcolor {Chapter }{ConversionFieldCode}\relax }{subsection.6.1.15}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.16}\leavevmode {\color  {Chapter }TraceCode}}{115}{subsection.6.1.16}}
-\newlabel{TraceCode}{{6.1.16}{115}{\textcolor {Chapter }{TraceCode}\relax }{subsection.6.1.16}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.17}\leavevmode {\color  {Chapter }CosetCode}}{115}{subsection.6.1.17}}
-\newlabel{CosetCode}{{6.1.17}{115}{\textcolor {Chapter }{CosetCode}\relax }{subsection.6.1.17}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.18}\leavevmode {\color  {Chapter }ConstantWeightSubcode}}{116}{subsection.6.1.18}}
-\newlabel{ConstantWeightSubcode}{{6.1.18}{116}{\textcolor {Chapter }{ConstantWeightSubcode}\relax }{subsection.6.1.18}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.19}\leavevmode {\color  {Chapter }StandardFormCode}}{116}{subsection.6.1.19}}
-\newlabel{StandardFormCode}{{6.1.19}{116}{\textcolor {Chapter }{StandardFormCode}\relax }{subsection.6.1.19}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.20}\leavevmode {\color  {Chapter }PiecewiseConstantCode}}{117}{subsection.6.1.20}}
-\newlabel{PiecewiseConstantCode}{{6.1.20}{117}{\textcolor {Chapter }{PiecewiseConstantCode}\relax }{subsection.6.1.20}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {6.2}\leavevmode {\color  {Chapter } Functions that Generate a New Code from Two or More Given Codes }}{118}{section.6.2}}
-\newlabel{Functions that Generate a New Code from Two or More Given Codes}{{6.2}{118}{\textcolor {Chapter }{ Functions that Generate a New Code from Two or More Given Codes }\relax }{section.6.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\leavevmode {\color  {Chapter }DirectSumCode}}{118}{subsection.6.2.1}}
-\newlabel{DirectSumCode}{{6.2.1}{118}{\textcolor {Chapter }{DirectSumCode}\relax }{subsection.6.2.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\leavevmode {\color  {Chapter }UUVCode}}{118}{subsection.6.2.2}}
-\newlabel{UUVCode}{{6.2.2}{118}{\textcolor {Chapter }{UUVCode}\relax }{subsection.6.2.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\leavevmode {\color  {Chapter }DirectProductCode}}{118}{subsection.6.2.3}}
-\newlabel{DirectProductCode}{{6.2.3}{118}{\textcolor {Chapter }{DirectProductCode}\relax }{subsection.6.2.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}\leavevmode {\color  {Chapter }IntersectionCode}}{119}{subsection.6.2.4}}
-\newlabel{IntersectionCode}{{6.2.4}{119}{\textcolor {Chapter }{IntersectionCode}\relax }{subsection.6.2.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.5}\leavevmode {\color  {Chapter }UnionCode}}{119}{subsection.6.2.5}}
-\newlabel{UnionCode}{{6.2.5}{119}{\textcolor {Chapter }{UnionCode}\relax }{subsection.6.2.5}{}}
+\newlabel{Manipulating Codes}{{6}{108}{\textcolor {Chapter }{Manipulating Codes}\relax }{chapter.6}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.1}\leavevmode {\color  {Chapter } Functions that Generate a New Code from a Given Code }}{108}{section.6.1}}
+\newlabel{Functions that Generate a New Code from a Given Code}{{6.1}{108}{\textcolor {Chapter }{ Functions that Generate a New Code from a Given Code }\relax }{section.6.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color  {Chapter }ExtendedCode}}{108}{subsection.6.1.1}}
+\newlabel{ExtendedCode}{{6.1.1}{108}{\textcolor {Chapter }{ExtendedCode}\relax }{subsection.6.1.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\leavevmode {\color  {Chapter }PuncturedCode}}{109}{subsection.6.1.2}}
+\newlabel{PuncturedCode}{{6.1.2}{109}{\textcolor {Chapter }{PuncturedCode}\relax }{subsection.6.1.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\leavevmode {\color  {Chapter }EvenWeightSubcode}}{109}{subsection.6.1.3}}
+\newlabel{EvenWeightSubcode}{{6.1.3}{109}{\textcolor {Chapter }{EvenWeightSubcode}\relax }{subsection.6.1.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}\leavevmode {\color  {Chapter }PermutedCode}}{110}{subsection.6.1.4}}
+\newlabel{PermutedCode}{{6.1.4}{110}{\textcolor {Chapter }{PermutedCode}\relax }{subsection.6.1.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.5}\leavevmode {\color  {Chapter }ExpurgatedCode}}{110}{subsection.6.1.5}}
+\newlabel{ExpurgatedCode}{{6.1.5}{110}{\textcolor {Chapter }{ExpurgatedCode}\relax }{subsection.6.1.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.6}\leavevmode {\color  {Chapter }AugmentedCode}}{111}{subsection.6.1.6}}
+\newlabel{AugmentedCode}{{6.1.6}{111}{\textcolor {Chapter }{AugmentedCode}\relax }{subsection.6.1.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.7}\leavevmode {\color  {Chapter }RemovedElementsCode}}{111}{subsection.6.1.7}}
+\newlabel{RemovedElementsCode}{{6.1.7}{111}{\textcolor {Chapter }{RemovedElementsCode}\relax }{subsection.6.1.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.8}\leavevmode {\color  {Chapter }AddedElementsCode}}{112}{subsection.6.1.8}}
+\newlabel{AddedElementsCode}{{6.1.8}{112}{\textcolor {Chapter }{AddedElementsCode}\relax }{subsection.6.1.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.9}\leavevmode {\color  {Chapter }ShortenedCode}}{112}{subsection.6.1.9}}
+\newlabel{ShortenedCode}{{6.1.9}{112}{\textcolor {Chapter }{ShortenedCode}\relax }{subsection.6.1.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.10}\leavevmode {\color  {Chapter }LengthenedCode}}{113}{subsection.6.1.10}}
+\newlabel{LengthenedCode}{{6.1.10}{113}{\textcolor {Chapter }{LengthenedCode}\relax }{subsection.6.1.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.11}\leavevmode {\color  {Chapter }SubCode}}{114}{subsection.6.1.11}}
+\newlabel{SubCode}{{6.1.11}{114}{\textcolor {Chapter }{SubCode}\relax }{subsection.6.1.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.12}\leavevmode {\color  {Chapter }ResidueCode}}{114}{subsection.6.1.12}}
+\newlabel{ResidueCode}{{6.1.12}{114}{\textcolor {Chapter }{ResidueCode}\relax }{subsection.6.1.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.13}\leavevmode {\color  {Chapter }ConstructionBCode}}{114}{subsection.6.1.13}}
+\newlabel{ConstructionBCode}{{6.1.13}{114}{\textcolor {Chapter }{ConstructionBCode}\relax }{subsection.6.1.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.14}\leavevmode {\color  {Chapter }DualCode}}{115}{subsection.6.1.14}}
+\newlabel{DualCode}{{6.1.14}{115}{\textcolor {Chapter }{DualCode}\relax }{subsection.6.1.14}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.15}\leavevmode {\color  {Chapter }ConversionFieldCode}}{116}{subsection.6.1.15}}
+\newlabel{ConversionFieldCode}{{6.1.15}{116}{\textcolor {Chapter }{ConversionFieldCode}\relax }{subsection.6.1.15}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.16}\leavevmode {\color  {Chapter }TraceCode}}{116}{subsection.6.1.16}}
+\newlabel{TraceCode}{{6.1.16}{116}{\textcolor {Chapter }{TraceCode}\relax }{subsection.6.1.16}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.17}\leavevmode {\color  {Chapter }CosetCode}}{116}{subsection.6.1.17}}
+\newlabel{CosetCode}{{6.1.17}{116}{\textcolor {Chapter }{CosetCode}\relax }{subsection.6.1.17}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.18}\leavevmode {\color  {Chapter }ConstantWeightSubcode}}{117}{subsection.6.1.18}}
+\newlabel{ConstantWeightSubcode}{{6.1.18}{117}{\textcolor {Chapter }{ConstantWeightSubcode}\relax }{subsection.6.1.18}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.19}\leavevmode {\color  {Chapter }StandardFormCode}}{117}{subsection.6.1.19}}
+\newlabel{StandardFormCode}{{6.1.19}{117}{\textcolor {Chapter }{StandardFormCode}\relax }{subsection.6.1.19}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.20}\leavevmode {\color  {Chapter }PiecewiseConstantCode}}{118}{subsection.6.1.20}}
+\newlabel{PiecewiseConstantCode}{{6.1.20}{118}{\textcolor {Chapter }{PiecewiseConstantCode}\relax }{subsection.6.1.20}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.2}\leavevmode {\color  {Chapter } Functions that Generate a New Code from Two or More Given Codes }}{119}{section.6.2}}
+\newlabel{Functions that Generate a New Code from Two or More Given Codes}{{6.2}{119}{\textcolor {Chapter }{ Functions that Generate a New Code from Two or More Given Codes }\relax }{section.6.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\leavevmode {\color  {Chapter }DirectSumCode}}{119}{subsection.6.2.1}}
+\newlabel{DirectSumCode}{{6.2.1}{119}{\textcolor {Chapter }{DirectSumCode}\relax }{subsection.6.2.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\leavevmode {\color  {Chapter }UUVCode}}{119}{subsection.6.2.2}}
+\newlabel{UUVCode}{{6.2.2}{119}{\textcolor {Chapter }{UUVCode}\relax }{subsection.6.2.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\leavevmode {\color  {Chapter }DirectProductCode}}{119}{subsection.6.2.3}}
+\newlabel{DirectProductCode}{{6.2.3}{119}{\textcolor {Chapter }{DirectProductCode}\relax }{subsection.6.2.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}\leavevmode {\color  {Chapter }IntersectionCode}}{120}{subsection.6.2.4}}
+\newlabel{IntersectionCode}{{6.2.4}{120}{\textcolor {Chapter }{IntersectionCode}\relax }{subsection.6.2.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.5}\leavevmode {\color  {Chapter }UnionCode}}{120}{subsection.6.2.5}}
+\newlabel{UnionCode}{{6.2.5}{120}{\textcolor {Chapter }{UnionCode}\relax }{subsection.6.2.5}{}}
 \citation{GS85}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.6}\leavevmode {\color  {Chapter }ExtendedDirectSumCode}}{120}{subsection.6.2.6}}
-\newlabel{ExtendedDirectSumCode}{{6.2.6}{120}{\textcolor {Chapter }{ExtendedDirectSumCode}\relax }{subsection.6.2.6}{}}
-\@writefile{brf}{\backcite{GS85}{{120}{6.2.6}{subsection.6.2.6}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.7}\leavevmode {\color  {Chapter }AmalgamatedDirectSumCode}}{120}{subsection.6.2.7}}
-\newlabel{AmalgamatedDirectSumCode}{{6.2.7}{120}{\textcolor {Chapter }{AmalgamatedDirectSumCode}\relax }{subsection.6.2.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.8}\leavevmode {\color  {Chapter }BlockwiseDirectSumCode}}{121}{subsection.6.2.8}}
-\newlabel{BlockwiseDirectSumCode}{{6.2.8}{121}{\textcolor {Chapter }{BlockwiseDirectSumCode}\relax }{subsection.6.2.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.9}\leavevmode {\color  {Chapter }ConstructionXCode}}{121}{subsection.6.2.9}}
-\newlabel{ConstructionXCode}{{6.2.9}{121}{\textcolor {Chapter }{ConstructionXCode}\relax }{subsection.6.2.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.6}\leavevmode {\color  {Chapter }ExtendedDirectSumCode}}{121}{subsection.6.2.6}}
+\newlabel{ExtendedDirectSumCode}{{6.2.6}{121}{\textcolor {Chapter }{ExtendedDirectSumCode}\relax }{subsection.6.2.6}{}}
+\@writefile{brf}{\backcite{GS85}{{121}{6.2.6}{subsection.6.2.6}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.7}\leavevmode {\color  {Chapter }AmalgamatedDirectSumCode}}{121}{subsection.6.2.7}}
+\newlabel{AmalgamatedDirectSumCode}{{6.2.7}{121}{\textcolor {Chapter }{AmalgamatedDirectSumCode}\relax }{subsection.6.2.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.8}\leavevmode {\color  {Chapter }BlockwiseDirectSumCode}}{122}{subsection.6.2.8}}
+\newlabel{BlockwiseDirectSumCode}{{6.2.8}{122}{\textcolor {Chapter }{BlockwiseDirectSumCode}\relax }{subsection.6.2.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.9}\leavevmode {\color  {Chapter }ConstructionXCode}}{122}{subsection.6.2.9}}
+\newlabel{ConstructionXCode}{{6.2.9}{122}{\textcolor {Chapter }{ConstructionXCode}\relax }{subsection.6.2.9}{}}
 \citation{Sloane72}
-\@writefile{brf}{\backcite{Sloane72}{{122}{6.2.9}{subsection.6.2.9}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.10}\leavevmode {\color  {Chapter }ConstructionXXCode}}{122}{subsection.6.2.10}}
-\newlabel{ConstructionXXCode}{{6.2.10}{122}{\textcolor {Chapter }{ConstructionXXCode}\relax }{subsection.6.2.10}{}}
+\@writefile{brf}{\backcite{Sloane72}{{123}{6.2.9}{subsection.6.2.9}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.10}\leavevmode {\color  {Chapter }ConstructionXXCode}}{123}{subsection.6.2.10}}
+\newlabel{ConstructionXXCode}{{6.2.10}{123}{\textcolor {Chapter }{ConstructionXXCode}\relax }{subsection.6.2.10}{}}
 \citation{Alltop84}
 \citation{Brouwer98}
-\@writefile{brf}{\backcite{Alltop84}{{123}{6.2.10}{subsection.6.2.10}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.11}\leavevmode {\color  {Chapter }BZCode}}{123}{subsection.6.2.11}}
-\newlabel{BZCode}{{6.2.11}{123}{\textcolor {Chapter }{BZCode}\relax }{subsection.6.2.11}{}}
-\@writefile{brf}{\backcite{Brouwer98}{{123}{6.2.11}{subsection.6.2.11}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.12}\leavevmode {\color  {Chapter }BZCodeNC}}{124}{subsection.6.2.12}}
-\newlabel{BZCodeNC}{{6.2.12}{124}{\textcolor {Chapter }{BZCodeNC}\relax }{subsection.6.2.12}{}}
+\@writefile{brf}{\backcite{Alltop84}{{124}{6.2.10}{subsection.6.2.10}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.11}\leavevmode {\color  {Chapter }BZCode}}{124}{subsection.6.2.11}}
+\newlabel{BZCode}{{6.2.11}{124}{\textcolor {Chapter }{BZCode}\relax }{subsection.6.2.11}{}}
+\@writefile{brf}{\backcite{Brouwer98}{{124}{6.2.11}{subsection.6.2.11}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.12}\leavevmode {\color  {Chapter }BZCodeNC}}{125}{subsection.6.2.12}}
+\newlabel{BZCodeNC}{{6.2.12}{125}{\textcolor {Chapter }{BZCodeNC}\relax }{subsection.6.2.12}{}}
 \citation{Br}
-\@writefile{toc}{\contentsline {chapter}{\numberline {7}\leavevmode {\color  {Chapter } Bounds on codes, special matrices and miscellaneous functions }}{125}{chapter.7}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {7}\leavevmode {\color  {Chapter } Bounds on codes, special matrices and miscellaneous functions }}{126}{chapter.7}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {7.1}\leavevmode {\color  {Chapter } Distance bounds on codes }}{125}{section.7.1}}
-\newlabel{Distance bounds on codes}{{7.1}{125}{\textcolor {Chapter }{ Distance bounds on codes }\relax }{section.7.1}{}}
-\@writefile{brf}{\backcite{Br}{{125}{7.1}{section.7.1}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}\leavevmode {\color  {Chapter }UpperBoundSingleton}}{126}{subsection.7.1.1}}
-\newlabel{UpperBoundSingleton}{{7.1.1}{126}{\textcolor {Chapter }{UpperBoundSingleton}\relax }{subsection.7.1.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}\leavevmode {\color  {Chapter }UpperBoundHamming}}{126}{subsection.7.1.2}}
-\newlabel{UpperBoundHamming}{{7.1.2}{126}{\textcolor {Chapter }{UpperBoundHamming}\relax }{subsection.7.1.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}\leavevmode {\color  {Chapter }UpperBoundJohnson}}{126}{subsection.7.1.3}}
-\newlabel{UpperBoundJohnson}{{7.1.3}{126}{\textcolor {Chapter }{UpperBoundJohnson}\relax }{subsection.7.1.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.4}\leavevmode {\color  {Chapter }UpperBoundPlotkin}}{127}{subsection.7.1.4}}
-\newlabel{UpperBoundPlotkin}{{7.1.4}{127}{\textcolor {Chapter }{UpperBoundPlotkin}\relax }{subsection.7.1.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.5}\leavevmode {\color  {Chapter }UpperBoundElias}}{127}{subsection.7.1.5}}
-\newlabel{UpperBoundElias}{{7.1.5}{127}{\textcolor {Chapter }{UpperBoundElias}\relax }{subsection.7.1.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.6}\leavevmode {\color  {Chapter }UpperBoundGriesmer}}{128}{subsection.7.1.6}}
-\newlabel{UpperBoundGriesmer}{{7.1.6}{128}{\textcolor {Chapter }{UpperBoundGriesmer}\relax }{subsection.7.1.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.7}\leavevmode {\color  {Chapter }IsGriesmerCode}}{128}{subsection.7.1.7}}
-\newlabel{IsGriesmerCode}{{7.1.7}{128}{\textcolor {Chapter }{IsGriesmerCode}\relax }{subsection.7.1.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.8}\leavevmode {\color  {Chapter }UpperBound}}{128}{subsection.7.1.8}}
-\newlabel{UpperBound}{{7.1.8}{128}{\textcolor {Chapter }{UpperBound}\relax }{subsection.7.1.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.9}\leavevmode {\color  {Chapter }LowerBoundMinimumDistance}}{129}{subsection.7.1.9}}
-\newlabel{LowerBoundMinimumDistance}{{7.1.9}{129}{\textcolor {Chapter }{LowerBoundMinimumDistance}\relax }{subsection.7.1.9}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.10}\leavevmode {\color  {Chapter }LowerBoundGilbertVarshamov}}{129}{subsection.7.1.10}}
-\newlabel{LowerBoundGilbertVarshamov}{{7.1.10}{129}{\textcolor {Chapter }{LowerBoundGilbertVarshamov}\relax }{subsection.7.1.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.11}\leavevmode {\color  {Chapter }LowerBoundSpherePacking}}{129}{subsection.7.1.11}}
-\newlabel{LowerBoundSpherePacking}{{7.1.11}{129}{\textcolor {Chapter }{LowerBoundSpherePacking}\relax }{subsection.7.1.11}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.1}\leavevmode {\color  {Chapter } Distance bounds on codes }}{126}{section.7.1}}
+\newlabel{Distance bounds on codes}{{7.1}{126}{\textcolor {Chapter }{ Distance bounds on codes }\relax }{section.7.1}{}}
+\@writefile{brf}{\backcite{Br}{{126}{7.1}{section.7.1}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}\leavevmode {\color  {Chapter }UpperBoundSingleton}}{127}{subsection.7.1.1}}
+\newlabel{UpperBoundSingleton}{{7.1.1}{127}{\textcolor {Chapter }{UpperBoundSingleton}\relax }{subsection.7.1.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}\leavevmode {\color  {Chapter }UpperBoundHamming}}{127}{subsection.7.1.2}}
+\newlabel{UpperBoundHamming}{{7.1.2}{127}{\textcolor {Chapter }{UpperBoundHamming}\relax }{subsection.7.1.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}\leavevmode {\color  {Chapter }UpperBoundJohnson}}{127}{subsection.7.1.3}}
+\newlabel{UpperBoundJohnson}{{7.1.3}{127}{\textcolor {Chapter }{UpperBoundJohnson}\relax }{subsection.7.1.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.4}\leavevmode {\color  {Chapter }UpperBoundPlotkin}}{128}{subsection.7.1.4}}
+\newlabel{UpperBoundPlotkin}{{7.1.4}{128}{\textcolor {Chapter }{UpperBoundPlotkin}\relax }{subsection.7.1.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.5}\leavevmode {\color  {Chapter }UpperBoundElias}}{128}{subsection.7.1.5}}
+\newlabel{UpperBoundElias}{{7.1.5}{128}{\textcolor {Chapter }{UpperBoundElias}\relax }{subsection.7.1.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.6}\leavevmode {\color  {Chapter }UpperBoundGriesmer}}{129}{subsection.7.1.6}}
+\newlabel{UpperBoundGriesmer}{{7.1.6}{129}{\textcolor {Chapter }{UpperBoundGriesmer}\relax }{subsection.7.1.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.7}\leavevmode {\color  {Chapter }IsGriesmerCode}}{129}{subsection.7.1.7}}
+\newlabel{IsGriesmerCode}{{7.1.7}{129}{\textcolor {Chapter }{IsGriesmerCode}\relax }{subsection.7.1.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.8}\leavevmode {\color  {Chapter }UpperBound}}{129}{subsection.7.1.8}}
+\newlabel{UpperBound}{{7.1.8}{129}{\textcolor {Chapter }{UpperBound}\relax }{subsection.7.1.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.9}\leavevmode {\color  {Chapter }LowerBoundMinimumDistance}}{130}{subsection.7.1.9}}
+\newlabel{LowerBoundMinimumDistance}{{7.1.9}{130}{\textcolor {Chapter }{LowerBoundMinimumDistance}\relax }{subsection.7.1.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.10}\leavevmode {\color  {Chapter }LowerBoundGilbertVarshamov}}{130}{subsection.7.1.10}}
+\newlabel{LowerBoundGilbertVarshamov}{{7.1.10}{130}{\textcolor {Chapter }{LowerBoundGilbertVarshamov}\relax }{subsection.7.1.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.11}\leavevmode {\color  {Chapter }LowerBoundSpherePacking}}{130}{subsection.7.1.11}}
+\newlabel{LowerBoundSpherePacking}{{7.1.11}{130}{\textcolor {Chapter }{LowerBoundSpherePacking}\relax }{subsection.7.1.11}{}}
 \citation{Br}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.12}\leavevmode {\color  {Chapter }UpperBoundMinimumDistance}}{130}{subsection.7.1.12}}
-\newlabel{UpperBoundMinimumDistance}{{7.1.12}{130}{\textcolor {Chapter }{UpperBoundMinimumDistance}\relax }{subsection.7.1.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.13}\leavevmode {\color  {Chapter }BoundsMinimumDistance}}{130}{subsection.7.1.13}}
-\newlabel{BoundsMinimumDistance}{{7.1.13}{130}{\textcolor {Chapter }{BoundsMinimumDistance}\relax }{subsection.7.1.13}{}}
-\@writefile{brf}{\backcite{Br}{{130}{7.1.13}{subsection.7.1.13}}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.2}\leavevmode {\color  {Chapter } Covering radius bounds on codes }}{131}{section.7.2}}
-\newlabel{Covering radius bounds on codes}{{7.2}{131}{\textcolor {Chapter }{ Covering radius bounds on codes }\relax }{section.7.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}\leavevmode {\color  {Chapter }BoundsCoveringRadius}}{131}{subsection.7.2.1}}
-\newlabel{BoundsCoveringRadius}{{7.2.1}{131}{\textcolor {Chapter }{BoundsCoveringRadius}\relax }{subsection.7.2.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}\leavevmode {\color  {Chapter }IncreaseCoveringRadiusLowerBound}}{131}{subsection.7.2.2}}
-\newlabel{IncreaseCoveringRadiusLowerBound}{{7.2.2}{131}{\textcolor {Chapter }{IncreaseCoveringRadiusLowerBound}\relax }{subsection.7.2.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}\leavevmode {\color  {Chapter }ExhaustiveSearchCoveringRadius}}{132}{subsection.7.2.3}}
-\newlabel{ExhaustiveSearchCoveringRadius}{{7.2.3}{132}{\textcolor {Chapter }{ExhaustiveSearchCoveringRadius}\relax }{subsection.7.2.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.4}\leavevmode {\color  {Chapter }GeneralLowerBoundCoveringRadius}}{133}{subsection.7.2.4}}
-\newlabel{GeneralLowerBoundCoveringRadius}{{7.2.4}{133}{\textcolor {Chapter }{GeneralLowerBoundCoveringRadius}\relax }{subsection.7.2.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.5}\leavevmode {\color  {Chapter }GeneralUpperBoundCoveringRadius}}{133}{subsection.7.2.5}}
-\newlabel{GeneralUpperBoundCoveringRadius}{{7.2.5}{133}{\textcolor {Chapter }{GeneralUpperBoundCoveringRadius}\relax }{subsection.7.2.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.6}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusSphereCovering}}{134}{subsection.7.2.6}}
-\newlabel{LowerBoundCoveringRadiusSphereCovering}{{7.2.6}{134}{\textcolor {Chapter }{LowerBoundCoveringRadiusSphereCovering}\relax }{subsection.7.2.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.7}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusVanWee1}}{134}{subsection.7.2.7}}
-\newlabel{LowerBoundCoveringRadiusVanWee1}{{7.2.7}{134}{\textcolor {Chapter }{LowerBoundCoveringRadiusVanWee1}\relax }{subsection.7.2.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.8}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusVanWee2}}{135}{subsection.7.2.8}}
-\newlabel{LowerBoundCoveringRadiusVanWee2}{{7.2.8}{135}{\textcolor {Chapter }{LowerBoundCoveringRadiusVanWee2}\relax }{subsection.7.2.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.9}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusCountingExcess}}{135}{subsection.7.2.9}}
-\newlabel{LowerBoundCoveringRadiusCountingExcess}{{7.2.9}{135}{\textcolor {Chapter }{LowerBoundCoveringRadiusCountingExcess}\relax }{subsection.7.2.9}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.10}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusEmbedded1}}{136}{subsection.7.2.10}}
-\newlabel{LowerBoundCoveringRadiusEmbedded1}{{7.2.10}{136}{\textcolor {Chapter }{LowerBoundCoveringRadiusEmbedded1}\relax }{subsection.7.2.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.11}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusEmbedded2}}{136}{subsection.7.2.11}}
-\newlabel{LowerBoundCoveringRadiusEmbedded2}{{7.2.11}{136}{\textcolor {Chapter }{LowerBoundCoveringRadiusEmbedded2}\relax }{subsection.7.2.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.12}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusInduction}}{137}{subsection.7.2.12}}
-\newlabel{LowerBoundCoveringRadiusInduction}{{7.2.12}{137}{\textcolor {Chapter }{LowerBoundCoveringRadiusInduction}\relax }{subsection.7.2.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.13}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusRedundancy}}{137}{subsection.7.2.13}}
-\newlabel{UpperBoundCoveringRadiusRedundancy}{{7.2.13}{137}{\textcolor {Chapter }{UpperBoundCoveringRadiusRedundancy}\relax }{subsection.7.2.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.12}\leavevmode {\color  {Chapter }UpperBoundMinimumDistance}}{131}{subsection.7.1.12}}
+\newlabel{UpperBoundMinimumDistance}{{7.1.12}{131}{\textcolor {Chapter }{UpperBoundMinimumDistance}\relax }{subsection.7.1.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1.13}\leavevmode {\color  {Chapter }BoundsMinimumDistance}}{131}{subsection.7.1.13}}
+\newlabel{BoundsMinimumDistance}{{7.1.13}{131}{\textcolor {Chapter }{BoundsMinimumDistance}\relax }{subsection.7.1.13}{}}
+\@writefile{brf}{\backcite{Br}{{131}{7.1.13}{subsection.7.1.13}}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.2}\leavevmode {\color  {Chapter } Covering radius bounds on codes }}{132}{section.7.2}}
+\newlabel{Covering radius bounds on codes}{{7.2}{132}{\textcolor {Chapter }{ Covering radius bounds on codes }\relax }{section.7.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}\leavevmode {\color  {Chapter }BoundsCoveringRadius}}{132}{subsection.7.2.1}}
+\newlabel{BoundsCoveringRadius}{{7.2.1}{132}{\textcolor {Chapter }{BoundsCoveringRadius}\relax }{subsection.7.2.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.2}\leavevmode {\color  {Chapter }IncreaseCoveringRadiusLowerBound}}{132}{subsection.7.2.2}}
+\newlabel{IncreaseCoveringRadiusLowerBound}{{7.2.2}{132}{\textcolor {Chapter }{IncreaseCoveringRadiusLowerBound}\relax }{subsection.7.2.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.3}\leavevmode {\color  {Chapter }ExhaustiveSearchCoveringRadius}}{133}{subsection.7.2.3}}
+\newlabel{ExhaustiveSearchCoveringRadius}{{7.2.3}{133}{\textcolor {Chapter }{ExhaustiveSearchCoveringRadius}\relax }{subsection.7.2.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.4}\leavevmode {\color  {Chapter }GeneralLowerBoundCoveringRadius}}{134}{subsection.7.2.4}}
+\newlabel{GeneralLowerBoundCoveringRadius}{{7.2.4}{134}{\textcolor {Chapter }{GeneralLowerBoundCoveringRadius}\relax }{subsection.7.2.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.5}\leavevmode {\color  {Chapter }GeneralUpperBoundCoveringRadius}}{134}{subsection.7.2.5}}
+\newlabel{GeneralUpperBoundCoveringRadius}{{7.2.5}{134}{\textcolor {Chapter }{GeneralUpperBoundCoveringRadius}\relax }{subsection.7.2.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.6}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusSphereCovering}}{135}{subsection.7.2.6}}
+\newlabel{LowerBoundCoveringRadiusSphereCovering}{{7.2.6}{135}{\textcolor {Chapter }{LowerBoundCoveringRadiusSphereCovering}\relax }{subsection.7.2.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.7}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusVanWee1}}{135}{subsection.7.2.7}}
+\newlabel{LowerBoundCoveringRadiusVanWee1}{{7.2.7}{135}{\textcolor {Chapter }{LowerBoundCoveringRadiusVanWee1}\relax }{subsection.7.2.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.8}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusVanWee2}}{136}{subsection.7.2.8}}
+\newlabel{LowerBoundCoveringRadiusVanWee2}{{7.2.8}{136}{\textcolor {Chapter }{LowerBoundCoveringRadiusVanWee2}\relax }{subsection.7.2.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.9}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusCountingExcess}}{136}{subsection.7.2.9}}
+\newlabel{LowerBoundCoveringRadiusCountingExcess}{{7.2.9}{136}{\textcolor {Chapter }{LowerBoundCoveringRadiusCountingExcess}\relax }{subsection.7.2.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.10}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusEmbedded1}}{137}{subsection.7.2.10}}
+\newlabel{LowerBoundCoveringRadiusEmbedded1}{{7.2.10}{137}{\textcolor {Chapter }{LowerBoundCoveringRadiusEmbedded1}\relax }{subsection.7.2.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.11}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusEmbedded2}}{137}{subsection.7.2.11}}
+\newlabel{LowerBoundCoveringRadiusEmbedded2}{{7.2.11}{137}{\textcolor {Chapter }{LowerBoundCoveringRadiusEmbedded2}\relax }{subsection.7.2.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.12}\leavevmode {\color  {Chapter }LowerBoundCoveringRadiusInduction}}{138}{subsection.7.2.12}}
+\newlabel{LowerBoundCoveringRadiusInduction}{{7.2.12}{138}{\textcolor {Chapter }{LowerBoundCoveringRadiusInduction}\relax }{subsection.7.2.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.13}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusRedundancy}}{138}{subsection.7.2.13}}
+\newlabel{UpperBoundCoveringRadiusRedundancy}{{7.2.13}{138}{\textcolor {Chapter }{UpperBoundCoveringRadiusRedundancy}\relax }{subsection.7.2.13}{}}
 \citation{HP03}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.14}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusDelsarte}}{138}{subsection.7.2.14}}
-\newlabel{UpperBoundCoveringRadiusDelsarte}{{7.2.14}{138}{\textcolor {Chapter }{UpperBoundCoveringRadiusDelsarte}\relax }{subsection.7.2.14}{}}
-\@writefile{brf}{\backcite{HP03}{{138}{7.2.14}{subsection.7.2.14}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.15}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusStrength}}{138}{subsection.7.2.15}}
-\newlabel{UpperBoundCoveringRadiusStrength}{{7.2.15}{138}{\textcolor {Chapter }{UpperBoundCoveringRadiusStrength}\relax }{subsection.7.2.15}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.16}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusGriesmerLike}}{138}{subsection.7.2.16}}
-\newlabel{UpperBoundCoveringRadiusGriesmerLike}{{7.2.16}{138}{\textcolor {Chapter }{UpperBoundCoveringRadiusGriesmerLike}\relax }{subsection.7.2.16}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.17}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusCyclicCode}}{139}{subsection.7.2.17}}
-\newlabel{UpperBoundCoveringRadiusCyclicCode}{{7.2.17}{139}{\textcolor {Chapter }{UpperBoundCoveringRadiusCyclicCode}\relax }{subsection.7.2.17}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.3}\leavevmode {\color  {Chapter } Special matrices in \textsf  {GUAVA} }}{139}{section.7.3}}
-\newlabel{Special matrices in GUAVA}{{7.3}{139}{\textcolor {Chapter }{ Special matrices in \textsf {GUAVA} }\relax }{section.7.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}\leavevmode {\color  {Chapter }KrawtchoukMat}}{140}{subsection.7.3.1}}
-\newlabel{KrawtchoukMat}{{7.3.1}{140}{\textcolor {Chapter }{KrawtchoukMat}\relax }{subsection.7.3.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2}\leavevmode {\color  {Chapter }GrayMat}}{140}{subsection.7.3.2}}
-\newlabel{GrayMat}{{7.3.2}{140}{\textcolor {Chapter }{GrayMat}\relax }{subsection.7.3.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.3}\leavevmode {\color  {Chapter }SylvesterMat}}{140}{subsection.7.3.3}}
-\newlabel{SylvesterMat}{{7.3.3}{140}{\textcolor {Chapter }{SylvesterMat}\relax }{subsection.7.3.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.4}\leavevmode {\color  {Chapter }HadamardMat}}{141}{subsection.7.3.4}}
-\newlabel{HadamardMat}{{7.3.4}{141}{\textcolor {Chapter }{HadamardMat}\relax }{subsection.7.3.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.5}\leavevmode {\color  {Chapter }VandermondeMat}}{141}{subsection.7.3.5}}
-\newlabel{VandermondeMat}{{7.3.5}{141}{\textcolor {Chapter }{VandermondeMat}\relax }{subsection.7.3.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.6}\leavevmode {\color  {Chapter }PutStandardForm}}{142}{subsection.7.3.6}}
-\newlabel{PutStandardForm}{{7.3.6}{142}{\textcolor {Chapter }{PutStandardForm}\relax }{subsection.7.3.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.7}\leavevmode {\color  {Chapter }IsInStandardForm}}{143}{subsection.7.3.7}}
-\newlabel{IsInStandardForm}{{7.3.7}{143}{\textcolor {Chapter }{IsInStandardForm}\relax }{subsection.7.3.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.8}\leavevmode {\color  {Chapter }PermutedCols}}{143}{subsection.7.3.8}}
-\newlabel{PermutedCols}{{7.3.8}{143}{\textcolor {Chapter }{PermutedCols}\relax }{subsection.7.3.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.9}\leavevmode {\color  {Chapter }VerticalConversionFieldMat}}{143}{subsection.7.3.9}}
-\newlabel{VerticalConversionFieldMat}{{7.3.9}{143}{\textcolor {Chapter }{VerticalConversionFieldMat}\relax }{subsection.7.3.9}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.10}\leavevmode {\color  {Chapter }HorizontalConversionFieldMat}}{144}{subsection.7.3.10}}
-\newlabel{HorizontalConversionFieldMat}{{7.3.10}{144}{\textcolor {Chapter }{HorizontalConversionFieldMat}\relax }{subsection.7.3.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.11}\leavevmode {\color  {Chapter }MOLS}}{144}{subsection.7.3.11}}
-\newlabel{MOLS}{{7.3.11}{144}{\textcolor {Chapter }{MOLS}\relax }{subsection.7.3.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.12}\leavevmode {\color  {Chapter }IsLatinSquare}}{145}{subsection.7.3.12}}
-\newlabel{IsLatinSquare}{{7.3.12}{145}{\textcolor {Chapter }{IsLatinSquare}\relax }{subsection.7.3.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.13}\leavevmode {\color  {Chapter }AreMOLS}}{145}{subsection.7.3.13}}
-\newlabel{AreMOLS}{{7.3.13}{145}{\textcolor {Chapter }{AreMOLS}\relax }{subsection.7.3.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.14}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusDelsarte}}{139}{subsection.7.2.14}}
+\newlabel{UpperBoundCoveringRadiusDelsarte}{{7.2.14}{139}{\textcolor {Chapter }{UpperBoundCoveringRadiusDelsarte}\relax }{subsection.7.2.14}{}}
+\@writefile{brf}{\backcite{HP03}{{139}{7.2.14}{subsection.7.2.14}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.15}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusStrength}}{139}{subsection.7.2.15}}
+\newlabel{UpperBoundCoveringRadiusStrength}{{7.2.15}{139}{\textcolor {Chapter }{UpperBoundCoveringRadiusStrength}\relax }{subsection.7.2.15}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.16}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusGriesmerLike}}{139}{subsection.7.2.16}}
+\newlabel{UpperBoundCoveringRadiusGriesmerLike}{{7.2.16}{139}{\textcolor {Chapter }{UpperBoundCoveringRadiusGriesmerLike}\relax }{subsection.7.2.16}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2.17}\leavevmode {\color  {Chapter }UpperBoundCoveringRadiusCyclicCode}}{140}{subsection.7.2.17}}
+\newlabel{UpperBoundCoveringRadiusCyclicCode}{{7.2.17}{140}{\textcolor {Chapter }{UpperBoundCoveringRadiusCyclicCode}\relax }{subsection.7.2.17}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.3}\leavevmode {\color  {Chapter } Special matrices in \textsf  {GUAVA} }}{140}{section.7.3}}
+\newlabel{Special matrices in GUAVA}{{7.3}{140}{\textcolor {Chapter }{ Special matrices in \textsf {GUAVA} }\relax }{section.7.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}\leavevmode {\color  {Chapter }KrawtchoukMat}}{141}{subsection.7.3.1}}
+\newlabel{KrawtchoukMat}{{7.3.1}{141}{\textcolor {Chapter }{KrawtchoukMat}\relax }{subsection.7.3.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2}\leavevmode {\color  {Chapter }GrayMat}}{141}{subsection.7.3.2}}
+\newlabel{GrayMat}{{7.3.2}{141}{\textcolor {Chapter }{GrayMat}\relax }{subsection.7.3.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.3}\leavevmode {\color  {Chapter }SylvesterMat}}{141}{subsection.7.3.3}}
+\newlabel{SylvesterMat}{{7.3.3}{141}{\textcolor {Chapter }{SylvesterMat}\relax }{subsection.7.3.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.4}\leavevmode {\color  {Chapter }HadamardMat}}{142}{subsection.7.3.4}}
+\newlabel{HadamardMat}{{7.3.4}{142}{\textcolor {Chapter }{HadamardMat}\relax }{subsection.7.3.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.5}\leavevmode {\color  {Chapter }VandermondeMat}}{142}{subsection.7.3.5}}
+\newlabel{VandermondeMat}{{7.3.5}{142}{\textcolor {Chapter }{VandermondeMat}\relax }{subsection.7.3.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.6}\leavevmode {\color  {Chapter }PutStandardForm}}{143}{subsection.7.3.6}}
+\newlabel{PutStandardForm}{{7.3.6}{143}{\textcolor {Chapter }{PutStandardForm}\relax }{subsection.7.3.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.7}\leavevmode {\color  {Chapter }IsInStandardForm}}{144}{subsection.7.3.7}}
+\newlabel{IsInStandardForm}{{7.3.7}{144}{\textcolor {Chapter }{IsInStandardForm}\relax }{subsection.7.3.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.8}\leavevmode {\color  {Chapter }PermutedCols}}{144}{subsection.7.3.8}}
+\newlabel{PermutedCols}{{7.3.8}{144}{\textcolor {Chapter }{PermutedCols}\relax }{subsection.7.3.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.9}\leavevmode {\color  {Chapter }VerticalConversionFieldMat}}{144}{subsection.7.3.9}}
+\newlabel{VerticalConversionFieldMat}{{7.3.9}{144}{\textcolor {Chapter }{VerticalConversionFieldMat}\relax }{subsection.7.3.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.10}\leavevmode {\color  {Chapter }HorizontalConversionFieldMat}}{145}{subsection.7.3.10}}
+\newlabel{HorizontalConversionFieldMat}{{7.3.10}{145}{\textcolor {Chapter }{HorizontalConversionFieldMat}\relax }{subsection.7.3.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.11}\leavevmode {\color  {Chapter }MOLS}}{145}{subsection.7.3.11}}
+\newlabel{MOLS}{{7.3.11}{145}{\textcolor {Chapter }{MOLS}\relax }{subsection.7.3.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.12}\leavevmode {\color  {Chapter }IsLatinSquare}}{146}{subsection.7.3.12}}
+\newlabel{IsLatinSquare}{{7.3.12}{146}{\textcolor {Chapter }{IsLatinSquare}\relax }{subsection.7.3.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.13}\leavevmode {\color  {Chapter }AreMOLS}}{146}{subsection.7.3.13}}
+\newlabel{AreMOLS}{{7.3.13}{146}{\textcolor {Chapter }{AreMOLS}\relax }{subsection.7.3.13}{}}
 \citation{GS85}
-\@writefile{toc}{\contentsline {section}{\numberline {7.4}\leavevmode {\color  {Chapter } Some functions related to the norm of a code }}{146}{section.7.4}}
-\newlabel{Some functions related to the norm of a code}{{7.4}{146}{\textcolor {Chapter }{ Some functions related to the norm of a code }\relax }{section.7.4}{}}
-\@writefile{brf}{\backcite{GS85}{{146}{7.4}{section.7.4}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.1}\leavevmode {\color  {Chapter }CoordinateNorm}}{146}{subsection.7.4.1}}
-\newlabel{CoordinateNorm}{{7.4.1}{146}{\textcolor {Chapter }{CoordinateNorm}\relax }{subsection.7.4.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.2}\leavevmode {\color  {Chapter }CodeNorm}}{146}{subsection.7.4.2}}
-\newlabel{CodeNorm}{{7.4.2}{146}{\textcolor {Chapter }{CodeNorm}\relax }{subsection.7.4.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.3}\leavevmode {\color  {Chapter }IsCoordinateAcceptable}}{146}{subsection.7.4.3}}
-\newlabel{IsCoordinateAcceptable}{{7.4.3}{146}{\textcolor {Chapter }{IsCoordinateAcceptable}\relax }{subsection.7.4.3}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.4}\leavevmode {\color  {Chapter } Some functions related to the norm of a code }}{147}{section.7.4}}
+\newlabel{Some functions related to the norm of a code}{{7.4}{147}{\textcolor {Chapter }{ Some functions related to the norm of a code }\relax }{section.7.4}{}}
+\@writefile{brf}{\backcite{GS85}{{147}{7.4}{section.7.4}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.1}\leavevmode {\color  {Chapter }CoordinateNorm}}{147}{subsection.7.4.1}}
+\newlabel{CoordinateNorm}{{7.4.1}{147}{\textcolor {Chapter }{CoordinateNorm}\relax }{subsection.7.4.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.2}\leavevmode {\color  {Chapter }CodeNorm}}{147}{subsection.7.4.2}}
+\newlabel{CodeNorm}{{7.4.2}{147}{\textcolor {Chapter }{CodeNorm}\relax }{subsection.7.4.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.3}\leavevmode {\color  {Chapter }IsCoordinateAcceptable}}{147}{subsection.7.4.3}}
+\newlabel{IsCoordinateAcceptable}{{7.4.3}{147}{\textcolor {Chapter }{IsCoordinateAcceptable}\relax }{subsection.7.4.3}{}}
 \citation{GS85}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.4}\leavevmode {\color  {Chapter }GeneralizedCodeNorm}}{147}{subsection.7.4.4}}
-\newlabel{GeneralizedCodeNorm}{{7.4.4}{147}{\textcolor {Chapter }{GeneralizedCodeNorm}\relax }{subsection.7.4.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.5}\leavevmode {\color  {Chapter }IsNormalCode}}{147}{subsection.7.4.5}}
-\newlabel{IsNormalCode}{{7.4.5}{147}{\textcolor {Chapter }{IsNormalCode}\relax }{subsection.7.4.5}{}}
-\@writefile{brf}{\backcite{GS85}{{147}{7.4.5}{subsection.7.4.5}}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.5}\leavevmode {\color  {Chapter } Miscellaneous functions }}{147}{section.7.5}}
-\newlabel{Miscellaneous functions}{{7.5}{147}{\textcolor {Chapter }{ Miscellaneous functions }\relax }{section.7.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}\leavevmode {\color  {Chapter }CodeWeightEnumerator}}{147}{subsection.7.5.1}}
-\newlabel{CodeWeightEnumerator}{{7.5.1}{147}{\textcolor {Chapter }{CodeWeightEnumerator}\relax }{subsection.7.5.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.2}\leavevmode {\color  {Chapter }CodeDistanceEnumerator}}{148}{subsection.7.5.2}}
-\newlabel{CodeDistanceEnumerator}{{7.5.2}{148}{\textcolor {Chapter }{CodeDistanceEnumerator}\relax }{subsection.7.5.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.3}\leavevmode {\color  {Chapter }CodeMacWilliamsTransform}}{148}{subsection.7.5.3}}
-\newlabel{CodeMacWilliamsTransform}{{7.5.3}{148}{\textcolor {Chapter }{CodeMacWilliamsTransform}\relax }{subsection.7.5.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.4}\leavevmode {\color  {Chapter }CodeDensity}}{148}{subsection.7.5.4}}
-\newlabel{CodeDensity}{{7.5.4}{148}{\textcolor {Chapter }{CodeDensity}\relax }{subsection.7.5.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.4}\leavevmode {\color  {Chapter }GeneralizedCodeNorm}}{148}{subsection.7.4.4}}
+\newlabel{GeneralizedCodeNorm}{{7.4.4}{148}{\textcolor {Chapter }{GeneralizedCodeNorm}\relax }{subsection.7.4.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.4.5}\leavevmode {\color  {Chapter }IsNormalCode}}{148}{subsection.7.4.5}}
+\newlabel{IsNormalCode}{{7.4.5}{148}{\textcolor {Chapter }{IsNormalCode}\relax }{subsection.7.4.5}{}}
+\@writefile{brf}{\backcite{GS85}{{148}{7.4.5}{subsection.7.4.5}}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.5}\leavevmode {\color  {Chapter } Miscellaneous functions }}{148}{section.7.5}}
+\newlabel{Miscellaneous functions}{{7.5}{148}{\textcolor {Chapter }{ Miscellaneous functions }\relax }{section.7.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}\leavevmode {\color  {Chapter }CodeWeightEnumerator}}{148}{subsection.7.5.1}}
+\newlabel{CodeWeightEnumerator}{{7.5.1}{148}{\textcolor {Chapter }{CodeWeightEnumerator}\relax }{subsection.7.5.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.2}\leavevmode {\color  {Chapter }CodeDistanceEnumerator}}{149}{subsection.7.5.2}}
+\newlabel{CodeDistanceEnumerator}{{7.5.2}{149}{\textcolor {Chapter }{CodeDistanceEnumerator}\relax }{subsection.7.5.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.3}\leavevmode {\color  {Chapter }CodeMacWilliamsTransform}}{149}{subsection.7.5.3}}
+\newlabel{CodeMacWilliamsTransform}{{7.5.3}{149}{\textcolor {Chapter }{CodeMacWilliamsTransform}\relax }{subsection.7.5.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.4}\leavevmode {\color  {Chapter }CodeDensity}}{149}{subsection.7.5.4}}
+\newlabel{CodeDensity}{{7.5.4}{149}{\textcolor {Chapter }{CodeDensity}\relax }{subsection.7.5.4}{}}
 \citation{MS83}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.5}\leavevmode {\color  {Chapter }SphereContent}}{149}{subsection.7.5.5}}
-\newlabel{SphereContent}{{7.5.5}{149}{\textcolor {Chapter }{SphereContent}\relax }{subsection.7.5.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.6}\leavevmode {\color  {Chapter }Krawtchouk}}{149}{subsection.7.5.6}}
-\newlabel{Krawtchouk}{{7.5.6}{149}{\textcolor {Chapter }{Krawtchouk}\relax }{subsection.7.5.6}{}}
-\@writefile{brf}{\backcite{MS83}{{149}{7.5.6}{subsection.7.5.6}}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.7}\leavevmode {\color  {Chapter }PrimitiveUnityRoot}}{149}{subsection.7.5.7}}
-\newlabel{PrimitiveUnityRoot}{{7.5.7}{149}{\textcolor {Chapter }{PrimitiveUnityRoot}\relax }{subsection.7.5.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.8}\leavevmode {\color  {Chapter }PrimitivePolynomialsNr}}{150}{subsection.7.5.8}}
-\newlabel{PrimitivePolynomialsNr}{{7.5.8}{150}{\textcolor {Chapter }{PrimitivePolynomialsNr}\relax }{subsection.7.5.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.9}\leavevmode {\color  {Chapter }IrreduciblePolynomialsNr}}{150}{subsection.7.5.9}}
-\newlabel{IrreduciblePolynomialsNr}{{7.5.9}{150}{\textcolor {Chapter }{IrreduciblePolynomialsNr}\relax }{subsection.7.5.9}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.10}\leavevmode {\color  {Chapter }MatrixRepresentationOfElement}}{150}{subsection.7.5.10}}
-\newlabel{MatrixRepresentationOfElement}{{7.5.10}{150}{\textcolor {Chapter }{MatrixRepresentationOfElement}\relax }{subsection.7.5.10}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.11}\leavevmode {\color  {Chapter }ReciprocalPolynomial}}{151}{subsection.7.5.11}}
-\newlabel{ReciprocalPolynomial}{{7.5.11}{151}{\textcolor {Chapter }{ReciprocalPolynomial}\relax }{subsection.7.5.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.12}\leavevmode {\color  {Chapter }CyclotomicCosets}}{151}{subsection.7.5.12}}
-\newlabel{CyclotomicCosets}{{7.5.12}{151}{\textcolor {Chapter }{CyclotomicCosets}\relax }{subsection.7.5.12}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.13}\leavevmode {\color  {Chapter }WeightHistogram}}{152}{subsection.7.5.13}}
-\newlabel{WeightHistogram}{{7.5.13}{152}{\textcolor {Chapter }{WeightHistogram}\relax }{subsection.7.5.13}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.14}\leavevmode {\color  {Chapter }MultiplicityInList}}{152}{subsection.7.5.14}}
-\newlabel{MultiplicityInList}{{7.5.14}{152}{\textcolor {Chapter }{MultiplicityInList}\relax }{subsection.7.5.14}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.15}\leavevmode {\color  {Chapter }MostCommonInList}}{152}{subsection.7.5.15}}
-\newlabel{MostCommonInList}{{7.5.15}{152}{\textcolor {Chapter }{MostCommonInList}\relax }{subsection.7.5.15}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.16}\leavevmode {\color  {Chapter }RotateList}}{153}{subsection.7.5.16}}
-\newlabel{RotateList}{{7.5.16}{153}{\textcolor {Chapter }{RotateList}\relax }{subsection.7.5.16}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.17}\leavevmode {\color  {Chapter }CirculantMatrix}}{153}{subsection.7.5.17}}
-\newlabel{CirculantMatrix}{{7.5.17}{153}{\textcolor {Chapter }{CirculantMatrix}\relax }{subsection.7.5.17}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {7.6}\leavevmode {\color  {Chapter } Miscellaneous polynomial functions }}{153}{section.7.6}}
-\newlabel{Miscellaneous polynomial functions}{{7.6}{153}{\textcolor {Chapter }{ Miscellaneous polynomial functions }\relax }{section.7.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}\leavevmode {\color  {Chapter }MatrixTransformationOnMultivariatePolynomial }}{153}{subsection.7.6.1}}
-\newlabel{MatrixTransformationOnMultivariatePolynomial }{{7.6.1}{153}{\textcolor {Chapter }{MatrixTransformationOnMultivariatePolynomial }\relax }{subsection.7.6.1}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.2}\leavevmode {\color  {Chapter }DegreeMultivariatePolynomial}}{153}{subsection.7.6.2}}
-\newlabel{DegreeMultivariatePolynomial}{{7.6.2}{153}{\textcolor {Chapter }{DegreeMultivariatePolynomial}\relax }{subsection.7.6.2}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.3}\leavevmode {\color  {Chapter }DegreesMultivariatePolynomial}}{154}{subsection.7.6.3}}
-\newlabel{DegreesMultivariatePolynomial}{{7.6.3}{154}{\textcolor {Chapter }{DegreesMultivariatePolynomial}\relax }{subsection.7.6.3}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.4}\leavevmode {\color  {Chapter }CoefficientMultivariatePolynomial}}{154}{subsection.7.6.4}}
-\newlabel{CoefficientMultivariatePolynomial}{{7.6.4}{154}{\textcolor {Chapter }{CoefficientMultivariatePolynomial}\relax }{subsection.7.6.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.5}\leavevmode {\color  {Chapter }SolveLinearSystem}}{155}{subsection.7.6.5}}
-\newlabel{SolveLinearSystem}{{7.6.5}{155}{\textcolor {Chapter }{SolveLinearSystem}\relax }{subsection.7.6.5}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.6}\leavevmode {\color  {Chapter }GuavaVersion}}{155}{subsection.7.6.6}}
-\newlabel{GuavaVersion}{{7.6.6}{155}{\textcolor {Chapter }{GuavaVersion}\relax }{subsection.7.6.6}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.7}\leavevmode {\color  {Chapter }ZechLog}}{155}{subsection.7.6.7}}
-\newlabel{ZechLog}{{7.6.7}{155}{\textcolor {Chapter }{ZechLog}\relax }{subsection.7.6.7}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.8}\leavevmode {\color  {Chapter }CoefficientToPolynomial}}{156}{subsection.7.6.8}}
-\newlabel{CoefficientToPolynomial}{{7.6.8}{156}{\textcolor {Chapter }{CoefficientToPolynomial}\relax }{subsection.7.6.8}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.9}\leavevmode {\color  {Chapter }DegreesMonomialTerm}}{156}{subsection.7.6.9}}
-\newlabel{DegreesMonomialTerm}{{7.6.9}{156}{\textcolor {Chapter }{DegreesMonomialTerm}\relax }{subsection.7.6.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.5}\leavevmode {\color  {Chapter }SphereContent}}{150}{subsection.7.5.5}}
+\newlabel{SphereContent}{{7.5.5}{150}{\textcolor {Chapter }{SphereContent}\relax }{subsection.7.5.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.6}\leavevmode {\color  {Chapter }Krawtchouk}}{150}{subsection.7.5.6}}
+\newlabel{Krawtchouk}{{7.5.6}{150}{\textcolor {Chapter }{Krawtchouk}\relax }{subsection.7.5.6}{}}
+\@writefile{brf}{\backcite{MS83}{{150}{7.5.6}{subsection.7.5.6}}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.7}\leavevmode {\color  {Chapter }PrimitiveUnityRoot}}{150}{subsection.7.5.7}}
+\newlabel{PrimitiveUnityRoot}{{7.5.7}{150}{\textcolor {Chapter }{PrimitiveUnityRoot}\relax }{subsection.7.5.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.8}\leavevmode {\color  {Chapter }PrimitivePolynomialsNr}}{151}{subsection.7.5.8}}
+\newlabel{PrimitivePolynomialsNr}{{7.5.8}{151}{\textcolor {Chapter }{PrimitivePolynomialsNr}\relax }{subsection.7.5.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.9}\leavevmode {\color  {Chapter }IrreduciblePolynomialsNr}}{151}{subsection.7.5.9}}
+\newlabel{IrreduciblePolynomialsNr}{{7.5.9}{151}{\textcolor {Chapter }{IrreduciblePolynomialsNr}\relax }{subsection.7.5.9}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.10}\leavevmode {\color  {Chapter }MatrixRepresentationOfElement}}{151}{subsection.7.5.10}}
+\newlabel{MatrixRepresentationOfElement}{{7.5.10}{151}{\textcolor {Chapter }{MatrixRepresentationOfElement}\relax }{subsection.7.5.10}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.11}\leavevmode {\color  {Chapter }ReciprocalPolynomial}}{152}{subsection.7.5.11}}
+\newlabel{ReciprocalPolynomial}{{7.5.11}{152}{\textcolor {Chapter }{ReciprocalPolynomial}\relax }{subsection.7.5.11}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.12}\leavevmode {\color  {Chapter }CyclotomicCosets}}{152}{subsection.7.5.12}}
+\newlabel{CyclotomicCosets}{{7.5.12}{152}{\textcolor {Chapter }{CyclotomicCosets}\relax }{subsection.7.5.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.13}\leavevmode {\color  {Chapter }WeightHistogram}}{153}{subsection.7.5.13}}
+\newlabel{WeightHistogram}{{7.5.13}{153}{\textcolor {Chapter }{WeightHistogram}\relax }{subsection.7.5.13}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.14}\leavevmode {\color  {Chapter }MultiplicityInList}}{153}{subsection.7.5.14}}
+\newlabel{MultiplicityInList}{{7.5.14}{153}{\textcolor {Chapter }{MultiplicityInList}\relax }{subsection.7.5.14}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.15}\leavevmode {\color  {Chapter }MostCommonInList}}{153}{subsection.7.5.15}}
+\newlabel{MostCommonInList}{{7.5.15}{153}{\textcolor {Chapter }{MostCommonInList}\relax }{subsection.7.5.15}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.16}\leavevmode {\color  {Chapter }RotateList}}{154}{subsection.7.5.16}}
+\newlabel{RotateList}{{7.5.16}{154}{\textcolor {Chapter }{RotateList}\relax }{subsection.7.5.16}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5.17}\leavevmode {\color  {Chapter }CirculantMatrix}}{154}{subsection.7.5.17}}
+\newlabel{CirculantMatrix}{{7.5.17}{154}{\textcolor {Chapter }{CirculantMatrix}\relax }{subsection.7.5.17}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.6}\leavevmode {\color  {Chapter } Miscellaneous polynomial functions }}{154}{section.7.6}}
+\newlabel{Miscellaneous polynomial functions}{{7.6}{154}{\textcolor {Chapter }{ Miscellaneous polynomial functions }\relax }{section.7.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}\leavevmode {\color  {Chapter }MatrixTransformationOnMultivariatePolynomial }}{154}{subsection.7.6.1}}
+\newlabel{MatrixTransformationOnMultivariatePolynomial }{{7.6.1}{154}{\textcolor {Chapter }{MatrixTransformationOnMultivariatePolynomial }\relax }{subsection.7.6.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.2}\leavevmode {\color  {Chapter }DegreeMultivariatePolynomial}}{154}{subsection.7.6.2}}
+\newlabel{DegreeMultivariatePolynomial}{{7.6.2}{154}{\textcolor {Chapter }{DegreeMultivariatePolynomial}\relax }{subsection.7.6.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.3}\leavevmode {\color  {Chapter }DegreesMultivariatePolynomial}}{155}{subsection.7.6.3}}
+\newlabel{DegreesMultivariatePolynomial}{{7.6.3}{155}{\textcolor {Chapter }{DegreesMultivariatePolynomial}\relax }{subsection.7.6.3}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.4}\leavevmode {\color  {Chapter }CoefficientMultivariatePolynomial}}{155}{subsection.7.6.4}}
+\newlabel{CoefficientMultivariatePolynomial}{{7.6.4}{155}{\textcolor {Chapter }{CoefficientMultivariatePolynomial}\relax }{subsection.7.6.4}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.5}\leavevmode {\color  {Chapter }SolveLinearSystem}}{156}{subsection.7.6.5}}
+\newlabel{SolveLinearSystem}{{7.6.5}{156}{\textcolor {Chapter }{SolveLinearSystem}\relax }{subsection.7.6.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.6}\leavevmode {\color  {Chapter }GuavaVersion}}{156}{subsection.7.6.6}}
+\newlabel{GuavaVersion}{{7.6.6}{156}{\textcolor {Chapter }{GuavaVersion}\relax }{subsection.7.6.6}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.7}\leavevmode {\color  {Chapter }ZechLog}}{156}{subsection.7.6.7}}
+\newlabel{ZechLog}{{7.6.7}{156}{\textcolor {Chapter }{ZechLog}\relax }{subsection.7.6.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.8}\leavevmode {\color  {Chapter }CoefficientToPolynomial}}{157}{subsection.7.6.8}}
+\newlabel{CoefficientToPolynomial}{{7.6.8}{157}{\textcolor {Chapter }{CoefficientToPolynomial}\relax }{subsection.7.6.8}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.9}\leavevmode {\color  {Chapter }DegreesMonomialTerm}}{157}{subsection.7.6.9}}
+\newlabel{DegreesMonomialTerm}{{7.6.9}{157}{\textcolor {Chapter }{DegreesMonomialTerm}\relax }{subsection.7.6.9}{}}
 \citation{GG03}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.10}\leavevmode {\color  {Chapter }DivisorsMultivariatePolynomial}}{158}{subsection.7.6.10}}
+\newlabel{DivisorsMultivariatePolynomial}{{7.6.10}{158}{\textcolor {Chapter }{DivisorsMultivariatePolynomial}\relax }{subsection.7.6.10}{}}
+\@writefile{brf}{\backcite{GG03}{{158}{7.6.10}{subsection.7.6.10}}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.7}\leavevmode {\color  {Chapter } GNU Free Documentation License }}{158}{section.7.7}}
 \bibstyle{alpha}
 \bibdata{guava}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.6.10}\leavevmode {\color  {Chapter }DivisorsMultivariatePolynomial}}{157}{subsection.7.6.10}}
-\newlabel{DivisorsMultivariatePolynomial}{{7.6.10}{157}{\textcolor {Chapter }{DivisorsMultivariatePolynomial}\relax }{subsection.7.6.10}{}}
-\@writefile{brf}{\backcite{GG03}{{157}{7.6.10}{subsection.7.6.10}}}
 \bibcite{Alltop84}{All84}
 \bibcite{BM03}{BMed}
 \bibcite{Brouwer98}{Bro98}
 \bibcite{Br}{Bro06}
 \bibcite{Chen69}{Che69}
+\bibcite{Gallager.1962}{Gal62}
 \bibcite{Gao03}{Gao03}
 \bibcite{GDT91}{GDT91}
 \bibcite{GS85}{GS85}
@@ -759,6 +769,7 @@
 \bibcite{Leon88}{Leo88}
 \bibcite{Leon91}{Leo91}
 \bibcite{MS83}{MS83}
+\bibcite{TSSFC04}{RTC04}
 \bibcite{Sloane72}{SRC72}
 \bibcite{St93}{Sti93}
 \bibcite{GG03}{vzGG03}
diff --git a/doc/guava.bbl b/doc/guava.bbl
index 8f8a57f..804c206 100644
--- a/doc/guava.bbl
+++ b/doc/guava.bbl
@@ -28,6 +28,11 @@ C.~L. Chen.
   Codes}.
 \newblock Ph.{D} dissertation, {University of Hawaii}, USA, 1969.
 
+\bibitem[Gal62]{Gallager.1962}
+R.~Gallager.
+\newblock Low-density parity-check codes.
+\newblock {\em IRE Trans. Inform. Theory}, IT-8:21--28, Jan. 1962.
+
 \bibitem[Gao03]{Gao03}
 S.~Gao.
 \newblock A new algorithm for decoding reed-solomon codes.
@@ -99,6 +104,11 @@ F.~J. MacWilliams and N.~J.~A. Sloane.
 \newblock {\em The theory of error-correcting codes}.
 \newblock Amsterdam: North-Holland, 1983.
 
+\bibitem[RTC04]{TSSFC04}
+A.~Sridharan T.~Fuja R.~Tanner, D.~Sridhara and D.~Costello{, Jr.}
+\newblock {LDPC} block and convolutional codes based on circulant matrices.
+\newblock 50(12):2966--2984, Dec. 2004.
+
 \bibitem[SRC72]{Sloane72}
 N.~Sloane, S.~Reddy, and C.~Chen.
 \newblock New binary codes.
diff --git a/doc/guava.bib b/doc/guava.bib
index 65772f1..44e0e0d 100644
--- a/doc/guava.bib
+++ b/doc/guava.bib
@@ -203,3 +203,24 @@ Year={1997-2006}
 	year		= {1996},
 	number		= {3--96},
 }
+
+ at ARTICLE{Gallager.1962,
+	author		= {R. Gallager},
+	title		= {Low-Density Parity-Check Codes},
+	journal		= {IRE Trans. Inform. Theory},
+	year		= {1962},
+	month		= {Jan.},
+	volume		= {IT-8},
+	pages		= {21--28},
+}
+
+ at ARTICLE{TSSFC04,
+	author		= {R. Tanner, D. Sridhara, A. Sridharan, T. Fuja and D. Costello{, Jr.}},
+	title		= {{LDPC} Block and Convolutional Codes Based on Circulant Matrices},
+	journal		= IEEE_J_IT,
+	volume		= {50},
+	number		= {12},
+	pages		= {2966--2984},
+	month		= {Dec.},
+	year		= {2004},
+}
diff --git a/doc/guava.blg b/doc/guava.blg
index 9831682..2a9e6ee 100644
--- a/doc/guava.blg
+++ b/doc/guava.blg
@@ -2,53 +2,62 @@ This is BibTeX, Version 0.99c (Web2C 7.5.6)
 The top-level auxiliary file: guava.aux
 The style file: alpha.bst
 Database file #1: guava.bib
+Warning--string name "ieee_j_it" is undefined
+--line 220 of file guava.bib
+Too many commas in name 1 of "R. Tanner, D. Sridhara, A. Sridharan, T. Fuja and D. Costello{, Jr.}" for entry TSSFC04
+while executing---line 1185 of file alpha.bst
+Too many commas in name 1 of "R. Tanner, D. Sridhara, A. Sridharan, T. Fuja and D. Costello{, Jr.}" for entry TSSFC04
+while executing---line 1185 of file alpha.bst
 Name 2 in "J. von zur Gathen and J. Gerhard," has a comma at the end for entry GG03
 while executing---line 1185 of file alpha.bst
 Name 2 in "J. von zur Gathen and J. Gerhard," has a comma at the end for entry GG03
 while executing---line 1185 of file alpha.bst
 Name 2 in "J. von zur Gathen and J. Gerhard," has a comma at the end for entry GG03
 while executing---line 1185 of file alpha.bst
+Too many commas in name 1 of "R. Tanner, D. Sridhara, A. Sridharan, T. Fuja and D. Costello{, Jr.}" for entry TSSFC04
+while executing---line 1250 of file alpha.bst
+Warning--empty journal in TSSFC04
 Name 2 in "J. von zur Gathen and J. Gerhard," has a comma at the end for entry GG03
 while executing---line 1250 of file alpha.bst
-You've used 22 entries,
+You've used 24 entries,
             2543 wiz_defined-function locations,
-            704 strings with 7040 characters,
-and the built_in function-call counts, 7961 in all, are:
-= -- 806
-> -- 307
-< -- 16
-+ -- 99
-- -- 94
-* -- 526
-:= -- 1316
-add.period$ -- 67
-call.type$ -- 22
-change.case$ -- 117
-chr.to.int$ -- 22
-cite$ -- 22
-duplicate$ -- 349
-empty$ -- 604
-format.name$ -- 129
-if$ -- 1619
+            720 strings with 7312 characters,
+and the built_in function-call counts, 8729 in all, are:
+= -- 887
+> -- 334
+< -- 17
++ -- 107
+- -- 102
+* -- 587
+:= -- 1439
+add.period$ -- 73
+call.type$ -- 24
+change.case$ -- 128
+chr.to.int$ -- 24
+cite$ -- 25
+duplicate$ -- 378
+empty$ -- 663
+format.name$ -- 140
+if$ -- 1772
 int.to.chr$ -- 1
 int.to.str$ -- 0
-missing$ -- 26
-newline$ -- 113
-num.names$ -- 68
-pop$ -- 118
+missing$ -- 28
+newline$ -- 123
+num.names$ -- 74
+pop$ -- 126
 preamble$ -- 1
-purify$ -- 145
+purify$ -- 158
 quote$ -- 0
-skip$ -- 279
+skip$ -- 303
 stack$ -- 0
-substring$ -- 481
-swap$ -- 46
-text.length$ -- 16
-text.prefix$ -- 13
+substring$ -- 545
+swap$ -- 47
+text.length$ -- 17
+text.prefix$ -- 14
 top$ -- 0
-type$ -- 152
-warning$ -- 0
-while$ -- 79
-width$ -- 25
-write$ -- 283
-(There were 4 error messages)
+type$ -- 168
+warning$ -- 1
+while$ -- 88
+width$ -- 27
+write$ -- 308
+(There were 7 error messages)
diff --git a/doc/guava.brf b/doc/guava.brf
index fbfc1bb..bc2e9b7 100644
--- a/doc/guava.brf
+++ b/doc/guava.brf
@@ -15,28 +15,30 @@
 \backcite {JH04}{{58}{4.10.4}{subsection.4.10.4}}
 \backcite {JH04}{{59}{4.10.5}{subsection.4.10.5}}
 \backcite {HP03}{{63}{4.10.11}{subsection.4.10.11}}
-\backcite {HP03}{{71}{5.2.5}{subsection.5.2.5}}
-\backcite {HP03}{{72}{5.2.7}{subsection.5.2.7}}
-\backcite {MS83}{{72}{5.2.7}{subsection.5.2.7}}
-\backcite {He72}{{73}{5.2.9}{subsection.5.2.9}}
-\backcite {GDT91}{{77}{5.3}{section.5.3}}
-\backcite {MS83}{{78}{5.4}{section.5.4}}
-\backcite {BM03}{{84}{5.5.9}{subsection.5.5.9}}
-\backcite {HHKK07}{{89}{5.5.18}{subsection.5.5.18}}
-\backcite {JH04}{{91}{5.6.2}{subsection.5.6.2}}
-\backcite {MS83}{{91}{5.6.2}{subsection.5.6.2}}
-\backcite {JH04}{{91}{5.6.2}{subsection.5.6.2}}
-\backcite {Jo04}{{92}{5.6.5}{subsection.5.6.5}}
-\backcite {Han99}{{92}{5.6.5}{subsection.5.6.5}}
-\backcite {St93}{{105}{5.7.25}{subsection.5.7.25}}
-\backcite {GS85}{{120}{6.2.6}{subsection.6.2.6}}
-\backcite {Sloane72}{{122}{6.2.9}{subsection.6.2.9}}
-\backcite {Alltop84}{{123}{6.2.10}{subsection.6.2.10}}
-\backcite {Brouwer98}{{123}{6.2.11}{subsection.6.2.11}}
-\backcite {Br}{{125}{7.1}{section.7.1}}
-\backcite {Br}{{130}{7.1.13}{subsection.7.1.13}}
-\backcite {HP03}{{138}{7.2.14}{subsection.7.2.14}}
-\backcite {GS85}{{146}{7.4}{section.7.4}}
-\backcite {GS85}{{147}{7.4.5}{subsection.7.4.5}}
-\backcite {MS83}{{149}{7.5.6}{subsection.7.5.6}}
-\backcite {GG03}{{157}{7.6.10}{subsection.7.6.10}}
+\backcite {HP03}{{70}{5.2.5}{subsection.5.2.5}}
+\backcite {HP03}{{71}{5.2.7}{subsection.5.2.7}}
+\backcite {MS83}{{71}{5.2.7}{subsection.5.2.7}}
+\backcite {He72}{{72}{5.2.9}{subsection.5.2.9}}
+\backcite {GDT91}{{76}{5.3}{section.5.3}}
+\backcite {MS83}{{77}{5.4}{section.5.4}}
+\backcite {BM03}{{83}{5.5.9}{subsection.5.5.9}}
+\backcite {HHKK07}{{88}{5.5.18}{subsection.5.5.18}}
+\backcite {JH04}{{90}{5.6.2}{subsection.5.6.2}}
+\backcite {MS83}{{90}{5.6.2}{subsection.5.6.2}}
+\backcite {JH04}{{90}{5.6.2}{subsection.5.6.2}}
+\backcite {Jo04}{{91}{5.6.5}{subsection.5.6.5}}
+\backcite {Han99}{{91}{5.6.5}{subsection.5.6.5}}
+\backcite {St93}{{104}{5.7.25}{subsection.5.7.25}}
+\backcite {Gallager.1962}{{105}{5.8}{section.5.8}}
+\backcite {TSSFC04}{{106}{5.8.1}{subsection.5.8.1}}
+\backcite {GS85}{{121}{6.2.6}{subsection.6.2.6}}
+\backcite {Sloane72}{{123}{6.2.9}{subsection.6.2.9}}
+\backcite {Alltop84}{{124}{6.2.10}{subsection.6.2.10}}
+\backcite {Brouwer98}{{124}{6.2.11}{subsection.6.2.11}}
+\backcite {Br}{{126}{7.1}{section.7.1}}
+\backcite {Br}{{131}{7.1.13}{subsection.7.1.13}}
+\backcite {HP03}{{139}{7.2.14}{subsection.7.2.14}}
+\backcite {GS85}{{147}{7.4}{section.7.4}}
+\backcite {GS85}{{148}{7.4.5}{subsection.7.4.5}}
+\backcite {MS83}{{150}{7.5.6}{subsection.7.5.6}}
+\backcite {GG03}{{158}{7.6.10}{subsection.7.6.10}}
diff --git a/doc/guava.idx b/doc/guava.idx
index fe949b8..45bc853 100644
--- a/doc/guava.idx
+++ b/doc/guava.idx
@@ -137,265 +137,267 @@
 \indexentry{GeneralizedReedSolomonListDecoder@\texttt  {GeneralizedReedSolomonListDecoder}|hyperpage}{58}
 \indexentry{BitFlipDecoder@\texttt  {BitFlipDecoder}|hyperpage}{59}
 \indexentry{NearestNeighborGRSDecodewords@\texttt  {NearestNeighborGRSDecodewords}|hyperpage}{60}
-\indexentry{NearestNeighborDecodewords@\texttt  {NearestNeighborDecodewords}|hyperpage}{61}
+\indexentry{NearestNeighborDecodewords@\texttt  {NearestNeighborDecodewords}|hyperpage}{60}
 \indexentry{Syndrome@\texttt  {Syndrome}|hyperpage}{61}
 \indexentry{SyndromeTable@\texttt  {SyndromeTable}|hyperpage}{62}
 \indexentry{syndrome table|hyperpage}{62}
 \indexentry{StandardArray@\texttt  {StandardArray}|hyperpage}{62}
-\indexentry{PermutationDecode@\texttt  {PermutationDecode}|hyperpage}{63}
+\indexentry{PermutationDecode@\texttt  {PermutationDecode}|hyperpage}{62}
 \indexentry{PermutationDecodeNC@\texttt  {PermutationDecodeNC}|hyperpage}{63}
-\indexentry{ElementsCode@\texttt  {ElementsCode}|hyperpage}{65}
-\indexentry{code, Hadamard|hyperpage}{66}
-\indexentry{HadamardCode@\texttt  {HadamardCode}|hyperpage}{66}
-\indexentry{Hadamard matrix|hyperpage}{66}
-\indexentry{code, conference|hyperpage}{66}
-\indexentry{ConferenceCode@\texttt  {ConferenceCode}|hyperpage}{66}
-\indexentry{conference matrix|hyperpage}{67}
-\indexentry{MOLSCode@\texttt  {MOLSCode}|hyperpage}{67}
-\indexentry{RandomCode@\texttt  {RandomCode}|hyperpage}{68}
-\indexentry{code, Nordstrom-Robinson|hyperpage}{68}
-\indexentry{NordstromRobinsonCode@\texttt  {NordstromRobinsonCode}|hyperpage}{68}
-\indexentry{code, greedy|hyperpage}{68}
-\indexentry{GreedyCode@\texttt  {GreedyCode}|hyperpage}{68}
-\indexentry{LexiCode@\texttt  {LexiCode}|hyperpage}{69}
-\indexentry{GeneratorMatCode@\texttt  {GeneratorMatCode}|hyperpage}{69}
-\indexentry{CheckMatCodeMutable@\texttt  {CheckMatCodeMutable}|hyperpage}{70}
-\indexentry{CheckMatCode@\texttt  {CheckMatCode}|hyperpage}{70}
-\indexentry{code, Hamming|hyperpage}{70}
-\indexentry{HammingCode@\texttt  {HammingCode}|hyperpage}{71}
-\indexentry{code, Reed-Muller|hyperpage}{71}
-\indexentry{ReedMullerCode@\texttt  {ReedMullerCode}|hyperpage}{71}
-\indexentry{code, alternant|hyperpage}{71}
-\indexentry{AlternantCode@\texttt  {AlternantCode}|hyperpage}{71}
-\indexentry{code, Goppa (classical)|hyperpage}{71}
-\indexentry{GoppaCode@\texttt  {GoppaCode}|hyperpage}{72}
-\indexentry{code, Srivastava|hyperpage}{72}
-\indexentry{GeneralizedSrivastavaCode@\texttt  {GeneralizedSrivastavaCode}|hyperpage}{72}
-\indexentry{SrivastavaCode@\texttt  {SrivastavaCode}|hyperpage}{73}
-\indexentry{code, Cordaro-Wagner|hyperpage}{73}
-\indexentry{CordaroWagnerCode@\texttt  {CordaroWagnerCode}|hyperpage}{73}
-\indexentry{FerreroDesignCode@\texttt  {FerreroDesignCode}|hyperpage}{73}
-\indexentry{RandomLinearCode@\texttt  {RandomLinearCode}|hyperpage}{74}
-\indexentry{OptimalityCode@\texttt  {OptimalityCode}|hyperpage}{75}
-\indexentry{BestKnownLinearCode@\texttt  {BestKnownLinearCode}|hyperpage}{75}
-\indexentry{code, Gabidulin|hyperpage}{77}
-\indexentry{GabidulinCode@\texttt  {GabidulinCode}|hyperpage}{77}
-\indexentry{EnlargedGabidulinCode@\texttt  {EnlargedGabidulinCode}|hyperpage}{77}
-\indexentry{code, Davydov|hyperpage}{77}
-\indexentry{DavydovCode@\texttt  {DavydovCode}|hyperpage}{77}
-\indexentry{code, Tombak|hyperpage}{77}
-\indexentry{TombakCode@\texttt  {TombakCode}|hyperpage}{77}
-\indexentry{EnlargedTombakCode@\texttt  {EnlargedTombakCode}|hyperpage}{77}
-\indexentry{code, Golay (binary)|hyperpage}{78}
-\indexentry{BinaryGolayCode@\texttt  {BinaryGolayCode}|hyperpage}{78}
-\indexentry{ExtendedBinaryGolayCode@\texttt  {ExtendedBinaryGolayCode}|hyperpage}{78}
-\indexentry{code, Golay (ternary)|hyperpage}{79}
-\indexentry{TernaryGolayCode@\texttt  {TernaryGolayCode}|hyperpage}{79}
-\indexentry{ExtendedTernaryGolayCode@\texttt  {ExtendedTernaryGolayCode}|hyperpage}{79}
-\indexentry{generator polynomial|hyperpage}{80}
-\indexentry{check polynomial|hyperpage}{80}
-\indexentry{GeneratorPolCode@\texttt  {GeneratorPolCode}|hyperpage}{80}
-\indexentry{CheckPolCode@\texttt  {CheckPolCode}|hyperpage}{81}
-\indexentry{RootsCode@\texttt  {RootsCode}|hyperpage}{81}
-\indexentry{code, Bose-Chaudhuri-Hockenghem|hyperpage}{82}
-\indexentry{BCHCode@\texttt  {BCHCode}|hyperpage}{82}
-\indexentry{Bose distance|hyperpage}{82}
-\indexentry{code, Reed-Solomon|hyperpage}{82}
-\indexentry{ReedSolomonCode@\texttt  {ReedSolomonCode}|hyperpage}{83}
-\indexentry{ExtendedReedSolomonCode@\texttt  {ExtendedReedSolomonCode}|hyperpage}{83}
-\indexentry{QRCode@\texttt  {QRCode}|hyperpage}{83}
-\indexentry{QQRCodeNC@\texttt  {QQRCodeNC}|hyperpage}{84}
-\indexentry{QQRCode@\texttt  {QQRCode}|hyperpage}{84}
-\indexentry{code, Fire|hyperpage}{85}
-\indexentry{FireCode@\texttt  {FireCode}|hyperpage}{85}
-\indexentry{order of polynomial|hyperpage}{85}
-\indexentry{WholeSpaceCode@\texttt  {WholeSpaceCode}|hyperpage}{85}
-\indexentry{NullCode@\texttt  {NullCode}|hyperpage}{86}
-\indexentry{RepetitionCode@\texttt  {RepetitionCode}|hyperpage}{86}
-\indexentry{CyclicCodes@\texttt  {CyclicCodes}|hyperpage}{86}
-\indexentry{NrCyclicCodes@\texttt  {NrCyclicCodes}|hyperpage}{86}
-\indexentry{QuasiCyclicCode@\texttt  {QuasiCyclicCode}|hyperpage}{87}
-\indexentry{CyclicMDSCode@\texttt  {CyclicMDSCode}|hyperpage}{88}
-\indexentry{MDS|hyperpage}{88}
-\indexentry{cyclic|hyperpage}{88}
-\indexentry{FourNegacirculantSelfDualCode@\texttt  {FourNegacirculantSelfDualCode}|hyperpage}{89}
-\indexentry{self-dual|hyperpage}{90}
-\indexentry{FourNegacirculantSelfDualCodeNC@\texttt  {FourNegacirculantSelfDualCodeNC}|hyperpage}{90}
-\indexentry{code, evaluation|hyperpage}{90}
-\indexentry{EvaluationCode@\texttt  {EvaluationCode}|hyperpage}{90}
-\indexentry{GeneralizedReedSolomonCode@\texttt  {GeneralizedReedSolomonCode}|hyperpage}{90}
-\indexentry{GeneralizedReedMullerCode@\texttt  {GeneralizedReedMullerCode}|hyperpage}{91}
-\indexentry{ToricPoints@\texttt  {ToricPoints}|hyperpage}{92}
-\indexentry{code, toric|hyperpage}{92}
-\indexentry{ToricCode@\texttt  {ToricCode}|hyperpage}{92}
-\indexentry{code, AG|hyperpage}{93}
-\indexentry{AffineCurve@\texttt  {AffineCurve}|hyperpage}{93}
-\indexentry{point|hyperpage}{93}
-\indexentry{AffinePointsOnCurve@\texttt  {AffinePointsOnCurve}|hyperpage}{94}
-\indexentry{GenusCurve@\texttt  {GenusCurve}|hyperpage}{94}
-\indexentry{GOrbitPoint @\texttt  {GOrbitPoint }|hyperpage}{94}
-\indexentry{divisor|hyperpage}{95}
-\indexentry{support|hyperpage}{95}
-\indexentry{DivisorOnAffineCurve@\texttt  {DivisorOnAffineCurve}|hyperpage}{96}
-\indexentry{DivisorAddition @\texttt  {DivisorAddition }|hyperpage}{96}
-\indexentry{DivisorDegree @\texttt  {DivisorDegree }|hyperpage}{96}
-\indexentry{degree|hyperpage}{96}
-\indexentry{DivisorNegate @\texttt  {DivisorNegate }|hyperpage}{97}
-\indexentry{DivisorIsZero @\texttt  {DivisorIsZero }|hyperpage}{97}
-\indexentry{DivisorsEqual @\texttt  {DivisorsEqual }|hyperpage}{97}
-\indexentry{DivisorGCD @\texttt  {DivisorGCD }|hyperpage}{97}
-\indexentry{greatest common divisor|hyperpage}{97}
-\indexentry{DivisorLCM @\texttt  {DivisorLCM }|hyperpage}{97}
-\indexentry{least common multiple|hyperpage}{97}
-\indexentry{RiemannRochSpaceBasisFunctionP1 @\texttt  {RiemannRochSpaceBasisFunctionP1 }|hyperpage}{99}
-\indexentry{DivisorOfRationalFunctionP1 @\texttt  {DivisorOfRationalFunctionP1 }|hyperpage}{99}
-\indexentry{RiemannRochSpaceBasisP1 @\texttt  {RiemannRochSpaceBasisP1 }|hyperpage}{100}
-\indexentry{MoebiusTransformation @\texttt  {MoebiusTransformation }|hyperpage}{101}
-\indexentry{ActionMoebiusTransformationOnFunction @\texttt  {ActionMoebiusTransformationOnFunction }|hyperpage}{101}
-\indexentry{ActionMoebiusTransformationOnDivisorP1 @\texttt  {ActionMoebiusTransformationOnDivisorP1 }|hyperpage}{101}
-\indexentry{IsActionMoebiusTransformationOnDivisorDefinedP1 @\texttt  {IsAction}\discretionary {-}{}{}\texttt  {Moebius}\discretionary {-}{}{}\texttt  {Transformation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Divisor}\discretionary {-}{}{}\texttt  {DefinedP1 }|hyperpage}{101}
-\indexentry{DivisorAutomorphismGroupP1 @\texttt  {DivisorAutomorphismGroupP1 }|hyperpage}{102}
-\indexentry{MatrixRepresentationOnRiemannRochSpaceP1 @\texttt  {Matrix}\discretionary {-}{}{}\texttt  {Representation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Riemann}\discretionary {-}{}{}\texttt  {Roch}\discretionary {-}{}{}\texttt  {SpaceP1 }|hyperpage}{103}
-\indexentry{GoppaCodeClassical@\texttt  {GoppaCodeClassical}|hyperpage}{104}
-\indexentry{EvaluationBivariateCode@\texttt  {EvaluationBivariateCode}|hyperpage}{104}
-\indexentry{EvaluationBivariateCodeNC@\texttt  {EvaluationBivariateCodeNC}|hyperpage}{104}
-\indexentry{OnePointAGCode@\texttt  {OnePointAGCode}|hyperpage}{105}
-\indexentry{Parity check|hyperpage}{107}
-\indexentry{ExtendedCode@\texttt  {ExtendedCode}|hyperpage}{107}
-\indexentry{PuncturedCode@\texttt  {PuncturedCode}|hyperpage}{108}
-\indexentry{EvenWeightSubcode@\texttt  {EvenWeightSubcode}|hyperpage}{108}
-\indexentry{PermutedCode@\texttt  {PermutedCode}|hyperpage}{109}
-\indexentry{ExpurgatedCode@\texttt  {ExpurgatedCode}|hyperpage}{109}
-\indexentry{AugmentedCode@\texttt  {AugmentedCode}|hyperpage}{110}
-\indexentry{RemovedElementsCode@\texttt  {RemovedElementsCode}|hyperpage}{110}
-\indexentry{AddedElementsCode@\texttt  {AddedElementsCode}|hyperpage}{111}
-\indexentry{ShortenedCode@\texttt  {ShortenedCode}|hyperpage}{111}
-\indexentry{LengthenedCode@\texttt  {LengthenedCode}|hyperpage}{112}
-\indexentry{SubCode@\texttt  {SubCode}|hyperpage}{113}
-\indexentry{ResidueCode@\texttt  {ResidueCode}|hyperpage}{113}
-\indexentry{ConstructionBCode@\texttt  {ConstructionBCode}|hyperpage}{113}
-\indexentry{DualCode@\texttt  {DualCode}|hyperpage}{114}
-\indexentry{self-dual|hyperpage}{114}
-\indexentry{ConversionFieldCode@\texttt  {ConversionFieldCode}|hyperpage}{115}
-\indexentry{TraceCode@\texttt  {TraceCode}|hyperpage}{115}
-\indexentry{CosetCode@\texttt  {CosetCode}|hyperpage}{115}
-\indexentry{ConstantWeightSubcode@\texttt  {ConstantWeightSubcode}|hyperpage}{116}
-\indexentry{StandardFormCode@\texttt  {StandardFormCode}|hyperpage}{116}
-\indexentry{PiecewiseConstantCode@\texttt  {PiecewiseConstantCode}|hyperpage}{117}
-\indexentry{DirectSumCode@\texttt  {DirectSumCode}|hyperpage}{118}
-\indexentry{UUVCode@\texttt  {UUVCode}|hyperpage}{118}
-\indexentry{DirectProductCode@\texttt  {DirectProductCode}|hyperpage}{118}
-\indexentry{IntersectionCode@\texttt  {IntersectionCode}|hyperpage}{119}
-\indexentry{hull|hyperpage}{119}
-\indexentry{UnionCode@\texttt  {UnionCode}|hyperpage}{119}
-\indexentry{ExtendedDirectSumCode@\texttt  {ExtendedDirectSumCode}|hyperpage}{120}
-\indexentry{AmalgamatedDirectSumCode@\texttt  {AmalgamatedDirectSumCode}|hyperpage}{120}
-\indexentry{BlockwiseDirectSumCode@\texttt  {BlockwiseDirectSumCode}|hyperpage}{121}
-\indexentry{ConstructionXCode@\texttt  {ConstructionXCode}|hyperpage}{121}
-\indexentry{ConstructionXXCode@\texttt  {ConstructionXXCode}|hyperpage}{122}
-\indexentry{BZCode@\texttt  {BZCode}|hyperpage}{123}
-\indexentry{BZCodeNC@\texttt  {BZCodeNC}|hyperpage}{124}
-\indexentry{bounds, Singleton|hyperpage}{125}
-\indexentry{UpperBoundSingleton@\texttt  {UpperBoundSingleton}|hyperpage}{126}
-\indexentry{maximum distance separable|hyperpage}{126}
-\indexentry{bounds, Hamming|hyperpage}{126}
-\indexentry{bounds, sphere packing bound|hyperpage}{126}
-\indexentry{perfect|hyperpage}{126}
-\indexentry{UpperBoundHamming@\texttt  {UpperBoundHamming}|hyperpage}{126}
-\indexentry{bounds, Johnson|hyperpage}{126}
-\indexentry{UpperBoundJohnson@\texttt  {UpperBoundJohnson}|hyperpage}{126}
-\indexentry{bounds, Plotkin|hyperpage}{127}
-\indexentry{UpperBoundPlotkin@\texttt  {UpperBoundPlotkin}|hyperpage}{127}
-\indexentry{bounds, Elias|hyperpage}{127}
-\indexentry{UpperBoundElias@\texttt  {UpperBoundElias}|hyperpage}{127}
-\indexentry{bounds, Griesmer|hyperpage}{127}
-\indexentry{UpperBoundGriesmer@\texttt  {UpperBoundGriesmer}|hyperpage}{128}
-\indexentry{Griesmer code|hyperpage}{128}
-\indexentry{IsGriesmerCode@\texttt  {IsGriesmerCode}|hyperpage}{128}
-\indexentry{$A(n,d)$|hyperpage}{128}
-\indexentry{UpperBound@\texttt  {UpperBound}|hyperpage}{128}
-\indexentry{LowerBoundMinimumDistance@\texttt  {LowerBoundMinimumDistance}|hyperpage}{129}
-\indexentry{bound, Gilbert-Varshamov lower|hyperpage}{129}
-\indexentry{LowerBoundGilbertVarshamov@\texttt  {LowerBoundGilbertVarshamov}|hyperpage}{129}
-\indexentry{bound, sphere packing lower|hyperpage}{129}
-\indexentry{LowerBoundSpherePacking@\texttt  {LowerBoundSpherePacking}|hyperpage}{129}
-\indexentry{UpperBoundMinimumDistance@\texttt  {UpperBoundMinimumDistance}|hyperpage}{130}
-\indexentry{BoundsMinimumDistance@\texttt  {BoundsMinimumDistance}|hyperpage}{130}
-\indexentry{BoundsCoveringRadius@\texttt  {BoundsCoveringRadius}|hyperpage}{131}
-\indexentry{IncreaseCoveringRadiusLowerBound@\texttt  {IncreaseCoveringRadiusLowerBound}|hyperpage}{131}
-\indexentry{ExhaustiveSearchCoveringRadius@\texttt  {ExhaustiveSearchCoveringRadius}|hyperpage}{132}
-\indexentry{GeneralLowerBoundCoveringRadius@\texttt  {GeneralLowerBoundCoveringRadius}|hyperpage}{133}
-\indexentry{GeneralUpperBoundCoveringRadius@\texttt  {GeneralUpperBoundCoveringRadius}|hyperpage}{133}
-\indexentry{LowerBoundCoveringRadiusSphereCovering@\texttt  {LowerBoundCoveringRadiusSphereCovering}|hyperpage}{134}
-\indexentry{LowerBoundCoveringRadiusVanWee1@\texttt  {LowerBoundCoveringRadiusVanWee1}|hyperpage}{134}
-\indexentry{LowerBoundCoveringRadiusVanWee2@\texttt  {LowerBoundCoveringRadiusVanWee2}|hyperpage}{135}
-\indexentry{LowerBoundCoveringRadiusCountingExcess@\texttt  {LowerBoundCoveringRadiusCountingExcess}|hyperpage}{135}
-\indexentry{LowerBoundCoveringRadiusEmbedded1@\texttt  {LowerBoundCoveringRadiusEmbedded1}|hyperpage}{136}
-\indexentry{LowerBoundCoveringRadiusEmbedded2@\texttt  {LowerBoundCoveringRadiusEmbedded2}|hyperpage}{136}
-\indexentry{LowerBoundCoveringRadiusInduction@\texttt  {LowerBoundCoveringRadiusInduction}|hyperpage}{137}
-\indexentry{UpperBoundCoveringRadiusRedundancy@\texttt  {UpperBoundCoveringRadiusRedundancy}|hyperpage}{137}
-\indexentry{external distance|hyperpage}{138}
-\indexentry{UpperBoundCoveringRadiusDelsarte@\texttt  {UpperBoundCoveringRadiusDelsarte}|hyperpage}{138}
-\indexentry{UpperBoundCoveringRadiusStrength@\texttt  {UpperBoundCoveringRadiusStrength}|hyperpage}{138}
-\indexentry{strength|hyperpage}{138}
-\indexentry{UpperBoundCoveringRadiusGriesmerLike@\texttt  {UpperBoundCoveringRadiusGriesmerLike}|hyperpage}{138}
-\indexentry{UpperBoundCoveringRadiusCyclicCode@\texttt  {UpperBoundCoveringRadiusCyclicCode}|hyperpage}{139}
-\indexentry{KrawtchoukMat@\texttt  {KrawtchoukMat}|hyperpage}{140}
-\indexentry{Gary code|hyperpage}{140}
-\indexentry{GrayMat@\texttt  {GrayMat}|hyperpage}{140}
-\indexentry{SylvesterMat@\texttt  {SylvesterMat}|hyperpage}{140}
-\indexentry{Hadamard matrix|hyperpage}{141}
-\indexentry{HadamardMat@\texttt  {HadamardMat}|hyperpage}{141}
-\indexentry{VandermondeMat@\texttt  {VandermondeMat}|hyperpage}{141}
-\indexentry{standard form|hyperpage}{142}
-\indexentry{PutStandardForm@\texttt  {PutStandardForm}|hyperpage}{142}
-\indexentry{IsInStandardForm@\texttt  {IsInStandardForm}|hyperpage}{143}
-\indexentry{PermutedCols@\texttt  {PermutedCols}|hyperpage}{143}
-\indexentry{VerticalConversionFieldMat@\texttt  {VerticalConversionFieldMat}|hyperpage}{143}
-\indexentry{HorizontalConversionFieldMat@\texttt  {HorizontalConversionFieldMat}|hyperpage}{144}
-\indexentry{mutually orthogonal Latin squares|hyperpage}{144}
-\indexentry{Latin square|hyperpage}{144}
-\indexentry{MOLS@\texttt  {MOLS}|hyperpage}{144}
-\indexentry{IsLatinSquare@\texttt  {IsLatinSquare}|hyperpage}{145}
-\indexentry{AreMOLS@\texttt  {AreMOLS}|hyperpage}{145}
-\indexentry{CoordinateNorm@\texttt  {CoordinateNorm}|hyperpage}{146}
-\indexentry{norm of a code|hyperpage}{146}
-\indexentry{CodeNorm@\texttt  {CodeNorm}|hyperpage}{146}
-\indexentry{acceptable coordinate|hyperpage}{146}
-\indexentry{IsCoordinateAcceptable@\texttt  {IsCoordinateAcceptable}|hyperpage}{146}
+\indexentry{ElementsCode@\texttt  {ElementsCode}|hyperpage}{64}
+\indexentry{code, Hadamard|hyperpage}{65}
+\indexentry{HadamardCode@\texttt  {HadamardCode}|hyperpage}{65}
+\indexentry{Hadamard matrix|hyperpage}{65}
+\indexentry{code, conference|hyperpage}{65}
+\indexentry{ConferenceCode@\texttt  {ConferenceCode}|hyperpage}{65}
+\indexentry{conference matrix|hyperpage}{66}
+\indexentry{MOLSCode@\texttt  {MOLSCode}|hyperpage}{66}
+\indexentry{RandomCode@\texttt  {RandomCode}|hyperpage}{67}
+\indexentry{code, Nordstrom-Robinson|hyperpage}{67}
+\indexentry{NordstromRobinsonCode@\texttt  {NordstromRobinsonCode}|hyperpage}{67}
+\indexentry{code, greedy|hyperpage}{67}
+\indexentry{GreedyCode@\texttt  {GreedyCode}|hyperpage}{67}
+\indexentry{LexiCode@\texttt  {LexiCode}|hyperpage}{68}
+\indexentry{GeneratorMatCode@\texttt  {GeneratorMatCode}|hyperpage}{68}
+\indexentry{CheckMatCodeMutable@\texttt  {CheckMatCodeMutable}|hyperpage}{69}
+\indexentry{CheckMatCode@\texttt  {CheckMatCode}|hyperpage}{69}
+\indexentry{code, Hamming|hyperpage}{69}
+\indexentry{HammingCode@\texttt  {HammingCode}|hyperpage}{70}
+\indexentry{code, Reed-Muller|hyperpage}{70}
+\indexentry{ReedMullerCode@\texttt  {ReedMullerCode}|hyperpage}{70}
+\indexentry{code, alternant|hyperpage}{70}
+\indexentry{AlternantCode@\texttt  {AlternantCode}|hyperpage}{70}
+\indexentry{code, Goppa (classical)|hyperpage}{70}
+\indexentry{GoppaCode@\texttt  {GoppaCode}|hyperpage}{71}
+\indexentry{code, Srivastava|hyperpage}{71}
+\indexentry{GeneralizedSrivastavaCode@\texttt  {GeneralizedSrivastavaCode}|hyperpage}{71}
+\indexentry{SrivastavaCode@\texttt  {SrivastavaCode}|hyperpage}{72}
+\indexentry{code, Cordaro-Wagner|hyperpage}{72}
+\indexentry{CordaroWagnerCode@\texttt  {CordaroWagnerCode}|hyperpage}{72}
+\indexentry{FerreroDesignCode@\texttt  {FerreroDesignCode}|hyperpage}{72}
+\indexentry{RandomLinearCode@\texttt  {RandomLinearCode}|hyperpage}{73}
+\indexentry{OptimalityCode@\texttt  {OptimalityCode}|hyperpage}{74}
+\indexentry{BestKnownLinearCode@\texttt  {BestKnownLinearCode}|hyperpage}{74}
+\indexentry{code, Gabidulin|hyperpage}{76}
+\indexentry{GabidulinCode@\texttt  {GabidulinCode}|hyperpage}{76}
+\indexentry{EnlargedGabidulinCode@\texttt  {EnlargedGabidulinCode}|hyperpage}{76}
+\indexentry{code, Davydov|hyperpage}{76}
+\indexentry{DavydovCode@\texttt  {DavydovCode}|hyperpage}{76}
+\indexentry{code, Tombak|hyperpage}{76}
+\indexentry{TombakCode@\texttt  {TombakCode}|hyperpage}{76}
+\indexentry{EnlargedTombakCode@\texttt  {EnlargedTombakCode}|hyperpage}{76}
+\indexentry{code, Golay (binary)|hyperpage}{77}
+\indexentry{BinaryGolayCode@\texttt  {BinaryGolayCode}|hyperpage}{77}
+\indexentry{ExtendedBinaryGolayCode@\texttt  {ExtendedBinaryGolayCode}|hyperpage}{77}
+\indexentry{code, Golay (ternary)|hyperpage}{78}
+\indexentry{TernaryGolayCode@\texttt  {TernaryGolayCode}|hyperpage}{78}
+\indexentry{ExtendedTernaryGolayCode@\texttt  {ExtendedTernaryGolayCode}|hyperpage}{78}
+\indexentry{generator polynomial|hyperpage}{79}
+\indexentry{check polynomial|hyperpage}{79}
+\indexentry{GeneratorPolCode@\texttt  {GeneratorPolCode}|hyperpage}{79}
+\indexentry{CheckPolCode@\texttt  {CheckPolCode}|hyperpage}{80}
+\indexentry{RootsCode@\texttt  {RootsCode}|hyperpage}{80}
+\indexentry{code, Bose-Chaudhuri-Hockenghem|hyperpage}{81}
+\indexentry{BCHCode@\texttt  {BCHCode}|hyperpage}{81}
+\indexentry{Bose distance|hyperpage}{81}
+\indexentry{code, Reed-Solomon|hyperpage}{81}
+\indexentry{ReedSolomonCode@\texttt  {ReedSolomonCode}|hyperpage}{82}
+\indexentry{ExtendedReedSolomonCode@\texttt  {ExtendedReedSolomonCode}|hyperpage}{82}
+\indexentry{QRCode@\texttt  {QRCode}|hyperpage}{82}
+\indexentry{QQRCodeNC@\texttt  {QQRCodeNC}|hyperpage}{83}
+\indexentry{QQRCode@\texttt  {QQRCode}|hyperpage}{83}
+\indexentry{code, Fire|hyperpage}{84}
+\indexentry{FireCode@\texttt  {FireCode}|hyperpage}{84}
+\indexentry{order of polynomial|hyperpage}{84}
+\indexentry{WholeSpaceCode@\texttt  {WholeSpaceCode}|hyperpage}{84}
+\indexentry{NullCode@\texttt  {NullCode}|hyperpage}{85}
+\indexentry{RepetitionCode@\texttt  {RepetitionCode}|hyperpage}{85}
+\indexentry{CyclicCodes@\texttt  {CyclicCodes}|hyperpage}{85}
+\indexentry{NrCyclicCodes@\texttt  {NrCyclicCodes}|hyperpage}{85}
+\indexentry{QuasiCyclicCode@\texttt  {QuasiCyclicCode}|hyperpage}{86}
+\indexentry{CyclicMDSCode@\texttt  {CyclicMDSCode}|hyperpage}{87}
+\indexentry{MDS|hyperpage}{87}
+\indexentry{cyclic|hyperpage}{87}
+\indexentry{FourNegacirculantSelfDualCode@\texttt  {FourNegacirculantSelfDualCode}|hyperpage}{88}
+\indexentry{self-dual|hyperpage}{89}
+\indexentry{FourNegacirculantSelfDualCodeNC@\texttt  {FourNegacirculantSelfDualCodeNC}|hyperpage}{89}
+\indexentry{code, evaluation|hyperpage}{89}
+\indexentry{EvaluationCode@\texttt  {EvaluationCode}|hyperpage}{89}
+\indexentry{GeneralizedReedSolomonCode@\texttt  {GeneralizedReedSolomonCode}|hyperpage}{89}
+\indexentry{GeneralizedReedMullerCode@\texttt  {GeneralizedReedMullerCode}|hyperpage}{90}
+\indexentry{ToricPoints@\texttt  {ToricPoints}|hyperpage}{91}
+\indexentry{code, toric|hyperpage}{91}
+\indexentry{ToricCode@\texttt  {ToricCode}|hyperpage}{91}
+\indexentry{code, AG|hyperpage}{92}
+\indexentry{AffineCurve@\texttt  {AffineCurve}|hyperpage}{92}
+\indexentry{point|hyperpage}{92}
+\indexentry{AffinePointsOnCurve@\texttt  {AffinePointsOnCurve}|hyperpage}{93}
+\indexentry{GenusCurve@\texttt  {GenusCurve}|hyperpage}{93}
+\indexentry{GOrbitPoint @\texttt  {GOrbitPoint }|hyperpage}{93}
+\indexentry{divisor|hyperpage}{94}
+\indexentry{support|hyperpage}{94}
+\indexentry{DivisorOnAffineCurve@\texttt  {DivisorOnAffineCurve}|hyperpage}{95}
+\indexentry{DivisorAddition @\texttt  {DivisorAddition }|hyperpage}{95}
+\indexentry{DivisorDegree @\texttt  {DivisorDegree }|hyperpage}{95}
+\indexentry{degree|hyperpage}{95}
+\indexentry{DivisorNegate @\texttt  {DivisorNegate }|hyperpage}{96}
+\indexentry{DivisorIsZero @\texttt  {DivisorIsZero }|hyperpage}{96}
+\indexentry{DivisorsEqual @\texttt  {DivisorsEqual }|hyperpage}{96}
+\indexentry{DivisorGCD @\texttt  {DivisorGCD }|hyperpage}{96}
+\indexentry{greatest common divisor|hyperpage}{96}
+\indexentry{DivisorLCM @\texttt  {DivisorLCM }|hyperpage}{96}
+\indexentry{least common multiple|hyperpage}{96}
+\indexentry{RiemannRochSpaceBasisFunctionP1 @\texttt  {RiemannRochSpaceBasisFunctionP1 }|hyperpage}{98}
+\indexentry{DivisorOfRationalFunctionP1 @\texttt  {DivisorOfRationalFunctionP1 }|hyperpage}{98}
+\indexentry{RiemannRochSpaceBasisP1 @\texttt  {RiemannRochSpaceBasisP1 }|hyperpage}{99}
+\indexentry{MoebiusTransformation @\texttt  {MoebiusTransformation }|hyperpage}{100}
+\indexentry{ActionMoebiusTransformationOnFunction @\texttt  {ActionMoebiusTransformationOnFunction }|hyperpage}{100}
+\indexentry{ActionMoebiusTransformationOnDivisorP1 @\texttt  {ActionMoebiusTransformationOnDivisorP1 }|hyperpage}{100}
+\indexentry{IsActionMoebiusTransformationOnDivisorDefinedP1 @\texttt  {IsAction}\discretionary {-}{}{}\texttt  {Moebius}\discretionary {-}{}{}\texttt  {Transformation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Divisor}\discretionary {-}{}{}\texttt  {DefinedP1 }|hyperpage}{100}
+\indexentry{DivisorAutomorphismGroupP1 @\texttt  {DivisorAutomorphismGroupP1 }|hyperpage}{101}
+\indexentry{MatrixRepresentationOnRiemannRochSpaceP1 @\texttt  {Matrix}\discretionary {-}{}{}\texttt  {Representation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Riemann}\discretionary {-}{}{}\texttt  {Roch}\discretionary {-}{}{}\texttt  {SpaceP1 }|hyperpage}{102}
+\indexentry{GoppaCodeClassical@\texttt  {GoppaCodeClassical}|hyperpage}{103}
+\indexentry{EvaluationBivariateCode@\texttt  {EvaluationBivariateCode}|hyperpage}{103}
+\indexentry{EvaluationBivariateCodeNC@\texttt  {EvaluationBivariateCodeNC}|hyperpage}{103}
+\indexentry{OnePointAGCode@\texttt  {OnePointAGCode}|hyperpage}{104}
+\indexentry{LDPC|hyperpage}{105}
+\indexentry{QCLDPCCodeFromGroup@\texttt  {QCLDPCCodeFromGroup}|hyperpage}{106}
+\indexentry{Parity check|hyperpage}{108}
+\indexentry{ExtendedCode@\texttt  {ExtendedCode}|hyperpage}{108}
+\indexentry{PuncturedCode@\texttt  {PuncturedCode}|hyperpage}{109}
+\indexentry{EvenWeightSubcode@\texttt  {EvenWeightSubcode}|hyperpage}{109}
+\indexentry{PermutedCode@\texttt  {PermutedCode}|hyperpage}{110}
+\indexentry{ExpurgatedCode@\texttt  {ExpurgatedCode}|hyperpage}{110}
+\indexentry{AugmentedCode@\texttt  {AugmentedCode}|hyperpage}{111}
+\indexentry{RemovedElementsCode@\texttt  {RemovedElementsCode}|hyperpage}{111}
+\indexentry{AddedElementsCode@\texttt  {AddedElementsCode}|hyperpage}{112}
+\indexentry{ShortenedCode@\texttt  {ShortenedCode}|hyperpage}{112}
+\indexentry{LengthenedCode@\texttt  {LengthenedCode}|hyperpage}{113}
+\indexentry{SubCode@\texttt  {SubCode}|hyperpage}{114}
+\indexentry{ResidueCode@\texttt  {ResidueCode}|hyperpage}{114}
+\indexentry{ConstructionBCode@\texttt  {ConstructionBCode}|hyperpage}{114}
+\indexentry{DualCode@\texttt  {DualCode}|hyperpage}{115}
+\indexentry{self-dual|hyperpage}{115}
+\indexentry{ConversionFieldCode@\texttt  {ConversionFieldCode}|hyperpage}{116}
+\indexentry{TraceCode@\texttt  {TraceCode}|hyperpage}{116}
+\indexentry{CosetCode@\texttt  {CosetCode}|hyperpage}{116}
+\indexentry{ConstantWeightSubcode@\texttt  {ConstantWeightSubcode}|hyperpage}{117}
+\indexentry{StandardFormCode@\texttt  {StandardFormCode}|hyperpage}{117}
+\indexentry{PiecewiseConstantCode@\texttt  {PiecewiseConstantCode}|hyperpage}{118}
+\indexentry{DirectSumCode@\texttt  {DirectSumCode}|hyperpage}{119}
+\indexentry{UUVCode@\texttt  {UUVCode}|hyperpage}{119}
+\indexentry{DirectProductCode@\texttt  {DirectProductCode}|hyperpage}{119}
+\indexentry{IntersectionCode@\texttt  {IntersectionCode}|hyperpage}{120}
+\indexentry{hull|hyperpage}{120}
+\indexentry{UnionCode@\texttt  {UnionCode}|hyperpage}{120}
+\indexentry{ExtendedDirectSumCode@\texttt  {ExtendedDirectSumCode}|hyperpage}{121}
+\indexentry{AmalgamatedDirectSumCode@\texttt  {AmalgamatedDirectSumCode}|hyperpage}{121}
+\indexentry{BlockwiseDirectSumCode@\texttt  {BlockwiseDirectSumCode}|hyperpage}{122}
+\indexentry{ConstructionXCode@\texttt  {ConstructionXCode}|hyperpage}{122}
+\indexentry{ConstructionXXCode@\texttt  {ConstructionXXCode}|hyperpage}{123}
+\indexentry{BZCode@\texttt  {BZCode}|hyperpage}{124}
+\indexentry{BZCodeNC@\texttt  {BZCodeNC}|hyperpage}{125}
+\indexentry{bounds, Singleton|hyperpage}{126}
+\indexentry{UpperBoundSingleton@\texttt  {UpperBoundSingleton}|hyperpage}{127}
+\indexentry{maximum distance separable|hyperpage}{127}
+\indexentry{bounds, Hamming|hyperpage}{127}
+\indexentry{bounds, sphere packing bound|hyperpage}{127}
+\indexentry{perfect|hyperpage}{127}
+\indexentry{UpperBoundHamming@\texttt  {UpperBoundHamming}|hyperpage}{127}
+\indexentry{bounds, Johnson|hyperpage}{127}
+\indexentry{UpperBoundJohnson@\texttt  {UpperBoundJohnson}|hyperpage}{127}
+\indexentry{bounds, Plotkin|hyperpage}{128}
+\indexentry{UpperBoundPlotkin@\texttt  {UpperBoundPlotkin}|hyperpage}{128}
+\indexentry{bounds, Elias|hyperpage}{128}
+\indexentry{UpperBoundElias@\texttt  {UpperBoundElias}|hyperpage}{128}
+\indexentry{bounds, Griesmer|hyperpage}{128}
+\indexentry{UpperBoundGriesmer@\texttt  {UpperBoundGriesmer}|hyperpage}{129}
+\indexentry{Griesmer code|hyperpage}{129}
+\indexentry{IsGriesmerCode@\texttt  {IsGriesmerCode}|hyperpage}{129}
+\indexentry{$A(n,d)$|hyperpage}{129}
+\indexentry{UpperBound@\texttt  {UpperBound}|hyperpage}{129}
+\indexentry{LowerBoundMinimumDistance@\texttt  {LowerBoundMinimumDistance}|hyperpage}{130}
+\indexentry{bound, Gilbert-Varshamov lower|hyperpage}{130}
+\indexentry{LowerBoundGilbertVarshamov@\texttt  {LowerBoundGilbertVarshamov}|hyperpage}{130}
+\indexentry{bound, sphere packing lower|hyperpage}{130}
+\indexentry{LowerBoundSpherePacking@\texttt  {LowerBoundSpherePacking}|hyperpage}{130}
+\indexentry{UpperBoundMinimumDistance@\texttt  {UpperBoundMinimumDistance}|hyperpage}{131}
+\indexentry{BoundsMinimumDistance@\texttt  {BoundsMinimumDistance}|hyperpage}{131}
+\indexentry{BoundsCoveringRadius@\texttt  {BoundsCoveringRadius}|hyperpage}{132}
+\indexentry{IncreaseCoveringRadiusLowerBound@\texttt  {IncreaseCoveringRadiusLowerBound}|hyperpage}{132}
+\indexentry{ExhaustiveSearchCoveringRadius@\texttt  {ExhaustiveSearchCoveringRadius}|hyperpage}{133}
+\indexentry{GeneralLowerBoundCoveringRadius@\texttt  {GeneralLowerBoundCoveringRadius}|hyperpage}{134}
+\indexentry{GeneralUpperBoundCoveringRadius@\texttt  {GeneralUpperBoundCoveringRadius}|hyperpage}{134}
+\indexentry{LowerBoundCoveringRadiusSphereCovering@\texttt  {LowerBoundCoveringRadiusSphereCovering}|hyperpage}{135}
+\indexentry{LowerBoundCoveringRadiusVanWee1@\texttt  {LowerBoundCoveringRadiusVanWee1}|hyperpage}{135}
+\indexentry{LowerBoundCoveringRadiusVanWee2@\texttt  {LowerBoundCoveringRadiusVanWee2}|hyperpage}{136}
+\indexentry{LowerBoundCoveringRadiusCountingExcess@\texttt  {LowerBoundCoveringRadiusCountingExcess}|hyperpage}{136}
+\indexentry{LowerBoundCoveringRadiusEmbedded1@\texttt  {LowerBoundCoveringRadiusEmbedded1}|hyperpage}{137}
+\indexentry{LowerBoundCoveringRadiusEmbedded2@\texttt  {LowerBoundCoveringRadiusEmbedded2}|hyperpage}{137}
+\indexentry{LowerBoundCoveringRadiusInduction@\texttt  {LowerBoundCoveringRadiusInduction}|hyperpage}{138}
+\indexentry{UpperBoundCoveringRadiusRedundancy@\texttt  {UpperBoundCoveringRadiusRedundancy}|hyperpage}{138}
+\indexentry{external distance|hyperpage}{139}
+\indexentry{UpperBoundCoveringRadiusDelsarte@\texttt  {UpperBoundCoveringRadiusDelsarte}|hyperpage}{139}
+\indexentry{UpperBoundCoveringRadiusStrength@\texttt  {UpperBoundCoveringRadiusStrength}|hyperpage}{139}
+\indexentry{strength|hyperpage}{139}
+\indexentry{UpperBoundCoveringRadiusGriesmerLike@\texttt  {UpperBoundCoveringRadiusGriesmerLike}|hyperpage}{139}
+\indexentry{UpperBoundCoveringRadiusCyclicCode@\texttt  {UpperBoundCoveringRadiusCyclicCode}|hyperpage}{140}
+\indexentry{KrawtchoukMat@\texttt  {KrawtchoukMat}|hyperpage}{141}
+\indexentry{Gary code|hyperpage}{141}
+\indexentry{GrayMat@\texttt  {GrayMat}|hyperpage}{141}
+\indexentry{SylvesterMat@\texttt  {SylvesterMat}|hyperpage}{141}
+\indexentry{Hadamard matrix|hyperpage}{142}
+\indexentry{HadamardMat@\texttt  {HadamardMat}|hyperpage}{142}
+\indexentry{VandermondeMat@\texttt  {VandermondeMat}|hyperpage}{142}
+\indexentry{standard form|hyperpage}{143}
+\indexentry{PutStandardForm@\texttt  {PutStandardForm}|hyperpage}{143}
+\indexentry{IsInStandardForm@\texttt  {IsInStandardForm}|hyperpage}{144}
+\indexentry{PermutedCols@\texttt  {PermutedCols}|hyperpage}{144}
+\indexentry{VerticalConversionFieldMat@\texttt  {VerticalConversionFieldMat}|hyperpage}{144}
+\indexentry{HorizontalConversionFieldMat@\texttt  {HorizontalConversionFieldMat}|hyperpage}{145}
+\indexentry{mutually orthogonal Latin squares|hyperpage}{145}
+\indexentry{Latin square|hyperpage}{145}
+\indexentry{MOLS@\texttt  {MOLS}|hyperpage}{145}
+\indexentry{IsLatinSquare@\texttt  {IsLatinSquare}|hyperpage}{146}
+\indexentry{AreMOLS@\texttt  {AreMOLS}|hyperpage}{146}
+\indexentry{CoordinateNorm@\texttt  {CoordinateNorm}|hyperpage}{147}
+\indexentry{norm of a code|hyperpage}{147}
+\indexentry{CodeNorm@\texttt  {CodeNorm}|hyperpage}{147}
 \indexentry{acceptable coordinate|hyperpage}{147}
-\indexentry{GeneralizedCodeNorm@\texttt  {GeneralizedCodeNorm}|hyperpage}{147}
-\indexentry{normal code|hyperpage}{147}
-\indexentry{IsNormalCode@\texttt  {IsNormalCode}|hyperpage}{147}
-\indexentry{weight enumerator polynomial|hyperpage}{147}
-\indexentry{CodeWeightEnumerator@\texttt  {CodeWeightEnumerator}|hyperpage}{147}
-\indexentry{CodeDistanceEnumerator@\texttt  {CodeDistanceEnumerator}|hyperpage}{148}
-\indexentry{MacWilliams transform|hyperpage}{148}
-\indexentry{CodeMacWilliamsTransform@\texttt  {CodeMacWilliamsTransform}|hyperpage}{148}
-\indexentry{density of a code|hyperpage}{148}
-\indexentry{CodeDensity@\texttt  {CodeDensity}|hyperpage}{148}
-\indexentry{perfect code|hyperpage}{149}
-\indexentry{SphereContent@\texttt  {SphereContent}|hyperpage}{149}
-\indexentry{Krawtchouk@\texttt  {Krawtchouk}|hyperpage}{149}
-\indexentry{PrimitiveUnityRoot@\texttt  {PrimitiveUnityRoot}|hyperpage}{149}
-\indexentry{PrimitivePolynomialsNr@\texttt  {PrimitivePolynomialsNr}|hyperpage}{150}
-\indexentry{IrreduciblePolynomialsNr@\texttt  {IrreduciblePolynomialsNr}|hyperpage}{150}
-\indexentry{MatrixRepresentationOfElement@\texttt  {MatrixRepresentationOfElement}|hyperpage}{150}
-\indexentry{reciprocal polynomial|hyperpage}{151}
-\indexentry{ReciprocalPolynomial@\texttt  {ReciprocalPolynomial}|hyperpage}{151}
-\indexentry{CyclotomicCosets@\texttt  {CyclotomicCosets}|hyperpage}{151}
-\indexentry{WeightHistogram@\texttt  {WeightHistogram}|hyperpage}{152}
-\indexentry{MultiplicityInList@\texttt  {MultiplicityInList}|hyperpage}{152}
-\indexentry{MostCommonInList@\texttt  {MostCommonInList}|hyperpage}{152}
-\indexentry{RotateList@\texttt  {RotateList}|hyperpage}{153}
-\indexentry{CirculantMatrix@\texttt  {CirculantMatrix}|hyperpage}{153}
-\indexentry{MatrixTransformationOnMultivariatePolynomial @\texttt  {Matrix}\discretionary {-}{}{}\texttt  {Transformation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Multivariate}\discretionary {-}{}{}\texttt  {Polynomial }|hyperpage}{153}
-\indexentry{DegreeMultivariatePolynomial@\texttt  {DegreeMultivariatePolynomial}|hyperpage}{153}
-\indexentry{DegreesMultivariatePolynomial@\texttt  {DegreesMultivariatePolynomial}|hyperpage}{154}
-\indexentry{CoefficientMultivariatePolynomial@\texttt  {CoefficientMultivariatePolynomial}|hyperpage}{154}
-\indexentry{SolveLinearSystem@\texttt  {SolveLinearSystem}|hyperpage}{155}
-\indexentry{GuavaVersion@\texttt  {GuavaVersion}|hyperpage}{155}
-\indexentry{ZechLog@\texttt  {ZechLog}|hyperpage}{155}
-\indexentry{CoefficientToPolynomial@\texttt  {CoefficientToPolynomial}|hyperpage}{156}
-\indexentry{DegreesMonomialTerm@\texttt  {DegreesMonomialTerm}|hyperpage}{156}
-\indexentry{DivisorsMultivariatePolynomial@\texttt  {DivisorsMultivariatePolynomial}|hyperpage}{157}
+\indexentry{IsCoordinateAcceptable@\texttt  {IsCoordinateAcceptable}|hyperpage}{147}
+\indexentry{acceptable coordinate|hyperpage}{148}
+\indexentry{GeneralizedCodeNorm@\texttt  {GeneralizedCodeNorm}|hyperpage}{148}
+\indexentry{normal code|hyperpage}{148}
+\indexentry{IsNormalCode@\texttt  {IsNormalCode}|hyperpage}{148}
+\indexentry{weight enumerator polynomial|hyperpage}{148}
+\indexentry{CodeWeightEnumerator@\texttt  {CodeWeightEnumerator}|hyperpage}{148}
+\indexentry{CodeDistanceEnumerator@\texttt  {CodeDistanceEnumerator}|hyperpage}{149}
+\indexentry{MacWilliams transform|hyperpage}{149}
+\indexentry{CodeMacWilliamsTransform@\texttt  {CodeMacWilliamsTransform}|hyperpage}{149}
+\indexentry{density of a code|hyperpage}{149}
+\indexentry{CodeDensity@\texttt  {CodeDensity}|hyperpage}{149}
+\indexentry{perfect code|hyperpage}{150}
+\indexentry{SphereContent@\texttt  {SphereContent}|hyperpage}{150}
+\indexentry{Krawtchouk@\texttt  {Krawtchouk}|hyperpage}{150}
+\indexentry{PrimitiveUnityRoot@\texttt  {PrimitiveUnityRoot}|hyperpage}{150}
+\indexentry{PrimitivePolynomialsNr@\texttt  {PrimitivePolynomialsNr}|hyperpage}{151}
+\indexentry{IrreduciblePolynomialsNr@\texttt  {IrreduciblePolynomialsNr}|hyperpage}{151}
+\indexentry{MatrixRepresentationOfElement@\texttt  {MatrixRepresentationOfElement}|hyperpage}{151}
+\indexentry{reciprocal polynomial|hyperpage}{152}
+\indexentry{ReciprocalPolynomial@\texttt  {ReciprocalPolynomial}|hyperpage}{152}
+\indexentry{CyclotomicCosets@\texttt  {CyclotomicCosets}|hyperpage}{152}
+\indexentry{WeightHistogram@\texttt  {WeightHistogram}|hyperpage}{153}
+\indexentry{MultiplicityInList@\texttt  {MultiplicityInList}|hyperpage}{153}
+\indexentry{MostCommonInList@\texttt  {MostCommonInList}|hyperpage}{153}
+\indexentry{RotateList@\texttt  {RotateList}|hyperpage}{154}
+\indexentry{CirculantMatrix@\texttt  {CirculantMatrix}|hyperpage}{154}
+\indexentry{MatrixTransformationOnMultivariatePolynomial @\texttt  {Matrix}\discretionary {-}{}{}\texttt  {Transformation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Multivariate}\discretionary {-}{}{}\texttt  {Polynomial }|hyperpage}{154}
+\indexentry{DegreeMultivariatePolynomial@\texttt  {DegreeMultivariatePolynomial}|hyperpage}{154}
+\indexentry{DegreesMultivariatePolynomial@\texttt  {DegreesMultivariatePolynomial}|hyperpage}{155}
+\indexentry{CoefficientMultivariatePolynomial@\texttt  {CoefficientMultivariatePolynomial}|hyperpage}{155}
+\indexentry{SolveLinearSystem@\texttt  {SolveLinearSystem}|hyperpage}{156}
+\indexentry{GuavaVersion@\texttt  {GuavaVersion}|hyperpage}{156}
+\indexentry{ZechLog@\texttt  {ZechLog}|hyperpage}{156}
+\indexentry{CoefficientToPolynomial@\texttt  {CoefficientToPolynomial}|hyperpage}{157}
+\indexentry{DegreesMonomialTerm@\texttt  {DegreesMonomialTerm}|hyperpage}{157}
+\indexentry{DivisorsMultivariatePolynomial@\texttt  {DivisorsMultivariatePolynomial}|hyperpage}{158}
diff --git a/doc/guava.ilg b/doc/guava.ilg
index d44e873..954e729 100644
--- a/doc/guava.ilg
+++ b/doc/guava.ilg
@@ -1,6 +1,6 @@
 This is makeindex, version 2.14 [02-Oct-2002] (kpathsea + Thai support).
-Scanning input file guava.idx....done (401 entries accepted, 0 rejected).
-Sorting entries......done (4001 comparisons).
-Generating output file guava.ind....done (472 lines written, 0 warnings).
+Scanning input file guava.idx....done (403 entries accepted, 0 rejected).
+Sorting entries......done (3827 comparisons).
+Generating output file guava.ind....done (474 lines written, 0 warnings).
 Output written in guava.ind.
 Transcript written in guava.ilg.
diff --git a/doc/guava.ind b/doc/guava.ind
index a277b2b..fa06cad 100644
--- a/doc/guava.ind
+++ b/doc/guava.ind
@@ -1,6 +1,6 @@
 \begin{theindex}
 
-  \item $A(n,d)$, \hyperpage{128}
+  \item $A(n,d)$, \hyperpage{129}
   \item $GF(p)$, \hyperpage{17}
   \item $GF(q)$, \hyperpage{17}
   \item $t(n,k)$, \hyperpage{53}
@@ -12,146 +12,146 @@
 
   \indexspace
 
-  \item acceptable coordinate, \hyperpage{146, 147}
+  \item acceptable coordinate, \hyperpage{147, 148}
   \item \texttt  {AClosestVectorComb..MatFFEVecFFECoords}, 
 		\hyperpage{15}
   \item \texttt  {AClosestVectorCombinationsMatFFEVecFFE}, 
 		\hyperpage{14}
   \item \texttt  {ActionMoebiusTransformationOnDivisorP1 }, 
-		\hyperpage{101}
+		\hyperpage{100}
   \item \texttt  {ActionMoebiusTransformationOnFunction }, 
-		\hyperpage{101}
-  \item \texttt  {AddedElementsCode}, \hyperpage{111}
+		\hyperpage{100}
+  \item \texttt  {AddedElementsCode}, \hyperpage{112}
   \item affine code, \hyperpage{37}
-  \item \texttt  {AffineCurve}, \hyperpage{93}
-  \item \texttt  {AffinePointsOnCurve}, \hyperpage{94}
-  \item \texttt  {AlternantCode}, \hyperpage{71}
-  \item \texttt  {AmalgamatedDirectSumCode}, \hyperpage{120}
-  \item \texttt  {AreMOLS}, \hyperpage{145}
+  \item \texttt  {AffineCurve}, \hyperpage{92}
+  \item \texttt  {AffinePointsOnCurve}, \hyperpage{93}
+  \item \texttt  {AlternantCode}, \hyperpage{70}
+  \item \texttt  {AmalgamatedDirectSumCode}, \hyperpage{121}
+  \item \texttt  {AreMOLS}, \hyperpage{146}
   \item \texttt  {AsSSortedList}, \hyperpage{41}
-  \item \texttt  {AugmentedCode}, \hyperpage{110}
+  \item \texttt  {AugmentedCode}, \hyperpage{111}
   \item \texttt  {AutomorphismGroup}, \hyperpage{39}
 
   \indexspace
 
-  \item \texttt  {BCHCode}, \hyperpage{82}
-  \item \texttt  {BestKnownLinearCode}, \hyperpage{75}
-  \item \texttt  {BinaryGolayCode}, \hyperpage{78}
+  \item \texttt  {BCHCode}, \hyperpage{81}
+  \item \texttt  {BestKnownLinearCode}, \hyperpage{74}
+  \item \texttt  {BinaryGolayCode}, \hyperpage{77}
   \item \texttt  {BitFlipDecoder}, \hyperpage{59}
-  \item \texttt  {BlockwiseDirectSumCode}, \hyperpage{121}
-  \item Bose distance, \hyperpage{82}
-  \item bound, Gilbert-Varshamov lower, \hyperpage{129}
-  \item bound, sphere packing lower, \hyperpage{129}
-  \item bounds, Elias, \hyperpage{127}
-  \item bounds, Griesmer, \hyperpage{127}
-  \item bounds, Hamming, \hyperpage{126}
-  \item bounds, Johnson, \hyperpage{126}
-  \item bounds, Plotkin, \hyperpage{127}
-  \item bounds, Singleton, \hyperpage{125}
-  \item bounds, sphere packing bound, \hyperpage{126}
-  \item \texttt  {BoundsCoveringRadius}, \hyperpage{131}
-  \item \texttt  {BoundsMinimumDistance}, \hyperpage{130}
-  \item \texttt  {BZCode}, \hyperpage{123}
-  \item \texttt  {BZCodeNC}, \hyperpage{124}
+  \item \texttt  {BlockwiseDirectSumCode}, \hyperpage{122}
+  \item Bose distance, \hyperpage{81}
+  \item bound, Gilbert-Varshamov lower, \hyperpage{130}
+  \item bound, sphere packing lower, \hyperpage{130}
+  \item bounds, Elias, \hyperpage{128}
+  \item bounds, Griesmer, \hyperpage{128}
+  \item bounds, Hamming, \hyperpage{127}
+  \item bounds, Johnson, \hyperpage{127}
+  \item bounds, Plotkin, \hyperpage{128}
+  \item bounds, Singleton, \hyperpage{126}
+  \item bounds, sphere packing bound, \hyperpage{127}
+  \item \texttt  {BoundsCoveringRadius}, \hyperpage{132}
+  \item \texttt  {BoundsMinimumDistance}, \hyperpage{131}
+  \item \texttt  {BZCode}, \hyperpage{124}
+  \item \texttt  {BZCodeNC}, \hyperpage{125}
 
   \indexspace
 
-  \item check polynomial, \hyperpage{29}, \hyperpage{80}
+  \item check polynomial, \hyperpage{29}, \hyperpage{79}
   \item \texttt  {CheckMat}, \hyperpage{44}
-  \item \texttt  {CheckMatCode}, \hyperpage{70}
-  \item \texttt  {CheckMatCodeMutable}, \hyperpage{70}
+  \item \texttt  {CheckMatCode}, \hyperpage{69}
+  \item \texttt  {CheckMatCodeMutable}, \hyperpage{69}
   \item \texttt  {CheckPol}, \hyperpage{45}
-  \item \texttt  {CheckPolCode}, \hyperpage{81}
-  \item \texttt  {CirculantMatrix}, \hyperpage{153}
+  \item \texttt  {CheckPolCode}, \hyperpage{80}
+  \item \texttt  {CirculantMatrix}, \hyperpage{154}
   \item code, \hyperpage{28}
   \item code, $(n,M,d)$, \hyperpage{28}
   \item code, $[n, k, d]r$, \hyperpage{29}
-  \item code, AG, \hyperpage{93}
-  \item code, alternant, \hyperpage{71}
-  \item code, Bose-Chaudhuri-Hockenghem, \hyperpage{82}
-  \item code, conference, \hyperpage{66}
-  \item code, Cordaro-Wagner, \hyperpage{73}
+  \item code, AG, \hyperpage{92}
+  \item code, alternant, \hyperpage{70}
+  \item code, Bose-Chaudhuri-Hockenghem, \hyperpage{81}
+  \item code, conference, \hyperpage{65}
+  \item code, Cordaro-Wagner, \hyperpage{72}
   \item code, cyclic, \hyperpage{29}
-  \item code, Davydov, \hyperpage{77}
+  \item code, Davydov, \hyperpage{76}
   \item code, doubly-even, \hyperpage{36}
   \item code, element test, \hyperpage{32}
   \item code, elements of, \hyperpage{28}
-  \item code, evaluation, \hyperpage{90}
+  \item code, evaluation, \hyperpage{89}
   \item code, even, \hyperpage{36}
-  \item code, Fire, \hyperpage{85}
-  \item code, Gabidulin, \hyperpage{77}
-  \item code, Golay (binary), \hyperpage{78}
-  \item code, Golay (ternary), \hyperpage{79}
-  \item code, Goppa (classical), \hyperpage{71}
-  \item code, greedy, \hyperpage{68}
-  \item code, Hadamard, \hyperpage{66}
-  \item code, Hamming, \hyperpage{70}
+  \item code, Fire, \hyperpage{84}
+  \item code, Gabidulin, \hyperpage{76}
+  \item code, Golay (binary), \hyperpage{77}
+  \item code, Golay (ternary), \hyperpage{78}
+  \item code, Goppa (classical), \hyperpage{70}
+  \item code, greedy, \hyperpage{67}
+  \item code, Hadamard, \hyperpage{65}
+  \item code, Hamming, \hyperpage{69}
   \item code, linear, \hyperpage{28}
   \item code, maximum distance separable, \hyperpage{35}
-  \item code, Nordstrom-Robinson, \hyperpage{68}
+  \item code, Nordstrom-Robinson, \hyperpage{67}
   \item code, perfect, \hyperpage{34}
-  \item code, Reed-Muller, \hyperpage{71}
-  \item code, Reed-Solomon, \hyperpage{82}
+  \item code, Reed-Muller, \hyperpage{70}
+  \item code, Reed-Solomon, \hyperpage{81}
   \item code, self-dual, \hyperpage{35}
   \item code, self-orthogonal, \hyperpage{35}
   \item code, singly-even, \hyperpage{36}
-  \item code, Srivastava, \hyperpage{72}
+  \item code, Srivastava, \hyperpage{71}
   \item code, subcode, \hyperpage{33}
-  \item code, Tombak, \hyperpage{77}
-  \item code, toric, \hyperpage{92}
+  \item code, Tombak, \hyperpage{76}
+  \item code, toric, \hyperpage{91}
   \item code, unrestricted, \hyperpage{28}
-  \item \texttt  {CodeDensity}, \hyperpage{148}
-  \item \texttt  {CodeDistanceEnumerator}, \hyperpage{148}
+  \item \texttt  {CodeDensity}, \hyperpage{149}
+  \item \texttt  {CodeDistanceEnumerator}, \hyperpage{149}
   \item \texttt  {CodeIsomorphism}, \hyperpage{38}
-  \item \texttt  {CodeMacWilliamsTransform}, \hyperpage{148}
-  \item \texttt  {CodeNorm}, \hyperpage{146}
+  \item \texttt  {CodeMacWilliamsTransform}, \hyperpage{149}
+  \item \texttt  {CodeNorm}, \hyperpage{147}
   \item codes, addition, \hyperpage{31}
   \item codes, decoding, \hyperpage{32}
   \item codes, direct sum, \hyperpage{31}
   \item codes, encoding, \hyperpage{31}
   \item codes, product, \hyperpage{31}
-  \item \texttt  {CodeWeightEnumerator}, \hyperpage{147}
+  \item \texttt  {CodeWeightEnumerator}, \hyperpage{148}
   \item \texttt  {Codeword}, \hyperpage{20}
   \item \texttt  {CodewordNr}, \hyperpage{21}
   \item codewords, addition, \hyperpage{23}
   \item codewords, cosets, \hyperpage{23}
   \item codewords, subtraction, \hyperpage{23}
-  \item \texttt  {CoefficientMultivariatePolynomial}, \hyperpage{154}
-  \item \texttt  {CoefficientToPolynomial}, \hyperpage{156}
-  \item conference matrix, \hyperpage{67}
-  \item \texttt  {ConferenceCode}, \hyperpage{66}
-  \item \texttt  {ConstantWeightSubcode}, \hyperpage{116}
-  \item \texttt  {ConstructionBCode}, \hyperpage{113}
-  \item \texttt  {ConstructionXCode}, \hyperpage{121}
-  \item \texttt  {ConstructionXXCode}, \hyperpage{122}
-  \item \texttt  {ConversionFieldCode}, \hyperpage{115}
+  \item \texttt  {CoefficientMultivariatePolynomial}, \hyperpage{155}
+  \item \texttt  {CoefficientToPolynomial}, \hyperpage{157}
+  \item conference matrix, \hyperpage{66}
+  \item \texttt  {ConferenceCode}, \hyperpage{65}
+  \item \texttt  {ConstantWeightSubcode}, \hyperpage{117}
+  \item \texttt  {ConstructionBCode}, \hyperpage{114}
+  \item \texttt  {ConstructionXCode}, \hyperpage{122}
+  \item \texttt  {ConstructionXXCode}, \hyperpage{123}
+  \item \texttt  {ConversionFieldCode}, \hyperpage{116}
   \item \texttt  {ConwayPolynomial}, \hyperpage{17}
-  \item \texttt  {CoordinateNorm}, \hyperpage{146}
-  \item \texttt  {CordaroWagnerCode}, \hyperpage{73}
+  \item \texttt  {CoordinateNorm}, \hyperpage{147}
+  \item \texttt  {CordaroWagnerCode}, \hyperpage{72}
   \item coset, \hyperpage{23}
-  \item \texttt  {CosetCode}, \hyperpage{115}
+  \item \texttt  {CosetCode}, \hyperpage{116}
   \item covering code, \hyperpage{53}
   \item \texttt  {CoveringRadius}, \hyperpage{53}
-  \item cyclic, \hyperpage{88}
-  \item \texttt  {CyclicCodes}, \hyperpage{86}
-  \item \texttt  {CyclicMDSCode}, \hyperpage{88}
-  \item \texttt  {CyclotomicCosets}, \hyperpage{151}
+  \item cyclic, \hyperpage{87}
+  \item \texttt  {CyclicCodes}, \hyperpage{85}
+  \item \texttt  {CyclicMDSCode}, \hyperpage{87}
+  \item \texttt  {CyclotomicCosets}, \hyperpage{152}
 
   \indexspace
 
-  \item \texttt  {DavydovCode}, \hyperpage{77}
+  \item \texttt  {DavydovCode}, \hyperpage{76}
   \item \texttt  {Decode}, \hyperpage{56}
   \item \texttt  {Decodeword}, \hyperpage{57}
   \item \texttt  {DecreaseMinimumDistanceUpperBound}, \hyperpage{51}
   \item defining polynomial, \hyperpage{17}
-  \item degree, \hyperpage{96}
-  \item \texttt  {DegreeMultivariatePolynomial}, \hyperpage{153}
-  \item \texttt  {DegreesMonomialTerm}, \hyperpage{156}
-  \item \texttt  {DegreesMultivariatePolynomial}, \hyperpage{154}
-  \item density of a code, \hyperpage{148}
+  \item degree, \hyperpage{95}
+  \item \texttt  {DegreeMultivariatePolynomial}, \hyperpage{154}
+  \item \texttt  {DegreesMonomialTerm}, \hyperpage{157}
+  \item \texttt  {DegreesMultivariatePolynomial}, \hyperpage{155}
+  \item density of a code, \hyperpage{149}
   \item \texttt  {Dimension}, \hyperpage{41}
-  \item \texttt  {DirectProductCode}, \hyperpage{118}
-  \item \texttt  {DirectSumCode}, \hyperpage{118}
+  \item \texttt  {DirectProductCode}, \hyperpage{119}
+  \item \texttt  {DirectSumCode}, \hyperpage{119}
   \item \texttt  {Display}, \hyperpage{43}
   \item \texttt  {DisplayBoundsInfo}, \hyperpage{43}
   \item distance, \hyperpage{55}
@@ -160,114 +160,114 @@
   \item \texttt  {DistancesDistributionMatFFEVecFFE}, \hyperpage{15}
   \item \texttt  {DistancesDistributionVecFFEsVecFFE}, \hyperpage{16}
   \item \texttt  {DistanceVecFFE}, \hyperpage{16}
-  \item divisor, \hyperpage{95}
-  \item \texttt  {DivisorAddition }, \hyperpage{96}
-  \item \texttt  {DivisorAutomorphismGroupP1 }, \hyperpage{102}
-  \item \texttt  {DivisorDegree }, \hyperpage{96}
-  \item \texttt  {DivisorGCD }, \hyperpage{97}
-  \item \texttt  {DivisorIsZero }, \hyperpage{97}
-  \item \texttt  {DivisorLCM }, \hyperpage{97}
-  \item \texttt  {DivisorNegate }, \hyperpage{97}
-  \item \texttt  {DivisorOfRationalFunctionP1 }, \hyperpage{99}
-  \item \texttt  {DivisorOnAffineCurve}, \hyperpage{96}
-  \item \texttt  {DivisorsEqual }, \hyperpage{97}
-  \item \texttt  {DivisorsMultivariatePolynomial}, \hyperpage{157}
+  \item divisor, \hyperpage{94}
+  \item \texttt  {DivisorAddition }, \hyperpage{95}
+  \item \texttt  {DivisorAutomorphismGroupP1 }, \hyperpage{101}
+  \item \texttt  {DivisorDegree }, \hyperpage{95}
+  \item \texttt  {DivisorGCD }, \hyperpage{96}
+  \item \texttt  {DivisorIsZero }, \hyperpage{96}
+  \item \texttt  {DivisorLCM }, \hyperpage{96}
+  \item \texttt  {DivisorNegate }, \hyperpage{96}
+  \item \texttt  {DivisorOfRationalFunctionP1 }, \hyperpage{98}
+  \item \texttt  {DivisorOnAffineCurve}, \hyperpage{95}
+  \item \texttt  {DivisorsEqual }, \hyperpage{96}
+  \item \texttt  {DivisorsMultivariatePolynomial}, \hyperpage{158}
   \item doubly-even, \hyperpage{35}
-  \item \texttt  {DualCode}, \hyperpage{114}
+  \item \texttt  {DualCode}, \hyperpage{115}
 
   \indexspace
 
-  \item \texttt  {ElementsCode}, \hyperpage{65}
+  \item \texttt  {ElementsCode}, \hyperpage{64}
   \item encoder map, \hyperpage{31}
-  \item \texttt  {EnlargedGabidulinCode}, \hyperpage{77}
-  \item \texttt  {EnlargedTombakCode}, \hyperpage{77}
+  \item \texttt  {EnlargedGabidulinCode}, \hyperpage{76}
+  \item \texttt  {EnlargedTombakCode}, \hyperpage{76}
   \item equivalent codes, \hyperpage{38}
-  \item \texttt  {EvaluationBivariateCode}, \hyperpage{104}
-  \item \texttt  {EvaluationBivariateCodeNC}, \hyperpage{104}
-  \item \texttt  {EvaluationCode}, \hyperpage{90}
+  \item \texttt  {EvaluationBivariateCode}, \hyperpage{103}
+  \item \texttt  {EvaluationBivariateCodeNC}, \hyperpage{103}
+  \item \texttt  {EvaluationCode}, \hyperpage{89}
   \item even, \hyperpage{36}
-  \item \texttt  {EvenWeightSubcode}, \hyperpage{108}
-  \item \texttt  {ExhaustiveSearchCoveringRadius}, \hyperpage{132}
-  \item \texttt  {ExpurgatedCode}, \hyperpage{109}
-  \item \texttt  {ExtendedBinaryGolayCode}, \hyperpage{78}
-  \item \texttt  {ExtendedCode}, \hyperpage{107}
-  \item \texttt  {ExtendedDirectSumCode}, \hyperpage{120}
-  \item \texttt  {ExtendedReedSolomonCode}, \hyperpage{83}
-  \item \texttt  {ExtendedTernaryGolayCode}, \hyperpage{79}
-  \item external distance, \hyperpage{138}
+  \item \texttt  {EvenWeightSubcode}, \hyperpage{109}
+  \item \texttt  {ExhaustiveSearchCoveringRadius}, \hyperpage{133}
+  \item \texttt  {ExpurgatedCode}, \hyperpage{110}
+  \item \texttt  {ExtendedBinaryGolayCode}, \hyperpage{77}
+  \item \texttt  {ExtendedCode}, \hyperpage{108}
+  \item \texttt  {ExtendedDirectSumCode}, \hyperpage{121}
+  \item \texttt  {ExtendedReedSolomonCode}, \hyperpage{82}
+  \item \texttt  {ExtendedTernaryGolayCode}, \hyperpage{78}
+  \item external distance, \hyperpage{139}
 
   \indexspace
 
-  \item \texttt  {FerreroDesignCode}, \hyperpage{73}
-  \item \texttt  {FireCode}, \hyperpage{85}
-  \item \texttt  {FourNegacirculantSelfDualCode}, \hyperpage{89}
-  \item \texttt  {FourNegacirculantSelfDualCodeNC}, \hyperpage{90}
+  \item \texttt  {FerreroDesignCode}, \hyperpage{72}
+  \item \texttt  {FireCode}, \hyperpage{84}
+  \item \texttt  {FourNegacirculantSelfDualCode}, \hyperpage{88}
+  \item \texttt  {FourNegacirculantSelfDualCodeNC}, \hyperpage{89}
 
   \indexspace
 
-  \item \texttt  {GabidulinCode}, \hyperpage{77}
-  \item Gary code, \hyperpage{140}
-  \item \texttt  {GeneralizedCodeNorm}, \hyperpage{147}
-  \item \texttt  {GeneralizedReedMullerCode}, \hyperpage{91}
-  \item \texttt  {GeneralizedReedSolomonCode}, \hyperpage{90}
+  \item \texttt  {GabidulinCode}, \hyperpage{76}
+  \item Gary code, \hyperpage{141}
+  \item \texttt  {GeneralizedCodeNorm}, \hyperpage{148}
+  \item \texttt  {GeneralizedReedMullerCode}, \hyperpage{90}
+  \item \texttt  {GeneralizedReedSolomonCode}, \hyperpage{89}
   \item \texttt  {GeneralizedReedSolomonDecoderGao}, \hyperpage{58}
   \item \texttt  {GeneralizedReedSolomonListDecoder}, \hyperpage{58}
-  \item \texttt  {GeneralizedSrivastavaCode}, \hyperpage{72}
-  \item \texttt  {GeneralLowerBoundCoveringRadius}, \hyperpage{133}
-  \item \texttt  {GeneralUpperBoundCoveringRadius}, \hyperpage{133}
-  \item generator polynomial, \hyperpage{29}, \hyperpage{80}
+  \item \texttt  {GeneralizedSrivastavaCode}, \hyperpage{71}
+  \item \texttt  {GeneralLowerBoundCoveringRadius}, \hyperpage{134}
+  \item \texttt  {GeneralUpperBoundCoveringRadius}, \hyperpage{134}
+  \item generator polynomial, \hyperpage{29}, \hyperpage{79}
   \item \texttt  {GeneratorMat}, \hyperpage{44}
-  \item \texttt  {GeneratorMatCode}, \hyperpage{69}
+  \item \texttt  {GeneratorMatCode}, \hyperpage{68}
   \item \texttt  {GeneratorPol}, \hyperpage{45}
-  \item \texttt  {GeneratorPolCode}, \hyperpage{80}
-  \item \texttt  {GenusCurve}, \hyperpage{94}
-  \item \texttt  {GoppaCode}, \hyperpage{72}
-  \item \texttt  {GoppaCodeClassical}, \hyperpage{104}
-  \item \texttt  {GOrbitPoint }, \hyperpage{94}
-  \item \texttt  {GrayMat}, \hyperpage{140}
-  \item greatest common divisor, \hyperpage{97}
-  \item \texttt  {GreedyCode}, \hyperpage{68}
-  \item Griesmer code, \hyperpage{128}
-  \item \texttt  {GuavaVersion}, \hyperpage{155}
+  \item \texttt  {GeneratorPolCode}, \hyperpage{79}
+  \item \texttt  {GenusCurve}, \hyperpage{93}
+  \item \texttt  {GoppaCode}, \hyperpage{71}
+  \item \texttt  {GoppaCodeClassical}, \hyperpage{103}
+  \item \texttt  {GOrbitPoint }, \hyperpage{93}
+  \item \texttt  {GrayMat}, \hyperpage{141}
+  \item greatest common divisor, \hyperpage{96}
+  \item \texttt  {GreedyCode}, \hyperpage{67}
+  \item Griesmer code, \hyperpage{129}
+  \item \texttt  {GuavaVersion}, \hyperpage{156}
 
   \indexspace
 
-  \item Hadamard matrix, \hyperpage{66}, \hyperpage{141}
-  \item \texttt  {HadamardCode}, \hyperpage{66}
-  \item \texttt  {HadamardMat}, \hyperpage{141}
+  \item Hadamard matrix, \hyperpage{65}, \hyperpage{142}
+  \item \texttt  {HadamardCode}, \hyperpage{65}
+  \item \texttt  {HadamardMat}, \hyperpage{142}
   \item Hamming metric, \hyperpage{16}
-  \item \texttt  {HammingCode}, \hyperpage{71}
-  \item \texttt  {HorizontalConversionFieldMat}, \hyperpage{144}
-  \item hull, \hyperpage{119}
+  \item \texttt  {HammingCode}, \hyperpage{70}
+  \item \texttt  {HorizontalConversionFieldMat}, \hyperpage{145}
+  \item hull, \hyperpage{120}
 
   \indexspace
 
   \item \texttt  {in}, \hyperpage{32}
-  \item \texttt  {IncreaseCoveringRadiusLowerBound}, \hyperpage{131}
+  \item \texttt  {IncreaseCoveringRadiusLowerBound}, \hyperpage{132}
   \item information bits, \hyperpage{32}
   \item \texttt  {InformationWord}, \hyperpage{32}
   \item \texttt  {InnerDistribution}, \hyperpage{55}
-  \item \texttt  {IntersectionCode}, \hyperpage{119}
-  \item \texttt  {IrreduciblePolynomialsNr}, \hyperpage{150}
+  \item \texttt  {IntersectionCode}, \hyperpage{120}
+  \item \texttt  {IrreduciblePolynomialsNr}, \hyperpage{151}
   \item \texttt  {IsAction}\discretionary {-}{}{}\texttt  {Moebius}\discretionary {-}{}{}\texttt  {Transformation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Divisor}\discretionary {-}{}{}\texttt  {DefinedP1 }, 
-		\hyperpage{101}
+		\hyperpage{100}
   \item \texttt  {IsAffineCode}, \hyperpage{37}
   \item \texttt  {IsAlmostAffineCode}, \hyperpage{38}
   \item IsCheapConwayPolynomial, \hyperpage{17}
   \item \texttt  {IsCode}, \hyperpage{33}
   \item \texttt  {IsCodeword}, \hyperpage{22}
-  \item \texttt  {IsCoordinateAcceptable}, \hyperpage{146}
+  \item \texttt  {IsCoordinateAcceptable}, \hyperpage{147}
   \item \texttt  {IsCyclicCode}, \hyperpage{33}
   \item \texttt  {IsDoublyEvenCode}, \hyperpage{35}
   \item \texttt  {IsEquivalent}, \hyperpage{38}
   \item \texttt  {IsEvenCode}, \hyperpage{36}
   \item \texttt  {IsFinite}, \hyperpage{40}
-  \item \texttt  {IsGriesmerCode}, \hyperpage{128}
-  \item \texttt  {IsInStandardForm}, \hyperpage{143}
-  \item \texttt  {IsLatinSquare}, \hyperpage{145}
+  \item \texttt  {IsGriesmerCode}, \hyperpage{129}
+  \item \texttt  {IsInStandardForm}, \hyperpage{144}
+  \item \texttt  {IsLatinSquare}, \hyperpage{146}
   \item \texttt  {IsLinearCode}, \hyperpage{33}
   \item \texttt  {IsMDSCode}, \hyperpage{34}
-  \item \texttt  {IsNormalCode}, \hyperpage{147}
+  \item \texttt  {IsNormalCode}, \hyperpage{148}
   \item \texttt  {IsPerfectCode}, \hyperpage{34}
   \item IsPrimitivePolynomial, \hyperpage{18}
   \item \texttt  {IsSelfComplementaryCode}, \hyperpage{37}
@@ -278,195 +278,197 @@
 
   \indexspace
 
-  \item \texttt  {Krawtchouk}, \hyperpage{149}
-  \item \texttt  {KrawtchoukMat}, \hyperpage{140}
+  \item \texttt  {Krawtchouk}, \hyperpage{150}
+  \item \texttt  {KrawtchoukMat}, \hyperpage{141}
 
   \indexspace
 
-  \item Latin square, \hyperpage{144}
-  \item least common multiple, \hyperpage{97}
+  \item Latin square, \hyperpage{145}
+  \item LDPC, \hyperpage{105}
+  \item least common multiple, \hyperpage{96}
   \item \texttt  {LeftActingDomain}, \hyperpage{41}
   \item length, \hyperpage{28}
-  \item \texttt  {LengthenedCode}, \hyperpage{112}
-  \item \texttt  {LexiCode}, \hyperpage{69}
+  \item \texttt  {LengthenedCode}, \hyperpage{113}
+  \item \texttt  {LexiCode}, \hyperpage{68}
   \item linear code, \hyperpage{19}
   \item \texttt  {LowerBoundCoveringRadiusCountingExcess}, 
-		\hyperpage{135}
-  \item \texttt  {LowerBoundCoveringRadiusEmbedded1}, \hyperpage{136}
-  \item \texttt  {LowerBoundCoveringRadiusEmbedded2}, \hyperpage{136}
-  \item \texttt  {LowerBoundCoveringRadiusInduction}, \hyperpage{137}
+		\hyperpage{136}
+  \item \texttt  {LowerBoundCoveringRadiusEmbedded1}, \hyperpage{137}
+  \item \texttt  {LowerBoundCoveringRadiusEmbedded2}, \hyperpage{137}
+  \item \texttt  {LowerBoundCoveringRadiusInduction}, \hyperpage{138}
   \item \texttt  {LowerBoundCoveringRadiusSphereCovering}, 
-		\hyperpage{134}
-  \item \texttt  {LowerBoundCoveringRadiusVanWee1}, \hyperpage{134}
-  \item \texttt  {LowerBoundCoveringRadiusVanWee2}, \hyperpage{135}
-  \item \texttt  {LowerBoundGilbertVarshamov}, \hyperpage{129}
-  \item \texttt  {LowerBoundMinimumDistance}, \hyperpage{129}
-  \item \texttt  {LowerBoundSpherePacking}, \hyperpage{129}
+		\hyperpage{135}
+  \item \texttt  {LowerBoundCoveringRadiusVanWee1}, \hyperpage{135}
+  \item \texttt  {LowerBoundCoveringRadiusVanWee2}, \hyperpage{136}
+  \item \texttt  {LowerBoundGilbertVarshamov}, \hyperpage{130}
+  \item \texttt  {LowerBoundMinimumDistance}, \hyperpage{130}
+  \item \texttt  {LowerBoundSpherePacking}, \hyperpage{130}
 
   \indexspace
 
-  \item MacWilliams transform, \hyperpage{148}
-  \item \texttt  {MatrixRepresentationOfElement}, \hyperpage{150}
+  \item MacWilliams transform, \hyperpage{149}
+  \item \texttt  {MatrixRepresentationOfElement}, \hyperpage{151}
   \item \texttt  {Matrix}\discretionary {-}{}{}\texttt  {Representation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Riemann}\discretionary {-}{}{}\texttt  {Roch}\discretionary {-}{}{}\texttt  {SpaceP1 }, 
-		\hyperpage{103}
+		\hyperpage{102}
   \item \texttt  {Matrix}\discretionary {-}{}{}\texttt  {Transformation}\discretionary {-}{}{}\texttt  {On}\discretionary {-}{}{}\texttt  {Multivariate}\discretionary {-}{}{}\texttt  {Polynomial }, 
-		\hyperpage{153}
-  \item maximum distance separable, \hyperpage{126}
-  \item MDS, \hyperpage{35}, \hyperpage{88}
+		\hyperpage{154}
+  \item maximum distance separable, \hyperpage{127}
+  \item MDS, \hyperpage{35}, \hyperpage{87}
   \item minimum distance, \hyperpage{28}
   \item \texttt  {MinimumDistance}, \hyperpage{46}
   \item \texttt  {MinimumDistanceLeon}, \hyperpage{47}
   \item \texttt  {MinimumDistanceRandom}, \hyperpage{51}
   \item \texttt  {MinimumWeight}, \hyperpage{48}
   \item \texttt  {MinimumWeightWords}, \hyperpage{54}
-  \item \texttt  {MoebiusTransformation }, \hyperpage{101}
-  \item \texttt  {MOLS}, \hyperpage{144}
-  \item \texttt  {MOLSCode}, \hyperpage{67}
-  \item \texttt  {MostCommonInList}, \hyperpage{152}
-  \item \texttt  {MultiplicityInList}, \hyperpage{152}
-  \item mutually orthogonal Latin squares, \hyperpage{144}
+  \item \texttt  {MoebiusTransformation }, \hyperpage{100}
+  \item \texttt  {MOLS}, \hyperpage{145}
+  \item \texttt  {MOLSCode}, \hyperpage{66}
+  \item \texttt  {MostCommonInList}, \hyperpage{153}
+  \item \texttt  {MultiplicityInList}, \hyperpage{153}
+  \item mutually orthogonal Latin squares, \hyperpage{145}
 
   \indexspace
 
-  \item \texttt  {NearestNeighborDecodewords}, \hyperpage{61}
+  \item \texttt  {NearestNeighborDecodewords}, \hyperpage{60}
   \item \texttt  {NearestNeighborGRSDecodewords}, \hyperpage{60}
-  \item \texttt  {NordstromRobinsonCode}, \hyperpage{68}
-  \item norm of a code, \hyperpage{146}
-  \item normal code, \hyperpage{147}
+  \item \texttt  {NordstromRobinsonCode}, \hyperpage{67}
+  \item norm of a code, \hyperpage{147}
+  \item normal code, \hyperpage{148}
   \item not =, \hyperpage{22}, \hyperpage{30}
-  \item \texttt  {NrCyclicCodes}, \hyperpage{86}
-  \item \texttt  {NullCode}, \hyperpage{86}
+  \item \texttt  {NrCyclicCodes}, \hyperpage{85}
+  \item \texttt  {NullCode}, \hyperpage{85}
   \item \texttt  {NullWord}, \hyperpage{26}
 
   \indexspace
 
-  \item \texttt  {OnePointAGCode}, \hyperpage{105}
-  \item \texttt  {OptimalityCode}, \hyperpage{75}
-  \item order of polynomial, \hyperpage{85}
+  \item \texttt  {OnePointAGCode}, \hyperpage{104}
+  \item \texttt  {OptimalityCode}, \hyperpage{74}
+  \item order of polynomial, \hyperpage{84}
   \item \texttt  {OuterDistribution}, \hyperpage{56}
 
   \indexspace
 
-  \item Parity check, \hyperpage{107}
+  \item Parity check, \hyperpage{108}
   \item parity check matrix, \hyperpage{28}
-  \item perfect, \hyperpage{126}
-  \item perfect code, \hyperpage{149}
+  \item perfect, \hyperpage{127}
+  \item perfect code, \hyperpage{150}
   \item permutation equivalent codes, \hyperpage{38}
   \item PermutationAutomorphismGroup, \hyperpage{39}
   \item \texttt  {PermutationAutomorphismGroup}, \hyperpage{40}
-  \item \texttt  {PermutationDecode}, \hyperpage{63}
+  \item \texttt  {PermutationDecode}, \hyperpage{62}
   \item \texttt  {PermutationDecodeNC}, \hyperpage{63}
-  \item \texttt  {PermutedCode}, \hyperpage{109}
-  \item \texttt  {PermutedCols}, \hyperpage{143}
-  \item \texttt  {PiecewiseConstantCode}, \hyperpage{117}
-  \item point, \hyperpage{93}
+  \item \texttt  {PermutedCode}, \hyperpage{110}
+  \item \texttt  {PermutedCols}, \hyperpage{144}
+  \item \texttt  {PiecewiseConstantCode}, \hyperpage{118}
+  \item point, \hyperpage{92}
   \item \texttt  {PolyCodeword}, \hyperpage{24}
   \item primitive element, \hyperpage{17}
-  \item \texttt  {PrimitivePolynomialsNr}, \hyperpage{150}
-  \item \texttt  {PrimitiveUnityRoot}, \hyperpage{149}
+  \item \texttt  {PrimitivePolynomialsNr}, \hyperpage{151}
+  \item \texttt  {PrimitiveUnityRoot}, \hyperpage{150}
   \item \texttt  {Print}, \hyperpage{42}
-  \item \texttt  {PuncturedCode}, \hyperpage{108}
-  \item \texttt  {PutStandardForm}, \hyperpage{142}
+  \item \texttt  {PuncturedCode}, \hyperpage{109}
+  \item \texttt  {PutStandardForm}, \hyperpage{143}
 
   \indexspace
 
-  \item \texttt  {QQRCode}, \hyperpage{84}
-  \item \texttt  {QQRCodeNC}, \hyperpage{84}
-  \item \texttt  {QRCode}, \hyperpage{83}
-  \item \texttt  {QuasiCyclicCode}, \hyperpage{87}
+  \item \texttt  {QCLDPCCodeFromGroup}, \hyperpage{106}
+  \item \texttt  {QQRCode}, \hyperpage{83}
+  \item \texttt  {QQRCodeNC}, \hyperpage{83}
+  \item \texttt  {QRCode}, \hyperpage{82}
+  \item \texttt  {QuasiCyclicCode}, \hyperpage{86}
 
   \indexspace
 
-  \item \texttt  {RandomCode}, \hyperpage{68}
-  \item \texttt  {RandomLinearCode}, \hyperpage{74}
+  \item \texttt  {RandomCode}, \hyperpage{67}
+  \item \texttt  {RandomLinearCode}, \hyperpage{73}
   \item \texttt  {RandomPrimitivePolynomial}, \hyperpage{18}
-  \item reciprocal polynomial, \hyperpage{151}
-  \item \texttt  {ReciprocalPolynomial}, \hyperpage{151}
+  \item reciprocal polynomial, \hyperpage{152}
+  \item \texttt  {ReciprocalPolynomial}, \hyperpage{152}
   \item \texttt  {Redundancy}, \hyperpage{46}
-  \item \texttt  {ReedMullerCode}, \hyperpage{71}
-  \item \texttt  {ReedSolomonCode}, \hyperpage{83}
-  \item \texttt  {RemovedElementsCode}, \hyperpage{110}
-  \item \texttt  {RepetitionCode}, \hyperpage{86}
-  \item \texttt  {ResidueCode}, \hyperpage{113}
-  \item \texttt  {RiemannRochSpaceBasisFunctionP1 }, \hyperpage{99}
-  \item \texttt  {RiemannRochSpaceBasisP1 }, \hyperpage{100}
-  \item \texttt  {RootsCode}, \hyperpage{81}
+  \item \texttt  {ReedMullerCode}, \hyperpage{70}
+  \item \texttt  {ReedSolomonCode}, \hyperpage{82}
+  \item \texttt  {RemovedElementsCode}, \hyperpage{111}
+  \item \texttt  {RepetitionCode}, \hyperpage{85}
+  \item \texttt  {ResidueCode}, \hyperpage{114}
+  \item \texttt  {RiemannRochSpaceBasisFunctionP1 }, \hyperpage{98}
+  \item \texttt  {RiemannRochSpaceBasisP1 }, \hyperpage{99}
+  \item \texttt  {RootsCode}, \hyperpage{80}
   \item \texttt  {RootsOfCode}, \hyperpage{45}
-  \item \texttt  {RotateList}, \hyperpage{153}
+  \item \texttt  {RotateList}, \hyperpage{154}
 
   \indexspace
 
   \item self complementary code, \hyperpage{37}
-  \item self-dual, \hyperpage{90}, \hyperpage{114}
+  \item self-dual, \hyperpage{89}, \hyperpage{115}
   \item self-orthogonal, \hyperpage{35}
   \item \texttt  {SetCoveringRadius}, \hyperpage{54}
-  \item \texttt  {ShortenedCode}, \hyperpage{111}
+  \item \texttt  {ShortenedCode}, \hyperpage{112}
   \item singly-even, \hyperpage{36}
   \item \texttt  {Size}, \hyperpage{40}
   \item size, \hyperpage{28}
-  \item \texttt  {SolveLinearSystem}, \hyperpage{155}
-  \item \texttt  {SphereContent}, \hyperpage{149}
-  \item \texttt  {SrivastavaCode}, \hyperpage{73}
-  \item standard form, \hyperpage{142}
+  \item \texttt  {SolveLinearSystem}, \hyperpage{156}
+  \item \texttt  {SphereContent}, \hyperpage{150}
+  \item \texttt  {SrivastavaCode}, \hyperpage{72}
+  \item standard form, \hyperpage{143}
   \item \texttt  {StandardArray}, \hyperpage{62}
-  \item \texttt  {StandardFormCode}, \hyperpage{116}
-  \item strength, \hyperpage{138}
+  \item \texttt  {StandardFormCode}, \hyperpage{117}
+  \item strength, \hyperpage{139}
   \item \texttt  {String}, \hyperpage{42}
-  \item \texttt  {SubCode}, \hyperpage{113}
+  \item \texttt  {SubCode}, \hyperpage{114}
   \item \texttt  {Support}, \hyperpage{26}
-  \item support, \hyperpage{95}
-  \item \texttt  {SylvesterMat}, \hyperpage{140}
+  \item support, \hyperpage{94}
+  \item \texttt  {SylvesterMat}, \hyperpage{141}
   \item \texttt  {Syndrome}, \hyperpage{61}
   \item syndrome table, \hyperpage{62}
   \item \texttt  {SyndromeTable}, \hyperpage{62}
 
   \indexspace
 
-  \item \texttt  {TernaryGolayCode}, \hyperpage{79}
-  \item \texttt  {TombakCode}, \hyperpage{77}
-  \item \texttt  {ToricCode}, \hyperpage{92}
-  \item \texttt  {ToricPoints}, \hyperpage{92}
-  \item \texttt  {TraceCode}, \hyperpage{115}
+  \item \texttt  {TernaryGolayCode}, \hyperpage{78}
+  \item \texttt  {TombakCode}, \hyperpage{76}
+  \item \texttt  {ToricCode}, \hyperpage{91}
+  \item \texttt  {ToricPoints}, \hyperpage{91}
+  \item \texttt  {TraceCode}, \hyperpage{116}
   \item \texttt  {TreatAsPoly}, \hyperpage{25}
   \item \texttt  {TreatAsVector}, \hyperpage{25}
 
   \indexspace
 
-  \item \texttt  {UnionCode}, \hyperpage{119}
-  \item \texttt  {UpperBound}, \hyperpage{128}
-  \item \texttt  {UpperBoundCoveringRadiusCyclicCode}, \hyperpage{139}
-  \item \texttt  {UpperBoundCoveringRadiusDelsarte}, \hyperpage{138}
+  \item \texttt  {UnionCode}, \hyperpage{120}
+  \item \texttt  {UpperBound}, \hyperpage{129}
+  \item \texttt  {UpperBoundCoveringRadiusCyclicCode}, \hyperpage{140}
+  \item \texttt  {UpperBoundCoveringRadiusDelsarte}, \hyperpage{139}
   \item \texttt  {UpperBoundCoveringRadiusGriesmerLike}, 
-		\hyperpage{138}
-  \item \texttt  {UpperBoundCoveringRadiusRedundancy}, \hyperpage{137}
-  \item \texttt  {UpperBoundCoveringRadiusStrength}, \hyperpage{138}
-  \item \texttt  {UpperBoundElias}, \hyperpage{127}
-  \item \texttt  {UpperBoundGriesmer}, \hyperpage{128}
-  \item \texttt  {UpperBoundHamming}, \hyperpage{126}
-  \item \texttt  {UpperBoundJohnson}, \hyperpage{126}
-  \item \texttt  {UpperBoundMinimumDistance}, \hyperpage{130}
-  \item \texttt  {UpperBoundPlotkin}, \hyperpage{127}
-  \item \texttt  {UpperBoundSingleton}, \hyperpage{126}
-  \item \texttt  {UUVCode}, \hyperpage{118}
+		\hyperpage{139}
+  \item \texttt  {UpperBoundCoveringRadiusRedundancy}, \hyperpage{138}
+  \item \texttt  {UpperBoundCoveringRadiusStrength}, \hyperpage{139}
+  \item \texttt  {UpperBoundElias}, \hyperpage{128}
+  \item \texttt  {UpperBoundGriesmer}, \hyperpage{129}
+  \item \texttt  {UpperBoundHamming}, \hyperpage{127}
+  \item \texttt  {UpperBoundJohnson}, \hyperpage{127}
+  \item \texttt  {UpperBoundMinimumDistance}, \hyperpage{131}
+  \item \texttt  {UpperBoundPlotkin}, \hyperpage{128}
+  \item \texttt  {UpperBoundSingleton}, \hyperpage{127}
+  \item \texttt  {UUVCode}, \hyperpage{119}
 
   \indexspace
 
-  \item \texttt  {VandermondeMat}, \hyperpage{141}
+  \item \texttt  {VandermondeMat}, \hyperpage{142}
   \item \texttt  {VectorCodeword}, \hyperpage{24}
-  \item \texttt  {VerticalConversionFieldMat}, \hyperpage{143}
+  \item \texttt  {VerticalConversionFieldMat}, \hyperpage{144}
 
   \indexspace
 
-  \item weight enumerator polynomial, \hyperpage{147}
+  \item weight enumerator polynomial, \hyperpage{148}
   \item \texttt  {WeightCodeword}, \hyperpage{27}
   \item \texttt  {WeightDistribution}, \hyperpage{54}
-  \item \texttt  {WeightHistogram}, \hyperpage{152}
+  \item \texttt  {WeightHistogram}, \hyperpage{153}
   \item \texttt  {WeightVecFFE}, \hyperpage{16}
-  \item \texttt  {WholeSpaceCode}, \hyperpage{85}
+  \item \texttt  {WholeSpaceCode}, \hyperpage{84}
   \item \texttt  {WordLength}, \hyperpage{46}
 
   \indexspace
 
-  \item \texttt  {ZechLog}, \hyperpage{155}
+  \item \texttt  {ZechLog}, \hyperpage{156}
 
 \end{theindex}
diff --git a/doc/guava.log b/doc/guava.log
index e59a6dd..6365ed3 100644
--- a/doc/guava.log
+++ b/doc/guava.log
@@ -1,11 +1,16 @@
-This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2007.12.9)  25 APR 2008 21:21
+This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2008.5.24)  20 JUN 2008 17:06
 entering extended mode
  %&-line parsing enabled.
 **guava
 (./guava.tex
 LaTeX2e <2005/12/01>
 Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
-yphenation, loaded.
+yphenation, croatian, ukrainian, russian, bulgarian, czech, slovak, danish, dut
+ch, finnish, basque, french, german, ngerman, ibycus, greek, monogreek, ancient
+greek, hungarian, italian, latin, mongolian, norsk, icelandic, interlingua, tur
+kish, coptic, romanian, welsh, serbian, slovenian, estonian, esperanto, upperso
+rbian, indonesian, polish, portuguese, spanish, catalan, galician, swedish, loa
+ded.
 (/usr/share/texmf-texlive/tex/latex/base/report.cls
 Document Class: report 2005/09/16 v1.4f Standard LaTeX document class
 (/usr/share/texmf-texlive/tex/latex/base/size11.clo
@@ -274,41 +279,29 @@ Underfull \hbox (badness 10000) in paragraph at lines 69--78
 [1
 
 {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
+LaTeX Font Info:    Font shape `OT1/phv/m/n' will be
+(Font)              scaled to size 8.99994pt on input line 84.
 LaTeX Font Info:    Font shape `OMS/ptm/m/n' in size <10> not available
 (Font)              Font shape `OMS/pzccm/m/n' tried instead on input line 84.
-LaTeX Font Info:    Font shape `OT1/phv/m/n' will be
-(Font)              scaled to size 8.99994pt on input line 90.
-
-Underfull \hbox (badness 7168) in paragraph at lines 90--92
-[]\OT1/phv/m/n/10 GUAVA \OT1/ptm/m/n/10 is re-leased un-der the GNU Gen-eral Pu
-b-lic Li-cense (GPL). This file is part of
- []
 
+Underfull \hbox (badness 10000) in paragraph at lines 113--122
 
-Underfull \hbox (badness 2126) in paragraph at lines 90--92
-\OT1/phv/m/n/10 GUAVA\OT1/ptm/m/n/10 , though as doc-u-men-ta-tion it is re-lea
-sed un-der the GNU Free Doc-u-men-ta-tion Li-cense (see
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 106--114
-
- []
-
-
-Underfull \hbox (badness 1057) in paragraph at lines 138--139
+Underfull \hbox (badness 1057) in paragraph at lines 146--147
 \OT1/ptm/m/n/10 Cur-rently known bugs and sug-gested \OT1/phv/m/n/10 GUAVA \OT1
 /ptm/m/n/10 projects are listed on the bugs and projects web page
  []
 
-
-Underfull \hbox (badness 10000) in paragraph at lines 144--145
+LaTeX Font Info:    Font shape `OT1/phv/m/sl' will be
+(Font)              scaled to size 7.19995pt on input line 152.
+[2]
+Underfull \hbox (badness 10000) in paragraph at lines 152--153
 
  []
 
-LaTeX Font Info:    Font shape `OT1/phv/m/sl' will be
-(Font)              scaled to size 7.19995pt on input line 145.
-[2] [3] (./guava.toc
+[3] (./guava.toc
 LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <10.95> not available
 (Font)              Font shape `OT1/ptm/b/n' tried instead on input line 1.
 LaTeX Font Info:    Font shape `OT1/phv/m/n' will be
@@ -354,48 +347,48 @@ LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <6> not available
  [11]
 Chapter 1.
 LaTeX Font Info:    Font shape `OT1/ptm/bx/n' in size <20.74> not available
-(Font)              Font shape `OT1/ptm/b/n' tried instead on input line 153.
+(Font)              Font shape `OT1/ptm/b/n' tried instead on input line 161.
 LaTeX Font Info:    Font shape `OMS/ptm/m/n' in size <10.95> not available
-(Font)              Font shape `OMS/pzccm/m/n' tried instead on input line 167.
+(Font)              Font shape `OMS/pzccm/m/n' tried instead on input line 175.
 
 [12
 
 ] [13]
 Chapter 2.
 
-Underfull \hbox (badness 10000) in paragraph at lines 264--267
+Underfull \hbox (badness 10000) in paragraph at lines 272--275
 
  []
 
 [14
 
 ]
-Underfull \hbox (badness 10000) in paragraph at lines 299--302
+Underfull \hbox (badness 10000) in paragraph at lines 307--310
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 325--328
+Underfull \hbox (badness 10000) in paragraph at lines 333--336
 
  []
 
 [15]
-Underfull \hbox (badness 10000) in paragraph at lines 350--353
+Underfull \hbox (badness 10000) in paragraph at lines 358--361
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 375--378
+Underfull \hbox (badness 10000) in paragraph at lines 383--386
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 393--396
+Underfull \hbox (badness 10000) in paragraph at lines 401--404
 
  []
 
 
-Underfull \hbox (badness 2150) in paragraph at lines 399--402
+Underfull \hbox (badness 2150) in paragraph at lines 407--410
 \OT1/ptm/m/n/10.95 This is also called the (Ham-ming) dis-tance be-tween $\OML/
 ptmcm/m/it/10.95 v \OT1/ptmcm/m/n/10.95 = (\OML/ptmcm/m/it/10.95 v[]; :::; v[]\
 OT1/ptmcm/m/n/10.95 )$ \OT1/ptm/m/n/10.95 and $\OML/ptmcm/m/it/10.95 w \OT1/ptm
@@ -404,12 +397,12 @@ ptm/m/n/10.95 .
  []
 
 [16]
-Underfull \hbox (badness 10000) in paragraph at lines 427--430
+Underfull \hbox (badness 10000) in paragraph at lines 435--438
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 453--456
+Underfull \hbox (badness 10000) in paragraph at lines 461--464
 
  []
 
@@ -418,44 +411,44 @@ Chapter 3.
 [19
 
 ]
-Underfull \hbox (badness 10000) in paragraph at lines 515--518
+Underfull \hbox (badness 10000) in paragraph at lines 523--526
 
  []
 
 [20]
-Underfull \hbox (badness 10000) in paragraph at lines 584--587
+Underfull \hbox (badness 10000) in paragraph at lines 592--595
 
  []
 
 [21]
-Underfull \hbox (badness 10000) in paragraph at lines 612--615
+Underfull \hbox (badness 10000) in paragraph at lines 620--623
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 642--645
+Underfull \hbox (badness 10000) in paragraph at lines 650--653
 
  []
 
-LaTeX Font Info:    Try loading font information for OML+ptm on input line 656.
+LaTeX Font Info:    Try loading font information for OML+ptm on input line 664.
 
 (/usr/share/texmf-texlive/tex/latex/psnfss/omlptm.fd
 File: omlptm.fd 
 )
 LaTeX Font Info:    Font shape `OML/ptm/m/n' in size <10.95> not available
-(Font)              Font shape `OML/cmm/m/it' tried instead on input line 656.
+(Font)              Font shape `OML/cmm/m/it' tried instead on input line 664.
  [22]
-Underfull \hbox (badness 10000) in paragraph at lines 692--695
+Underfull \hbox (badness 10000) in paragraph at lines 700--703
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 718--721
+Underfull \hbox (badness 10000) in paragraph at lines 726--729
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 730--733
+Underfull \hbox (badness 10000) in paragraph at lines 738--741
 
  []
 
@@ -463,44 +456,44 @@ Underfull \hbox (badness 10000) in paragraph at lines 730--733
 17F270341}) has been already used, duplicate ignored
 <to be read again> 
                    \endgroup \set at typeset@protect 
-l.748 ...5,?] randomly generated code over GF(2) ]
+l.756 ...5,?] randomly generated code over GF(2) ]
                                                   ]
-Underfull \hbox (badness 10000) in paragraph at lines 789--792
+Underfull \hbox (badness 10000) in paragraph at lines 797--800
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 808--811
+Underfull \hbox (badness 10000) in paragraph at lines 816--819
 
  []
 
 [24]
-Underfull \hbox (badness 10000) in paragraph at lines 833--836
+Underfull \hbox (badness 10000) in paragraph at lines 841--844
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 859--862
+Underfull \hbox (badness 10000) in paragraph at lines 867--870
 
  []
 
 [25]
-Underfull \hbox (badness 10000) in paragraph at lines 895--898
+Underfull \hbox (badness 10000) in paragraph at lines 903--906
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 918--921
+Underfull \hbox (badness 10000) in paragraph at lines 926--929
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 942--945
+Underfull \hbox (badness 10000) in paragraph at lines 950--953
 
  []
 
 [26]
-Underfull \hbox (badness 10000) in paragraph at lines 971--974
+Underfull \hbox (badness 10000) in paragraph at lines 979--982
 
  []
 
@@ -512,9 +505,9 @@ Chapter 4.
 456781234567}) has been already used, duplicate ignored
 <to be read again> 
                    \relax 
-l.1090 \hyperdef{L}{X8123456781234567}{}
+l.1098 \hyperdef{L}{X8123456781234567}{}
                                         
-Underfull \hbox (badness 10000) in paragraph at lines 1091--1094
+Underfull \hbox (badness 10000) in paragraph at lines 1099--1102
 
  []
 
@@ -522,9 +515,9 @@ Underfull \hbox (badness 10000) in paragraph at lines 1091--1094
 417F270341}) has been already used, duplicate ignored
 <to be read again> 
                    \relax 
-l.1131 \hyperdef{L}{X7F2703417F270341}{}
+l.1139 \hyperdef{L}{X7F2703417F270341}{}
                                         
-Underfull \hbox (badness 10000) in paragraph at lines 1132--1135
+Underfull \hbox (badness 10000) in paragraph at lines 1140--1143
 
  []
 
@@ -532,9 +525,9 @@ pdfTeX warning (ext4): destination with the same identifier (name{L.X8123456781
 234567}) has been already used, duplicate ignored
 <to be read again> 
                    \relax 
-l.1154 \hyperdef{L}{X8123456781234567}{}
+l.1162 \hyperdef{L}{X8123456781234567}{}
                                         
-Underfull \hbox (badness 10000) in paragraph at lines 1155--1158
+Underfull \hbox (badness 10000) in paragraph at lines 1163--1166
 
  []
 
@@ -542,349 +535,349 @@ pdfTeX warning (ext4): destination with the same identifier (name{L.X8123456781
 234567}) has been already used, duplicate ignored
 <to be read again> 
                    \relax 
-l.1175 \hyperdef{L}{X8123456781234567}{}
+l.1183 \hyperdef{L}{X8123456781234567}{}
                                         
-Underfull \hbox (badness 10000) in paragraph at lines 1176--1179
+Underfull \hbox (badness 10000) in paragraph at lines 1184--1187
 
  []
 
 [31]
-Underfull \hbox (badness 10000) in paragraph at lines 1201--1204
+Underfull \hbox (badness 10000) in paragraph at lines 1209--1212
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1240--1243
+Underfull \hbox (badness 10000) in paragraph at lines 1248--1251
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1261--1264
+Underfull \hbox (badness 10000) in paragraph at lines 1269--1272
 
  []
 
 [32]
-Underfull \hbox (badness 10000) in paragraph at lines 1282--1285
+Underfull \hbox (badness 10000) in paragraph at lines 1290--1293
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1302--1305
+Underfull \hbox (badness 10000) in paragraph at lines 1310--1313
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1327--1330
+Underfull \hbox (badness 10000) in paragraph at lines 1335--1338
 
  []
 
 [33]
-Underfull \hbox (badness 10000) in paragraph at lines 1352--1355
+Underfull \hbox (badness 10000) in paragraph at lines 1360--1363
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1382--1385
+Underfull \hbox (badness 10000) in paragraph at lines 1390--1393
 
  []
 
 [34]
-Underfull \hbox (badness 10000) in paragraph at lines 1406--1409
+Underfull \hbox (badness 10000) in paragraph at lines 1414--1417
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1432--1435
+Underfull \hbox (badness 10000) in paragraph at lines 1440--1443
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1454--1457
+Underfull \hbox (badness 10000) in paragraph at lines 1462--1465
 
  []
 
 [35]
-Underfull \hbox (badness 10000) in paragraph at lines 1483--1486
+Underfull \hbox (badness 10000) in paragraph at lines 1491--1494
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1509--1512
+Underfull \hbox (badness 10000) in paragraph at lines 1517--1520
 
  []
 
 [36]
-Underfull \hbox (badness 10000) in paragraph at lines 1543--1546
+Underfull \hbox (badness 10000) in paragraph at lines 1551--1554
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1565--1568
+Underfull \hbox (badness 10000) in paragraph at lines 1573--1576
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1588--1591
+Underfull \hbox (badness 10000) in paragraph at lines 1596--1599
 
  []
 
 [37]
-Underfull \hbox (badness 10000) in paragraph at lines 1619--1622
+Underfull \hbox (badness 10000) in paragraph at lines 1627--1630
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1648--1651
+Underfull \hbox (badness 10000) in paragraph at lines 1656--1659
 
  []
 
 [38]
-Underfull \hbox (badness 10000) in paragraph at lines 1673--1676
+Underfull \hbox (badness 10000) in paragraph at lines 1681--1684
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1712--1715
+Underfull \hbox (badness 10000) in paragraph at lines 1720--1723
 
  []
 
 [39]
-Underfull \hbox (badness 10000) in paragraph at lines 1744--1747
+Underfull \hbox (badness 10000) in paragraph at lines 1752--1755
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1761--1764
+Underfull \hbox (badness 10000) in paragraph at lines 1769--1772
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1781--1784
+Underfull \hbox (badness 10000) in paragraph at lines 1789--1792
 
  []
 
 [40]
-Underfull \hbox (badness 10000) in paragraph at lines 1803--1806
+Underfull \hbox (badness 10000) in paragraph at lines 1811--1814
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1827--1830
+Underfull \hbox (badness 10000) in paragraph at lines 1835--1838
 
  []
 
 [41]
-Underfull \hbox (badness 10000) in paragraph at lines 1861--1864
+Underfull \hbox (badness 10000) in paragraph at lines 1869--1872
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1900--1903
+Underfull \hbox (badness 10000) in paragraph at lines 1908--1911
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1923--1926
+Underfull \hbox (badness 10000) in paragraph at lines 1931--1934
 
  []
 
 [42]
-Underfull \hbox (badness 10000) in paragraph at lines 1950--1953
+Underfull \hbox (badness 10000) in paragraph at lines 1958--1961
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 1988--1991
+Underfull \hbox (badness 10000) in paragraph at lines 1996--1999
 
  []
 
 [43]
-Underfull \hbox (badness 10000) in paragraph at lines 2023--2026
+Underfull \hbox (badness 10000) in paragraph at lines 2031--2034
 
  []
 
 [44]
-Underfull \hbox (badness 10000) in paragraph at lines 2058--2061
+Underfull \hbox (badness 10000) in paragraph at lines 2066--2069
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2082--2085
+Underfull \hbox (badness 10000) in paragraph at lines 2090--2093
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2108--2111
+Underfull \hbox (badness 10000) in paragraph at lines 2116--2119
 
  []
 
 [45]
-Underfull \hbox (badness 10000) in paragraph at lines 2142--2145
+Underfull \hbox (badness 10000) in paragraph at lines 2150--2153
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2164--2167
+Underfull \hbox (badness 10000) in paragraph at lines 2172--2175
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2187--2190
+Underfull \hbox (badness 10000) in paragraph at lines 2195--2198
 
  []
 
 [46]
 LaTeX Font Info:    Font shape `OT1/pcr/m/it' in size <10.95> not available
-(Font)              Font shape `OT1/pcr/m/sl' tried instead on input line 2200.
+(Font)              Font shape `OT1/pcr/m/sl' tried instead on input line 2208.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2231--2234
+Underfull \hbox (badness 10000) in paragraph at lines 2239--2242
 
  []
 
 [47]
-Underfull \hbox (badness 10000) in paragraph at lines 2267--2270
+Underfull \hbox (badness 10000) in paragraph at lines 2275--2278
 
  []
 
 [48] [49]
-Underfull \hbox (badness 10000) in paragraph at lines 2400--2403
+Underfull \hbox (badness 10000) in paragraph at lines 2408--2411
 
  []
 
 [50]
-Underfull \hbox (badness 2042) in paragraph at lines 2410--2412
+Underfull \hbox (badness 2042) in paragraph at lines 2418--2420
 []\OT1/ptm/m/n/10.95 The re-sult re-turned is a record with two fields; the fir
 st, \OT1/pcr/m/n/10.95 mindist\OT1/ptm/m/n/10.95 , gives the low-est
  []
 
 
-Underfull \hbox (badness 1590) in paragraph at lines 2410--2412
+Underfull \hbox (badness 1590) in paragraph at lines 2418--2420
 \OT1/ptm/m/n/10.95 rectly, so the com-mand was only found af-ter read-ing all t
 he \OT1/ptm/m/it/10.95 *.gi \OT1/ptm/m/n/10.95 files in the \OT1/phv/m/n/10.95 
 GUAVA \OT1/ptm/m/n/10.95 li-
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2434--2437
+Underfull \hbox (badness 10000) in paragraph at lines 2442--2445
 
  []
 
 [51] [52]
-Underfull \hbox (badness 10000) in paragraph at lines 2510--2513
+Underfull \hbox (badness 10000) in paragraph at lines 2518--2521
 
  []
 
 [53]
-Underfull \hbox (badness 10000) in paragraph at lines 2567--2570
+Underfull \hbox (badness 10000) in paragraph at lines 2575--2578
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2599--2602
+Underfull \hbox (badness 10000) in paragraph at lines 2607--2610
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2624--2627
+Underfull \hbox (badness 10000) in paragraph at lines 2632--2635
 
  []
 
 [54]
-Underfull \hbox (badness 10000) in paragraph at lines 2649--2652
+Underfull \hbox (badness 10000) in paragraph at lines 2657--2660
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2672--2675
+Underfull \hbox (badness 10000) in paragraph at lines 2680--2683
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2695--2698
+Underfull \hbox (badness 10000) in paragraph at lines 2703--2706
 
  []
 
 [55]
-Underfull \hbox (badness 10000) in paragraph at lines 2729--2732
+Underfull \hbox (badness 10000) in paragraph at lines 2737--2740
 
  []
 
 [56]
-Underfull \hbox (badness 10000) in paragraph at lines 2776--2779
+Underfull \hbox (badness 10000) in paragraph at lines 2784--2787
 
  []
 
 [57]
-Underfull \hbox (badness 10000) in paragraph at lines 2829--2832
+Underfull \hbox (badness 10000) in paragraph at lines 2837--2840
 
  []
 
 
-Underfull \hbox (badness 1102) in paragraph at lines 2837--2839
+Underfull \hbox (badness 1102) in paragraph at lines 2845--2847
 []\OT1/ptm/m/n/10.95 For long codes, this method is faster in prac-tice than th
 e in-ter-po-la-tion method used in
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2862--2865
+Underfull \hbox (badness 10000) in paragraph at lines 2870--2873
 
  []
 
 [58]
-Underfull \hbox (badness 10000) in paragraph at lines 2913--2916
+Underfull \hbox (badness 10000) in paragraph at lines 2921--2924
 
  []
 
 [59]
-Underfull \hbox (badness 10000) in paragraph at lines 2956--2959
+Underfull \hbox (badness 10000) in paragraph at lines 2954--2957
+
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 2995--2998
 
  []
 
 [60]
-Underfull \hbox (badness 10000) in paragraph at lines 2997--3000
+Underfull \hbox (badness 10000) in paragraph at lines 3037--3040
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 3039--3042
+Underfull \hbox (badness 10000) in paragraph at lines 3066--3069
 
  []
 
 [61]
-Underfull \hbox (badness 10000) in paragraph at lines 3068--3071
+Underfull \hbox (badness 10000) in paragraph at lines 3100--3103
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 3102--3105
-
- []
-
-[62]
-Underfull \hbox (badness 10000) in paragraph at lines 3126--3129
+Underfull \hbox (badness 10000) in paragraph at lines 3124--3127
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 3134--3136
+Underfull \hbox (badness 10000) in paragraph at lines 3132--3134
 []\OT1/ptm/m/n/10.95 This uses \OT1/pcr/m/n/10.95 AutomorphismGroup \OT1/ptm/m/
 n/10.95 in the bi-nary case, and (the slower)
  []
 
-
-Underfull \hbox (badness 10000) in paragraph at lines 3172--3175
+[62]
+Underfull \hbox (badness 10000) in paragraph at lines 3170--3173
 
  []
 
-[63] [64]
+[63]
 Chapter 5.
 
 Underfull \hbox (badness 10000) in paragraph at lines 3220--3223
 
  []
 
-[65
+[64
 
 ]
 Underfull \hbox (badness 10000) in paragraph at lines 3245--3248
@@ -903,7 +896,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 3287--3290
 
  []
 
-[66]
+[65]
 Underfull \hbox (badness 10000) in paragraph at lines 3317--3320
 
  []
@@ -913,7 +906,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 3352--3355
 
  []
 
-[67]
+[66]
 Underfull \hbox (badness 1546) in paragraph at lines 3359--3360
 []\OT1/ptm/m/n/10.95 The func-tion \OT1/pcr/m/n/10.95 RandomLinearCode \OT1/ptm
 /m/n/10.95 re-turns a ran-dom lin-ear code (see \OT1/pcr/m/n/10.95 RandomLinear
@@ -935,7 +928,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 3423--3426
 
  []
 
-[68]
+[67]
 Underfull \hbox (badness 1430) in paragraph at lines 3457--3459
 []\OT1/ptm/m/n/10.95 The next func-tions we de-scribe gen-er-ate some well-know
 n codes, like Ham-ming codes
@@ -946,7 +939,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 3470--3473
 
  []
 
-[69]
+[68]
 Underfull \hbox (badness 10000) in paragraph at lines 3499--3502
 
  []
@@ -961,7 +954,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 3540--3543
 
  []
 
-[70]
+[69]
 Underfull \hbox (badness 10000) in paragraph at lines 3563--3566
 
  []
@@ -976,12 +969,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 3600--3603
 
  []
 
-[71]
+[70]
 Underfull \hbox (badness 10000) in paragraph at lines 3639--3642
 
  []
 
-[72]
+[71]
 Underfull \hbox (badness 10000) in paragraph at lines 3660--3663
 
  []
@@ -996,12 +989,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 3706--3709
 
  []
 
-[73]
+[72]
 Underfull \hbox (badness 10000) in paragraph at lines 3757--3760
 
  []
 
-[74]
+[73]
 Underfull \hbox (badness 10000) in paragraph at lines 3781--3784
 
  []
@@ -1011,7 +1004,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 3796--3799
 
  []
 
-[75] [76]
+[74] [75]
 Underfull \hbox (badness 10000) in paragraph at lines 3895--3898
 
  []
@@ -1036,7 +1029,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 3943--3946
 
  []
 
-[77]
+[76]
 Underfull \hbox (badness 10000) in paragraph at lines 3978--3981
 
  []
@@ -1046,7 +1039,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4001--4004
 
  []
 
-[78]
+[77]
 Underfull \hbox (badness 10000) in paragraph at lines 4028--4031
 
  []
@@ -1056,7 +1049,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4049--4052
 
  []
 
-[79]
+[78]
 Underfull \hbox (badness 1194) in paragraph at lines 4101--4102
 []\OT1/ptm/m/n/10.95 Finally we de-scribe the triv-ial codes (see \OT1/pcr/m/n/
 10.95 WholeSpaceCode \OT1/ptm/m/n/10.95 ([][]5.5.11[][]), \OT1/pcr/m/n/10.95 Nu
@@ -1075,7 +1068,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4106--4109
 
  []
 
-[80]
+[79]
 Underfull \hbox (badness 10000) in paragraph at lines 4134--4137
 
  []
@@ -1085,7 +1078,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4160--4163
 
  []
 
-[81]
+[80]
 Underfull \hbox (badness 10000) in paragraph at lines 4194--4197
 
  []
@@ -1095,7 +1088,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4234--4237
 
  []
 
-[82]
+[81]
 Underfull \hbox (badness 10000) in paragraph at lines 4260--4263
 
  []
@@ -1105,7 +1098,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4280--4283
 
  []
 
-[83]
+[82]
 Underfull \hbox (badness 10000) in paragraph at lines 4312--4315
 
  []
@@ -1115,7 +1108,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4324--4327
 
  []
 
-[84]
+[83]
 Underfull \hbox (badness 10000) in paragraph at lines 4367--4370
 
  []
@@ -1130,7 +1123,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4412--4415
 
  []
 
-[85]
+[84]
 Underfull \hbox (badness 10000) in paragraph at lines 4431--4434
 
  []
@@ -1145,12 +1138,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 4475--4478
 
  []
 
-[86]
+[85]
 Underfull \hbox (badness 10000) in paragraph at lines 4507--4510
 
  []
 
-[87]
+[86]
 Underfull \hbox (badness 10000) in paragraph at lines 4574--4577
 
  []
@@ -1160,7 +1153,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4602--4605
 
  []
 
-[88] [89]
+[87] [88]
 Underfull \hbox (badness 10000) in paragraph at lines 4662--4665
 
  []
@@ -1181,7 +1174,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4716--4719
 
  []
 
-[90]
+[89]
 Underfull \hbox (badness 10000) in paragraph at lines 4726--4727
 []\OT1/ptm/m/n/10.95 This com-mand re-turns a "record" ob-ject \OT1/pcr/m/n/10.
 95 C \OT1/ptm/m/n/10.95 with sev-eral ex-tra com-po-nents (type
@@ -1204,7 +1197,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4758--4761
 
  []
 
-[91]
+[90]
 Underfull \hbox (badness 10000) in paragraph at lines 4765--4766
 []\OT1/ptm/m/n/10.95 This com-mand re-turns a "record" ob-ject \OT1/pcr/m/n/10.
 95 C \OT1/ptm/m/n/10.95 with sev-eral ex-tra com-po-nents (type
@@ -1220,7 +1213,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4803--4806
 
  []
 
-[92]
+[91]
 Underfull \hbox (badness 10000) in paragraph at lines 4832--4835
 
  []
@@ -1230,7 +1223,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4883--4886
 
  []
 
-[93]
+[92]
 Underfull \hbox (badness 10000) in paragraph at lines 4908--4911
 
  []
@@ -1240,7 +1233,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4938--4941
 
  []
 
-[94] [95]
+[93] [94]
 Underfull \hbox (badness 10000) in paragraph at lines 5012--5015
 
  []
@@ -1260,7 +1253,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 5074--5077
 
  []
 
-[96]
+[95]
 Underfull \hbox (badness 10000) in paragraph at lines 5086--5089
 
  []
@@ -1280,12 +1273,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 5122--5125
 
  []
 
-[97]
+[96]
 Underfull \hbox (badness 10000) in paragraph at lines 5199--5202
 
  []
 
-[98]
+[97]
 Underfull \hbox (badness 10000) in paragraph at lines 5211--5214
 
  []
@@ -1295,7 +1288,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 5263--5266
 
  []
 
-[99] [100]
+[98] [99]
 Underfull \hbox (badness 10000) in paragraph at lines 5324--5327
 
  []
@@ -1315,7 +1308,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 5361--5364
 
  []
 
-[101]
+[100]
 Underfull \hbox (badness 10000) in paragraph at lines 5409--5412
 
  []
@@ -1325,12 +1318,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 5447--5450
 
  []
 
-[102]
+[101]
 Underfull \hbox (badness 10000) in paragraph at lines 5511--5514
 
  []
 
-[103]
+[102]
 Underfull \hbox (badness 10000) in paragraph at lines 5549--5552
 
  []
@@ -1340,7 +1333,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 5566--5569
 
  []
 
-[104]
+[103]
 Underfull \hbox (badness 10000) in paragraph at lines 5618--5621
 
  []
@@ -1351,10 +1344,15 @@ Underfull \hbox (badness 10000) in paragraph at lines 5628--5629
 95 C \OT1/ptm/m/n/10.95 with sev-eral ex-tra com-po-nents (type
  []
 
-[105] [106]
+[104] [105]
+Underfull \hbox (badness 10000) in paragraph at lines 5688--5691
+
+ []
+
+[106] [107]
 Chapter 6.
 
-Underfull \hbox (badness 1127) in paragraph at lines 5674--5676
+Underfull \hbox (badness 1127) in paragraph at lines 5789--5791
 \OT1/ptm/m/n/10.95 ([][]6.1.6[][]), \OT1/pcr/m/n/10.95 RemovedElementsCode \OT1
 /ptm/m/n/10.95 ([][]6.1.7[][]), \OT1/pcr/m/n/10.95 AddedElementsCode \OT1/ptm/m
 /n/10.95 ([][]6.1.8[][]), \OT1/pcr/m/n/10.95 ShortenedCode \OT1/ptm/m/n/10.95 (
@@ -1362,7 +1360,7 @@ Underfull \hbox (badness 1127) in paragraph at lines 5674--5676
  []
 
 
-Underfull \hbox (badness 3078) in paragraph at lines 5674--5676
+Underfull \hbox (badness 3078) in paragraph at lines 5789--5791
 \OT1/pcr/m/n/10.95 LengthenedCode \OT1/ptm/m/n/10.95 ([][]6.1.10[][]), \OT1/pcr
 /m/n/10.95 ResidueCode \OT1/ptm/m/n/10.95 ([][]6.1.12[][]), \OT1/pcr/m/n/10.95 
 ConstructionBCode \OT1/ptm/m/n/10.95 ([][]6.1.13[][]), \OT1/pcr/m/n/10.95 DualC
@@ -1370,618 +1368,618 @@ ode
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 5684--5687
+Underfull \hbox (badness 10000) in paragraph at lines 5799--5802
 
  []
 
-[107
+[108
 
 ]
-Underfull \hbox (badness 5578) in paragraph at lines 5712--5714
+Underfull \hbox (badness 5578) in paragraph at lines 5827--5829
 \OT1/ptm/m/n/10.95 To undo ex-tend-ing, call \OT1/pcr/m/n/10.95 PuncturedCode \
 OT1/ptm/m/n/10.95 (see \OT1/pcr/m/n/10.95 PuncturedCode \OT1/ptm/m/n/10.95 ([][
 ]6.1.2[][])). The func-tion
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 5718--5721
-
- []
-
-
-Underfull \hbox (badness 10000) in paragraph at lines 5751--5754
-
- []
-
-[108]
-Underfull \hbox (badness 10000) in paragraph at lines 5779--5782
+Underfull \hbox (badness 10000) in paragraph at lines 5833--5836
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 5808--5811
+Underfull \hbox (badness 10000) in paragraph at lines 5866--5869
 
  []
 
 [109]
-Underfull \hbox (badness 10000) in paragraph at lines 5834--5837
+Underfull \hbox (badness 10000) in paragraph at lines 5894--5897
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 5869--5872
+Underfull \hbox (badness 10000) in paragraph at lines 5923--5926
 
  []
 
 [110]
-Underfull \hbox (badness 10000) in paragraph at lines 5894--5897
+Underfull \hbox (badness 10000) in paragraph at lines 5949--5952
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 5919--5922
+Underfull \hbox (badness 10000) in paragraph at lines 5984--5987
 
  []
 
 [111]
-Underfull \hbox (badness 10000) in paragraph at lines 5961--5964
+Underfull \hbox (badness 10000) in paragraph at lines 6009--6012
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 5982--5985
+Underfull \hbox (badness 10000) in paragraph at lines 6034--6037
 
  []
 
 [112]
-Underfull \hbox (badness 10000) in paragraph at lines 6012--6015
+Underfull \hbox (badness 10000) in paragraph at lines 6076--6079
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6036--6039
+Underfull \hbox (badness 10000) in paragraph at lines 6097--6100
 
  []
 
 [113]
-Underfull \hbox (badness 10000) in paragraph at lines 6071--6074
+Underfull \hbox (badness 10000) in paragraph at lines 6127--6130
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6101--6104
+Underfull \hbox (badness 10000) in paragraph at lines 6151--6154
 
  []
 
 [114]
-Underfull \hbox (badness 10000) in paragraph at lines 6129--6132
+Underfull \hbox (badness 10000) in paragraph at lines 6186--6189
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6158--6161
+Underfull \hbox (badness 10000) in paragraph at lines 6216--6219
 
  []
 
 [115]
-Underfull \hbox (badness 10000) in paragraph at lines 6186--6189
+Underfull \hbox (badness 10000) in paragraph at lines 6244--6247
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6220--6223
+Underfull \hbox (badness 10000) in paragraph at lines 6273--6276
 
  []
 
 [116]
-Underfull \hbox (badness 10000) in paragraph at lines 6256--6259
+Underfull \hbox (badness 10000) in paragraph at lines 6301--6304
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6294--6297
+Underfull \hbox (badness 10000) in paragraph at lines 6335--6338
 
  []
 
 [117]
-Underfull \hbox (badness 10000) in paragraph at lines 6322--6325
+Underfull \hbox (badness 10000) in paragraph at lines 6371--6374
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6352--6355
+Underfull \hbox (badness 10000) in paragraph at lines 6409--6412
 
  []
 
 [118]
-Underfull \hbox (badness 10000) in paragraph at lines 6375--6378
+Underfull \hbox (badness 10000) in paragraph at lines 6437--6440
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6403--6406
+Underfull \hbox (badness 10000) in paragraph at lines 6467--6470
 
  []
 
 [119]
-Underfull \hbox (badness 10000) in paragraph at lines 6432--6435
+Underfull \hbox (badness 10000) in paragraph at lines 6490--6493
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6462--6465
+Underfull \hbox (badness 10000) in paragraph at lines 6518--6521
 
  []
 
 [120]
-Underfull \hbox (badness 10000) in paragraph at lines 6499--6502
+Underfull \hbox (badness 10000) in paragraph at lines 6547--6550
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6527--6530
+Underfull \hbox (badness 10000) in paragraph at lines 6577--6580
 
  []
 
 [121]
-Underfull \hbox (badness 10000) in paragraph at lines 6576--6579
+Underfull \hbox (badness 10000) in paragraph at lines 6614--6617
+
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 6642--6645
 
  []
 
 [122]
-Underfull \hbox (badness 10000) in paragraph at lines 6631--6634
+Underfull \hbox (badness 10000) in paragraph at lines 6691--6694
 
  []
 
+[123]
+Underfull \hbox (badness 10000) in paragraph at lines 6746--6749
+
+ []
 
-Underfull \hbox (badness 10000) in paragraph at lines 6649--6652
+
+Underfull \hbox (badness 10000) in paragraph at lines 6764--6767
 
  []
 
-[123] [124]
+[124] [125]
 Chapter 7.
 
-Underfull \hbox (badness 3514) in paragraph at lines 6725--6727
+Underfull \hbox (badness 3514) in paragraph at lines 6840--6842
 []\OT1/ptm/m/n/10.95 Firstly, we de-scribe func-tions that com-pute spe-cific u
 p-per bounds on the code size
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6740--6743
+Underfull \hbox (badness 10000) in paragraph at lines 6855--6858
 
  []
 
-[125
+[126
 
 ]
-Underfull \hbox (badness 10000) in paragraph at lines 6763--6766
+Underfull \hbox (badness 10000) in paragraph at lines 6878--6881
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6787--6790
+Underfull \hbox (badness 10000) in paragraph at lines 6902--6905
 
  []
 
-[126]
-Underfull \hbox (badness 10000) in paragraph at lines 6808--6811
+[127]
+Underfull \hbox (badness 10000) in paragraph at lines 6923--6926
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6836--6839
+Underfull \hbox (badness 10000) in paragraph at lines 6951--6954
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6859--6862
+Underfull \hbox (badness 10000) in paragraph at lines 6974--6977
 
  []
 
-[127]
-Underfull \hbox (badness 10000) in paragraph at lines 6884--6887
+[128]
+Underfull \hbox (badness 10000) in paragraph at lines 6999--7002
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6905--6908
+Underfull \hbox (badness 10000) in paragraph at lines 7020--7023
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6925--6928
+Underfull \hbox (badness 10000) in paragraph at lines 7040--7043
 
  []
 
-[128]
-Underfull \hbox (badness 10000) in paragraph at lines 6949--6952
+[129]
+Underfull \hbox (badness 10000) in paragraph at lines 7064--7067
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6973--6976
+Underfull \hbox (badness 10000) in paragraph at lines 7088--7091
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 6993--6996
+Underfull \hbox (badness 10000) in paragraph at lines 7108--7111
 
  []
 
-[129]
-Underfull \hbox (badness 10000) in paragraph at lines 7018--7021
+[130]
+Underfull \hbox (badness 10000) in paragraph at lines 7133--7136
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7031--7032
+Underfull \hbox (badness 10000) in paragraph at lines 7146--7147
 []\OT1/ptm/m/n/10.95 The re-sult-ing record can be used in the func-tion \OT1/p
 cr/m/n/10.95 BestKnownLinearCode \OT1/ptm/m/n/10.95 (see
  []
 
-[130]
-Underfull \hbox (badness 10000) in paragraph at lines 7064--7067
+[131]
+Underfull \hbox (badness 10000) in paragraph at lines 7179--7182
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7072--7073
+Underfull \hbox (badness 10000) in paragraph at lines 7187--7188
 []\OT1/ptm/m/n/10.95 If the cov-er-ing ra-dius of [] is known, a list of length
  1 is re-turned.
  []
 
 
-Underfull \hbox (badness 4739) in paragraph at lines 7072--7073
+Underfull \hbox (badness 4739) in paragraph at lines 7187--7188
 \OT1/pcr/m/n/10.95 BoundsCoveringRadius \OT1/ptm/m/n/10.95 makes use of the fun
 c-tions \OT1/pcr/m/n/10.95 GeneralLowerBoundCoveringRadius
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7086--7089
+Underfull \hbox (badness 10000) in paragraph at lines 7201--7204
 
  []
 
-[131]
-Underfull \hbox (badness 10000) in paragraph at lines 7167--7170
+[132]
+Underfull \hbox (badness 10000) in paragraph at lines 7282--7285
 
  []
 
-[132]
-Underfull \hbox (badness 10000) in paragraph at lines 7191--7194
+[133]
+Underfull \hbox (badness 10000) in paragraph at lines 7306--7309
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7214--7217
+Underfull \hbox (badness 10000) in paragraph at lines 7329--7332
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7236--7239
+Underfull \hbox (badness 10000) in paragraph at lines 7351--7354
 
  []
 
 
-Overfull \hbox (8.54312pt too wide) in paragraph at lines 7241--7242
+Overfull \hbox (8.54312pt too wide) in paragraph at lines 7356--7357
 []\OT1/ptm/m/n/10.95 This com-mand can also be called us-ing the syn-tax \OT1/p
 cr/m/n/10.95 LowerBoundCoveringRadiusSphereCovering(
  []
 
-[133]
-Underfull \hbox (badness 10000) in paragraph at lines 7266--7269
+[134]
+Underfull \hbox (badness 10000) in paragraph at lines 7381--7384
 
  []
 
-[134]
-Underfull \hbox (badness 10000) in paragraph at lines 7300--7303
+[135]
+Underfull \hbox (badness 10000) in paragraph at lines 7415--7418
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7336--7339
+Underfull \hbox (badness 10000) in paragraph at lines 7451--7454
 
  []
 
-[135]
-Underfull \hbox (badness 10000) in paragraph at lines 7373--7376
+[136]
+Underfull \hbox (badness 10000) in paragraph at lines 7488--7491
 
  []
 
 
-Underfull \hbox (badness 3396) in paragraph at lines 7378--7380
+Underfull \hbox (badness 3396) in paragraph at lines 7493--7495
 []\OT1/ptm/m/n/10.95 This com-mand can also be called with \OT1/pcr/m/n/10.95 L
 owerBoundCoveringRadiusEmbedded1( n, r
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7387--7388
+Underfull \hbox (badness 10000) in paragraph at lines 7502--7503
 []\OT1/ptm/m/n/10.95 Sometimes \OT1/pcr/m/n/10.95 LowerBoundCoveringRadiusEmbed
 ded1 \OT1/ptm/m/n/10.95 is bet-ter than
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7408--7411
+Underfull \hbox (badness 10000) in paragraph at lines 7523--7526
 
  []
 
 
-Underfull \hbox (badness 3396) in paragraph at lines 7413--7415
+Underfull \hbox (badness 3396) in paragraph at lines 7528--7530
 []\OT1/ptm/m/n/10.95 This com-mand can also be called with \OT1/pcr/m/n/10.95 L
 owerBoundCoveringRadiusEmbedded2( n, r
  []
 
-[136]
-Underfull \hbox (badness 10000) in paragraph at lines 7422--7423
+[137]
+Underfull \hbox (badness 10000) in paragraph at lines 7537--7538
 []\OT1/ptm/m/n/10.95 Sometimes \OT1/pcr/m/n/10.95 LowerBoundCoveringRadiusEmbed
 ded1 \OT1/ptm/m/n/10.95 is bet-ter than
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7443--7446
+Underfull \hbox (badness 10000) in paragraph at lines 7558--7561
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7473--7476
+Underfull \hbox (badness 10000) in paragraph at lines 7588--7591
 
  []
 
-[137]
-Underfull \hbox (badness 10000) in paragraph at lines 7495--7498
+[138]
+Underfull \hbox (badness 10000) in paragraph at lines 7610--7613
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7518--7521
+Underfull \hbox (badness 10000) in paragraph at lines 7633--7636
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7543--7546
+Underfull \hbox (badness 10000) in paragraph at lines 7658--7661
 
  []
 
-[138]
-Underfull \hbox (badness 10000) in paragraph at lines 7567--7570
+[139]
+Underfull \hbox (badness 10000) in paragraph at lines 7682--7685
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7605--7608
+Underfull \hbox (badness 10000) in paragraph at lines 7720--7723
 
  []
 
-[139]
-Underfull \hbox (badness 10000) in paragraph at lines 7633--7636
+[140]
+Underfull \hbox (badness 10000) in paragraph at lines 7748--7751
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7659--7662
+Underfull \hbox (badness 10000) in paragraph at lines 7774--7777
 
  []
 
-[140]
-Underfull \hbox (badness 10000) in paragraph at lines 7682--7685
+[141]
+Underfull \hbox (badness 10000) in paragraph at lines 7797--7800
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7712--7715
+Underfull \hbox (badness 10000) in paragraph at lines 7827--7830
 
  []
 
-[141]
-Underfull \hbox (badness 10000) in paragraph at lines 7735--7738
+[142]
+Underfull \hbox (badness 10000) in paragraph at lines 7850--7853
 
  []
 
-[142]
-Underfull \hbox (badness 10000) in paragraph at lines 7786--7789
+[143]
+Underfull \hbox (badness 10000) in paragraph at lines 7901--7904
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7809--7812
+Underfull \hbox (badness 10000) in paragraph at lines 7924--7927
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7830--7833
+Underfull \hbox (badness 10000) in paragraph at lines 7945--7948
 
  []
 
-[143]
-Underfull \hbox (badness 10000) in paragraph at lines 7862--7865
+[144]
+Underfull \hbox (badness 10000) in paragraph at lines 7977--7980
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7895--7898
+Underfull \hbox (badness 10000) in paragraph at lines 8010--8013
 
  []
 
-[144]
-Underfull \hbox (badness 10000) in paragraph at lines 7936--7939
+[145]
+Underfull \hbox (badness 10000) in paragraph at lines 8051--8054
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 7955--7958
+Underfull \hbox (badness 10000) in paragraph at lines 8070--8073
 
  []
 
-[145]
-Underfull \hbox (badness 10000) in paragraph at lines 7987--7990
+[146]
+Underfull \hbox (badness 10000) in paragraph at lines 8102--8105
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8006--8009
+Underfull \hbox (badness 10000) in paragraph at lines 8121--8124
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8024--8027
+Underfull \hbox (badness 10000) in paragraph at lines 8139--8142
 
  []
 
-[146]
-Underfull \hbox (badness 10000) in paragraph at lines 8042--8045
+[147]
+Underfull \hbox (badness 10000) in paragraph at lines 8157--8160
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8063--8066
+Underfull \hbox (badness 10000) in paragraph at lines 8178--8181
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8095--8098
+Underfull \hbox (badness 10000) in paragraph at lines 8210--8213
 
  []
 
-[147]
-Underfull \hbox (badness 10000) in paragraph at lines 8117--8120
+[148]
+Underfull \hbox (badness 10000) in paragraph at lines 8232--8235
 
  []
 
 
-Underfull \hbox (badness 2762) in paragraph at lines 8126--8127
+Underfull \hbox (badness 2762) in paragraph at lines 8241--8242
 []\OT1/ptm/m/n/10.95 If [] is a code-word, then \OT1/pcr/m/n/10.95 CodeDistance
 Enumerator \OT1/ptm/m/n/10.95 re-turns the same poly-no-mial as
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8140--8143
+Underfull \hbox (badness 10000) in paragraph at lines 8255--8258
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8159--8162
+Underfull \hbox (badness 10000) in paragraph at lines 8274--8277
 
  []
 
-[148]
-Underfull \hbox (badness 10000) in paragraph at lines 8180--8183
+[149]
+Underfull \hbox (badness 10000) in paragraph at lines 8295--8298
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8207--8210
+Underfull \hbox (badness 10000) in paragraph at lines 8322--8325
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8227--8230
+Underfull \hbox (badness 10000) in paragraph at lines 8342--8345
 
  []
 
-[149]
-Underfull \hbox (badness 10000) in paragraph at lines 8248--8251
+[150]
+Underfull \hbox (badness 10000) in paragraph at lines 8363--8366
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8268--8271
+Underfull \hbox (badness 10000) in paragraph at lines 8383--8386
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8286--8289
+Underfull \hbox (badness 10000) in paragraph at lines 8401--8404
 
  []
 
-[150]
-Underfull \hbox (badness 10000) in paragraph at lines 8314--8317
+[151]
+Underfull \hbox (badness 10000) in paragraph at lines 8429--8432
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8342--8345
+Underfull \hbox (badness 10000) in paragraph at lines 8457--8460
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8365--8368
+Underfull \hbox (badness 10000) in paragraph at lines 8480--8483
 
  []
 
-[151]
-Underfull \hbox (badness 10000) in paragraph at lines 8397--8400
+[152]
+Underfull \hbox (badness 10000) in paragraph at lines 8512--8515
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8418--8421
+Underfull \hbox (badness 10000) in paragraph at lines 8533--8536
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8438--8441
+Underfull \hbox (badness 10000) in paragraph at lines 8553--8556
 
  []
 
-[152]
-Underfull \hbox (badness 10000) in paragraph at lines 8458--8461
+[153]
+Underfull \hbox (badness 10000) in paragraph at lines 8573--8576
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8484--8487
+Underfull \hbox (badness 10000) in paragraph at lines 8599--8602
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8496--8499
+Underfull \hbox (badness 10000) in paragraph at lines 8611--8614
 
  []
 
-[153]
-Underfull \hbox (badness 10000) in paragraph at lines 8522--8525
+[154]
+Underfull \hbox (badness 10000) in paragraph at lines 8637--8640
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8548--8551
+Underfull \hbox (badness 10000) in paragraph at lines 8663--8666
 
  []
 
-[154]
-Underfull \hbox (badness 10000) in paragraph at lines 8592--8595
+[155]
+Underfull \hbox (badness 10000) in paragraph at lines 8707--8710
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8626--8629
+Underfull \hbox (badness 10000) in paragraph at lines 8741--8744
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8644--8647
+Underfull \hbox (badness 10000) in paragraph at lines 8759--8762
 
  []
 
-[155]
-Underfull \hbox (badness 10000) in paragraph at lines 8668--8671
+[156]
+Underfull \hbox (badness 10000) in paragraph at lines 8783--8786
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 8691--8694
+Underfull \hbox (badness 10000) in paragraph at lines 8806--8809
 
  []
 
-[156]
-Underfull \hbox (badness 10000) in paragraph at lines 8727--8730
+[157]
+Underfull \hbox (badness 10000) in paragraph at lines 8842--8845
 
  []
 
-(./guava.bbl (./guava.brf)
+[158] [159] [160] [161] [162] (./guava.bbl (./guava.brf)
 \tf at brf=\write7
 \openout7 = `guava.brf'.
 
- [157]
+ [163]
 ! Missing { inserted.
 <to be read again> 
                    $
@@ -2003,9 +2001,9 @@ With luck, this will get me unwedged. But if you
 really didn't forget anything, try typing `2' now; then
 my insertion and my current dilemma will both disappear.
 
-[158
+[164
 
-]) (./guava.ind [159]
+]) (./guava.ind [165]
 Underfull \hbox (badness 10000) in paragraph at lines 16--18
 []\OT1/pcr/m/n/10.95 AClosestVectorComb..MatFFEVecFFECoords\OT1/ptm/m/n/10.95 ,
 
@@ -2028,58 +2026,58 @@ Underfull \hbox (badness 10000) in paragraph at lines 22--24
 
  []
 
-[160
+[166
 
-] [161]
+] [167]
 Underfull \hbox (badness 10000) in paragraph at lines 252--254
 []\OT1/pcr/m/n/10.95 IsAction\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 Moebius\OT1
 /ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 Transformation\OT1/ptm/m/n/10.95 -\OT1/pcr/m
 /n/10.95 On\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 Divisor\OT1/ptm/m/n/10.95 -
  []
 
-
-Underfull \hbox (badness 10000) in paragraph at lines 293--295
+[168]
+Underfull \hbox (badness 10000) in paragraph at lines 294--296
 []\OT1/pcr/m/n/10.95 LowerBoundCoveringRadiusCountingExcess\OT1/ptm/m/n/10.95 ,
 
  []
 
-[162]
-Underfull \hbox (badness 10000) in paragraph at lines 298--300
+
+Underfull \hbox (badness 10000) in paragraph at lines 299--301
 []\OT1/pcr/m/n/10.95 LowerBoundCoveringRadiusSphereCovering\OT1/ptm/m/n/10.95 ,
 
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 310--312
+Underfull \hbox (badness 10000) in paragraph at lines 311--313
 []\OT1/pcr/m/n/10.95 Matrix\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 Representatio
 n\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 On\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.9
 5 Riemann\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 Roch\OT1/ptm/m/n/10.95 -
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 312--314
+Underfull \hbox (badness 10000) in paragraph at lines 313--315
 []\OT1/pcr/m/n/10.95 Matrix\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 Transformatio
 n\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.95 On\OT1/ptm/m/n/10.95 -\OT1/pcr/m/n/10.9
 5 Multivariate\OT1/ptm/m/n/10.95 -
  []
 
-[163]
-Underfull \hbox (badness 10000) in paragraph at lines 439--441
+[169]
+Underfull \hbox (badness 10000) in paragraph at lines 441--443
 []\OT1/pcr/m/n/10.95 UpperBoundCoveringRadiusGriesmerLike\OT1/ptm/m/n/10.95 ,
  []
 
-[164]) (./guava.aux)
+[170]) (./guava.aux)
 
 LaTeX Warning: There were multiply-defined labels.
 
  ) 
 Here is how much of TeX's memory you used:
- 4749 strings out of 95086
- 68660 string characters out of 1183255
- 125081 words of memory out of 1500000
- 7013 multiletter control sequences out of 10000+50000
+ 4773 strings out of 94101
+ 69005 string characters out of 1165810
+ 126273 words of memory out of 1500000
+ 7129 multiletter control sequences out of 10000+50000
  55745 words of font info for 104 fonts, out of 1200000 for 2000
- 28 hyphenation exceptions out of 8191
+ 637 hyphenation exceptions out of 8191
  27i,7n,27p,1328b,619s stack positions out of 5000i,500n,6000p,200000b,5000s
 {/usr/share/texmf-texlive/fonts/enc/dvips/base/8r.enc}</usr/share/texmf-texli
 ve/fonts/type1/bluesky/cm/cmex10.pfb></usr/share/texmf-texlive/fonts/type1/blue
@@ -2094,9 +2092,9 @@ c/uhvr8a.pfb></usr/share/texmf-texlive/fonts/type1/urw/helvetic/uhvro8a.pfb></u
 sr/share/texmf-texlive/fonts/type1/urw/symbol/usyr.pfb></usr/share/texmf-texliv
 e/fonts/type1/urw/times/utmb8a.pfb></usr/share/texmf-texlive/fonts/type1/urw/ti
 mes/utmr8a.pfb></usr/share/texmf-texlive/fonts/type1/urw/times/utmri8a.pfb>
-Output written on guava.pdf (164 pages, 895936 bytes).
+Output written on guava.pdf (170 pages, 922944 bytes).
 PDF statistics:
- 2679 PDF objects out of 2984 (max. 8388607)
- 822 named destinations out of 1000 (max. 131072)
+ 2727 PDF objects out of 2984 (max. 8388607)
+ 836 named destinations out of 1000 (max. 131072)
  17 words of extra memory for PDF output out of 10000 (max. 10000000)
 
diff --git a/doc/guava.pnr b/doc/guava.pnr
index 6a88cce..cecbf9a 100644
--- a/doc/guava.pnr
+++ b/doc/guava.pnr
@@ -109,217 +109,220 @@ PAGENRS := [
 [ 4, 10, 4 ], 58,
 [ 4, 10, 5 ], 59,
 [ 4, 10, 6 ], 60,
-[ 4, 10, 7 ], 61,
+[ 4, 10, 7 ], 60,
 [ 4, 10, 8 ], 61,
 [ 4, 10, 9 ], 62,
 [ 4, 10, 10 ], 62,
-[ 4, 10, 11 ], 63,
+[ 4, 10, 11 ], 62,
 [ 4, 10, 12 ], 63,
-[ 5, 0, 0 ], 65,
-[ 5, 1, 0 ], 65,
-[ 5, 1, 1 ], 65,
-[ 5, 1, 2 ], 66,
-[ 5, 1, 3 ], 66,
-[ 5, 1, 4 ], 67,
-[ 5, 1, 5 ], 68,
-[ 5, 1, 6 ], 68,
-[ 5, 1, 7 ], 68,
-[ 5, 1, 8 ], 69,
-[ 5, 2, 0 ], 69,
-[ 5, 2, 1 ], 69,
-[ 5, 2, 2 ], 70,
-[ 5, 2, 3 ], 70,
-[ 5, 2, 4 ], 71,
-[ 5, 2, 5 ], 71,
-[ 5, 2, 6 ], 71,
-[ 5, 2, 7 ], 72,
-[ 5, 2, 8 ], 72,
-[ 5, 2, 9 ], 73,
-[ 5, 2, 10 ], 73,
-[ 5, 2, 11 ], 73,
-[ 5, 2, 12 ], 74,
-[ 5, 2, 13 ], 75,
-[ 5, 2, 14 ], 75,
-[ 5, 3, 0 ], 77,
-[ 5, 3, 1 ], 77,
-[ 5, 3, 2 ], 77,
-[ 5, 3, 3 ], 77,
-[ 5, 3, 4 ], 77,
-[ 5, 3, 5 ], 77,
-[ 5, 4, 0 ], 78,
-[ 5, 4, 1 ], 78,
-[ 5, 4, 2 ], 78,
-[ 5, 4, 3 ], 79,
-[ 5, 4, 4 ], 79,
-[ 5, 5, 0 ], 79,
-[ 5, 5, 1 ], 80,
-[ 5, 5, 2 ], 81,
-[ 5, 5, 3 ], 81,
-[ 5, 5, 4 ], 82,
-[ 5, 5, 5 ], 83,
-[ 5, 5, 6 ], 83,
-[ 5, 5, 7 ], 83,
-[ 5, 5, 8 ], 84,
-[ 5, 5, 9 ], 84,
-[ 5, 5, 10 ], 85,
-[ 5, 5, 11 ], 85,
-[ 5, 5, 12 ], 86,
-[ 5, 5, 13 ], 86,
-[ 5, 5, 14 ], 86,
-[ 5, 5, 15 ], 86,
-[ 5, 5, 16 ], 87,
-[ 5, 5, 17 ], 88,
-[ 5, 5, 18 ], 89,
-[ 5, 5, 19 ], 90,
-[ 5, 6, 0 ], 90,
-[ 5, 6, 1 ], 90,
-[ 5, 6, 2 ], 90,
-[ 5, 6, 3 ], 91,
-[ 5, 6, 4 ], 92,
-[ 5, 6, 5 ], 92,
-[ 5, 7, 0 ], 93,
-[ 5, 7, 1 ], 93,
-[ 5, 7, 2 ], 94,
-[ 5, 7, 3 ], 94,
-[ 5, 7, 4 ], 94,
-[ 5, 7, 5 ], 96,
-[ 5, 7, 6 ], 96,
-[ 5, 7, 7 ], 96,
-[ 5, 7, 8 ], 97,
-[ 5, 7, 9 ], 97,
-[ 5, 7, 10 ], 97,
-[ 5, 7, 11 ], 97,
-[ 5, 7, 12 ], 97,
-[ 5, 7, 13 ], 99,
-[ 5, 7, 14 ], 99,
-[ 5, 7, 15 ], 100,
-[ 5, 7, 16 ], 101,
-[ 5, 7, 17 ], 101,
-[ 5, 7, 18 ], 101,
-[ 5, 7, 19 ], 101,
-[ 5, 7, 20 ], 102,
-[ 5, 7, 21 ], 103,
-[ 5, 7, 22 ], 104,
-[ 5, 7, 23 ], 104,
-[ 5, 7, 24 ], 104,
-[ 5, 7, 25 ], 105,
-[ 6, 0, 0 ], 107,
-[ 6, 1, 0 ], 107,
-[ 6, 1, 1 ], 107,
-[ 6, 1, 2 ], 108,
-[ 6, 1, 3 ], 108,
-[ 6, 1, 4 ], 109,
-[ 6, 1, 5 ], 109,
-[ 6, 1, 6 ], 110,
-[ 6, 1, 7 ], 110,
-[ 6, 1, 8 ], 111,
-[ 6, 1, 9 ], 111,
-[ 6, 1, 10 ], 112,
-[ 6, 1, 11 ], 113,
-[ 6, 1, 12 ], 113,
-[ 6, 1, 13 ], 113,
-[ 6, 1, 14 ], 114,
-[ 6, 1, 15 ], 115,
-[ 6, 1, 16 ], 115,
-[ 6, 1, 17 ], 115,
-[ 6, 1, 18 ], 116,
-[ 6, 1, 19 ], 116,
-[ 6, 1, 20 ], 117,
-[ 6, 2, 0 ], 118,
-[ 6, 2, 1 ], 118,
-[ 6, 2, 2 ], 118,
-[ 6, 2, 3 ], 118,
-[ 6, 2, 4 ], 119,
-[ 6, 2, 5 ], 119,
-[ 6, 2, 6 ], 120,
-[ 6, 2, 7 ], 120,
-[ 6, 2, 8 ], 121,
-[ 6, 2, 9 ], 121,
-[ 6, 2, 10 ], 122,
-[ 6, 2, 11 ], 123,
-[ 6, 2, 12 ], 124,
-[ 7, 0, 0 ], 125,
-[ 7, 1, 0 ], 125,
-[ 7, 1, 1 ], 126,
-[ 7, 1, 2 ], 126,
-[ 7, 1, 3 ], 126,
-[ 7, 1, 4 ], 127,
-[ 7, 1, 5 ], 127,
-[ 7, 1, 6 ], 128,
-[ 7, 1, 7 ], 128,
-[ 7, 1, 8 ], 128,
-[ 7, 1, 9 ], 129,
-[ 7, 1, 10 ], 129,
-[ 7, 1, 11 ], 129,
-[ 7, 1, 12 ], 130,
-[ 7, 1, 13 ], 130,
-[ 7, 2, 0 ], 131,
-[ 7, 2, 1 ], 131,
-[ 7, 2, 2 ], 131,
-[ 7, 2, 3 ], 132,
-[ 7, 2, 4 ], 133,
-[ 7, 2, 5 ], 133,
-[ 7, 2, 6 ], 134,
-[ 7, 2, 7 ], 134,
-[ 7, 2, 8 ], 135,
-[ 7, 2, 9 ], 135,
-[ 7, 2, 10 ], 136,
-[ 7, 2, 11 ], 136,
-[ 7, 2, 12 ], 137,
-[ 7, 2, 13 ], 137,
-[ 7, 2, 14 ], 138,
-[ 7, 2, 15 ], 138,
-[ 7, 2, 16 ], 138,
-[ 7, 2, 17 ], 139,
-[ 7, 3, 0 ], 139,
-[ 7, 3, 1 ], 140,
-[ 7, 3, 2 ], 140,
-[ 7, 3, 3 ], 140,
-[ 7, 3, 4 ], 141,
-[ 7, 3, 5 ], 141,
-[ 7, 3, 6 ], 142,
-[ 7, 3, 7 ], 143,
-[ 7, 3, 8 ], 143,
-[ 7, 3, 9 ], 143,
-[ 7, 3, 10 ], 144,
-[ 7, 3, 11 ], 144,
-[ 7, 3, 12 ], 145,
-[ 7, 3, 13 ], 145,
-[ 7, 4, 0 ], 146,
-[ 7, 4, 1 ], 146,
-[ 7, 4, 2 ], 146,
-[ 7, 4, 3 ], 146,
-[ 7, 4, 4 ], 147,
-[ 7, 4, 5 ], 147,
-[ 7, 5, 0 ], 147,
-[ 7, 5, 1 ], 147,
-[ 7, 5, 2 ], 148,
-[ 7, 5, 3 ], 148,
-[ 7, 5, 4 ], 148,
-[ 7, 5, 5 ], 149,
-[ 7, 5, 6 ], 149,
-[ 7, 5, 7 ], 149,
-[ 7, 5, 8 ], 150,
-[ 7, 5, 9 ], 150,
-[ 7, 5, 10 ], 150,
-[ 7, 5, 11 ], 151,
-[ 7, 5, 12 ], 151,
-[ 7, 5, 13 ], 152,
-[ 7, 5, 14 ], 152,
-[ 7, 5, 15 ], 152,
-[ 7, 5, 16 ], 153,
-[ 7, 5, 17 ], 153,
-[ 7, 6, 0 ], 153,
-[ 7, 6, 1 ], 153,
-[ 7, 6, 2 ], 153,
-[ 7, 6, 3 ], 154,
-[ 7, 6, 4 ], 154,
-[ 7, 6, 5 ], 155,
-[ 7, 6, 6 ], 155,
-[ 7, 6, 7 ], 155,
-[ 7, 6, 8 ], 156,
-[ 7, 6, 9 ], 156,
-[ 7, 6, 10 ], 157,
-[ "Bib", 0, 0 ], 158,
-[ "Ind", 0, 0 ], 160,
-["End"], 165];
+[ 5, 0, 0 ], 64,
+[ 5, 1, 0 ], 64,
+[ 5, 1, 1 ], 64,
+[ 5, 1, 2 ], 65,
+[ 5, 1, 3 ], 65,
+[ 5, 1, 4 ], 66,
+[ 5, 1, 5 ], 67,
+[ 5, 1, 6 ], 67,
+[ 5, 1, 7 ], 67,
+[ 5, 1, 8 ], 68,
+[ 5, 2, 0 ], 68,
+[ 5, 2, 1 ], 68,
+[ 5, 2, 2 ], 69,
+[ 5, 2, 3 ], 69,
+[ 5, 2, 4 ], 70,
+[ 5, 2, 5 ], 70,
+[ 5, 2, 6 ], 70,
+[ 5, 2, 7 ], 71,
+[ 5, 2, 8 ], 71,
+[ 5, 2, 9 ], 72,
+[ 5, 2, 10 ], 72,
+[ 5, 2, 11 ], 72,
+[ 5, 2, 12 ], 73,
+[ 5, 2, 13 ], 74,
+[ 5, 2, 14 ], 74,
+[ 5, 3, 0 ], 76,
+[ 5, 3, 1 ], 76,
+[ 5, 3, 2 ], 76,
+[ 5, 3, 3 ], 76,
+[ 5, 3, 4 ], 76,
+[ 5, 3, 5 ], 76,
+[ 5, 4, 0 ], 77,
+[ 5, 4, 1 ], 77,
+[ 5, 4, 2 ], 77,
+[ 5, 4, 3 ], 78,
+[ 5, 4, 4 ], 78,
+[ 5, 5, 0 ], 78,
+[ 5, 5, 1 ], 79,
+[ 5, 5, 2 ], 80,
+[ 5, 5, 3 ], 80,
+[ 5, 5, 4 ], 81,
+[ 5, 5, 5 ], 82,
+[ 5, 5, 6 ], 82,
+[ 5, 5, 7 ], 82,
+[ 5, 5, 8 ], 83,
+[ 5, 5, 9 ], 83,
+[ 5, 5, 10 ], 84,
+[ 5, 5, 11 ], 84,
+[ 5, 5, 12 ], 85,
+[ 5, 5, 13 ], 85,
+[ 5, 5, 14 ], 85,
+[ 5, 5, 15 ], 85,
+[ 5, 5, 16 ], 86,
+[ 5, 5, 17 ], 87,
+[ 5, 5, 18 ], 88,
+[ 5, 5, 19 ], 89,
+[ 5, 6, 0 ], 89,
+[ 5, 6, 1 ], 89,
+[ 5, 6, 2 ], 89,
+[ 5, 6, 3 ], 90,
+[ 5, 6, 4 ], 91,
+[ 5, 6, 5 ], 91,
+[ 5, 7, 0 ], 92,
+[ 5, 7, 1 ], 92,
+[ 5, 7, 2 ], 93,
+[ 5, 7, 3 ], 93,
+[ 5, 7, 4 ], 93,
+[ 5, 7, 5 ], 95,
+[ 5, 7, 6 ], 95,
+[ 5, 7, 7 ], 95,
+[ 5, 7, 8 ], 96,
+[ 5, 7, 9 ], 96,
+[ 5, 7, 10 ], 96,
+[ 5, 7, 11 ], 96,
+[ 5, 7, 12 ], 96,
+[ 5, 7, 13 ], 98,
+[ 5, 7, 14 ], 98,
+[ 5, 7, 15 ], 99,
+[ 5, 7, 16 ], 100,
+[ 5, 7, 17 ], 100,
+[ 5, 7, 18 ], 100,
+[ 5, 7, 19 ], 100,
+[ 5, 7, 20 ], 101,
+[ 5, 7, 21 ], 102,
+[ 5, 7, 22 ], 103,
+[ 5, 7, 23 ], 103,
+[ 5, 7, 24 ], 103,
+[ 5, 7, 25 ], 104,
+[ 5, 8, 0 ], 105,
+[ 5, 8, 1 ], 106,
+[ 6, 0, 0 ], 108,
+[ 6, 1, 0 ], 108,
+[ 6, 1, 1 ], 108,
+[ 6, 1, 2 ], 109,
+[ 6, 1, 3 ], 109,
+[ 6, 1, 4 ], 110,
+[ 6, 1, 5 ], 110,
+[ 6, 1, 6 ], 111,
+[ 6, 1, 7 ], 111,
+[ 6, 1, 8 ], 112,
+[ 6, 1, 9 ], 112,
+[ 6, 1, 10 ], 113,
+[ 6, 1, 11 ], 114,
+[ 6, 1, 12 ], 114,
+[ 6, 1, 13 ], 114,
+[ 6, 1, 14 ], 115,
+[ 6, 1, 15 ], 116,
+[ 6, 1, 16 ], 116,
+[ 6, 1, 17 ], 116,
+[ 6, 1, 18 ], 117,
+[ 6, 1, 19 ], 117,
+[ 6, 1, 20 ], 118,
+[ 6, 2, 0 ], 119,
+[ 6, 2, 1 ], 119,
+[ 6, 2, 2 ], 119,
+[ 6, 2, 3 ], 119,
+[ 6, 2, 4 ], 120,
+[ 6, 2, 5 ], 120,
+[ 6, 2, 6 ], 121,
+[ 6, 2, 7 ], 121,
+[ 6, 2, 8 ], 122,
+[ 6, 2, 9 ], 122,
+[ 6, 2, 10 ], 123,
+[ 6, 2, 11 ], 124,
+[ 6, 2, 12 ], 125,
+[ 7, 0, 0 ], 126,
+[ 7, 1, 0 ], 126,
+[ 7, 1, 1 ], 127,
+[ 7, 1, 2 ], 127,
+[ 7, 1, 3 ], 127,
+[ 7, 1, 4 ], 128,
+[ 7, 1, 5 ], 128,
+[ 7, 1, 6 ], 129,
+[ 7, 1, 7 ], 129,
+[ 7, 1, 8 ], 129,
+[ 7, 1, 9 ], 130,
+[ 7, 1, 10 ], 130,
+[ 7, 1, 11 ], 130,
+[ 7, 1, 12 ], 131,
+[ 7, 1, 13 ], 131,
+[ 7, 2, 0 ], 132,
+[ 7, 2, 1 ], 132,
+[ 7, 2, 2 ], 132,
+[ 7, 2, 3 ], 133,
+[ 7, 2, 4 ], 134,
+[ 7, 2, 5 ], 134,
+[ 7, 2, 6 ], 135,
+[ 7, 2, 7 ], 135,
+[ 7, 2, 8 ], 136,
+[ 7, 2, 9 ], 136,
+[ 7, 2, 10 ], 137,
+[ 7, 2, 11 ], 137,
+[ 7, 2, 12 ], 138,
+[ 7, 2, 13 ], 138,
+[ 7, 2, 14 ], 139,
+[ 7, 2, 15 ], 139,
+[ 7, 2, 16 ], 139,
+[ 7, 2, 17 ], 140,
+[ 7, 3, 0 ], 140,
+[ 7, 3, 1 ], 141,
+[ 7, 3, 2 ], 141,
+[ 7, 3, 3 ], 141,
+[ 7, 3, 4 ], 142,
+[ 7, 3, 5 ], 142,
+[ 7, 3, 6 ], 143,
+[ 7, 3, 7 ], 144,
+[ 7, 3, 8 ], 144,
+[ 7, 3, 9 ], 144,
+[ 7, 3, 10 ], 145,
+[ 7, 3, 11 ], 145,
+[ 7, 3, 12 ], 146,
+[ 7, 3, 13 ], 146,
+[ 7, 4, 0 ], 147,
+[ 7, 4, 1 ], 147,
+[ 7, 4, 2 ], 147,
+[ 7, 4, 3 ], 147,
+[ 7, 4, 4 ], 148,
+[ 7, 4, 5 ], 148,
+[ 7, 5, 0 ], 148,
+[ 7, 5, 1 ], 148,
+[ 7, 5, 2 ], 149,
+[ 7, 5, 3 ], 149,
+[ 7, 5, 4 ], 149,
+[ 7, 5, 5 ], 150,
+[ 7, 5, 6 ], 150,
+[ 7, 5, 7 ], 150,
+[ 7, 5, 8 ], 151,
+[ 7, 5, 9 ], 151,
+[ 7, 5, 10 ], 151,
+[ 7, 5, 11 ], 152,
+[ 7, 5, 12 ], 152,
+[ 7, 5, 13 ], 153,
+[ 7, 5, 14 ], 153,
+[ 7, 5, 15 ], 153,
+[ 7, 5, 16 ], 154,
+[ 7, 5, 17 ], 154,
+[ 7, 6, 0 ], 154,
+[ 7, 6, 1 ], 154,
+[ 7, 6, 2 ], 154,
+[ 7, 6, 3 ], 155,
+[ 7, 6, 4 ], 155,
+[ 7, 6, 5 ], 156,
+[ 7, 6, 6 ], 156,
+[ 7, 6, 7 ], 156,
+[ 7, 6, 8 ], 157,
+[ 7, 6, 9 ], 157,
+[ 7, 6, 10 ], 158,
+[ 7, 7, 0 ], 158,
+[ "Bib", 0, 0 ], 164,
+[ "Ind", 0, 0 ], 166,
+["End"], 171];
diff --git a/doc/guava.tex b/doc/guava.tex
index b943f46..4babc9b 100644
--- a/doc/guava.tex
+++ b/doc/guava.tex
@@ -52,8 +52,8 @@
 \hypersetup{pdftitle= \textsf{GUAVA} }
 \markright{\scriptsize \mbox{}\hfill  \textsf{GUAVA}  \hfill\mbox{}}
 {\Large \textbf{  A \textsf{GAP}4 Package for computing with error-correcting codes {\nobreakspace} \mbox{}}}\\[1cm]
-{Version 3.5\mbox{}}\\[1cm]
-{April 25, 2008\mbox{}}\\[1cm]
+{Version 3.6\mbox{}}\\[1cm]
+{June 20, 2008\mbox{}}\\[1cm]
 \mbox{}\\[2cm]
 {\large \textbf{ Jasper Cramwinckel \mbox{}}}\\
 {\large \textbf{ Erik Roijackers \mbox{}}}\\
@@ -81,14 +81,13 @@
 {\small 
 \section*{Copyright}
 \logpage{[ 0, 0, 1 ]}
-  {\copyright} The GUAVA Group: 1992-2003 Jasper Cramwinckel, Erik
+  \textsf{GUAVA}: {\copyright} The GUAVA Group: 1992-2003 Jasper Cramwinckel, Erik
 Roijackers,Reinald Baart, Eric Minkes, Lea Ruscio (for the tex version),
 Jeffrey Leon {\copyright} 2004 David Joyner, Cen Tjhai, Jasper Cramwinckel,
 Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio. {\copyright} 2007
 Robert L Miller, Tom Boothby 
 
- \textsf{GUAVA} is released under the GNU General Public License (GPL). This file is part of \textsf{GUAVA}, though as documentation it is released under the GNU Free Documentation
-License (see \href{http://www.gnu.org/licenses/licenses.html#FDL} {\texttt{http://www.gnu.org/licenses/licenses.html\#FDL}}). 
+ \textsf{GUAVA} is released under the GNU General Public License (GPL). 
 
  \textsf{GUAVA} is free software; you can redistribute it and/or modify it under the terms of
 the GNU General Public License as published by the Free Software Foundation;
@@ -109,7 +108,16 @@ Jeffrey S. Leon. This software may be used freely for educational and research
 purposes. Any other use requires permission from the author.'' The following
 should now be appended: ``I, Jeffrey S. Leon, agree to license all the
 partition backtrack code which I have written under the GPL (www.fsf.org) as
-of this date, April 17, 2007.'' \mbox{}}\\[1cm]
+of this date, April 17, 2007.'' 
+
+ \textsf{GUAVA} documentation: {\copyright} Jasper Cramwinckel, Erik Roijackers,Reinald Baart,
+Eric Minkes, Lea Ruscio (for the tex version), David Joyner, Cen Tjhai, Jasper
+Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio.
+Permission is granted to copy, distribute and/or modify this document under
+the terms of the GNU Free Documentation License, Version 1.2 or any later
+version published by the Free Software Foundation; with no Invariant Sections,
+no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is
+included in the section entitled "GNU Free Documentation License". \mbox{}}\\[1cm]
 {\small 
 \section*{Acknowledgements}
 \logpage{[ 0, 0, 2 ]}
@@ -139,7 +147,7 @@ This documentation was prepared with the \textsf{GAPDoc} package of Frank L{\"u}
 
  \emph{Contributors}: Other than the authors listed on the title page, the following people have
 contributed code to the \textsf{GUAVA} project: Alexander Hulpke, Steve Linton, Frank L{\"u}beck, Aron Foster, Wayne
-Irons, Clifton (``Clipper") Lennon, Jason McGowan, Shuhong Gao, Greg Gamble. 
+Irons, Clifton (Clipper) Lennon, Jason McGowan, Shuhong Gao, Greg Gamble. 
 
  For documentation on Leon's programs, see the src/leon/doc subdirectory of \textsf{GUAVA}. \mbox{}}\\[1cm]
 \newpage
@@ -2915,20 +2923,10 @@ C which are a distance of at most \mbox{\texttt{\slshape tau}} from \mbox{\textt
 }\hfill{\scriptsize (function)}}\\
 
 
- The iterative decoding method \texttt{BitFlipDecoder} must only be applied to LDPC codes. These have not been implemented in GUAVA
-(but see \texttt{FerreroDesignCode} for a code with similar properties). A binary low density parity check (LDPC)
-code of length \$n\$ and redundancy \$r\$ is defined in terms of its check
-matrix \$H\$: 
-\begin{itemize}
-\item  Each row of \$H\$ has exactly \$x\$ 1's. 
-\item  Each column has exactly \$y\$ 1's. 
-\item  The number of 1's in common between any two columns is less than or equal to
-one. 
-\item  \$x/n\$ and \$y/r\$ are 'small'. 
-\end{itemize}
- For these codes, \texttt{BitFlipDecoder} decodes very quickly. (Warning: it can give wildly wrong results for arbitrary
+ The iterative decoding method \texttt{BitFlipDecoder} must only be applied to LDPC codes. For more information on LDPC codes, refer
+to Section \ref{LDPC}. For these codes, \texttt{BitFlipDecoder} decodes very quickly. (Warning: it can give wildly wrong results for arbitrary
 binary linear codes.) The bit flipping algorithm is described for example in
-chapter 13 of \cite{JH04}. }
+Chapter 13 of \cite{JH04}. }
 
  
 \begin{Verbatim}[fontsize=\small,frame=single,label=Example]
@@ -3201,7 +3199,9 @@ Gabidulin codes.
 applied to a space of functions. For example, generalized Reed-Solomon codes
 and toric codes are described there. 
 
- 
+ Section \ref{Algebraic geometric codes} describes functions for generating algebraic geometry codes. 
+
+ Section \ref{LDPC} describes functions for constructing low-density parity-check (LDPC) codes. 
 \section{\textcolor{Chapter }{ Generating Unrestricted Codes }}\logpage{[ 5, 1, 0 ]}
 \hyperdef{L}{X86A92CB184CBD3C7}{}
 {
@@ -5553,7 +5553,7 @@ the code
 
  Input: \texttt{pts} is a set of affine points on \texttt{crv}, \texttt{L} is a list of rational functions on \texttt{crv}. \\
  Output: The evaluation code associated to the points in \texttt{pts} and functions in \texttt{L}, but specifically for affine plane curves and this function checks if points
-are ``bad" (if so removes them from the list \texttt{pts} automatically). A point is ``bad'' if either it does not lie on the set of
+are "bad" (if so removes them from the list \texttt{pts} automatically). A point is ``bad'' if either it does not lie on the set of
 non-singular $F$-rational points (places of degree 1) on the curve. 
 
  Very similar to \texttt{EvaluationCode} (see \texttt{EvaluationCode} (\ref{EvaluationCode}) for a more general construction). }
@@ -5651,6 +5651,121 @@ non-singular $F$-rational points (places of degree 1) on the curve.
 \end{Verbatim}
   See \texttt{EvaluationCode} (\ref{EvaluationCode}) for a more general construction. }
 
+ 
+\section{\textcolor{Chapter }{ Low-Density Parity-Check Codes }}\logpage{[ 5, 8, 0 ]}
+\hyperdef{L}{X84F3673D7BBF5956}{}
+{
+  \label{LDPC} \index{LDPC} Low-density parity-check (LDPC) codes form a class of linear block codes whose
+parity-check matrix--as the name implies, is sparse. LDPC codes were
+introduced by Robert Gallager in 1962 \cite{Gallager.1962} as his PhD work. Due to the decoding complexity for the technology back then,
+these codes were forgotten. Not until the late 1990s, these codes were
+rediscovered and research results have shown that LDPC codes can achieve near
+Shannon's capacity performance provided that their block length is long enough
+and soft-decision iterative decoder is employed. Note that the bit-flipping
+decoder (see \texttt{BitFlipDecoder}) is a hard-decision decoder and hence capacity achieving performance cannot
+be achieved despite having a large block length. 
+
+ Based on the structure of their parity-check matrix, LDPC codes may be
+categorised into two classes: 
+\begin{itemize}
+\item  Regular LDPC codes 
+
+ This class of codes has a fixed number of non zeros per column and per row in
+their parity-check matrix. These codes are usually denoted as $(n,j,k)$ codes where $n$ is the block length, $j$ is the number of non zeros per column in their parity-check matrix and $k$ is the number of non zeros per row in their parity-check matrix. 
+\item  Irregular LDPC codes 
+
+ The irregular codes, on the other hand, do not have a fixed number of non
+zeros per column and row in their parity-check matrix. This class of codes are
+commonly represented by two polynomials which denote the distribution of the
+number of non zeros in the columns and rows respectively of their parity-check
+matrix. 
+\end{itemize}
+ 
+
+\subsection{\textcolor{Chapter }{QCLDPCCodeFromGroup}}
+\logpage{[ 5, 8, 1 ]}\nobreak
+\hyperdef{L}{X8020A9357AD0BA92}{}
+{\noindent\textcolor{FuncColor}{$\Diamond$\ \texttt{QCLDPCCodeFromGroup({\slshape m, j, k})\index{QCLDPCCodeFromGroup@\texttt{QCLDPCCodeFromGroup}}
+\label{QCLDPCCodeFromGroup}
+}\hfill{\scriptsize (function)}}\\
+
+
+ \texttt{QCLDCCodeFromGroup} produces an $(n,j,k)$ regular quasi-cyclic LDPC code over GF(2) of block length $n = mk$. The term quasi-cyclic in the context of LDPC codes typically refers to LDPC
+codes whose parity-check matrix $H$ has the following form 
+\begin{verbatim}  
+      -                                              -
+      |  I_P(0,0)  |  I_P(0,1)  | ... |  I_P(0,k-1)  |
+      |  I_P(1,0)  |  I_P(1,1)  | ... |  I_P(1,k-1)  |
+  H = |      .     |     .      |  .  |       .      |,
+      |      .     |     .      |  .  |       .      |
+      | I_P(j-1,0) | I_P(j-1,1) | ... | I_P(j-1,k-1) |
+      -                                              -
+  		
+\end{verbatim}
+ where $I_{P(s,t)}$ is an identity matrix of size $m \times m$ which has been shifted so that the $1$ on the first row starts at position $P(s,t)$. 
+
+ Let $F$ be a multiplicative group of integers modulo $m$. If $m$ is a prime, $F=\{0,1,...,m-1\}$, otherwise $F$ contains a set of integers which are relatively prime to $m$. In both cases, the order of $F$ is equal to $\phi(m)$. Let $a$ and $b$ be non zeros of $F$ such that the orders of $a$ and $b$ are $k$ and $j$ respectively. Note that the integers $a$ and $b$ can always be found provided that $k$ and $j$ respectively divide $\phi(m)$. Having obtain integers $a$ and $b$, construct th [...]
+\begin{verbatim}  
+      -                                             -
+      |    1    |     a    | . . . |      a^{k-1}   |
+      |    b    |    ab    | . . . |     a^{k-1}b   |
+  P = |    .    |    .     |   .   |        .       |.
+      |    .    |    .     |   .   |        .       |
+      | b^{j-1} | ab^{j-1} | . . . | a^{k-1}b^{j-1} |
+      -                                             -
+  		
+\end{verbatim}
+ The parity-check matrix $H$ of the LDPC code can be obtained by expanding each element of matrix $P$, i.e. $P(s,t)$, to an identity matrix $I_{P(s,t)}$ of size $m \times m$. 
+
+ The code rate $R$ of the constructed code is given by 
+\[ R \geq 1 - \frac{j}{k} \]
+ where the sign $\geq$ is due to the possible existence of some non linearly independent rows in $H$. For more details to the paper by Tanner et al \cite{TSSFC04}. }
+
+ 
+\begin{Verbatim}[fontsize=\small,frame=single,label=Example]
+  gap> C := QCLDPCCodeFromGroup(7,2,3);
+  a linear [21,8,1..6]5..10 low-density parity-check code over GF(2)
+  gap> MinimumWeight(C);
+  [21,8] linear code over GF(2) - minimum weight evaluation
+  Known lower-bound: 1
+  There are 3 generator matrices, ranks : 8 8 5 
+  The weight of the minimum weight codeword satisfies 0 mod 2 congruence
+  Enumerating codewords with information weight 1 (w=1)
+      Found new minimum weight 6
+  Number of matrices required for codeword enumeration 2
+  Completed w= 1, 24 codewords enumerated, lower-bound 4, upper-bound 6
+  Termination expected with information weight 2 at matrix 1
+  -----------------------------------------------------------------------------
+  Enumerating codewords with information weight 2 (w=2) using 1 matrices
+  Completed w= 2, 28 codewords enumerated, lower-bound 6, upper-bound 6
+  -----------------------------------------------------------------------------
+  Minimum weight: 6
+  6
+  gap> # The quasi-cyclic structure is obvious from the check matrix
+  gap> Display( CheckMat(C) );
+   1 . . . . . . . 1 . . . . . . . . 1 . . .
+   . 1 . . . . . . . 1 . . . . . . . . 1 . .
+   . . 1 . . . . . . . 1 . . . . . . . . 1 .
+   . . . 1 . . . . . . . 1 . . . . . . . . 1
+   . . . . 1 . . . . . . . 1 . 1 . . . . . .
+   . . . . . 1 . . . . . . . 1 . 1 . . . . .
+   . . . . . . 1 1 . . . . . . . . 1 . . . .
+   . . . . . 1 . . . . . 1 . . . . 1 . . . .
+   . . . . . . 1 . . . . . 1 . . . . 1 . . .
+   1 . . . . . . . . . . . . 1 . . . . 1 . .
+   . 1 . . . . . 1 . . . . . . . . . . . 1 .
+   . . 1 . . . . . 1 . . . . . . . . . . . 1
+   . . . 1 . . . . . 1 . . . . 1 . . . . . .
+   . . . . 1 . . . . . 1 . . . . 1 . . . . .
+  gap> # This is the famous [155,64,20] quasi-cyclic LDPC codes
+  gap> C := QCLDPCCodeFromGroup(31,3,5);
+  a linear [155,64,1..24]24..77 low-density parity-check code over GF(2)
+  gap> # An example using non prime m, it may take a while to construct this code
+  gap> C := QCLDPCCodeFromGroup(356,4,8);
+  a linear [2848,1436,1..120]312..1412 low-density parity-check code over GF(2)
+\end{Verbatim}
+  }
+
  }
 
  
@@ -7685,10 +7800,10 @@ vector. Each call to \texttt{GrayMat} returns a new matrix, so it is safe to mod
 
 
  \texttt{HadamardMat} returns a Hadamard matrix of order \mbox{\texttt{\slshape n}}. This is an $n\times n$ matrix with the property that the matrix multiplied by its transpose returns \mbox{\texttt{\slshape n}} times the identity matrix. This is only possible for $n=1, n=2$ or in cases where \mbox{\texttt{\slshape n}} is a multiple of $4$. If the matrix does not exist or is not known (as of 1998), \texttt{HadamardMat} returns an error. A large number of construction methods is known to create
-these matrices for different orders. \texttt{HadamardMat} makes use of two construction methods (among which the Sylvester construction
--- see \texttt{SylvesterMat} (\ref{SylvesterMat})). These methods cover most of the possible Hadamard matrices, although some
+these matrices for different orders. \texttt{HadamardMat} makes use of two construction methods (the Paley Type I and II constructions,
+and the Sylvester construction -- see \texttt{SylvesterMat} (\ref{SylvesterMat})). These methods cover most of the possible Hadamard matrices, although some
 special algorithms have not been implemented yet. The following orders less
-than $100$ do not yet have an implementation for a Hadamard matrix in \textsf{GUAVA}: $28, 36, 52, 76, 92$. }
+than $100$ do not yet have an implementation for a Hadamard matrix in \textsf{GUAVA}: $52, 92$. }
 
  
 \begin{Verbatim}[fontsize=\small,frame=single,label=Example]
@@ -8400,7 +8515,7 @@ is the maximum value of the list of weights. }
 
 
  This is a very simple list command which returns how many times a occurs in L.
-It returns 0 if a is not in L. (The GAP command \texttt{Collected} does not quite handle this ``extreme" case.) }
+It returns 0 if a is not in L. (The GAP command \texttt{Collected} does not quite handle this "extreme" case.) }
 
  
 \begin{Verbatim}[fontsize=\small,frame=single,label=Example]
@@ -8749,6 +8864,354 @@ polynomial factors of \mbox{\texttt{\slshape f}}. Since \texttt{Factors} is non-
 \end{Verbatim}
   }
 
+ 
+\section{\textcolor{Chapter }{ GNU Free Documentation License }}\logpage{[ 7, 7, 0 ]}
+\hyperdef{L}{X82257DE97D1822AA}{}
+{
+  GNU Free Documentation License Version 1.2, November 2002 
+
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St,
+Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and
+distribute verbatim copies of this license document, but changing it is not
+allowed. 
+
+ 0. PREAMBLE 
+
+ The purpose of this License is to make a manual, textbook, or other functional
+and useful document "free" in the sense of freedom: to assure everyone the
+effective freedom to copy and redistribute it, with or without modifying it,
+either commercially or noncommercially. Secondarily, this License preserves
+for the author and publisher a way to get credit for their work, while not
+being considered responsible for modifications made by others. 
+
+ This License is a kind of "copyleft", which means that derivative works of the
+document must themselves be free in the same sense. It complements the GNU
+General Public License, which is a copyleft license designed for free
+software. 
+
+ We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free program
+should come with manuals providing the same freedoms that the software does.
+But this License is not limited to software manuals; it can be used for any
+textual work, regardless of subject matter or whether it is published as a
+printed book. We recommend this License principally for works whose purpose is
+instruction or reference. 
+
+ 1. APPLICABILITY AND DEFINITIONS 
+
+ This License applies to any manual or other work, in any medium, that contains
+a notice placed by the copyright holder saying it can be distributed under the
+terms of this License. Such a notice grants a world-wide, royalty-free
+license, unlimited in duration, to use that work under the conditions stated
+herein. The "Document", below, refers to any such manual or work. Any member
+of the public is a licensee, and is addressed as "you". You accept the license
+if you copy, modify or distribute the work in a way requiring permission under
+copyright law. 
+
+ A "Modified Version" of the Document means any work containing the Document or
+a portion of it, either copied verbatim, or with modifications and/or
+translated into another language. 
+
+ A "Secondary Section" is a named appendix or a front-matter section of the
+Document that deals exclusively with the relationship of the publishers or
+authors of the Document to the Document's overall subject (or to related
+matters) and contains nothing that could fall directly within that overall
+subject. (Thus, if the Document is in part a textbook of mathematics, a
+Secondary Section may not explain any mathematics.) The relationship could be
+a matter of historical connection with the subject or with related matters, or
+of legal, commercial, philosophical, ethical or political position regarding
+them. 
+
+ The "Invariant Sections" are certain Secondary Sections whose titles are
+designated, as being those of Invariant Sections, in the notice that says that
+the Document is released under this License. If a section does not fit the
+above definition of Secondary then it is not allowed to be designated as
+Invariant. The Document may contain zero Invariant Sections. If the Document
+does not identify any Invariant Sections then there are none. 
+
+ The "Cover Texts" are certain short passages of text that are listed, as
+Front-Cover Texts or Back-Cover Texts, in the notice that says that the
+Document is released under this License. A Front-Cover Text may be at most 5
+words, and a Back-Cover Text may be at most 25 words. 
+
+ A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the general
+public, that is suitable for revising the document straightforwardly with
+generic text editors or (for images composed of pixels) generic paint programs
+or (for drawings) some widely available drawing editor, and that is suitable
+for input to text formatters or for automatic translation to a variety of
+formats suitable for input to text formatters. A copy made in an otherwise
+Transparent file format whose markup, or absence of markup, has been arranged
+to thwart or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount of text.
+A copy that is not "Transparent" is called "Opaque". 
+
+ Examples of suitable formats for Transparent copies include plain ASCII
+without markup, Texinfo input format, LaTeX input format, SGML or XML using a
+publicly available DTD, and standard-conforming simple HTML, PostScript or PDF
+designed for human modification. Examples of transparent image formats include
+PNG, XCF and JPG. Opaque formats include proprietary formats that can be read
+and edited only by proprietary word processors, SGML or XML for which the DTD
+and/or processing tools are not generally available, and the machine-generated
+HTML, PostScript or PDF produced by some word processors for output purposes
+only. 
+
+ The "Title Page" means, for a printed book, the title page itself, plus such
+following pages as are needed to hold, legibly, the material this License
+requires to appear in the title page. For works in formats which do not have
+any title page as such, "Title Page" means the text near the most prominent
+appearance of the work's title, preceding the beginning of the body of the
+text. 
+
+ A section "Entitled XYZ" means a named subunit of the Document whose title
+either is precisely XYZ or contains XYZ in parentheses following text that
+translates XYZ in another language. (Here XYZ stands for a specific section
+name mentioned below, such as "Acknowledgements", "Dedications",
+"Endorsements", or "History".) To "Preserve the Title" of such a section when
+you modify the Document means that it remains a section "Entitled XYZ"
+according to this definition. 
+
+ The Document may include Warranty Disclaimers next to the notice which states
+that this License applies to the Document. These Warranty Disclaimers are
+considered to be included by reference in this License, but only as regards
+disclaiming warranties: any other implication that these Warranty Disclaimers
+may have is void and has no effect on the meaning of this License. 
+
+ 2. VERBATIM COPYING 
+
+ You may copy and distribute the Document in any medium, either commercially or
+noncommercially, provided that this License, the copyright notices, and the
+license notice saying this License applies to the Document are reproduced in
+all copies, and that you add no other conditions whatsoever to those of this
+License. You may not use technical measures to obstruct or control the reading
+or further copying of the copies you make or distribute. However, you may
+accept compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3. 
+
+ You may also lend copies, under the same conditions stated above, and you may
+publicly display copies. 
+
+ 3. COPYING IN QUANTITY 
+
+ If you publish printed copies (or copies in media that commonly have printed
+covers) of the Document, numbering more than 100, and the Document's license
+notice requires Cover Texts, you must enclose the copies in covers that carry,
+clearly and legibly, all these Cover Texts: Front-Cover Texts on the front
+cover, and Back-Cover Texts on the back cover. Both covers must also clearly
+and legibly identify you as the publisher of these copies. The front cover
+must present the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition. Copying with
+changes limited to the covers, as long as they preserve the title of the
+Document and satisfy these conditions, can be treated as verbatim copying in
+other respects. 
+
+ If the required texts for either cover are too voluminous to fit legibly, you
+should put the first ones listed (as many as fit reasonably) on the actual
+cover, and continue the rest onto adjacent pages. 
+
+ If you publish or distribute Opaque copies of the Document numbering more than
+100, you must either include a machine-readable Transparent copy along with
+each Opaque copy, or state in or with each Opaque copy a computer-network
+location from which the general network-using public has access to download
+using public-standard network protocols a complete Transparent copy of the
+Document, free of added material. If you use the latter option, you must take
+reasonably prudent steps, when you begin distribution of Opaque copies in
+quantity, to ensure that this Transparent copy will remain thus accessible at
+the stated location until at least one year after the last time you distribute
+an Opaque copy (directly or through your agents or retailers) of that edition
+to the public. 
+
+ It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give them a
+chance to provide you with an updated version of the Document. 
+
+ 4. MODIFICATIONS 
+
+ You may copy and distribute a Modified Version of the Document under the
+conditions of sections 2 and 3 above, provided that you release the Modified
+Version under precisely this License, with the Modified Version filling the
+role of the Document, thus licensing distribution and modification of the
+Modified Version to whoever possesses a copy of it. In addition, you must do
+these things in the Modified Version: 
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct from
+that of the Document, and from those of previous versions (which should, if
+there were any, be listed in the History section of the Document). You may use
+the same title as a previous version if the original publisher of that version
+gives permission. 
+
+ B. List on the Title Page, as authors, one or more persons or entities
+responsible for authorship of the modifications in the Modified Version,
+together with at least five of the principal authors of the Document (all of
+its principal authors, if it has fewer than five), unless they release you
+from this requirement. 
+
+ C. State on the Title page the name of the publisher of the Modified Version,
+as the publisher. 
+
+ D. Preserve all the copyright notices of the Document. 
+
+ E. Add an appropriate copyright notice for your modifications adjacent to the
+other copyright notices. 
+
+ F. Include, immediately after the copyright notices, a license notice giving
+the public permission to use the Modified Version under the terms of this
+License, in the form shown in the Addendum below. 
+
+ G. Preserve in that license notice the full lists of Invariant Sections and
+required Cover Texts given in the Document's license notice. 
+
+ H. Include an unaltered copy of this License. 
+
+ I. Preserve the section Entitled "History", Preserve its Title, and add to it
+an item stating at least the title, year, new authors, and publisher of the
+Modified Version as given on the Title Page. If there is no section Entitled
+"History" in the Document, create one stating the title, year, authors, and
+publisher of the Document as given on its Title Page, then add an item
+describing the Modified Version as stated in the previous sentence. 
+
+ J. Preserve the network location, if any, given in the Document for public
+access to a Transparent copy of the Document, and likewise the network
+locations given in the Document for previous versions it was based on. These
+may be placed in the "History" section. You may omit a network location for a
+work that was published at least four years before the Document itself, or if
+the original publisher of the version it refers to gives permission. 
+
+ K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the
+Title of the section, and preserve in the section all the substance and tone
+of each of the contributor acknowledgements and/or dedications given therein. 
+
+ L. Preserve all the Invariant Sections of the Document, unaltered in their
+text and in their titles. Section numbers or the equivalent are not considered
+part of the section titles. 
+
+ M. Delete any section Entitled "Endorsements". Such a section may not be
+included in the Modified Version. 
+
+ N. Do not retitle any existing section to be Entitled "Endorsements" or to
+conflict in title with any Invariant Section. 
+
+ O. Preserve any Warranty Disclaimers. 
+
+ If the Modified Version includes new front-matter sections or appendices that
+qualify as Secondary Sections and contain no material copied from the
+Document, you may at your option designate some or all of these sections as
+invariant. To do this, add their titles to the list of Invariant Sections in
+the Modified Version's license notice. These titles must be distinct from any
+other section titles. 
+
+ You may add a section Entitled "Endorsements", provided it contains nothing
+but endorsements of your Modified Version by various parties--for example,
+statements of peer review or that the text has been approved by an
+organization as the authoritative definition of a standard. 
+
+ You may add a passage of up to five words as a Front-Cover Text, and a passage
+of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts
+in the Modified Version. Only one passage of Front-Cover Text and one of
+Back-Cover Text may be added by (or through arrangements made by) any one
+entity. If the Document already includes a cover text for the same cover,
+previously added by you or by arrangement made by the same entity you are
+acting on behalf of, you may not add another; but you may replace the old one,
+on explicit permission from the previous publisher that added the old one. 
+
+ The author(s) and publisher(s) of the Document do not by this License give
+permission to use their names for publicity for or to assert or imply
+endorsement of any Modified Version. 
+
+ 5. COMBINING DOCUMENTS 
+
+ You may combine the Document with other documents released under this License,
+under the terms defined in section 4 above for modified versions, provided
+that you include in the combination all of the Invariant Sections of all of
+the original documents, unmodified, and list them all as Invariant Sections of
+your combined work in its license notice, and that you preserve all their
+Warranty Disclaimers. 
+
+ The combined work need only contain one copy of this License, and multiple
+identical Invariant Sections may be replaced with a single copy. If there are
+multiple Invariant Sections with the same name but different contents, make
+the title of each such section unique by adding at the end of it, in
+parentheses, the name of the original author or publisher of that section if
+known, or else a unique number. Make the same adjustment to the section titles
+in the list of Invariant Sections in the license notice of the combined work. 
+
+ In the combination, you must combine any sections Entitled "History" in the
+various original documents, forming one section Entitled "History"; likewise
+combine any sections Entitled "Acknowledgements", and any sections Entitled
+"Dedications". You must delete all sections Entitled "Endorsements". 
+
+ 6. COLLECTIONS OF DOCUMENTS 
+
+ You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this License
+in the various documents with a single copy that is included in the
+collection, provided that you follow the rules of this License for verbatim
+copying of each of the documents in all other respects. 
+
+ You may extract a single document from such a collection, and distribute it
+individually under this License, provided you insert a copy of this License
+into the extracted document, and follow this License in all other respects
+regarding verbatim copying of that document. 
+
+ 7. AGGREGATION WITH INDEPENDENT WORKS 
+
+ A compilation of the Document or its derivatives with other separate and
+independent documents or works, in or on a volume of a storage or distribution
+medium, is called an "aggregate" if the copyright resulting from the
+compilation is not used to limit the legal rights of the compilation's users
+beyond what the individual works permit. When the Document is included in an
+aggregate, this License does not apply to the other works in the aggregate
+which are not themselves derivative works of the Document. 
+
+ If the Cover Text requirement of section 3 is applicable to these copies of
+the Document, then if the Document is less than one half of the entire
+aggregate, the Document's Cover Texts may be placed on covers that bracket the
+Document within the aggregate, or the electronic equivalent of covers if the
+Document is in electronic form. Otherwise they must appear on printed covers
+that bracket the whole aggregate. 
+
+ 8. TRANSLATION 
+
+ Translation is considered a kind of modification, so you may distribute
+translations of the Document under the terms of section 4. Replacing Invariant
+Sections with translations requires special permission from their copyright
+holders, but you may include translations of some or all Invariant Sections in
+addition to the original versions of these Invariant Sections. You may include
+a translation of this License, and all the license notices in the Document,
+and any Warranty Disclaimers, provided that you also include the original
+English version of this License and the original versions of those notices and
+disclaimers. In case of a disagreement between the translation and the
+original version of this License or a notice or disclaimer, the original
+version will prevail. 
+
+ If a section in the Document is Entitled "Acknowledgements", "Dedications", or
+"History", the requirement (section 4) to Preserve its Title (section 1) will
+typically require changing the actual title. 
+
+ 9. TERMINATION 
+
+ You may not copy, modify, sublicense, or distribute the Document except as
+expressly provided for under this License. Any other attempt to copy, modify,
+sublicense or distribute the Document is void, and will automatically
+terminate your rights under this License. However, parties who have received
+copies, or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance. 
+
+ 10. FUTURE REVISIONS OF THIS LICENSE 
+
+ The Free Software Foundation may publish new, revised versions of the GNU Free
+Documentation License from time to time. Such new versions will be similar in
+spirit to the present version, but may differ in detail to address new
+problems or concerns. See http://www.gnu.org/copyleft/. 
+
+ Each version of the License is given a distinguishing version number. If the
+Document specifies that a particular numbered version of this License "or any
+later version" applies to it, you have the option of following the terms and
+conditions either of that specified version or of any later version that has
+been published (not as a draft) by the Free Software Foundation. If the
+Document does not specify a version number of this License, you may choose any
+version ever published (not as a draft) by the Free Software Foundation. }
+
  }
 
  \def\bibname{References\logpage{[ "Bib", 0, 0 ]}
diff --git a/doc/guava.toc b/doc/guava.toc
index e8bee33..3529645 100644
--- a/doc/guava.toc
+++ b/doc/guava.toc
@@ -104,214 +104,217 @@
 \contentsline {subsection}{\numberline {4.10.4}\leavevmode {\color {Chapter }GeneralizedReedSolomonListDecoder}}{58}{subsection.4.10.4}
 \contentsline {subsection}{\numberline {4.10.5}\leavevmode {\color {Chapter }BitFlipDecoder}}{59}{subsection.4.10.5}
 \contentsline {subsection}{\numberline {4.10.6}\leavevmode {\color {Chapter }NearestNeighborGRSDecodewords}}{60}{subsection.4.10.6}
-\contentsline {subsection}{\numberline {4.10.7}\leavevmode {\color {Chapter }NearestNeighborDecodewords}}{61}{subsection.4.10.7}
+\contentsline {subsection}{\numberline {4.10.7}\leavevmode {\color {Chapter }NearestNeighborDecodewords}}{60}{subsection.4.10.7}
 \contentsline {subsection}{\numberline {4.10.8}\leavevmode {\color {Chapter }Syndrome}}{61}{subsection.4.10.8}
 \contentsline {subsection}{\numberline {4.10.9}\leavevmode {\color {Chapter }SyndromeTable}}{62}{subsection.4.10.9}
 \contentsline {subsection}{\numberline {4.10.10}\leavevmode {\color {Chapter }StandardArray}}{62}{subsection.4.10.10}
-\contentsline {subsection}{\numberline {4.10.11}\leavevmode {\color {Chapter }PermutationDecode}}{63}{subsection.4.10.11}
+\contentsline {subsection}{\numberline {4.10.11}\leavevmode {\color {Chapter }PermutationDecode}}{62}{subsection.4.10.11}
 \contentsline {subsection}{\numberline {4.10.12}\leavevmode {\color {Chapter }PermutationDecodeNC}}{63}{subsection.4.10.12}
-\contentsline {chapter}{\numberline {5}\leavevmode {\color {Chapter }Generating Codes}}{65}{chapter.5}
-\contentsline {section}{\numberline {5.1}\leavevmode {\color {Chapter } Generating Unrestricted Codes }}{65}{section.5.1}
-\contentsline {subsection}{\numberline {5.1.1}\leavevmode {\color {Chapter }ElementsCode}}{65}{subsection.5.1.1}
-\contentsline {subsection}{\numberline {5.1.2}\leavevmode {\color {Chapter }HadamardCode}}{66}{subsection.5.1.2}
-\contentsline {subsection}{\numberline {5.1.3}\leavevmode {\color {Chapter }ConferenceCode}}{66}{subsection.5.1.3}
-\contentsline {subsection}{\numberline {5.1.4}\leavevmode {\color {Chapter }MOLSCode}}{67}{subsection.5.1.4}
-\contentsline {subsection}{\numberline {5.1.5}\leavevmode {\color {Chapter }RandomCode}}{68}{subsection.5.1.5}
-\contentsline {subsection}{\numberline {5.1.6}\leavevmode {\color {Chapter }NordstromRobinsonCode}}{68}{subsection.5.1.6}
-\contentsline {subsection}{\numberline {5.1.7}\leavevmode {\color {Chapter }GreedyCode}}{68}{subsection.5.1.7}
-\contentsline {subsection}{\numberline {5.1.8}\leavevmode {\color {Chapter }LexiCode}}{69}{subsection.5.1.8}
-\contentsline {section}{\numberline {5.2}\leavevmode {\color {Chapter } Generating Linear Codes }}{69}{section.5.2}
-\contentsline {subsection}{\numberline {5.2.1}\leavevmode {\color {Chapter }GeneratorMatCode}}{69}{subsection.5.2.1}
-\contentsline {subsection}{\numberline {5.2.2}\leavevmode {\color {Chapter }CheckMatCodeMutable}}{70}{subsection.5.2.2}
-\contentsline {subsection}{\numberline {5.2.3}\leavevmode {\color {Chapter }CheckMatCode}}{70}{subsection.5.2.3}
-\contentsline {subsection}{\numberline {5.2.4}\leavevmode {\color {Chapter }HammingCode}}{71}{subsection.5.2.4}
-\contentsline {subsection}{\numberline {5.2.5}\leavevmode {\color {Chapter }ReedMullerCode}}{71}{subsection.5.2.5}
-\contentsline {subsection}{\numberline {5.2.6}\leavevmode {\color {Chapter }AlternantCode}}{71}{subsection.5.2.6}
-\contentsline {subsection}{\numberline {5.2.7}\leavevmode {\color {Chapter }GoppaCode}}{72}{subsection.5.2.7}
-\contentsline {subsection}{\numberline {5.2.8}\leavevmode {\color {Chapter }GeneralizedSrivastavaCode}}{72}{subsection.5.2.8}
-\contentsline {subsection}{\numberline {5.2.9}\leavevmode {\color {Chapter }SrivastavaCode}}{73}{subsection.5.2.9}
-\contentsline {subsection}{\numberline {5.2.10}\leavevmode {\color {Chapter }CordaroWagnerCode}}{73}{subsection.5.2.10}
-\contentsline {subsection}{\numberline {5.2.11}\leavevmode {\color {Chapter }FerreroDesignCode}}{73}{subsection.5.2.11}
-\contentsline {subsection}{\numberline {5.2.12}\leavevmode {\color {Chapter }RandomLinearCode}}{74}{subsection.5.2.12}
-\contentsline {subsection}{\numberline {5.2.13}\leavevmode {\color {Chapter }OptimalityCode}}{75}{subsection.5.2.13}
-\contentsline {subsection}{\numberline {5.2.14}\leavevmode {\color {Chapter }BestKnownLinearCode}}{75}{subsection.5.2.14}
-\contentsline {section}{\numberline {5.3}\leavevmode {\color {Chapter } Gabidulin Codes }}{77}{section.5.3}
-\contentsline {subsection}{\numberline {5.3.1}\leavevmode {\color {Chapter }GabidulinCode}}{77}{subsection.5.3.1}
-\contentsline {subsection}{\numberline {5.3.2}\leavevmode {\color {Chapter }EnlargedGabidulinCode}}{77}{subsection.5.3.2}
-\contentsline {subsection}{\numberline {5.3.3}\leavevmode {\color {Chapter }DavydovCode}}{77}{subsection.5.3.3}
-\contentsline {subsection}{\numberline {5.3.4}\leavevmode {\color {Chapter }TombakCode}}{77}{subsection.5.3.4}
-\contentsline {subsection}{\numberline {5.3.5}\leavevmode {\color {Chapter }EnlargedTombakCode}}{77}{subsection.5.3.5}
-\contentsline {section}{\numberline {5.4}\leavevmode {\color {Chapter } Golay Codes }}{78}{section.5.4}
-\contentsline {subsection}{\numberline {5.4.1}\leavevmode {\color {Chapter }BinaryGolayCode}}{78}{subsection.5.4.1}
-\contentsline {subsection}{\numberline {5.4.2}\leavevmode {\color {Chapter }ExtendedBinaryGolayCode}}{78}{subsection.5.4.2}
-\contentsline {subsection}{\numberline {5.4.3}\leavevmode {\color {Chapter }TernaryGolayCode}}{79}{subsection.5.4.3}
-\contentsline {subsection}{\numberline {5.4.4}\leavevmode {\color {Chapter }ExtendedTernaryGolayCode}}{79}{subsection.5.4.4}
-\contentsline {section}{\numberline {5.5}\leavevmode {\color {Chapter } Generating Cyclic Codes }}{79}{section.5.5}
-\contentsline {subsection}{\numberline {5.5.1}\leavevmode {\color {Chapter }GeneratorPolCode}}{80}{subsection.5.5.1}
-\contentsline {subsection}{\numberline {5.5.2}\leavevmode {\color {Chapter }CheckPolCode}}{81}{subsection.5.5.2}
-\contentsline {subsection}{\numberline {5.5.3}\leavevmode {\color {Chapter }RootsCode}}{81}{subsection.5.5.3}
-\contentsline {subsection}{\numberline {5.5.4}\leavevmode {\color {Chapter }BCHCode}}{82}{subsection.5.5.4}
-\contentsline {subsection}{\numberline {5.5.5}\leavevmode {\color {Chapter }ReedSolomonCode}}{83}{subsection.5.5.5}
-\contentsline {subsection}{\numberline {5.5.6}\leavevmode {\color {Chapter }ExtendedReedSolomonCode}}{83}{subsection.5.5.6}
-\contentsline {subsection}{\numberline {5.5.7}\leavevmode {\color {Chapter }QRCode}}{83}{subsection.5.5.7}
-\contentsline {subsection}{\numberline {5.5.8}\leavevmode {\color {Chapter }QQRCodeNC}}{84}{subsection.5.5.8}
-\contentsline {subsection}{\numberline {5.5.9}\leavevmode {\color {Chapter }QQRCode}}{84}{subsection.5.5.9}
-\contentsline {subsection}{\numberline {5.5.10}\leavevmode {\color {Chapter }FireCode}}{85}{subsection.5.5.10}
-\contentsline {subsection}{\numberline {5.5.11}\leavevmode {\color {Chapter }WholeSpaceCode}}{85}{subsection.5.5.11}
-\contentsline {subsection}{\numberline {5.5.12}\leavevmode {\color {Chapter }NullCode}}{86}{subsection.5.5.12}
-\contentsline {subsection}{\numberline {5.5.13}\leavevmode {\color {Chapter }RepetitionCode}}{86}{subsection.5.5.13}
-\contentsline {subsection}{\numberline {5.5.14}\leavevmode {\color {Chapter }CyclicCodes}}{86}{subsection.5.5.14}
-\contentsline {subsection}{\numberline {5.5.15}\leavevmode {\color {Chapter }NrCyclicCodes}}{86}{subsection.5.5.15}
-\contentsline {subsection}{\numberline {5.5.16}\leavevmode {\color {Chapter }QuasiCyclicCode}}{87}{subsection.5.5.16}
-\contentsline {subsection}{\numberline {5.5.17}\leavevmode {\color {Chapter }CyclicMDSCode}}{88}{subsection.5.5.17}
-\contentsline {subsection}{\numberline {5.5.18}\leavevmode {\color {Chapter }FourNegacirculantSelfDualCode}}{89}{subsection.5.5.18}
-\contentsline {subsection}{\numberline {5.5.19}\leavevmode {\color {Chapter }FourNegacirculantSelfDualCodeNC}}{90}{subsection.5.5.19}
-\contentsline {section}{\numberline {5.6}\leavevmode {\color {Chapter } Evaluation Codes }}{90}{section.5.6}
-\contentsline {subsection}{\numberline {5.6.1}\leavevmode {\color {Chapter }EvaluationCode}}{90}{subsection.5.6.1}
-\contentsline {subsection}{\numberline {5.6.2}\leavevmode {\color {Chapter }GeneralizedReedSolomonCode}}{90}{subsection.5.6.2}
-\contentsline {subsection}{\numberline {5.6.3}\leavevmode {\color {Chapter }GeneralizedReedMullerCode}}{91}{subsection.5.6.3}
-\contentsline {subsection}{\numberline {5.6.4}\leavevmode {\color {Chapter }ToricPoints}}{92}{subsection.5.6.4}
-\contentsline {subsection}{\numberline {5.6.5}\leavevmode {\color {Chapter }ToricCode}}{92}{subsection.5.6.5}
-\contentsline {section}{\numberline {5.7}\leavevmode {\color {Chapter } Algebraic geometric codes }}{93}{section.5.7}
-\contentsline {subsection}{\numberline {5.7.1}\leavevmode {\color {Chapter }AffineCurve}}{93}{subsection.5.7.1}
-\contentsline {subsection}{\numberline {5.7.2}\leavevmode {\color {Chapter }AffinePointsOnCurve}}{94}{subsection.5.7.2}
-\contentsline {subsection}{\numberline {5.7.3}\leavevmode {\color {Chapter }GenusCurve}}{94}{subsection.5.7.3}
-\contentsline {subsection}{\numberline {5.7.4}\leavevmode {\color {Chapter }GOrbitPoint }}{94}{subsection.5.7.4}
-\contentsline {subsection}{\numberline {5.7.5}\leavevmode {\color {Chapter }DivisorOnAffineCurve}}{96}{subsection.5.7.5}
-\contentsline {subsection}{\numberline {5.7.6}\leavevmode {\color {Chapter }DivisorAddition }}{96}{subsection.5.7.6}
-\contentsline {subsection}{\numberline {5.7.7}\leavevmode {\color {Chapter }DivisorDegree }}{96}{subsection.5.7.7}
-\contentsline {subsection}{\numberline {5.7.8}\leavevmode {\color {Chapter }DivisorNegate }}{97}{subsection.5.7.8}
-\contentsline {subsection}{\numberline {5.7.9}\leavevmode {\color {Chapter }DivisorIsZero }}{97}{subsection.5.7.9}
-\contentsline {subsection}{\numberline {5.7.10}\leavevmode {\color {Chapter }DivisorsEqual }}{97}{subsection.5.7.10}
-\contentsline {subsection}{\numberline {5.7.11}\leavevmode {\color {Chapter }DivisorGCD }}{97}{subsection.5.7.11}
-\contentsline {subsection}{\numberline {5.7.12}\leavevmode {\color {Chapter }DivisorLCM }}{97}{subsection.5.7.12}
-\contentsline {subsection}{\numberline {5.7.13}\leavevmode {\color {Chapter }RiemannRochSpaceBasisFunctionP1 }}{99}{subsection.5.7.13}
-\contentsline {subsection}{\numberline {5.7.14}\leavevmode {\color {Chapter }DivisorOfRationalFunctionP1 }}{99}{subsection.5.7.14}
-\contentsline {subsection}{\numberline {5.7.15}\leavevmode {\color {Chapter }RiemannRochSpaceBasisP1 }}{100}{subsection.5.7.15}
-\contentsline {subsection}{\numberline {5.7.16}\leavevmode {\color {Chapter }MoebiusTransformation }}{101}{subsection.5.7.16}
-\contentsline {subsection}{\numberline {5.7.17}\leavevmode {\color {Chapter }ActionMoebiusTransformationOnFunction }}{101}{subsection.5.7.17}
-\contentsline {subsection}{\numberline {5.7.18}\leavevmode {\color {Chapter }ActionMoebiusTransformationOnDivisorP1 }}{101}{subsection.5.7.18}
-\contentsline {subsection}{\numberline {5.7.19}\leavevmode {\color {Chapter }IsActionMoebiusTransformationOnDivisorDefinedP1 }}{101}{subsection.5.7.19}
-\contentsline {subsection}{\numberline {5.7.20}\leavevmode {\color {Chapter }DivisorAutomorphismGroupP1 }}{102}{subsection.5.7.20}
-\contentsline {subsection}{\numberline {5.7.21}\leavevmode {\color {Chapter }MatrixRepresentationOnRiemannRochSpaceP1 }}{103}{subsection.5.7.21}
-\contentsline {subsection}{\numberline {5.7.22}\leavevmode {\color {Chapter }GoppaCodeClassical}}{104}{subsection.5.7.22}
-\contentsline {subsection}{\numberline {5.7.23}\leavevmode {\color {Chapter }EvaluationBivariateCode}}{104}{subsection.5.7.23}
-\contentsline {subsection}{\numberline {5.7.24}\leavevmode {\color {Chapter }EvaluationBivariateCodeNC}}{104}{subsection.5.7.24}
-\contentsline {subsection}{\numberline {5.7.25}\leavevmode {\color {Chapter }OnePointAGCode}}{105}{subsection.5.7.25}
-\contentsline {chapter}{\numberline {6}\leavevmode {\color {Chapter }Manipulating Codes}}{107}{chapter.6}
-\contentsline {section}{\numberline {6.1}\leavevmode {\color {Chapter } Functions that Generate a New Code from a Given Code }}{107}{section.6.1}
-\contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color {Chapter }ExtendedCode}}{107}{subsection.6.1.1}
-\contentsline {subsection}{\numberline {6.1.2}\leavevmode {\color {Chapter }PuncturedCode}}{108}{subsection.6.1.2}
-\contentsline {subsection}{\numberline {6.1.3}\leavevmode {\color {Chapter }EvenWeightSubcode}}{108}{subsection.6.1.3}
-\contentsline {subsection}{\numberline {6.1.4}\leavevmode {\color {Chapter }PermutedCode}}{109}{subsection.6.1.4}
-\contentsline {subsection}{\numberline {6.1.5}\leavevmode {\color {Chapter }ExpurgatedCode}}{109}{subsection.6.1.5}
-\contentsline {subsection}{\numberline {6.1.6}\leavevmode {\color {Chapter }AugmentedCode}}{110}{subsection.6.1.6}
-\contentsline {subsection}{\numberline {6.1.7}\leavevmode {\color {Chapter }RemovedElementsCode}}{110}{subsection.6.1.7}
-\contentsline {subsection}{\numberline {6.1.8}\leavevmode {\color {Chapter }AddedElementsCode}}{111}{subsection.6.1.8}
-\contentsline {subsection}{\numberline {6.1.9}\leavevmode {\color {Chapter }ShortenedCode}}{111}{subsection.6.1.9}
-\contentsline {subsection}{\numberline {6.1.10}\leavevmode {\color {Chapter }LengthenedCode}}{112}{subsection.6.1.10}
-\contentsline {subsection}{\numberline {6.1.11}\leavevmode {\color {Chapter }SubCode}}{113}{subsection.6.1.11}
-\contentsline {subsection}{\numberline {6.1.12}\leavevmode {\color {Chapter }ResidueCode}}{113}{subsection.6.1.12}
-\contentsline {subsection}{\numberline {6.1.13}\leavevmode {\color {Chapter }ConstructionBCode}}{113}{subsection.6.1.13}
-\contentsline {subsection}{\numberline {6.1.14}\leavevmode {\color {Chapter }DualCode}}{114}{subsection.6.1.14}
-\contentsline {subsection}{\numberline {6.1.15}\leavevmode {\color {Chapter }ConversionFieldCode}}{115}{subsection.6.1.15}
-\contentsline {subsection}{\numberline {6.1.16}\leavevmode {\color {Chapter }TraceCode}}{115}{subsection.6.1.16}
-\contentsline {subsection}{\numberline {6.1.17}\leavevmode {\color {Chapter }CosetCode}}{115}{subsection.6.1.17}
-\contentsline {subsection}{\numberline {6.1.18}\leavevmode {\color {Chapter }ConstantWeightSubcode}}{116}{subsection.6.1.18}
-\contentsline {subsection}{\numberline {6.1.19}\leavevmode {\color {Chapter }StandardFormCode}}{116}{subsection.6.1.19}
-\contentsline {subsection}{\numberline {6.1.20}\leavevmode {\color {Chapter }PiecewiseConstantCode}}{117}{subsection.6.1.20}
-\contentsline {section}{\numberline {6.2}\leavevmode {\color {Chapter } Functions that Generate a New Code from Two or More Given Codes }}{118}{section.6.2}
-\contentsline {subsection}{\numberline {6.2.1}\leavevmode {\color {Chapter }DirectSumCode}}{118}{subsection.6.2.1}
-\contentsline {subsection}{\numberline {6.2.2}\leavevmode {\color {Chapter }UUVCode}}{118}{subsection.6.2.2}
-\contentsline {subsection}{\numberline {6.2.3}\leavevmode {\color {Chapter }DirectProductCode}}{118}{subsection.6.2.3}
-\contentsline {subsection}{\numberline {6.2.4}\leavevmode {\color {Chapter }IntersectionCode}}{119}{subsection.6.2.4}
-\contentsline {subsection}{\numberline {6.2.5}\leavevmode {\color {Chapter }UnionCode}}{119}{subsection.6.2.5}
-\contentsline {subsection}{\numberline {6.2.6}\leavevmode {\color {Chapter }ExtendedDirectSumCode}}{120}{subsection.6.2.6}
-\contentsline {subsection}{\numberline {6.2.7}\leavevmode {\color {Chapter }AmalgamatedDirectSumCode}}{120}{subsection.6.2.7}
-\contentsline {subsection}{\numberline {6.2.8}\leavevmode {\color {Chapter }BlockwiseDirectSumCode}}{121}{subsection.6.2.8}
-\contentsline {subsection}{\numberline {6.2.9}\leavevmode {\color {Chapter }ConstructionXCode}}{121}{subsection.6.2.9}
-\contentsline {subsection}{\numberline {6.2.10}\leavevmode {\color {Chapter }ConstructionXXCode}}{122}{subsection.6.2.10}
-\contentsline {subsection}{\numberline {6.2.11}\leavevmode {\color {Chapter }BZCode}}{123}{subsection.6.2.11}
-\contentsline {subsection}{\numberline {6.2.12}\leavevmode {\color {Chapter }BZCodeNC}}{124}{subsection.6.2.12}
-\contentsline {chapter}{\numberline {7}\leavevmode {\color {Chapter } Bounds on codes, special matrices and miscellaneous functions }}{125}{chapter.7}
-\contentsline {section}{\numberline {7.1}\leavevmode {\color {Chapter } Distance bounds on codes }}{125}{section.7.1}
-\contentsline {subsection}{\numberline {7.1.1}\leavevmode {\color {Chapter }UpperBoundSingleton}}{126}{subsection.7.1.1}
-\contentsline {subsection}{\numberline {7.1.2}\leavevmode {\color {Chapter }UpperBoundHamming}}{126}{subsection.7.1.2}
-\contentsline {subsection}{\numberline {7.1.3}\leavevmode {\color {Chapter }UpperBoundJohnson}}{126}{subsection.7.1.3}
-\contentsline {subsection}{\numberline {7.1.4}\leavevmode {\color {Chapter }UpperBoundPlotkin}}{127}{subsection.7.1.4}
-\contentsline {subsection}{\numberline {7.1.5}\leavevmode {\color {Chapter }UpperBoundElias}}{127}{subsection.7.1.5}
-\contentsline {subsection}{\numberline {7.1.6}\leavevmode {\color {Chapter }UpperBoundGriesmer}}{128}{subsection.7.1.6}
-\contentsline {subsection}{\numberline {7.1.7}\leavevmode {\color {Chapter }IsGriesmerCode}}{128}{subsection.7.1.7}
-\contentsline {subsection}{\numberline {7.1.8}\leavevmode {\color {Chapter }UpperBound}}{128}{subsection.7.1.8}
-\contentsline {subsection}{\numberline {7.1.9}\leavevmode {\color {Chapter }LowerBoundMinimumDistance}}{129}{subsection.7.1.9}
-\contentsline {subsection}{\numberline {7.1.10}\leavevmode {\color {Chapter }LowerBoundGilbertVarshamov}}{129}{subsection.7.1.10}
-\contentsline {subsection}{\numberline {7.1.11}\leavevmode {\color {Chapter }LowerBoundSpherePacking}}{129}{subsection.7.1.11}
-\contentsline {subsection}{\numberline {7.1.12}\leavevmode {\color {Chapter }UpperBoundMinimumDistance}}{130}{subsection.7.1.12}
-\contentsline {subsection}{\numberline {7.1.13}\leavevmode {\color {Chapter }BoundsMinimumDistance}}{130}{subsection.7.1.13}
-\contentsline {section}{\numberline {7.2}\leavevmode {\color {Chapter } Covering radius bounds on codes }}{131}{section.7.2}
-\contentsline {subsection}{\numberline {7.2.1}\leavevmode {\color {Chapter }BoundsCoveringRadius}}{131}{subsection.7.2.1}
-\contentsline {subsection}{\numberline {7.2.2}\leavevmode {\color {Chapter }IncreaseCoveringRadiusLowerBound}}{131}{subsection.7.2.2}
-\contentsline {subsection}{\numberline {7.2.3}\leavevmode {\color {Chapter }ExhaustiveSearchCoveringRadius}}{132}{subsection.7.2.3}
-\contentsline {subsection}{\numberline {7.2.4}\leavevmode {\color {Chapter }GeneralLowerBoundCoveringRadius}}{133}{subsection.7.2.4}
-\contentsline {subsection}{\numberline {7.2.5}\leavevmode {\color {Chapter }GeneralUpperBoundCoveringRadius}}{133}{subsection.7.2.5}
-\contentsline {subsection}{\numberline {7.2.6}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusSphereCovering}}{134}{subsection.7.2.6}
-\contentsline {subsection}{\numberline {7.2.7}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusVanWee1}}{134}{subsection.7.2.7}
-\contentsline {subsection}{\numberline {7.2.8}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusVanWee2}}{135}{subsection.7.2.8}
-\contentsline {subsection}{\numberline {7.2.9}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusCountingExcess}}{135}{subsection.7.2.9}
-\contentsline {subsection}{\numberline {7.2.10}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusEmbedded1}}{136}{subsection.7.2.10}
-\contentsline {subsection}{\numberline {7.2.11}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusEmbedded2}}{136}{subsection.7.2.11}
-\contentsline {subsection}{\numberline {7.2.12}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusInduction}}{137}{subsection.7.2.12}
-\contentsline {subsection}{\numberline {7.2.13}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusRedundancy}}{137}{subsection.7.2.13}
-\contentsline {subsection}{\numberline {7.2.14}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusDelsarte}}{138}{subsection.7.2.14}
-\contentsline {subsection}{\numberline {7.2.15}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusStrength}}{138}{subsection.7.2.15}
-\contentsline {subsection}{\numberline {7.2.16}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusGriesmerLike}}{138}{subsection.7.2.16}
-\contentsline {subsection}{\numberline {7.2.17}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusCyclicCode}}{139}{subsection.7.2.17}
-\contentsline {section}{\numberline {7.3}\leavevmode {\color {Chapter } Special matrices in \textsf {GUAVA} }}{139}{section.7.3}
-\contentsline {subsection}{\numberline {7.3.1}\leavevmode {\color {Chapter }KrawtchoukMat}}{140}{subsection.7.3.1}
-\contentsline {subsection}{\numberline {7.3.2}\leavevmode {\color {Chapter }GrayMat}}{140}{subsection.7.3.2}
-\contentsline {subsection}{\numberline {7.3.3}\leavevmode {\color {Chapter }SylvesterMat}}{140}{subsection.7.3.3}
-\contentsline {subsection}{\numberline {7.3.4}\leavevmode {\color {Chapter }HadamardMat}}{141}{subsection.7.3.4}
-\contentsline {subsection}{\numberline {7.3.5}\leavevmode {\color {Chapter }VandermondeMat}}{141}{subsection.7.3.5}
-\contentsline {subsection}{\numberline {7.3.6}\leavevmode {\color {Chapter }PutStandardForm}}{142}{subsection.7.3.6}
-\contentsline {subsection}{\numberline {7.3.7}\leavevmode {\color {Chapter }IsInStandardForm}}{143}{subsection.7.3.7}
-\contentsline {subsection}{\numberline {7.3.8}\leavevmode {\color {Chapter }PermutedCols}}{143}{subsection.7.3.8}
-\contentsline {subsection}{\numberline {7.3.9}\leavevmode {\color {Chapter }VerticalConversionFieldMat}}{143}{subsection.7.3.9}
-\contentsline {subsection}{\numberline {7.3.10}\leavevmode {\color {Chapter }HorizontalConversionFieldMat}}{144}{subsection.7.3.10}
-\contentsline {subsection}{\numberline {7.3.11}\leavevmode {\color {Chapter }MOLS}}{144}{subsection.7.3.11}
-\contentsline {subsection}{\numberline {7.3.12}\leavevmode {\color {Chapter }IsLatinSquare}}{145}{subsection.7.3.12}
-\contentsline {subsection}{\numberline {7.3.13}\leavevmode {\color {Chapter }AreMOLS}}{145}{subsection.7.3.13}
-\contentsline {section}{\numberline {7.4}\leavevmode {\color {Chapter } Some functions related to the norm of a code }}{146}{section.7.4}
-\contentsline {subsection}{\numberline {7.4.1}\leavevmode {\color {Chapter }CoordinateNorm}}{146}{subsection.7.4.1}
-\contentsline {subsection}{\numberline {7.4.2}\leavevmode {\color {Chapter }CodeNorm}}{146}{subsection.7.4.2}
-\contentsline {subsection}{\numberline {7.4.3}\leavevmode {\color {Chapter }IsCoordinateAcceptable}}{146}{subsection.7.4.3}
-\contentsline {subsection}{\numberline {7.4.4}\leavevmode {\color {Chapter }GeneralizedCodeNorm}}{147}{subsection.7.4.4}
-\contentsline {subsection}{\numberline {7.4.5}\leavevmode {\color {Chapter }IsNormalCode}}{147}{subsection.7.4.5}
-\contentsline {section}{\numberline {7.5}\leavevmode {\color {Chapter } Miscellaneous functions }}{147}{section.7.5}
-\contentsline {subsection}{\numberline {7.5.1}\leavevmode {\color {Chapter }CodeWeightEnumerator}}{147}{subsection.7.5.1}
-\contentsline {subsection}{\numberline {7.5.2}\leavevmode {\color {Chapter }CodeDistanceEnumerator}}{148}{subsection.7.5.2}
-\contentsline {subsection}{\numberline {7.5.3}\leavevmode {\color {Chapter }CodeMacWilliamsTransform}}{148}{subsection.7.5.3}
-\contentsline {subsection}{\numberline {7.5.4}\leavevmode {\color {Chapter }CodeDensity}}{148}{subsection.7.5.4}
-\contentsline {subsection}{\numberline {7.5.5}\leavevmode {\color {Chapter }SphereContent}}{149}{subsection.7.5.5}
-\contentsline {subsection}{\numberline {7.5.6}\leavevmode {\color {Chapter }Krawtchouk}}{149}{subsection.7.5.6}
-\contentsline {subsection}{\numberline {7.5.7}\leavevmode {\color {Chapter }PrimitiveUnityRoot}}{149}{subsection.7.5.7}
-\contentsline {subsection}{\numberline {7.5.8}\leavevmode {\color {Chapter }PrimitivePolynomialsNr}}{150}{subsection.7.5.8}
-\contentsline {subsection}{\numberline {7.5.9}\leavevmode {\color {Chapter }IrreduciblePolynomialsNr}}{150}{subsection.7.5.9}
-\contentsline {subsection}{\numberline {7.5.10}\leavevmode {\color {Chapter }MatrixRepresentationOfElement}}{150}{subsection.7.5.10}
-\contentsline {subsection}{\numberline {7.5.11}\leavevmode {\color {Chapter }ReciprocalPolynomial}}{151}{subsection.7.5.11}
-\contentsline {subsection}{\numberline {7.5.12}\leavevmode {\color {Chapter }CyclotomicCosets}}{151}{subsection.7.5.12}
-\contentsline {subsection}{\numberline {7.5.13}\leavevmode {\color {Chapter }WeightHistogram}}{152}{subsection.7.5.13}
-\contentsline {subsection}{\numberline {7.5.14}\leavevmode {\color {Chapter }MultiplicityInList}}{152}{subsection.7.5.14}
-\contentsline {subsection}{\numberline {7.5.15}\leavevmode {\color {Chapter }MostCommonInList}}{152}{subsection.7.5.15}
-\contentsline {subsection}{\numberline {7.5.16}\leavevmode {\color {Chapter }RotateList}}{153}{subsection.7.5.16}
-\contentsline {subsection}{\numberline {7.5.17}\leavevmode {\color {Chapter }CirculantMatrix}}{153}{subsection.7.5.17}
-\contentsline {section}{\numberline {7.6}\leavevmode {\color {Chapter } Miscellaneous polynomial functions }}{153}{section.7.6}
-\contentsline {subsection}{\numberline {7.6.1}\leavevmode {\color {Chapter }MatrixTransformationOnMultivariatePolynomial }}{153}{subsection.7.6.1}
-\contentsline {subsection}{\numberline {7.6.2}\leavevmode {\color {Chapter }DegreeMultivariatePolynomial}}{153}{subsection.7.6.2}
-\contentsline {subsection}{\numberline {7.6.3}\leavevmode {\color {Chapter }DegreesMultivariatePolynomial}}{154}{subsection.7.6.3}
-\contentsline {subsection}{\numberline {7.6.4}\leavevmode {\color {Chapter }CoefficientMultivariatePolynomial}}{154}{subsection.7.6.4}
-\contentsline {subsection}{\numberline {7.6.5}\leavevmode {\color {Chapter }SolveLinearSystem}}{155}{subsection.7.6.5}
-\contentsline {subsection}{\numberline {7.6.6}\leavevmode {\color {Chapter }GuavaVersion}}{155}{subsection.7.6.6}
-\contentsline {subsection}{\numberline {7.6.7}\leavevmode {\color {Chapter }ZechLog}}{155}{subsection.7.6.7}
-\contentsline {subsection}{\numberline {7.6.8}\leavevmode {\color {Chapter }CoefficientToPolynomial}}{156}{subsection.7.6.8}
-\contentsline {subsection}{\numberline {7.6.9}\leavevmode {\color {Chapter }DegreesMonomialTerm}}{156}{subsection.7.6.9}
-\contentsline {subsection}{\numberline {7.6.10}\leavevmode {\color {Chapter }DivisorsMultivariatePolynomial}}{157}{subsection.7.6.10}
+\contentsline {chapter}{\numberline {5}\leavevmode {\color {Chapter }Generating Codes}}{64}{chapter.5}
+\contentsline {section}{\numberline {5.1}\leavevmode {\color {Chapter } Generating Unrestricted Codes }}{64}{section.5.1}
+\contentsline {subsection}{\numberline {5.1.1}\leavevmode {\color {Chapter }ElementsCode}}{64}{subsection.5.1.1}
+\contentsline {subsection}{\numberline {5.1.2}\leavevmode {\color {Chapter }HadamardCode}}{65}{subsection.5.1.2}
+\contentsline {subsection}{\numberline {5.1.3}\leavevmode {\color {Chapter }ConferenceCode}}{65}{subsection.5.1.3}
+\contentsline {subsection}{\numberline {5.1.4}\leavevmode {\color {Chapter }MOLSCode}}{66}{subsection.5.1.4}
+\contentsline {subsection}{\numberline {5.1.5}\leavevmode {\color {Chapter }RandomCode}}{67}{subsection.5.1.5}
+\contentsline {subsection}{\numberline {5.1.6}\leavevmode {\color {Chapter }NordstromRobinsonCode}}{67}{subsection.5.1.6}
+\contentsline {subsection}{\numberline {5.1.7}\leavevmode {\color {Chapter }GreedyCode}}{67}{subsection.5.1.7}
+\contentsline {subsection}{\numberline {5.1.8}\leavevmode {\color {Chapter }LexiCode}}{68}{subsection.5.1.8}
+\contentsline {section}{\numberline {5.2}\leavevmode {\color {Chapter } Generating Linear Codes }}{68}{section.5.2}
+\contentsline {subsection}{\numberline {5.2.1}\leavevmode {\color {Chapter }GeneratorMatCode}}{68}{subsection.5.2.1}
+\contentsline {subsection}{\numberline {5.2.2}\leavevmode {\color {Chapter }CheckMatCodeMutable}}{69}{subsection.5.2.2}
+\contentsline {subsection}{\numberline {5.2.3}\leavevmode {\color {Chapter }CheckMatCode}}{69}{subsection.5.2.3}
+\contentsline {subsection}{\numberline {5.2.4}\leavevmode {\color {Chapter }HammingCode}}{70}{subsection.5.2.4}
+\contentsline {subsection}{\numberline {5.2.5}\leavevmode {\color {Chapter }ReedMullerCode}}{70}{subsection.5.2.5}
+\contentsline {subsection}{\numberline {5.2.6}\leavevmode {\color {Chapter }AlternantCode}}{70}{subsection.5.2.6}
+\contentsline {subsection}{\numberline {5.2.7}\leavevmode {\color {Chapter }GoppaCode}}{71}{subsection.5.2.7}
+\contentsline {subsection}{\numberline {5.2.8}\leavevmode {\color {Chapter }GeneralizedSrivastavaCode}}{71}{subsection.5.2.8}
+\contentsline {subsection}{\numberline {5.2.9}\leavevmode {\color {Chapter }SrivastavaCode}}{72}{subsection.5.2.9}
+\contentsline {subsection}{\numberline {5.2.10}\leavevmode {\color {Chapter }CordaroWagnerCode}}{72}{subsection.5.2.10}
+\contentsline {subsection}{\numberline {5.2.11}\leavevmode {\color {Chapter }FerreroDesignCode}}{72}{subsection.5.2.11}
+\contentsline {subsection}{\numberline {5.2.12}\leavevmode {\color {Chapter }RandomLinearCode}}{73}{subsection.5.2.12}
+\contentsline {subsection}{\numberline {5.2.13}\leavevmode {\color {Chapter }OptimalityCode}}{74}{subsection.5.2.13}
+\contentsline {subsection}{\numberline {5.2.14}\leavevmode {\color {Chapter }BestKnownLinearCode}}{74}{subsection.5.2.14}
+\contentsline {section}{\numberline {5.3}\leavevmode {\color {Chapter } Gabidulin Codes }}{76}{section.5.3}
+\contentsline {subsection}{\numberline {5.3.1}\leavevmode {\color {Chapter }GabidulinCode}}{76}{subsection.5.3.1}
+\contentsline {subsection}{\numberline {5.3.2}\leavevmode {\color {Chapter }EnlargedGabidulinCode}}{76}{subsection.5.3.2}
+\contentsline {subsection}{\numberline {5.3.3}\leavevmode {\color {Chapter }DavydovCode}}{76}{subsection.5.3.3}
+\contentsline {subsection}{\numberline {5.3.4}\leavevmode {\color {Chapter }TombakCode}}{76}{subsection.5.3.4}
+\contentsline {subsection}{\numberline {5.3.5}\leavevmode {\color {Chapter }EnlargedTombakCode}}{76}{subsection.5.3.5}
+\contentsline {section}{\numberline {5.4}\leavevmode {\color {Chapter } Golay Codes }}{77}{section.5.4}
+\contentsline {subsection}{\numberline {5.4.1}\leavevmode {\color {Chapter }BinaryGolayCode}}{77}{subsection.5.4.1}
+\contentsline {subsection}{\numberline {5.4.2}\leavevmode {\color {Chapter }ExtendedBinaryGolayCode}}{77}{subsection.5.4.2}
+\contentsline {subsection}{\numberline {5.4.3}\leavevmode {\color {Chapter }TernaryGolayCode}}{78}{subsection.5.4.3}
+\contentsline {subsection}{\numberline {5.4.4}\leavevmode {\color {Chapter }ExtendedTernaryGolayCode}}{78}{subsection.5.4.4}
+\contentsline {section}{\numberline {5.5}\leavevmode {\color {Chapter } Generating Cyclic Codes }}{78}{section.5.5}
+\contentsline {subsection}{\numberline {5.5.1}\leavevmode {\color {Chapter }GeneratorPolCode}}{79}{subsection.5.5.1}
+\contentsline {subsection}{\numberline {5.5.2}\leavevmode {\color {Chapter }CheckPolCode}}{80}{subsection.5.5.2}
+\contentsline {subsection}{\numberline {5.5.3}\leavevmode {\color {Chapter }RootsCode}}{80}{subsection.5.5.3}
+\contentsline {subsection}{\numberline {5.5.4}\leavevmode {\color {Chapter }BCHCode}}{81}{subsection.5.5.4}
+\contentsline {subsection}{\numberline {5.5.5}\leavevmode {\color {Chapter }ReedSolomonCode}}{82}{subsection.5.5.5}
+\contentsline {subsection}{\numberline {5.5.6}\leavevmode {\color {Chapter }ExtendedReedSolomonCode}}{82}{subsection.5.5.6}
+\contentsline {subsection}{\numberline {5.5.7}\leavevmode {\color {Chapter }QRCode}}{82}{subsection.5.5.7}
+\contentsline {subsection}{\numberline {5.5.8}\leavevmode {\color {Chapter }QQRCodeNC}}{83}{subsection.5.5.8}
+\contentsline {subsection}{\numberline {5.5.9}\leavevmode {\color {Chapter }QQRCode}}{83}{subsection.5.5.9}
+\contentsline {subsection}{\numberline {5.5.10}\leavevmode {\color {Chapter }FireCode}}{84}{subsection.5.5.10}
+\contentsline {subsection}{\numberline {5.5.11}\leavevmode {\color {Chapter }WholeSpaceCode}}{84}{subsection.5.5.11}
+\contentsline {subsection}{\numberline {5.5.12}\leavevmode {\color {Chapter }NullCode}}{85}{subsection.5.5.12}
+\contentsline {subsection}{\numberline {5.5.13}\leavevmode {\color {Chapter }RepetitionCode}}{85}{subsection.5.5.13}
+\contentsline {subsection}{\numberline {5.5.14}\leavevmode {\color {Chapter }CyclicCodes}}{85}{subsection.5.5.14}
+\contentsline {subsection}{\numberline {5.5.15}\leavevmode {\color {Chapter }NrCyclicCodes}}{85}{subsection.5.5.15}
+\contentsline {subsection}{\numberline {5.5.16}\leavevmode {\color {Chapter }QuasiCyclicCode}}{86}{subsection.5.5.16}
+\contentsline {subsection}{\numberline {5.5.17}\leavevmode {\color {Chapter }CyclicMDSCode}}{87}{subsection.5.5.17}
+\contentsline {subsection}{\numberline {5.5.18}\leavevmode {\color {Chapter }FourNegacirculantSelfDualCode}}{88}{subsection.5.5.18}
+\contentsline {subsection}{\numberline {5.5.19}\leavevmode {\color {Chapter }FourNegacirculantSelfDualCodeNC}}{89}{subsection.5.5.19}
+\contentsline {section}{\numberline {5.6}\leavevmode {\color {Chapter } Evaluation Codes }}{89}{section.5.6}
+\contentsline {subsection}{\numberline {5.6.1}\leavevmode {\color {Chapter }EvaluationCode}}{89}{subsection.5.6.1}
+\contentsline {subsection}{\numberline {5.6.2}\leavevmode {\color {Chapter }GeneralizedReedSolomonCode}}{89}{subsection.5.6.2}
+\contentsline {subsection}{\numberline {5.6.3}\leavevmode {\color {Chapter }GeneralizedReedMullerCode}}{90}{subsection.5.6.3}
+\contentsline {subsection}{\numberline {5.6.4}\leavevmode {\color {Chapter }ToricPoints}}{91}{subsection.5.6.4}
+\contentsline {subsection}{\numberline {5.6.5}\leavevmode {\color {Chapter }ToricCode}}{91}{subsection.5.6.5}
+\contentsline {section}{\numberline {5.7}\leavevmode {\color {Chapter } Algebraic geometric codes }}{92}{section.5.7}
+\contentsline {subsection}{\numberline {5.7.1}\leavevmode {\color {Chapter }AffineCurve}}{92}{subsection.5.7.1}
+\contentsline {subsection}{\numberline {5.7.2}\leavevmode {\color {Chapter }AffinePointsOnCurve}}{93}{subsection.5.7.2}
+\contentsline {subsection}{\numberline {5.7.3}\leavevmode {\color {Chapter }GenusCurve}}{93}{subsection.5.7.3}
+\contentsline {subsection}{\numberline {5.7.4}\leavevmode {\color {Chapter }GOrbitPoint }}{93}{subsection.5.7.4}
+\contentsline {subsection}{\numberline {5.7.5}\leavevmode {\color {Chapter }DivisorOnAffineCurve}}{95}{subsection.5.7.5}
+\contentsline {subsection}{\numberline {5.7.6}\leavevmode {\color {Chapter }DivisorAddition }}{95}{subsection.5.7.6}
+\contentsline {subsection}{\numberline {5.7.7}\leavevmode {\color {Chapter }DivisorDegree }}{95}{subsection.5.7.7}
+\contentsline {subsection}{\numberline {5.7.8}\leavevmode {\color {Chapter }DivisorNegate }}{96}{subsection.5.7.8}
+\contentsline {subsection}{\numberline {5.7.9}\leavevmode {\color {Chapter }DivisorIsZero }}{96}{subsection.5.7.9}
+\contentsline {subsection}{\numberline {5.7.10}\leavevmode {\color {Chapter }DivisorsEqual }}{96}{subsection.5.7.10}
+\contentsline {subsection}{\numberline {5.7.11}\leavevmode {\color {Chapter }DivisorGCD }}{96}{subsection.5.7.11}
+\contentsline {subsection}{\numberline {5.7.12}\leavevmode {\color {Chapter }DivisorLCM }}{96}{subsection.5.7.12}
+\contentsline {subsection}{\numberline {5.7.13}\leavevmode {\color {Chapter }RiemannRochSpaceBasisFunctionP1 }}{98}{subsection.5.7.13}
+\contentsline {subsection}{\numberline {5.7.14}\leavevmode {\color {Chapter }DivisorOfRationalFunctionP1 }}{98}{subsection.5.7.14}
+\contentsline {subsection}{\numberline {5.7.15}\leavevmode {\color {Chapter }RiemannRochSpaceBasisP1 }}{99}{subsection.5.7.15}
+\contentsline {subsection}{\numberline {5.7.16}\leavevmode {\color {Chapter }MoebiusTransformation }}{100}{subsection.5.7.16}
+\contentsline {subsection}{\numberline {5.7.17}\leavevmode {\color {Chapter }ActionMoebiusTransformationOnFunction }}{100}{subsection.5.7.17}
+\contentsline {subsection}{\numberline {5.7.18}\leavevmode {\color {Chapter }ActionMoebiusTransformationOnDivisorP1 }}{100}{subsection.5.7.18}
+\contentsline {subsection}{\numberline {5.7.19}\leavevmode {\color {Chapter }IsActionMoebiusTransformationOnDivisorDefinedP1 }}{100}{subsection.5.7.19}
+\contentsline {subsection}{\numberline {5.7.20}\leavevmode {\color {Chapter }DivisorAutomorphismGroupP1 }}{101}{subsection.5.7.20}
+\contentsline {subsection}{\numberline {5.7.21}\leavevmode {\color {Chapter }MatrixRepresentationOnRiemannRochSpaceP1 }}{102}{subsection.5.7.21}
+\contentsline {subsection}{\numberline {5.7.22}\leavevmode {\color {Chapter }GoppaCodeClassical}}{103}{subsection.5.7.22}
+\contentsline {subsection}{\numberline {5.7.23}\leavevmode {\color {Chapter }EvaluationBivariateCode}}{103}{subsection.5.7.23}
+\contentsline {subsection}{\numberline {5.7.24}\leavevmode {\color {Chapter }EvaluationBivariateCodeNC}}{103}{subsection.5.7.24}
+\contentsline {subsection}{\numberline {5.7.25}\leavevmode {\color {Chapter }OnePointAGCode}}{104}{subsection.5.7.25}
+\contentsline {section}{\numberline {5.8}\leavevmode {\color {Chapter } Low-Density Parity-Check Codes }}{105}{section.5.8}
+\contentsline {subsection}{\numberline {5.8.1}\leavevmode {\color {Chapter }QCLDPCCodeFromGroup}}{106}{subsection.5.8.1}
+\contentsline {chapter}{\numberline {6}\leavevmode {\color {Chapter }Manipulating Codes}}{108}{chapter.6}
+\contentsline {section}{\numberline {6.1}\leavevmode {\color {Chapter } Functions that Generate a New Code from a Given Code }}{108}{section.6.1}
+\contentsline {subsection}{\numberline {6.1.1}\leavevmode {\color {Chapter }ExtendedCode}}{108}{subsection.6.1.1}
+\contentsline {subsection}{\numberline {6.1.2}\leavevmode {\color {Chapter }PuncturedCode}}{109}{subsection.6.1.2}
+\contentsline {subsection}{\numberline {6.1.3}\leavevmode {\color {Chapter }EvenWeightSubcode}}{109}{subsection.6.1.3}
+\contentsline {subsection}{\numberline {6.1.4}\leavevmode {\color {Chapter }PermutedCode}}{110}{subsection.6.1.4}
+\contentsline {subsection}{\numberline {6.1.5}\leavevmode {\color {Chapter }ExpurgatedCode}}{110}{subsection.6.1.5}
+\contentsline {subsection}{\numberline {6.1.6}\leavevmode {\color {Chapter }AugmentedCode}}{111}{subsection.6.1.6}
+\contentsline {subsection}{\numberline {6.1.7}\leavevmode {\color {Chapter }RemovedElementsCode}}{111}{subsection.6.1.7}
+\contentsline {subsection}{\numberline {6.1.8}\leavevmode {\color {Chapter }AddedElementsCode}}{112}{subsection.6.1.8}
+\contentsline {subsection}{\numberline {6.1.9}\leavevmode {\color {Chapter }ShortenedCode}}{112}{subsection.6.1.9}
+\contentsline {subsection}{\numberline {6.1.10}\leavevmode {\color {Chapter }LengthenedCode}}{113}{subsection.6.1.10}
+\contentsline {subsection}{\numberline {6.1.11}\leavevmode {\color {Chapter }SubCode}}{114}{subsection.6.1.11}
+\contentsline {subsection}{\numberline {6.1.12}\leavevmode {\color {Chapter }ResidueCode}}{114}{subsection.6.1.12}
+\contentsline {subsection}{\numberline {6.1.13}\leavevmode {\color {Chapter }ConstructionBCode}}{114}{subsection.6.1.13}
+\contentsline {subsection}{\numberline {6.1.14}\leavevmode {\color {Chapter }DualCode}}{115}{subsection.6.1.14}
+\contentsline {subsection}{\numberline {6.1.15}\leavevmode {\color {Chapter }ConversionFieldCode}}{116}{subsection.6.1.15}
+\contentsline {subsection}{\numberline {6.1.16}\leavevmode {\color {Chapter }TraceCode}}{116}{subsection.6.1.16}
+\contentsline {subsection}{\numberline {6.1.17}\leavevmode {\color {Chapter }CosetCode}}{116}{subsection.6.1.17}
+\contentsline {subsection}{\numberline {6.1.18}\leavevmode {\color {Chapter }ConstantWeightSubcode}}{117}{subsection.6.1.18}
+\contentsline {subsection}{\numberline {6.1.19}\leavevmode {\color {Chapter }StandardFormCode}}{117}{subsection.6.1.19}
+\contentsline {subsection}{\numberline {6.1.20}\leavevmode {\color {Chapter }PiecewiseConstantCode}}{118}{subsection.6.1.20}
+\contentsline {section}{\numberline {6.2}\leavevmode {\color {Chapter } Functions that Generate a New Code from Two or More Given Codes }}{119}{section.6.2}
+\contentsline {subsection}{\numberline {6.2.1}\leavevmode {\color {Chapter }DirectSumCode}}{119}{subsection.6.2.1}
+\contentsline {subsection}{\numberline {6.2.2}\leavevmode {\color {Chapter }UUVCode}}{119}{subsection.6.2.2}
+\contentsline {subsection}{\numberline {6.2.3}\leavevmode {\color {Chapter }DirectProductCode}}{119}{subsection.6.2.3}
+\contentsline {subsection}{\numberline {6.2.4}\leavevmode {\color {Chapter }IntersectionCode}}{120}{subsection.6.2.4}
+\contentsline {subsection}{\numberline {6.2.5}\leavevmode {\color {Chapter }UnionCode}}{120}{subsection.6.2.5}
+\contentsline {subsection}{\numberline {6.2.6}\leavevmode {\color {Chapter }ExtendedDirectSumCode}}{121}{subsection.6.2.6}
+\contentsline {subsection}{\numberline {6.2.7}\leavevmode {\color {Chapter }AmalgamatedDirectSumCode}}{121}{subsection.6.2.7}
+\contentsline {subsection}{\numberline {6.2.8}\leavevmode {\color {Chapter }BlockwiseDirectSumCode}}{122}{subsection.6.2.8}
+\contentsline {subsection}{\numberline {6.2.9}\leavevmode {\color {Chapter }ConstructionXCode}}{122}{subsection.6.2.9}
+\contentsline {subsection}{\numberline {6.2.10}\leavevmode {\color {Chapter }ConstructionXXCode}}{123}{subsection.6.2.10}
+\contentsline {subsection}{\numberline {6.2.11}\leavevmode {\color {Chapter }BZCode}}{124}{subsection.6.2.11}
+\contentsline {subsection}{\numberline {6.2.12}\leavevmode {\color {Chapter }BZCodeNC}}{125}{subsection.6.2.12}
+\contentsline {chapter}{\numberline {7}\leavevmode {\color {Chapter } Bounds on codes, special matrices and miscellaneous functions }}{126}{chapter.7}
+\contentsline {section}{\numberline {7.1}\leavevmode {\color {Chapter } Distance bounds on codes }}{126}{section.7.1}
+\contentsline {subsection}{\numberline {7.1.1}\leavevmode {\color {Chapter }UpperBoundSingleton}}{127}{subsection.7.1.1}
+\contentsline {subsection}{\numberline {7.1.2}\leavevmode {\color {Chapter }UpperBoundHamming}}{127}{subsection.7.1.2}
+\contentsline {subsection}{\numberline {7.1.3}\leavevmode {\color {Chapter }UpperBoundJohnson}}{127}{subsection.7.1.3}
+\contentsline {subsection}{\numberline {7.1.4}\leavevmode {\color {Chapter }UpperBoundPlotkin}}{128}{subsection.7.1.4}
+\contentsline {subsection}{\numberline {7.1.5}\leavevmode {\color {Chapter }UpperBoundElias}}{128}{subsection.7.1.5}
+\contentsline {subsection}{\numberline {7.1.6}\leavevmode {\color {Chapter }UpperBoundGriesmer}}{129}{subsection.7.1.6}
+\contentsline {subsection}{\numberline {7.1.7}\leavevmode {\color {Chapter }IsGriesmerCode}}{129}{subsection.7.1.7}
+\contentsline {subsection}{\numberline {7.1.8}\leavevmode {\color {Chapter }UpperBound}}{129}{subsection.7.1.8}
+\contentsline {subsection}{\numberline {7.1.9}\leavevmode {\color {Chapter }LowerBoundMinimumDistance}}{130}{subsection.7.1.9}
+\contentsline {subsection}{\numberline {7.1.10}\leavevmode {\color {Chapter }LowerBoundGilbertVarshamov}}{130}{subsection.7.1.10}
+\contentsline {subsection}{\numberline {7.1.11}\leavevmode {\color {Chapter }LowerBoundSpherePacking}}{130}{subsection.7.1.11}
+\contentsline {subsection}{\numberline {7.1.12}\leavevmode {\color {Chapter }UpperBoundMinimumDistance}}{131}{subsection.7.1.12}
+\contentsline {subsection}{\numberline {7.1.13}\leavevmode {\color {Chapter }BoundsMinimumDistance}}{131}{subsection.7.1.13}
+\contentsline {section}{\numberline {7.2}\leavevmode {\color {Chapter } Covering radius bounds on codes }}{132}{section.7.2}
+\contentsline {subsection}{\numberline {7.2.1}\leavevmode {\color {Chapter }BoundsCoveringRadius}}{132}{subsection.7.2.1}
+\contentsline {subsection}{\numberline {7.2.2}\leavevmode {\color {Chapter }IncreaseCoveringRadiusLowerBound}}{132}{subsection.7.2.2}
+\contentsline {subsection}{\numberline {7.2.3}\leavevmode {\color {Chapter }ExhaustiveSearchCoveringRadius}}{133}{subsection.7.2.3}
+\contentsline {subsection}{\numberline {7.2.4}\leavevmode {\color {Chapter }GeneralLowerBoundCoveringRadius}}{134}{subsection.7.2.4}
+\contentsline {subsection}{\numberline {7.2.5}\leavevmode {\color {Chapter }GeneralUpperBoundCoveringRadius}}{134}{subsection.7.2.5}
+\contentsline {subsection}{\numberline {7.2.6}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusSphereCovering}}{135}{subsection.7.2.6}
+\contentsline {subsection}{\numberline {7.2.7}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusVanWee1}}{135}{subsection.7.2.7}
+\contentsline {subsection}{\numberline {7.2.8}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusVanWee2}}{136}{subsection.7.2.8}
+\contentsline {subsection}{\numberline {7.2.9}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusCountingExcess}}{136}{subsection.7.2.9}
+\contentsline {subsection}{\numberline {7.2.10}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusEmbedded1}}{137}{subsection.7.2.10}
+\contentsline {subsection}{\numberline {7.2.11}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusEmbedded2}}{137}{subsection.7.2.11}
+\contentsline {subsection}{\numberline {7.2.12}\leavevmode {\color {Chapter }LowerBoundCoveringRadiusInduction}}{138}{subsection.7.2.12}
+\contentsline {subsection}{\numberline {7.2.13}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusRedundancy}}{138}{subsection.7.2.13}
+\contentsline {subsection}{\numberline {7.2.14}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusDelsarte}}{139}{subsection.7.2.14}
+\contentsline {subsection}{\numberline {7.2.15}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusStrength}}{139}{subsection.7.2.15}
+\contentsline {subsection}{\numberline {7.2.16}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusGriesmerLike}}{139}{subsection.7.2.16}
+\contentsline {subsection}{\numberline {7.2.17}\leavevmode {\color {Chapter }UpperBoundCoveringRadiusCyclicCode}}{140}{subsection.7.2.17}
+\contentsline {section}{\numberline {7.3}\leavevmode {\color {Chapter } Special matrices in \textsf {GUAVA} }}{140}{section.7.3}
+\contentsline {subsection}{\numberline {7.3.1}\leavevmode {\color {Chapter }KrawtchoukMat}}{141}{subsection.7.3.1}
+\contentsline {subsection}{\numberline {7.3.2}\leavevmode {\color {Chapter }GrayMat}}{141}{subsection.7.3.2}
+\contentsline {subsection}{\numberline {7.3.3}\leavevmode {\color {Chapter }SylvesterMat}}{141}{subsection.7.3.3}
+\contentsline {subsection}{\numberline {7.3.4}\leavevmode {\color {Chapter }HadamardMat}}{142}{subsection.7.3.4}
+\contentsline {subsection}{\numberline {7.3.5}\leavevmode {\color {Chapter }VandermondeMat}}{142}{subsection.7.3.5}
+\contentsline {subsection}{\numberline {7.3.6}\leavevmode {\color {Chapter }PutStandardForm}}{143}{subsection.7.3.6}
+\contentsline {subsection}{\numberline {7.3.7}\leavevmode {\color {Chapter }IsInStandardForm}}{144}{subsection.7.3.7}
+\contentsline {subsection}{\numberline {7.3.8}\leavevmode {\color {Chapter }PermutedCols}}{144}{subsection.7.3.8}
+\contentsline {subsection}{\numberline {7.3.9}\leavevmode {\color {Chapter }VerticalConversionFieldMat}}{144}{subsection.7.3.9}
+\contentsline {subsection}{\numberline {7.3.10}\leavevmode {\color {Chapter }HorizontalConversionFieldMat}}{145}{subsection.7.3.10}
+\contentsline {subsection}{\numberline {7.3.11}\leavevmode {\color {Chapter }MOLS}}{145}{subsection.7.3.11}
+\contentsline {subsection}{\numberline {7.3.12}\leavevmode {\color {Chapter }IsLatinSquare}}{146}{subsection.7.3.12}
+\contentsline {subsection}{\numberline {7.3.13}\leavevmode {\color {Chapter }AreMOLS}}{146}{subsection.7.3.13}
+\contentsline {section}{\numberline {7.4}\leavevmode {\color {Chapter } Some functions related to the norm of a code }}{147}{section.7.4}
+\contentsline {subsection}{\numberline {7.4.1}\leavevmode {\color {Chapter }CoordinateNorm}}{147}{subsection.7.4.1}
+\contentsline {subsection}{\numberline {7.4.2}\leavevmode {\color {Chapter }CodeNorm}}{147}{subsection.7.4.2}
+\contentsline {subsection}{\numberline {7.4.3}\leavevmode {\color {Chapter }IsCoordinateAcceptable}}{147}{subsection.7.4.3}
+\contentsline {subsection}{\numberline {7.4.4}\leavevmode {\color {Chapter }GeneralizedCodeNorm}}{148}{subsection.7.4.4}
+\contentsline {subsection}{\numberline {7.4.5}\leavevmode {\color {Chapter }IsNormalCode}}{148}{subsection.7.4.5}
+\contentsline {section}{\numberline {7.5}\leavevmode {\color {Chapter } Miscellaneous functions }}{148}{section.7.5}
+\contentsline {subsection}{\numberline {7.5.1}\leavevmode {\color {Chapter }CodeWeightEnumerator}}{148}{subsection.7.5.1}
+\contentsline {subsection}{\numberline {7.5.2}\leavevmode {\color {Chapter }CodeDistanceEnumerator}}{149}{subsection.7.5.2}
+\contentsline {subsection}{\numberline {7.5.3}\leavevmode {\color {Chapter }CodeMacWilliamsTransform}}{149}{subsection.7.5.3}
+\contentsline {subsection}{\numberline {7.5.4}\leavevmode {\color {Chapter }CodeDensity}}{149}{subsection.7.5.4}
+\contentsline {subsection}{\numberline {7.5.5}\leavevmode {\color {Chapter }SphereContent}}{150}{subsection.7.5.5}
+\contentsline {subsection}{\numberline {7.5.6}\leavevmode {\color {Chapter }Krawtchouk}}{150}{subsection.7.5.6}
+\contentsline {subsection}{\numberline {7.5.7}\leavevmode {\color {Chapter }PrimitiveUnityRoot}}{150}{subsection.7.5.7}
+\contentsline {subsection}{\numberline {7.5.8}\leavevmode {\color {Chapter }PrimitivePolynomialsNr}}{151}{subsection.7.5.8}
+\contentsline {subsection}{\numberline {7.5.9}\leavevmode {\color {Chapter }IrreduciblePolynomialsNr}}{151}{subsection.7.5.9}
+\contentsline {subsection}{\numberline {7.5.10}\leavevmode {\color {Chapter }MatrixRepresentationOfElement}}{151}{subsection.7.5.10}
+\contentsline {subsection}{\numberline {7.5.11}\leavevmode {\color {Chapter }ReciprocalPolynomial}}{152}{subsection.7.5.11}
+\contentsline {subsection}{\numberline {7.5.12}\leavevmode {\color {Chapter }CyclotomicCosets}}{152}{subsection.7.5.12}
+\contentsline {subsection}{\numberline {7.5.13}\leavevmode {\color {Chapter }WeightHistogram}}{153}{subsection.7.5.13}
+\contentsline {subsection}{\numberline {7.5.14}\leavevmode {\color {Chapter }MultiplicityInList}}{153}{subsection.7.5.14}
+\contentsline {subsection}{\numberline {7.5.15}\leavevmode {\color {Chapter }MostCommonInList}}{153}{subsection.7.5.15}
+\contentsline {subsection}{\numberline {7.5.16}\leavevmode {\color {Chapter }RotateList}}{154}{subsection.7.5.16}
+\contentsline {subsection}{\numberline {7.5.17}\leavevmode {\color {Chapter }CirculantMatrix}}{154}{subsection.7.5.17}
+\contentsline {section}{\numberline {7.6}\leavevmode {\color {Chapter } Miscellaneous polynomial functions }}{154}{section.7.6}
+\contentsline {subsection}{\numberline {7.6.1}\leavevmode {\color {Chapter }MatrixTransformationOnMultivariatePolynomial }}{154}{subsection.7.6.1}
+\contentsline {subsection}{\numberline {7.6.2}\leavevmode {\color {Chapter }DegreeMultivariatePolynomial}}{154}{subsection.7.6.2}
+\contentsline {subsection}{\numberline {7.6.3}\leavevmode {\color {Chapter }DegreesMultivariatePolynomial}}{155}{subsection.7.6.3}
+\contentsline {subsection}{\numberline {7.6.4}\leavevmode {\color {Chapter }CoefficientMultivariatePolynomial}}{155}{subsection.7.6.4}
+\contentsline {subsection}{\numberline {7.6.5}\leavevmode {\color {Chapter }SolveLinearSystem}}{156}{subsection.7.6.5}
+\contentsline {subsection}{\numberline {7.6.6}\leavevmode {\color {Chapter }GuavaVersion}}{156}{subsection.7.6.6}
+\contentsline {subsection}{\numberline {7.6.7}\leavevmode {\color {Chapter }ZechLog}}{156}{subsection.7.6.7}
+\contentsline {subsection}{\numberline {7.6.8}\leavevmode {\color {Chapter }CoefficientToPolynomial}}{157}{subsection.7.6.8}
+\contentsline {subsection}{\numberline {7.6.9}\leavevmode {\color {Chapter }DegreesMonomialTerm}}{157}{subsection.7.6.9}
+\contentsline {subsection}{\numberline {7.6.10}\leavevmode {\color {Chapter }DivisorsMultivariatePolynomial}}{158}{subsection.7.6.10}
+\contentsline {section}{\numberline {7.7}\leavevmode {\color {Chapter } GNU Free Documentation License }}{158}{section.7.7}
diff --git a/doc/guava.xml b/doc/guava.xml
index 3cab9db..9bdd3c8 100644
--- a/doc/guava.xml
+++ b/doc/guava.xml
@@ -16,7 +16,7 @@
         
     </Subtitle>
 
-    <Version>Version 3.5</Version> 
+    <Version>Version 3.6</Version> 
     <!-- OPTIONAL -->
 <Author>
 Jasper Cramwinckel
@@ -63,12 +63,12 @@ Cen (``CJ'') Tjhai                <!-- REQUIRED -->
 <Email>wdjoyner at gmail.com</Email> 
 <Homepage>http://sage.math.washington.edu/home/wdj/guava/</Homepage>
 </Author> 
-   <Date>April 25, 2008</Date> 
+   <Date>June 20, 2008</Date> 
    <!-- OPTIONAL -->
 
 <Copyright> 
     <!-- OPTIONAL -->
-©right; The GUAVA Group: 1992-2003
+<Package>GUAVA</Package>: ©right; The GUAVA Group: 1992-2003
 Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes,
 Lea Ruscio (for the tex version), Jeffrey Leon
 ©right; 2004 David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers,
@@ -78,10 +78,6 @@ Reinald Baart, Eric Minkes, Lea Ruscio.
 <P/>
 <Package>GUAVA</Package> is released under the 
 GNU General Public License (GPL).
-This file is part of <Package>GUAVA</Package>, though as documentation
-it is released under the
-GNU Free Documentation License
-(see <URL>http://www.gnu.org/licenses/licenses.html#FDL</URL>).
 <P/>
     <Package>GUAVA</Package> is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -113,7 +109,19 @@ The following should now be appended:
 ``I, Jeffrey S. Leon, agree to license all the partition
 backtrack code which I have written under the GPL
 (www.fsf.org) as of this date, April 17, 2007.''
-
+<P/>
+<Package>GUAVA</Package> documentation: 
+©right; Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes,
+Lea Ruscio (for the tex version), 
+David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers,
+
+Reinald Baart, Eric Minkes, Lea Ruscio.  
+   Permission is granted to copy, distribute and/or modify this document
+   under the terms of the GNU Free Documentation License, Version 1.2
+   or any later version published by the Free Software Foundation;
+   with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+   A copy of the license is included in the section entitled "GNU
+   Free Documentation License".
 </Copyright> 
 
             <!-- end of title page -->
@@ -160,7 +168,7 @@ Older releases and further history can be found on the
 <E>Contributors</E>: Other than the authors listed on the title page,
 the following people have contributed code to the <Package>GUAVA</Package> 
 project: Alexander Hulpke, Steve Linton, Frank L&#xfc;beck, Aron Foster,
-Wayne Irons, Clifton (``Clipper") Lennon, Jason McGowan, Shuhong Gao, 
+Wayne Irons, Clifton (Clipper) Lennon, Jason McGowan, Shuhong Gao, 
 Greg Gamble.
 <P/>
 For documentation on Leon's programs, 
@@ -4320,32 +4328,13 @@ WeightCodeword(c2-r);
 
 <Description>
 The iterative decoding method
-<C>BitFlipDecoder</C> must only be applied to LDPC codes. 
-These have not been implemented in GUAVA (but see
-<C>FerreroDesignCode</C> for a code with similar properties).
-A binary low density parity check (LDPC) code of length $n$
-and redundancy $r$ is defined in terms of its check matrix $H$:
-<List>
-<Item>
-Each row of $H$ has exactly $x$ 1's.
-</Item>
-<Item>
-Each column has exactly $y$ 1's.
-</Item>
-<Item>
-
-The number of 1's in common between any two columns is
-less than or equal to one.
-</Item>
-<Item>
-
-$x/n$ and $y/r$ are 'small'.
-</Item>
-</List>
+<C>BitFlipDecoder</C> must only be applied to LDPC codes.
+For more information on LDPC codes, refer to Section
+<Ref Label="LDPC" Style="Number"/>.
 For these codes, <C>BitFlipDecoder</C> decodes very quickly.
 (Warning: it can give wildly wrong results for arbitrary
 binary linear codes.)
-The bit flipping algorithm is described for example in chapter 13 of 
+The bit flipping algorithm is described for example in Chapter 13 of 
 <Cite Key="JH04"/>.
 </Description>
 </ManSection>
@@ -4738,6 +4727,15 @@ of an evaluation map applied to a space of functions.
 For example, generalized Reed-Solomon codes and toric codes
 are described there.
 <P/>
+Section
+<Ref Label="Algebraic geometric codes" Style="Number"/>
+describes functions for generating algebraic geometry codes.
+<P/>
+Section
+<Ref Label="LDPC" Style="Number"/>
+describes functions for constructing low-density parity-check (LDPC)
+codes.
+
 
 <Section>
 <Heading>
@@ -8261,7 +8259,7 @@ Output: The evaluation code associated to the points
 in <C>pts</C> and functions in <C>L</C>,
 but specifically for affine plane curves
 and this function 
-checks if points are ``bad" (if so removes them
+checks if points are "bad" (if so removes them
 from the list <C>pts</C> automatically).
 A point is ``bad'' if either it does not lie on the
 set of non-singular <M>F</M>-rational points 
@@ -8419,10 +8417,179 @@ MinimumDistance(C);
 See <Ref Func="EvaluationCode" Style="Number"/>
 for a more general construction.
 
+</Section>
+
+
+<Section>
+<Heading>
+Low-Density Parity-Check Codes
+</Heading>
+<Label Name="LDPC"/>
+
+<Index>
+LDPC
+</Index>
+
+Low-density parity-check (LDPC) codes form a class of linear
+block codes whose parity-check matrix--as the name implies,
+is sparse. LDPC codes were introduced by Robert Gallager
+in 1962 <Cite Key="Gallager.1962"/> as his PhD work. Due to
+the decoding complexity for the technology back then, these
+codes were forgotten. Not until the late 1990s, these codes
+were rediscovered and research results have shown that LDPC
+codes can achieve near Shannon's capacity performance provided
+that their block length is long enough and soft-decision
+iterative decoder is employed. Note that the bit-flipping
+decoder (see <C>BitFlipDecoder</C>) is a hard-decision
+decoder and hence capacity achieving performance cannot
+be achieved despite having a large block length.
+<P/>
+
+Based on the structure of their parity-check matrix, LDPC
+codes may be categorised into two classes:
+<List>
+	<Item>
+		Regular LDPC codes
+		<P/>
+		This class of codes has a fixed number of non zeros
+		per column and per row in their parity-check matrix.
+		These codes are usually denoted as <M>(n,j,k)</M>
+		codes where <M>n</M> is the block length, <M>j</M>
+		is the number of non zeros per column in their
+		parity-check matrix and <M>k</M> is the number of
+		non zeros per row in their parity-check matrix.
+	</Item>
+	<Item>
+		Irregular LDPC codes
+		<P/>
+		The irregular codes, on the other hand, do not have
+		a fixed number of non zeros per column and row in
+		their parity-check matrix. This class of codes are
+		commonly represented by two polynomials which denote
+		the distribution of the number of non zeros in the
+		columns and rows respectively of their parity-check
+		matrix.
+	</Item>
+</List>
+		
+<ManSection Label="QCLDPCCodeFromGroup">
+<Func Name="QCLDPCCodeFromGroup" Arg=" m j k "/>
+
+<Description>
+	<C>QCLDCCodeFromGroup</C> produces an <M>(n,j,k)</M> regular
+	quasi-cyclic LDPC code over GF(2) of block length <M>n = mk</M>.
+	The term quasi-cyclic in the context of LDPC codes typically
+	refers to LDPC codes whose parity-check matrix <M>H</M> has
+	the following form
+		<Verb>
+    -                                              -
+    |  I_P(0,0)  |  I_P(0,1)  | ... |  I_P(0,k-1)  |
+    |  I_P(1,0)  |  I_P(1,1)  | ... |  I_P(1,k-1)  |
+H = |      .     |     .      |  .  |       .      |,
+    |      .     |     .      |  .  |       .      |
+    | I_P(j-1,0) | I_P(j-1,1) | ... | I_P(j-1,k-1) |
+    -                                              -
+		</Verb>
+	where <M>I_{P(s,t)}</M> is an identity matrix of size
+	<M>m \times m</M> which has been shifted so that the
+	<M>1</M> on the first row starts at position <M>P(s,t)</M>.
+	<P/>
+
+	Let <M>F</M> be a multiplicative group of integers modulo
+	<M>m</M>. If <M>m</M> is a prime, <M>F=\{0,1,...,m-1\}</M>,
+	otherwise <M>F</M> contains a set of integers which are
+	relatively prime to <M>m</M>. In both cases, the order
+	of <M>F</M> is equal to <M>\phi(m)</M>. Let <M>a</M> and
+	<M>b</M> be non zeros of <M>F</M> such that the orders
+	of <M>a</M> and <M>b</M> are <M>k</M> and <M>j</M>
+	respectively. Note that the integers <M>a</M> and <M>b</M>
+	can always be found provided that <M>k</M> and <M>j</M>
+	respectively divide <M>\phi(m)</M>. Having obtain integers
+	<M>a</M> and <M>b</M>, construct the following <M>j \times k</M>
+	matrix <M>P</M> so that the element at row <M>s</M> and
+	column <M>t</M> is given by <M>P(s,t) = a^tb^s</M>, i.e.
+		<Verb>
+    -                                             -
+    |    1    |     a    | . . . |      a^{k-1}   |
+    |    b    |    ab    | . . . |     a^{k-1}b   |
+P = |    .    |    .     |   .   |        .       |.
+    |    .    |    .     |   .   |        .       |
+    | b^{j-1} | ab^{j-1} | . . . | a^{k-1}b^{j-1} |
+    -                                             -
+		</Verb>
+	The parity-check matrix <M>H</M> of the LDPC code can be
+	obtained by expanding each element of matrix <M>P</M>, i.e.
+	<M>P(s,t)</M>, to an identity matrix <M>I_{P(s,t)}</M>
+	of size <M>m \times m</M>.
+	<P/>
 
+	The code rate <M>R</M> of the constructed code is given by
+	<Display>
+		R \geq 1 - \frac{j}{k}
+	</Display>
+	where the sign <M>\geq</M> is due to the possible
+	existence of some non linearly independent rows in <M>H</M>.
+	For more details to the paper by Tanner et al
+	<Cite Key="TSSFC04"/>.
+</Description>
+</ManSection>
+
+<Example>
+gap> C := QCLDPCCodeFromGroup(7,2,3);
+a linear [21,8,1..6]5..10 low-density parity-check code over GF(2)
+gap> MinimumWeight(C);
+[21,8] linear code over GF(2) - minimum weight evaluation
+Known lower-bound: 1
+There are 3 generator matrices, ranks : 8 8 5 
+The weight of the minimum weight codeword satisfies 0 mod 2 congruence
+Enumerating codewords with information weight 1 (w=1)
+    Found new minimum weight 6
+Number of matrices required for codeword enumeration 2
+Completed w= 1, 24 codewords enumerated, lower-bound 4, upper-bound 6
+Termination expected with information weight 2 at matrix 1
+-----------------------------------------------------------------------------
+Enumerating codewords with information weight 2 (w=2) using 1 matrices
+Completed w= 2, 28 codewords enumerated, lower-bound 6, upper-bound 6
+-----------------------------------------------------------------------------
+Minimum weight: 6
+6
+gap> # The quasi-cyclic structure is obvious from the check matrix
+gap> Display( CheckMat(C) );
+ 1 . . . . . . . 1 . . . . . . . . 1 . . .
+ . 1 . . . . . . . 1 . . . . . . . . 1 . .
+ . . 1 . . . . . . . 1 . . . . . . . . 1 .
+ . . . 1 . . . . . . . 1 . . . . . . . . 1
+ . . . . 1 . . . . . . . 1 . 1 . . . . . .
+ . . . . . 1 . . . . . . . 1 . 1 . . . . .
+ . . . . . . 1 1 . . . . . . . . 1 . . . .
+ . . . . . 1 . . . . . 1 . . . . 1 . . . .
+ . . . . . . 1 . . . . . 1 . . . . 1 . . .
+ 1 . . . . . . . . . . . . 1 . . . . 1 . .
+ . 1 . . . . . 1 . . . . . . . . . . . 1 .
+ . . 1 . . . . . 1 . . . . . . . . . . . 1
+ . . . 1 . . . . . 1 . . . . 1 . . . . . .
+ . . . . 1 . . . . . 1 . . . . 1 . . . . .
+gap> # This is the famous [155,64,20] quasi-cyclic LDPC codes
+gap> C := QCLDPCCodeFromGroup(31,3,5);
+a linear [155,64,1..24]24..77 low-density parity-check code over GF(2)
+gap> # An example using non prime m, it may take a while to construct this code
+gap> C := QCLDPCCodeFromGroup(356,4,8);
+a linear [2848,1436,1..120]312..1412 low-density parity-check code over GF(2)
+</Example>
+<!--
+C := QCLDPCCodeFromGroup(7,2,3);
+MinimumWeight(C);
+# The quasi-cyclic structure is obvious from the check matrix
+Display( CheckMat(C) );
+# This is the famous [155,64,20] quasi-cyclic LDPC codes
+C := QCLDPCCodeFromGroup(31,3,5);
+# An example using non prime m, it may take a while to construct this code
+C := QCLDPCCodeFromGroup(356,4,8);
+-->
 
 </Section>
 
+
 </Chapter>
 
 
@@ -11331,14 +11498,13 @@ returns <A>n</A> times the identity matrix. This is only possible for
 If the matrix does not exist or is not known (as of 1998), 
 <C>HadamardMat</C> returns an error. A large number of
 construction methods is known to create these matrices for different
-orders. <C>HadamardMat</C> makes use of two construction methods (among which
-the Sylvester construction -- see 
+orders. <C>HadamardMat</C> makes use of two construction methods (the 
+Paley Type I and II constructions, and the Sylvester construction -- see 
 <Ref Func="SylvesterMat" Style="Number"/>). These methods cover
 most of the possible Hadamard matrices, although some special algorithms
 have not been implemented yet. The following orders less than 
 <M>100</M> do not yet have an implementation for a Hadamard 
-matrix in <Package>GUAVA</Package>: <M>28, 36, 52,
-76, 92</M>.
+matrix in <Package>GUAVA</Package>: <M>52, 92</M>.
 </Description>
 </ManSection>
 
@@ -12203,7 +12369,7 @@ This is a very simple list command which
 returns how many times a occurs in L.
 It returns 0 if a is not in L.
 (The GAP command <C>Collected</C> does not quite
-handle this ``extreme" case.) 
+handle this "extreme" case.) 
 
 </Description>
 </ManSection>
@@ -12672,6 +12838,396 @@ DivisorsMultivariatePolynomial(f,R2);
 
 </Section>
 
+<Section>
+<Heading>
+GNU Free Documentation License
+</Heading>
+
+	GNU Free Documentation License
+		  Version 1.2, November 2002
+
+<P/>
+ Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+<P/>
+0. PREAMBLE
+<P/>
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+<P/>
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense.  It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+<P/>
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does.  But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book.  We recommend this License
+principally for works whose purpose is instruction or reference.
+<P/>
+
+1. APPLICABILITY AND DEFINITIONS
+<P/>
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License.  Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein.  The "Document", below,
+refers to any such manual or work.  Any member of the public is a
+licensee, and is addressed as "you".  You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+<P/>
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+<P/>
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject.  (Thus, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.)  The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+<P/>
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.  If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant.  The Document may contain zero
+Invariant Sections.  If the Document does not identify any Invariant
+Sections then there are none.
+<P/>
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.  A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+<P/>
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters.  A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text.  A copy that is not "Transparent" is called "Opaque".
+<P/>
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification.  Examples of
+transparent image formats include PNG, XCF and JPG.  Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+<P/>
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page.  For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+<P/>
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language.  (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+<P/>
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document.  These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+<P/>
+
+2. VERBATIM COPYING
+<P/>
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License.  You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute.  However, you may accept
+compensation in exchange for copies.  If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+<P/>
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+<P/>
+
+3. COPYING IN QUANTITY
+<P/>
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover.  Both covers must also clearly and legibly identify
+you as the publisher of these copies.  The front cover must present
+the full title with all words of the title equally prominent and
+visible.  You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+<P/>
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+<P/>
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+<P/>
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+<P/>
+
+4. MODIFICATIONS
+<P/>
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it.  In addition, you must do these things in the Modified Version:
+<P/>
+A. Use in the Title Page (and on the covers, if any) a title distinct
+   from that of the Document, and from those of previous versions
+   (which should, if there were any, be listed in the History section
+   of the Document).  You may use the same title as a previous version
+   if the original publisher of that version gives permission.
+<P/>
+B. List on the Title Page, as authors, one or more persons or entities
+   responsible for authorship of the modifications in the Modified
+   Version, together with at least five of the principal authors of the
+   Document (all of its principal authors, if it has fewer than five),
+   unless they release you from this requirement.
+<P/>
+C. State on the Title page the name of the publisher of the
+   Modified Version, as the publisher.
+<P/>
+D. Preserve all the copyright notices of the Document.
+<P/>
+E. Add an appropriate copyright notice for your modifications
+   adjacent to the other copyright notices.
+<P/>
+F. Include, immediately after the copyright notices, a license notice
+   giving the public permission to use the Modified Version under the
+   terms of this License, in the form shown in the Addendum below.
+<P/>
+G. Preserve in that license notice the full lists of Invariant Sections
+   and required Cover Texts given in the Document's license notice.
+<P/>
+H. Include an unaltered copy of this License.
+<P/>
+I. Preserve the section Entitled "History", Preserve its Title, and add
+   to it an item stating at least the title, year, new authors, and
+   publisher of the Modified Version as given on the Title Page.  If
+   there is no section Entitled "History" in the Document, create one
+   stating the title, year, authors, and publisher of the Document as
+   given on its Title Page, then add an item describing the Modified
+   Version as stated in the previous sentence.
+<P/>
+J. Preserve the network location, if any, given in the Document for
+   public access to a Transparent copy of the Document, and likewise
+   the network locations given in the Document for previous versions
+   it was based on.  These may be placed in the "History" section.
+   You may omit a network location for a work that was published at
+   least four years before the Document itself, or if the original
+   publisher of the version it refers to gives permission.
+<P/>
+K. For any section Entitled "Acknowledgements" or "Dedications",
+   Preserve the Title of the section, and preserve in the section all
+   the substance and tone of each of the contributor acknowledgements
+   and/or dedications given therein.
+<P/>
+L. Preserve all the Invariant Sections of the Document,
+   unaltered in their text and in their titles.  Section numbers
+   or the equivalent are not considered part of the section titles.
+<P/>
+M. Delete any section Entitled "Endorsements".  Such a section
+   may not be included in the Modified Version.
+<P/>
+N. Do not retitle any existing section to be Entitled "Endorsements"
+   or to conflict in title with any Invariant Section.
+<P/>
+O. Preserve any Warranty Disclaimers.
+
+<P/>
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant.  To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+<P/>
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+<P/>
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version.  Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity.  If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+<P/>
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+<P/>
+5. COMBINING DOCUMENTS
+<P/>
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+<P/>
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy.  If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+<P/>
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications".  You must delete all sections
+Entitled "Endorsements".
+<P/>
+
+6. COLLECTIONS OF DOCUMENTS
+<P/>
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+<P/>
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+<P/>
+7. AGGREGATION WITH INDEPENDENT WORKS
+<P/>
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+<P/>
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+<P/>
+8. TRANSLATION
+<P/>
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections.  You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers.  In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+<P/>
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+<P/>
+
+9. TERMINATION
+<P/>
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License.  Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License.  However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+<P/>
+
+10. FUTURE REVISIONS OF THIS LICENSE
+<P/>
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time.  Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.  See
+http://www.gnu.org/copyleft/.
+<P/>
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation.  If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+</Section>
 
 </Chapter>
 
diff --git a/doc/manual.pdf b/doc/manual.pdf
index a01283f..4e75456 100644
Binary files a/doc/manual.pdf and b/doc/manual.pdf differ
diff --git a/doc/manual.six b/doc/manual.six
index 4b7d711..2b6df60 100644
--- a/doc/manual.six
+++ b/doc/manual.six
@@ -5,28 +5,29 @@ bookname := "guava",
 entries :=
 [ [ "Title page", "", [ 0, 0, 0 ], 1, 1, "title page", "X7D2C85EC87DD46E5" ], 
   [ "Copyright", "-1", [ 0, 0, 1 ], 43, 2, "copyright", "X81488B807F2A1CF1" ], 
-  [ "Acknowledgements", "-2", [ 0, 0, 2 ], 79, 2, "acknowledgements", "X82A988D47DFAFCFA" ], 
-  [ "Table of contents", "-3", [ 0, 0, 3 ], 121, 4, "table of contents", "X8537FEB07AF2BEC8" ], 
+  [ "Acknowledgements", "-2", [ 0, 0, 2 ], 88, 2, "acknowledgements", "X82A988D47DFAFCFA" ], 
+  [ "Table of contents", "-3", [ 0, 0, 3 ], 130, 4, "table of contents", "X8537FEB07AF2BEC8" ], 
   [ "\033[1XIntroduction\033[0X", "1.", [ 1, 0, 0 ], 1, 12, "introduction", "X7DFB63A97E67C0A1" ], 
   [ "\033[1XIntroduction to the \033[5XGUAVA\033[0X\033[1X package\033[0X", "1.1", [ 1, 1, 0 ], 4, 12, 
       "introduction to the guava package", "X787D826579603719" ], 
   [ "\033[1XInstalling \033[5XGUAVA\033[0X\033[1X\033[0X", "1.2", [ 1, 2, 0 ], 37, 12, "installing guava", 
       "X7E2CB7DF83B514A8" ], [ "\033[1XLoading \033[5XGUAVA\033[0X\033[1X\033[0X", "1.3", [ 1, 3, 0 ], 78, 13, 
-      "loading guava", "X80EAA631863F805B" ], [ "\033[1XCoding theory functions in GAP\033[0X", "2.", [ 2, 0, 0 ], 1, 14, 
-      "coding theory functions in gap", "X7A93308C82637F4F" ], 
+      "loading guava", "X80EAA631863F805B" ], [ "\033[1XCoding theory functions in GAP\033[0X", "2.", [ 2, 0, 0 ], 1, 
+      14, "coding theory functions in gap", "X7A93308C82637F4F" ], 
   [ "\033[1XDistance functions\033[0X", "2.1", [ 2, 1, 0 ], 27, 14, "distance functions", "X80F192497C008691" ], 
   [ "\033[1XOther functions\033[0X", "2.2", [ 2, 2, 0 ], 169, 17, "other functions", "X87C3D1B984960984" ], 
   [ "\033[1XCodewords\033[0X", "3.", [ 3, 0, 0 ], 1, 19, "codewords", "X836BAA9A7EBD08B1" ], 
   [ "\033[1XConstruction of Codewords\033[0X", "3.1", [ 3, 1, 0 ], 68, 20, "construction of codewords", 
       "X81B73ABB87DA8E49" ], [ "\033[1XComparisons of Codewords\033[0X", "3.2", [ 3, 2, 0 ], 204, 22, 
       "comparisons of codewords", "X8253374284B475B6" ], 
-  [ "\033[1XArithmetic Operations for Codewords\033[0X", "3.3", [ 3, 3, 0 ], 250, 23, "arithmetic operations for codewords"
-        , "X7ADE7E95867A14E1" ], [ "\033[1XFunctions that Convert Codewords to Vectors or Polynomials\033[0X", "3.4", 
-      [ 3, 4, 0 ], 333, 24, "functions that convert codewords to vectors or polynomials", "X7BBA5DCD7A8BD60D" ], 
+  [ "\033[1XArithmetic Operations for Codewords\033[0X", "3.3", [ 3, 3, 0 ], 250, 23, 
+      "arithmetic operations for codewords", "X7ADE7E95867A14E1" ], 
+  [ "\033[1XFunctions that Convert Codewords to Vectors or Polynomials\033[0X", "3.4", [ 3, 4, 0 ], 333, 24, 
+      "functions that convert codewords to vectors or polynomials", "X7BBA5DCD7A8BD60D" ], 
   [ "\033[1XFunctions that Change the Display Form of a Codeword\033[0X", "3.5", [ 3, 5, 0 ], 363, 25, 
       "functions that change the display form of a codeword", "X81D3230A797FE6E3" ], 
-  [ "\033[1XOther Codeword Functions\033[0X", "3.6", [ 3, 6, 0 ], 418, 26, "other codeword functions", "X805BF7147C68CACD" 
-     ], [ "\033[1XCodes\033[0X", "4.", [ 4, 0, 0 ], 1, 28, "codes", "X85FDDF0B7B7D87FB" ], 
+  [ "\033[1XOther Codeword Functions\033[0X", "3.6", [ 3, 6, 0 ], 418, 26, "other codeword functions", 
+      "X805BF7147C68CACD" ], [ "\033[1XCodes\033[0X", "4.", [ 4, 0, 0 ], 1, 28, "codes", "X85FDDF0B7B7D87FB" ], 
   [ "\033[1XComparisons of Codes\033[0X", "4.1", [ 4, 1, 0 ], 142, 30, "comparisons of codes", "X7ECE60E1873B49A6" ], 
   [ "\033[1XOperations for Codes\033[0X", "4.2", [ 4, 2, 0 ], 181, 31, "operations for codes", "X832DA51986A3882C" ], 
   [ "\033[1XBoolean Functions for Codes\033[0X", "4.3", [ 4, 3, 0 ], 271, 32, "boolean functions for codes", 
@@ -40,40 +41,45 @@ entries :=
   [ "\033[1XParameters of Codes\033[0X", "4.8", [ 4, 8, 0 ], 1056, 46, "parameters of codes", "X8170B52D7C154247" ], 
   [ "\033[1XDistributions\033[0X", "4.9", [ 4, 9, 0 ], 1543, 54, "distributions", "X806384B4815EFF2E" ], 
   [ "\033[1XDecoding Functions\033[0X", "4.10", [ 4, 10, 0 ], 1662, 56, "decoding functions", "X7D9A39BF801948C8" ], 
-  [ "\033[1XGenerating Codes\033[0X", "5.", [ 5, 0, 0 ], 1, 65, "generating codes", "X87EB64ED831CCE99" ], 
-  [ "\033[1XGenerating Unrestricted Codes\033[0X", "5.1", [ 5, 1, 0 ], 21, 65, "generating unrestricted codes", 
-      "X86A92CB184CBD3C7" ], [ "\033[1XGenerating Linear Codes\033[0X", "5.2", [ 5, 2, 0 ], 260, 69, 
-      "generating linear codes", "X7A11F29F7BBF45BB" ], [ "\033[1XGabidulin Codes\033[0X", "5.3", [ 5, 3, 0 ], 695, 77, 
-      "gabidulin codes", "X858721967BE44000" ], [ "\033[1XGolay Codes\033[0X", "5.4", [ 5, 4, 0 ], 761, 78, "golay codes", 
-      "X81F6E4A785F368B0" ], [ "\033[1XGenerating Cyclic Codes\033[0X", "5.5", [ 5, 5, 0 ], 853, 79, 
-      "generating cyclic codes", "X8366CC3685F0BC85" ], [ "\033[1XEvaluation Codes\033[0X", "5.6", [ 5, 6, 0 ], 1452, 90, 
-      "evaluation codes", "X850A28C579137220" ], [ "\033[1XAlgebraic geometric codes\033[0X", "5.7", [ 5, 7, 0 ], 1617, 
-      93, "algebraic geometric codes", "X7AE2B2CD7C647990" ], 
-  [ "\033[1XManipulating Codes\033[0X", "6.", [ 6, 0, 0 ], 1, 107, "manipulating codes", "X866FC1117814B64D" ], 
-  [ "\033[1XFunctions that Generate a New Code from a Given Code\033[0X", "6.1", [ 6, 1, 0 ], 31, 107, 
-      "functions that generate a new code from a given code", "X8271A4697FDA97B2" ], 
-  [ "\033[1XFunctions that Generate a New Code from Two or More Given Codes\033[0X", "6.2", [ 6, 2, 0 ], 625, 118, 
+  [ "\033[1XGenerating Codes\033[0X", "5.", [ 5, 0, 0 ], 1, 64, "generating codes", "X87EB64ED831CCE99" ], 
+  [ "\033[1XGenerating Unrestricted Codes\033[0X", "5.1", [ 5, 1, 0 ], 26, 64, "generating unrestricted codes", 
+      "X86A92CB184CBD3C7" ], [ "\033[1XGenerating Linear Codes\033[0X", "5.2", [ 5, 2, 0 ], 265, 68, 
+      "generating linear codes", "X7A11F29F7BBF45BB" ], 
+  [ "\033[1XGabidulin Codes\033[0X", "5.3", [ 5, 3, 0 ], 700, 76, "gabidulin codes", "X858721967BE44000" ], 
+  [ "\033[1XGolay Codes\033[0X", "5.4", [ 5, 4, 0 ], 766, 77, "golay codes", "X81F6E4A785F368B0" ], 
+  [ "\033[1XGenerating Cyclic Codes\033[0X", "5.5", [ 5, 5, 0 ], 858, 78, "generating cyclic codes", 
+      "X8366CC3685F0BC85" ], [ "\033[1XEvaluation Codes\033[0X", "5.6", [ 5, 6, 0 ], 1457, 89, "evaluation codes", 
+      "X850A28C579137220" ], [ "\033[1XAlgebraic geometric codes\033[0X", "5.7", [ 5, 7, 0 ], 1622, 92, 
+      "algebraic geometric codes", "X7AE2B2CD7C647990" ], 
+  [ "\033[1XLow-Density Parity-Check Codes\033[0X", "5.8", [ 5, 8, 0 ], 2378, 105, "low-density parity-check codes", 
+      "X84F3673D7BBF5956" ], [ "\033[1XManipulating Codes\033[0X", "6.", [ 6, 0, 0 ], 1, 108, "manipulating codes", 
+      "X866FC1117814B64D" ], [ "\033[1XFunctions that Generate a New Code from a Given Code\033[0X", "6.1", 
+      [ 6, 1, 0 ], 31, 108, "functions that generate a new code from a given code", "X8271A4697FDA97B2" ], 
+  [ "\033[1XFunctions that Generate a New Code from Two or More Given Codes\033[0X", "6.2", [ 6, 2, 0 ], 625, 119, 
       "functions that generate a new code from two or more given codes", "X7964BF0081CC8352" ], 
-  [ "\033[1XBounds on codes, special matrices and miscellaneous functions\033[0X", "7.", [ 7, 0, 0 ], 1, 125, 
+  [ "\033[1XBounds on codes, special matrices and miscellaneous functions\033[0X", "7.", [ 7, 0, 0 ], 1, 126, 
       "bounds on codes special matrices and miscellaneous functions", "X7A814D518460862E" ], 
-  [ "\033[1XDistance bounds on codes\033[0X", "7.1", [ 7, 1, 0 ], 10, 125, "distance bounds on codes", "X87C753EB840C34D3" 
-     ], [ "\033[1XCovering radius bounds on codes\033[0X", "7.2", [ 7, 2, 0 ], 341, 131, "covering radius bounds on codes",
-      "X817D0A647D3331EB" ], [ "\033[1XSpecial matrices in \033[5XGUAVA\033[0X\033[1X\033[0X", "7.3", [ 7, 3, 0 ], 869, 
-      139, "special matrices in guava", "X806EBEC77C16E657" ], 
-  [ "\033[1XSome functions related to the norm of a code\033[0X", "7.4", [ 7, 4, 0 ], 1244, 146, 
+  [ "\033[1XDistance bounds on codes\033[0X", "7.1", [ 7, 1, 0 ], 10, 126, "distance bounds on codes", 
+      "X87C753EB840C34D3" ], [ "\033[1XCovering radius bounds on codes\033[0X", "7.2", [ 7, 2, 0 ], 341, 132, 
+      "covering radius bounds on codes", "X817D0A647D3331EB" ], 
+  [ "\033[1XSpecial matrices in \033[5XGUAVA\033[0X\033[1X\033[0X", "7.3", [ 7, 3, 0 ], 869, 140, 
+      "special matrices in guava", "X806EBEC77C16E657" ], 
+  [ "\033[1XSome functions related to the norm of a code\033[0X", "7.4", [ 7, 4, 0 ], 1245, 147, 
       "some functions related to the norm of a code", "X7AB5E5CE7FDF7132" ], 
-  [ "\033[1XMiscellaneous functions\033[0X", "7.5", [ 7, 5, 0 ], 1333, 147, "miscellaneous functions", "X8308D685809A4E2F" 
-     ], [ "\033[1XMiscellaneous polynomial functions\033[0X", "7.6", [ 7, 6, 0 ], 1676, 153, 
+  [ "\033[1XMiscellaneous functions\033[0X", "7.5", [ 7, 5, 0 ], 1334, 148, "miscellaneous functions", 
+      "X8308D685809A4E2F" ], [ "\033[1XMiscellaneous polynomial functions\033[0X", "7.6", [ 7, 6, 0 ], 1677, 154, 
       "miscellaneous polynomial functions", "X7969103F7A8598F9" ], 
-  [ "Bibliography", "bib.", [ "Bib", 0, 0 ], 1, 158, "bibliography", "X7A6F98FD85F02BFE" ], 
-  [ "References", "bib.", [ "Bib", 0, 0 ], 1, 158, "references", "X7A6F98FD85F02BFE" ], 
-  [ "Index", "ind.", [ "Ind", 0, 0 ], 1, 160, "index", "X83A0356F839C696F" ], 
+  [ "\033[1XGNU Free Documentation License\033[0X", "7.7", [ 7, 7, 0 ], 1912, 158, "gnu free documentation license", 
+      "X82257DE97D1822AA" ], [ "Bibliography", "bib.", [ "Bib", 0, 0 ], 1, 164, "bibliography", "X7A6F98FD85F02BFE" ],
+  [ "References", "bib.", [ "Bib", 0, 0 ], 1, 164, "references", "X7A6F98FD85F02BFE" ], 
+  [ "Index", "ind.", [ "Ind", 0, 0 ], 1, 166, "index", "X83A0356F839C696F" ], 
   [ "\033[2XAClosestVectorCombinationsMatFFEVecFFE\033[0X", "2.1-1", [ 2, 1, 1 ], 30, 14, 
       "aclosestvectorcombinationsmatffevecffe", "X82E5987E81487D18" ], 
   [ "\033[2XAClosestVectorComb..MatFFEVecFFECoords\033[0X", "2.1-2", [ 2, 1, 2 ], 64, 15, 
       "aclosestvectorcomb..matffevecffecoords", "X870DE258833C5AA0" ], 
-  [ "\033[2XDistancesDistributionMatFFEVecFFE\033[0X", "2.1-3", [ 2, 1, 3 ], 87, 15, "distancesdistributionmatffevecffe", 
-      "X85135CEB86E61D49" ], [ "\033[2XDistancesDistributionVecFFEsVecFFE\033[0X", "2.1-4", [ 2, 1, 4 ], 110, 16, 
+  [ "\033[2XDistancesDistributionMatFFEVecFFE\033[0X", "2.1-3", [ 2, 1, 3 ], 87, 15, 
+      "distancesdistributionmatffevecffe", "X85135CEB86E61D49" ], 
+  [ "\033[2XDistancesDistributionVecFFEsVecFFE\033[0X", "2.1-4", [ 2, 1, 4 ], 110, 16, 
       "distancesdistributionvecffesvecffe", "X7F2F630984A9D3D6" ], 
   [ "\033[2XWeightVecFFE\033[0X", "2.1-5", [ 2, 1, 5 ], 132, 16, "weightvecffe", "X7C9F4D657F9BA5A1" ], 
   [ "Hamming metric", "2.1-5", [ 2, 1, 5 ], 132, 16, "hamming metric", "X7C9F4D657F9BA5A1" ], 
@@ -150,8 +156,8 @@ entries :=
   [ "\033[2XIsSelfDualCode\033[0X", "4.3-8", [ 4, 3, 8 ], 420, 35, "isselfdualcode", "X80166D8D837FEB58" ], 
   [ "code, self-dual", "4.3-8", [ 4, 3, 8 ], 420, 35, "code self-dual", "X80166D8D837FEB58" ], 
   [ "self-orthogonal", "4.3-8", [ 4, 3, 8 ], 420, 35, "self-orthogonal", "X80166D8D837FEB58" ], 
-  [ "\033[2XIsSelfOrthogonalCode\033[0X", "4.3-9", [ 4, 3, 9 ], 443, 35, "isselforthogonalcode", "X7B2A0CC481D2366F" ], 
-  [ "code, self-orthogonal", "4.3-9", [ 4, 3, 9 ], 443, 35, "code self-orthogonal", "X7B2A0CC481D2366F" ], 
+  [ "\033[2XIsSelfOrthogonalCode\033[0X", "4.3-9", [ 4, 3, 9 ], 443, 35, "isselforthogonalcode", "X7B2A0CC481D2366F" ]
+    , [ "code, self-orthogonal", "4.3-9", [ 4, 3, 9 ], 443, 35, "code self-orthogonal", "X7B2A0CC481D2366F" ], 
   [ "doubly-even", "4.3-9", [ 4, 3, 9 ], 443, 35, "doubly-even", "X7B2A0CC481D2366F" ], 
   [ "\033[2XIsDoublyEvenCode\033[0X", "4.3-10", [ 4, 3, 10 ], 461, 35, "isdoublyevencode", "X8358D43981EBE970" ], 
   [ "code, doubly-even", "4.3-10", [ 4, 3, 10 ], 461, 35, "code doubly-even", "X8358D43981EBE970" ], 
@@ -166,14 +172,15 @@ entries :=
       "X7B6DB8CC84FCAC1C" ], [ "affine code", "4.3-13", [ 4, 3, 13 ], 534, 37, "affine code", "X7B6DB8CC84FCAC1C" ], 
   [ "\033[2XIsAffineCode\033[0X", "4.3-14", [ 4, 3, 14 ], 554, 37, "isaffinecode", "X7AFD3844859B20BF" ], 
   [ "\033[2XIsAlmostAffineCode\033[0X", "4.3-15", [ 4, 3, 15 ], 572, 38, "isalmostaffinecode", "X861D32FB81EF0D77" ], 
-  [ "permutation equivalent codes", "4.4", [ 4, 4, 0 ], 594, 38, "permutation equivalent codes", "X86442DCD7A0B2146" ], 
-  [ "equivalent codes", "4.4", [ 4, 4, 0 ], 594, 38, "equivalent codes", "X86442DCD7A0B2146" ], 
+  [ "permutation equivalent codes", "4.4", [ 4, 4, 0 ], 594, 38, "permutation equivalent codes", "X86442DCD7A0B2146" ]
+    , [ "equivalent codes", "4.4", [ 4, 4, 0 ], 594, 38, "equivalent codes", "X86442DCD7A0B2146" ], 
   [ "\033[2XIsEquivalent\033[0X", "4.4-1", [ 4, 4, 1 ], 597, 38, "isequivalent", "X843034687D9C75B0" ], 
   [ "\033[2XCodeIsomorphism\033[0X", "4.4-2", [ 4, 4, 2 ], 626, 38, "codeisomorphism", "X874DED8E86BC180B" ], 
   [ "\033[2XAutomorphismGroup\033[0X", "4.4-3", [ 4, 4, 3 ], 648, 39, "automorphismgroup", "X87677B0787B4461A" ], 
-  [ "PermutationAutomorphismGroup", "4.4-3", [ 4, 4, 3 ], 648, 39, "permutationautomorphismgroup", "X87677B0787B4461A" ], 
-  [ "\033[2XPermutationAutomorphismGroup\033[0X", "4.4-4", [ 4, 4, 4 ], 686, 40, "permutationautomorphismgroup", 
-      "X79F3261F86C29F6D" ], [ "\033[2XIsFinite\033[0X", "4.5-1", [ 4, 5, 1 ], 718, 40, "isfinite", "X808A4061809A6E67" ], 
+  [ "PermutationAutomorphismGroup", "4.4-3", [ 4, 4, 3 ], 648, 39, "permutationautomorphismgroup", 
+      "X87677B0787B4461A" ], [ "\033[2XPermutationAutomorphismGroup\033[0X", "4.4-4", [ 4, 4, 4 ], 686, 40, 
+      "permutationautomorphismgroup", "X79F3261F86C29F6D" ], 
+  [ "\033[2XIsFinite\033[0X", "4.5-1", [ 4, 5, 1 ], 718, 40, "isfinite", "X808A4061809A6E67" ], 
   [ "\033[2XSize\033[0X", "4.5-2", [ 4, 5, 2 ], 730, 40, "size", "X858ADA3B7A684421" ], 
   [ "\033[2XLeftActingDomain\033[0X", "4.5-3", [ 4, 5, 3 ], 745, 41, "leftactingdomain", "X86F070E0807DC34E" ], 
   [ "\033[2XDimension\033[0X", "4.5-4", [ 4, 5, 4 ], 764, 41, "dimension", "X7E6926C6850E7C4E" ], 
@@ -190,12 +197,12 @@ entries :=
   [ "\033[2XWordLength\033[0X", "4.8-1", [ 4, 8, 1 ], 1059, 46, "wordlength", "X7A36C3C67B0062E8" ], 
   [ "\033[2XRedundancy\033[0X", "4.8-2", [ 4, 8, 2 ], 1076, 46, "redundancy", "X7E33FD56792DBF3D" ], 
   [ "\033[2XMinimumDistance\033[0X", "4.8-3", [ 4, 8, 3 ], 1096, 46, "minimumdistance", "X7B31613D8538BD29" ], 
-  [ "\033[2XMinimumDistanceLeon\033[0X", "4.8-4", [ 4, 8, 4 ], 1156, 47, "minimumdistanceleon", "X813F226F855590EE" ], 
+  [ "\033[2XMinimumDistanceLeon\033[0X", "4.8-4", [ 4, 8, 4 ], 1156, 47, "minimumdistanceleon", "X813F226F855590EE" ],
   [ "\033[2XMinimumWeight\033[0X", "4.8-5", [ 4, 8, 5 ], 1202, 48, "minimumweight", "X84EDF67B86B4154C" ], 
-  [ "\033[2XDecreaseMinimumDistanceUpperBound\033[0X", "4.8-6", [ 4, 8, 6 ], 1337, 51, "decreaseminimumdistanceupperbound",
-      "X823B9A797EE42F6D" ], [ "\033[2XMinimumDistanceRandom\033[0X", "4.8-7", [ 4, 8, 7 ], 1373, 51, 
-      "minimumdistancerandom", "X7A679B0A7816B030" ], 
-  [ "t(n,k)", "4.8-7", [ 4, 8, 7 ], 1373, 51, "t n k", "X7A679B0A7816B030" ], 
+  [ "\033[2XDecreaseMinimumDistanceUpperBound\033[0X", "4.8-6", [ 4, 8, 6 ], 1337, 51, 
+      "decreaseminimumdistanceupperbound", "X823B9A797EE42F6D" ], 
+  [ "\033[2XMinimumDistanceRandom\033[0X", "4.8-7", [ 4, 8, 7 ], 1373, 51, "minimumdistancerandom", 
+      "X7A679B0A7816B030" ], [ "t(n,k)", "4.8-7", [ 4, 8, 7 ], 1373, 51, "t n k", "X7A679B0A7816B030" ], 
   [ "covering code", "4.8-7", [ 4, 8, 7 ], 1373, 51, "covering code", "X7A679B0A7816B030" ], 
   [ "\033[2XCoveringRadius\033[0X", "4.8-8", [ 4, 8, 8 ], 1455, 53, "coveringradius", "X7A195E317D2AB7CE" ], 
   [ "\033[2XSetCoveringRadius\033[0X", "4.8-9", [ 4, 8, 9 ], 1521, 54, "setcoveringradius", "X81004B007EC5DF58" ], 
@@ -203,304 +210,320 @@ entries :=
   [ "\033[2XWeightDistribution\033[0X", "4.9-2", [ 4, 9, 2 ], 1567, 54, "weightdistribution", "X8728BCC9842A6E5D" ], 
   [ "\033[2XInnerDistribution\033[0X", "4.9-3", [ 4, 9, 3 ], 1592, 55, "innerdistribution", "X871FD301820717A4" ], 
   [ "distance", "4.9-3", [ 4, 9, 3 ], 1592, 55, "distance", "X871FD301820717A4" ], 
-  [ "\033[2XDistancesDistribution\033[0X", "4.9-4", [ 4, 9, 4 ], 1614, 55, "distancesdistribution", "X87AD54F87C5EE77E" ], 
-  [ "\033[2XOuterDistribution\033[0X", "4.9-5", [ 4, 9, 5 ], 1635, 56, "outerdistribution", "X8495870687195324" ], 
-  [ "\033[2XDecode\033[0X", "4.10-1", [ 4, 10, 1 ], 1665, 56, "decode", "X7A42FF7D87FC34AC" ], 
-  [ "\033[2XDecodeword\033[0X", "4.10-2", [ 4, 10, 2 ], 1715, 57, "decodeword", "X7D870C9387C47D9F" ], 
-  [ "\033[2XGeneralizedReedSolomonDecoderGao\033[0X", "4.10-3", [ 4, 10, 3 ], 1766, 58, "generalizedreedsolomondecodergao",
-      "X7D48DE2A84474C6A" ], [ "\033[2XGeneralizedReedSolomonListDecoder\033[0X", "4.10-4", [ 4, 10, 4 ], 1796, 58, 
+  [ "\033[2XDistancesDistribution\033[0X", "4.9-4", [ 4, 9, 4 ], 1614, 55, "distancesdistribution", 
+      "X87AD54F87C5EE77E" ], [ "\033[2XOuterDistribution\033[0X", "4.9-5", [ 4, 9, 5 ], 1635, 56, "outerdistribution",
+      "X8495870687195324" ], [ "\033[2XDecode\033[0X", "4.10-1", [ 4, 10, 1 ], 1665, 56, "decode", 
+      "X7A42FF7D87FC34AC" ], [ "\033[2XDecodeword\033[0X", "4.10-2", [ 4, 10, 2 ], 1715, 57, "decodeword", 
+      "X7D870C9387C47D9F" ], [ "\033[2XGeneralizedReedSolomonDecoderGao\033[0X", "4.10-3", [ 4, 10, 3 ], 1766, 58, 
+      "generalizedreedsolomondecodergao", "X7D48DE2A84474C6A" ], 
+  [ "\033[2XGeneralizedReedSolomonListDecoder\033[0X", "4.10-4", [ 4, 10, 4 ], 1796, 58, 
       "generalizedreedsolomonlistdecoder", "X7CFF98D483502053" ], 
   [ "\033[2XBitFlipDecoder\033[0X", "4.10-5", [ 4, 10, 5 ], 1844, 59, "bitflipdecoder", "X80E17FA27DCAB676" ], 
-  [ "\033[2XNearestNeighborGRSDecodewords\033[0X", "4.10-6", [ 4, 10, 6 ], 1885, 60, "nearestneighborgrsdecodewords", 
-      "X7B88DEB37F28404A" ], [ "\033[2XNearestNeighborDecodewords\033[0X", "4.10-7", [ 4, 10, 7 ], 1924, 61, 
+  [ "\033[2XNearestNeighborGRSDecodewords\033[0X", "4.10-6", [ 4, 10, 6 ], 1872, 60, "nearestneighborgrsdecodewords", 
+      "X7B88DEB37F28404A" ], [ "\033[2XNearestNeighborDecodewords\033[0X", "4.10-7", [ 4, 10, 7 ], 1911, 60, 
       "nearestneighbordecodewords", "X825E35757D778787" ], 
-  [ "\033[2XSyndrome\033[0X", "4.10-8", [ 4, 10, 8 ], 1963, 61, "syndrome", "X7D02E0FE8735D3E6" ], 
-  [ "\033[2XSyndromeTable\033[0X", "4.10-9", [ 4, 10, 9 ], 1990, 62, "syndrometable", "X7B9E71987E4294A7" ], 
-  [ "syndrome table", "4.10-9", [ 4, 10, 9 ], 1990, 62, "syndrome table", "X7B9E71987E4294A7" ], 
-  [ "\033[2XStandardArray\033[0X", "4.10-10", [ 4, 10, 10 ], 2022, 62, "standardarray", "X8642D0BD789DA9B5" ], 
-  [ "\033[2XPermutationDecode\033[0X", "4.10-11", [ 4, 10, 11 ], 2045, 63, "permutationdecode", "X83231E717CCB0247" ], 
-  [ "\033[2XPermutationDecodeNC\033[0X", "4.10-12", [ 4, 10, 12 ], 2091, 63, "permutationdecodenc", "X85B692177E2A745D" ], 
-  [ "\033[2XElementsCode\033[0X", "5.1-1", [ 5, 1, 1 ], 36, 65, "elementscode", "X81AACBDD86E89D7D" ], 
-  [ "code, Hadamard", "5.1-1", [ 5, 1, 1 ], 36, 65, "code hadamard", "X81AACBDD86E89D7D" ], 
-  [ "\033[2XHadamardCode\033[0X", "5.1-2", [ 5, 1, 2 ], 57, 66, "hadamardcode", "X86755AAC83A0AF4B" ], 
-  [ "Hadamard matrix", "5.1-2", [ 5, 1, 2 ], 57, 66, "hadamard matrix", "X86755AAC83A0AF4B" ], 
-  [ "code, conference", "5.1-2", [ 5, 1, 2 ], 57, 66, "code conference", "X86755AAC83A0AF4B" ], 
-  [ "\033[2XConferenceCode\033[0X", "5.1-3", [ 5, 1, 3 ], 106, 66, "conferencecode", "X8122BA417F705997" ], 
-  [ "conference matrix", "5.1-3", [ 5, 1, 3 ], 106, 66, "conference matrix", "X8122BA417F705997" ], 
-  [ "\033[2XMOLSCode\033[0X", "5.1-4", [ 5, 1, 4 ], 135, 67, "molscode", "X81B7EE4279398F67" ], 
-  [ "\033[2XRandomCode\033[0X", "5.1-5", [ 5, 1, 5 ], 168, 68, "randomcode", "X7D87DD6380B2CE69" ], 
-  [ "code, Nordstrom-Robinson", "5.1-5", [ 5, 1, 5 ], 168, 68, "code nordstrom-robinson", "X7D87DD6380B2CE69" ], 
-  [ "\033[2XNordstromRobinsonCode\033[0X", "5.1-6", [ 5, 1, 6 ], 190, 68, "nordstromrobinsoncode", "X816353397F25B62E" ], 
-  [ "code, greedy", "5.1-6", [ 5, 1, 6 ], 190, 68, "code greedy", "X816353397F25B62E" ], 
-  [ "\033[2XGreedyCode\033[0X", "5.1-7", [ 5, 1, 7 ], 205, 68, "greedycode", "X7880D34485C60BAF" ], 
-  [ "\033[2XLexiCode\033[0X", "5.1-8", [ 5, 1, 8 ], 230, 69, "lexicode", "X7C1B374583AFB923" ], 
-  [ "\033[2XGeneratorMatCode\033[0X", "5.2-1", [ 5, 2, 1 ], 283, 69, "generatormatcode", "X83F400A681CFC0D6" ], 
-  [ "\033[2XCheckMatCodeMutable\033[0X", "5.2-2", [ 5, 2, 2 ], 310, 70, "checkmatcodemutable", "X7CDDDFE47A10A008" ], 
-  [ "\033[2XCheckMatCode\033[0X", "5.2-3", [ 5, 2, 3 ], 317, 70, "checkmatcode", "X848D3F7B805DEB66" ], 
-  [ "code, Hamming", "5.2-3", [ 5, 2, 3 ], 317, 70, "code hamming", "X848D3F7B805DEB66" ], 
-  [ "\033[2XHammingCode\033[0X", "5.2-4", [ 5, 2, 4 ], 345, 71, "hammingcode", "X7DECB0A57C798583" ], 
-  [ "code, Reed-Muller", "5.2-4", [ 5, 2, 4 ], 345, 71, "code reed-muller", "X7DECB0A57C798583" ], 
-  [ "\033[2XReedMullerCode\033[0X", "5.2-5", [ 5, 2, 5 ], 365, 71, "reedmullercode", "X801C88D578DA6ACA" ], 
-  [ "code, alternant", "5.2-5", [ 5, 2, 5 ], 365, 71, "code alternant", "X801C88D578DA6ACA" ], 
-  [ "\033[2XAlternantCode\033[0X", "5.2-6", [ 5, 2, 6 ], 382, 71, "alternantcode", "X851592C7811D3D2A" ], 
-  [ "code, Goppa (classical)", "5.2-6", [ 5, 2, 6 ], 382, 71, "code goppa classical", "X851592C7811D3D2A" ], 
-  [ "\033[2XGoppaCode\033[0X", "5.2-7", [ 5, 2, 7 ], 402, 72, "goppacode", "X7EE808BB7D1E487A" ], 
-  [ "code, Srivastava", "5.2-7", [ 5, 2, 7 ], 402, 72, "code srivastava", "X7EE808BB7D1E487A" ], 
-  [ "\033[2XGeneralizedSrivastavaCode\033[0X", "5.2-8", [ 5, 2, 8 ], 445, 72, "generalizedsrivastavacode", 
-      "X7F9C0A727EE075B7" ], [ "\033[2XSrivastavaCode\033[0X", "5.2-9", [ 5, 2, 9 ], 471, 73, "srivastavacode", 
-      "X7A38EB3178961F3E" ], [ "code, Cordaro-Wagner", "5.2-9", [ 5, 2, 9 ], 471, 73, "code cordaro-wagner", 
-      "X7A38EB3178961F3E" ], [ "\033[2XCordaroWagnerCode\033[0X", "5.2-10", [ 5, 2, 10 ], 495, 73, "cordarowagnercode", 
-      "X87F7CB8B7A8BE624" ], [ "\033[2XFerreroDesignCode\033[0X", "5.2-11", [ 5, 2, 11 ], 512, 73, "ferrerodesigncode", 
-      "X865534267C8E902A" ], [ "\033[2XRandomLinearCode\033[0X", "5.2-12", [ 5, 2, 12 ], 571, 74, "randomlinearcode", 
-      "X7BCA10CE8660357F" ], [ "\033[2XOptimalityCode\033[0X", "5.2-13", [ 5, 2, 13 ], 599, 75, "optimalitycode", 
-      "X839CFE4C7A567D4D" ], [ "\033[2XBestKnownLinearCode\033[0X", "5.2-14", [ 5, 2, 14 ], 610, 75, "bestknownlinearcode",
-      "X871508567CB34D96" ], [ "code, Gabidulin", "5.3", [ 5, 3, 0 ], 695, 77, "code gabidulin", "X858721967BE44000" ], 
-  [ "\033[2XGabidulinCode\033[0X", "5.3-1", [ 5, 3, 1 ], 708, 77, "gabidulincode", "X79BE5D497CB2E59E" ], 
-  [ "\033[2XEnlargedGabidulinCode\033[0X", "5.3-2", [ 5, 3, 2 ], 715, 77, "enlargedgabidulincode", "X873950F67D4A9184" ], 
-  [ "code, Davydov", "5.3-2", [ 5, 3, 2 ], 715, 77, "code davydov", "X873950F67D4A9184" ], 
-  [ "\033[2XDavydovCode\033[0X", "5.3-3", [ 5, 3, 3 ], 723, 77, "davydovcode", "X7F5BE77B7F343182" ], 
-  [ "code, Tombak", "5.3-3", [ 5, 3, 3 ], 723, 77, "code tombak", "X7F5BE77B7F343182" ], 
-  [ "\033[2XTombakCode\033[0X", "5.3-4", [ 5, 3, 4 ], 731, 77, "tombakcode", "X845B4DBE83288D2D" ], 
-  [ "\033[2XEnlargedTombakCode\033[0X", "5.3-5", [ 5, 3, 5 ], 739, 77, "enlargedtombakcode", "X7D6583347C0D4292" ], 
-  [ "code, Golay (binary)", "5.4", [ 5, 4, 0 ], 761, 78, "code golay binary", "X81F6E4A785F368B0" ], 
-  [ "\033[2XBinaryGolayCode\033[0X", "5.4-1", [ 5, 4, 1 ], 770, 78, "binarygolaycode", "X80ED89C079CD0D09" ], 
-  [ "\033[2XExtendedBinaryGolayCode\033[0X", "5.4-2", [ 5, 4, 2 ], 791, 78, "extendedbinarygolaycode", "X84520C7983538806" 
-     ], [ "code, Golay (ternary)", "5.4-2", [ 5, 4, 2 ], 791, 78, "code golay ternary", "X84520C7983538806" ], 
-  [ "\033[2XTernaryGolayCode\033[0X", "5.4-3", [ 5, 4, 3 ], 813, 79, "ternarygolaycode", "X7E0CCCD7866ADB94" ], 
-  [ "\033[2XExtendedTernaryGolayCode\033[0X", "5.4-4", [ 5, 4, 4 ], 832, 79, "extendedternarygolaycode", 
-      "X81088A66816BCAE4" ], [ "generator polynomial", "5.5", [ 5, 5, 0 ], 853, 79, "generator polynomial", 
-      "X8366CC3685F0BC85" ], [ "check polynomial", "5.5", [ 5, 5, 0 ], 853, 79, "check polynomial", "X8366CC3685F0BC85" ], 
-  [ "\033[2XGeneratorPolCode\033[0X", "5.5-1", [ 5, 5, 1 ], 902, 80, "generatorpolcode", "X853D34A5796CEB73" ], 
-  [ "\033[2XCheckPolCode\033[0X", "5.5-2", [ 5, 5, 2 ], 927, 81, "checkpolcode", "X82440B78845F7F6E" ], 
-  [ "\033[2XRootsCode\033[0X", "5.5-3", [ 5, 5, 3 ], 950, 81, "rootscode", "X818F0E6583E01D4B" ], 
-  [ "code, Bose-Chaudhuri-Hockenghem", "5.5-3", [ 5, 5, 3 ], 950, 81, "code bose-chaudhuri-hockenghem", 
-      "X818F0E6583E01D4B" ], [ "\033[2XBCHCode\033[0X", "5.5-4", [ 5, 5, 4 ], 989, 82, "bchcode", "X7C6BB07C87853C00" ], 
-  [ "Bose distance", "5.5-4", [ 5, 5, 4 ], 989, 82, "bose distance", "X7C6BB07C87853C00" ], 
-  [ "code, Reed-Solomon", "5.5-4", [ 5, 5, 4 ], 989, 82, "code reed-solomon", "X7C6BB07C87853C00" ], 
-  [ "\033[2XReedSolomonCode\033[0X", "5.5-5", [ 5, 5, 5 ], 1051, 83, "reedsolomoncode", "X838F3CB3872CEF95" ], 
-  [ "\033[2XExtendedReedSolomonCode\033[0X", "5.5-6", [ 5, 5, 6 ], 1077, 83, "extendedreedsolomoncode", 
-      "X8730B90A862A3B3E" ], [ "\033[2XQRCode\033[0X", "5.5-7", [ 5, 5, 7 ], 1094, 83, "qrcode", "X825F42F68179D2AB" ], 
-  [ "\033[2XQQRCodeNC\033[0X", "5.5-8", [ 5, 5, 8 ], 1124, 84, "qqrcodenc", "X8764ABCF854C695E" ], 
-  [ "\033[2XQQRCode\033[0X", "5.5-9", [ 5, 5, 9 ], 1131, 84, "qqrcode", "X7F4C3AD2795A8D7A" ], 
-  [ "code, Fire", "5.5-9", [ 5, 5, 9 ], 1131, 84, "code fire", "X7F4C3AD2795A8D7A" ], 
-  [ "\033[2XFireCode\033[0X", "5.5-10", [ 5, 5, 10 ], 1173, 85, "firecode", "X7F3B8CC8831DA0E4" ], 
-  [ "order of polynomial", "5.5-10", [ 5, 5, 10 ], 1173, 85, "order of polynomial", "X7F3B8CC8831DA0E4" ], 
-  [ "\033[2XWholeSpaceCode\033[0X", "5.5-11", [ 5, 5, 11 ], 1205, 85, "wholespacecode", "X7BC245E37EB7B23F" ], 
-  [ "\033[2XNullCode\033[0X", "5.5-12", [ 5, 5, 12 ], 1218, 86, "nullcode", "X7B4EF2017B2C61AD" ], 
-  [ "\033[2XRepetitionCode\033[0X", "5.5-13", [ 5, 5, 13 ], 1232, 86, "repetitioncode", "X83C5F8FE7827EAA7" ], 
-  [ "\033[2XCyclicCodes\033[0X", "5.5-14", [ 5, 5, 14 ], 1251, 86, "cycliccodes", "X82FA9F65854D98A6" ], 
-  [ "\033[2XNrCyclicCodes\033[0X", "5.5-15", [ 5, 5, 15 ], 1268, 86, "nrcycliccodes", "X8263CE4A790D294A" ], 
-  [ "\033[2XQuasiCyclicCode\033[0X", "5.5-16", [ 5, 5, 16 ], 1295, 87, "quasicycliccode", "X79826B16785E8BD3" ], 
-  [ "\033[2XCyclicMDSCode\033[0X", "5.5-17", [ 5, 5, 17 ], 1361, 88, "cyclicmdscode", "X7BFEDA52835A601D" ], 
-  [ "MDS", "5.5-17", [ 5, 5, 17 ], 1361, 88, "mds", "X7BFEDA52835A601D" ], 
-  [ "cyclic", "5.5-17", [ 5, 5, 17 ], 1361, 88, "cyclic", "X7BFEDA52835A601D" ], 
-  [ "\033[2XFourNegacirculantSelfDualCode\033[0X", "5.5-18", [ 5, 5, 18 ], 1385, 89, "fournegacirculantselfdualcode", 
-      "X7F40AF3B81C252DC" ], [ "self-dual", "5.5-18", [ 5, 5, 18 ], 1385, 89, "self-dual", "X7F40AF3B81C252DC" ], 
-  [ "\033[2XFourNegacirculantSelfDualCodeNC\033[0X", "5.5-19", [ 5, 5, 19 ], 1444, 90, "fournegacirculantselfdualcodenc", 
-      "X87137A257E761291" ], [ "code, evaluation", "5.6", [ 5, 6, 0 ], 1452, 90, "code evaluation", "X850A28C579137220" ], 
-  [ "\033[2XEvaluationCode\033[0X", "5.6-1", [ 5, 6, 1 ], 1455, 90, "evaluationcode", "X78E078567D19D433" ], 
-  [ "\033[2XGeneralizedReedSolomonCode\033[0X", "5.6-2", [ 5, 6, 2 ], 1494, 90, "generalizedreedsolomoncode", 
-      "X810AB3DB844FFCE9" ], [ "\033[2XGeneralizedReedMullerCode\033[0X", "5.6-3", [ 5, 6, 3 ], 1548, 91, 
+  [ "\033[2XSyndrome\033[0X", "4.10-8", [ 4, 10, 8 ], 1950, 61, "syndrome", "X7D02E0FE8735D3E6" ], 
+  [ "\033[2XSyndromeTable\033[0X", "4.10-9", [ 4, 10, 9 ], 1977, 62, "syndrometable", "X7B9E71987E4294A7" ], 
+  [ "syndrome table", "4.10-9", [ 4, 10, 9 ], 1977, 62, "syndrome table", "X7B9E71987E4294A7" ], 
+  [ "\033[2XStandardArray\033[0X", "4.10-10", [ 4, 10, 10 ], 2009, 62, "standardarray", "X8642D0BD789DA9B5" ], 
+  [ "\033[2XPermutationDecode\033[0X", "4.10-11", [ 4, 10, 11 ], 2032, 62, "permutationdecode", "X83231E717CCB0247" ],
+  [ "\033[2XPermutationDecodeNC\033[0X", "4.10-12", [ 4, 10, 12 ], 2078, 63, "permutationdecodenc", 
+      "X85B692177E2A745D" ], [ "\033[2XElementsCode\033[0X", "5.1-1", [ 5, 1, 1 ], 41, 64, "elementscode", 
+      "X81AACBDD86E89D7D" ], [ "code, Hadamard", "5.1-1", [ 5, 1, 1 ], 41, 64, "code hadamard", "X81AACBDD86E89D7D" ],
+  [ "\033[2XHadamardCode\033[0X", "5.1-2", [ 5, 1, 2 ], 62, 65, "hadamardcode", "X86755AAC83A0AF4B" ], 
+  [ "Hadamard matrix", "5.1-2", [ 5, 1, 2 ], 62, 65, "hadamard matrix", "X86755AAC83A0AF4B" ], 
+  [ "code, conference", "5.1-2", [ 5, 1, 2 ], 62, 65, "code conference", "X86755AAC83A0AF4B" ], 
+  [ "\033[2XConferenceCode\033[0X", "5.1-3", [ 5, 1, 3 ], 111, 65, "conferencecode", "X8122BA417F705997" ], 
+  [ "conference matrix", "5.1-3", [ 5, 1, 3 ], 111, 65, "conference matrix", "X8122BA417F705997" ], 
+  [ "\033[2XMOLSCode\033[0X", "5.1-4", [ 5, 1, 4 ], 140, 66, "molscode", "X81B7EE4279398F67" ], 
+  [ "\033[2XRandomCode\033[0X", "5.1-5", [ 5, 1, 5 ], 173, 67, "randomcode", "X7D87DD6380B2CE69" ], 
+  [ "code, Nordstrom-Robinson", "5.1-5", [ 5, 1, 5 ], 173, 67, "code nordstrom-robinson", "X7D87DD6380B2CE69" ], 
+  [ "\033[2XNordstromRobinsonCode\033[0X", "5.1-6", [ 5, 1, 6 ], 195, 67, "nordstromrobinsoncode", 
+      "X816353397F25B62E" ], [ "code, greedy", "5.1-6", [ 5, 1, 6 ], 195, 67, "code greedy", "X816353397F25B62E" ], 
+  [ "\033[2XGreedyCode\033[0X", "5.1-7", [ 5, 1, 7 ], 210, 67, "greedycode", "X7880D34485C60BAF" ], 
+  [ "\033[2XLexiCode\033[0X", "5.1-8", [ 5, 1, 8 ], 235, 68, "lexicode", "X7C1B374583AFB923" ], 
+  [ "\033[2XGeneratorMatCode\033[0X", "5.2-1", [ 5, 2, 1 ], 288, 68, "generatormatcode", "X83F400A681CFC0D6" ], 
+  [ "\033[2XCheckMatCodeMutable\033[0X", "5.2-2", [ 5, 2, 2 ], 315, 69, "checkmatcodemutable", "X7CDDDFE47A10A008" ], 
+  [ "\033[2XCheckMatCode\033[0X", "5.2-3", [ 5, 2, 3 ], 322, 69, "checkmatcode", "X848D3F7B805DEB66" ], 
+  [ "code, Hamming", "5.2-3", [ 5, 2, 3 ], 322, 69, "code hamming", "X848D3F7B805DEB66" ], 
+  [ "\033[2XHammingCode\033[0X", "5.2-4", [ 5, 2, 4 ], 350, 70, "hammingcode", "X7DECB0A57C798583" ], 
+  [ "code, Reed-Muller", "5.2-4", [ 5, 2, 4 ], 350, 70, "code reed-muller", "X7DECB0A57C798583" ], 
+  [ "\033[2XReedMullerCode\033[0X", "5.2-5", [ 5, 2, 5 ], 370, 70, "reedmullercode", "X801C88D578DA6ACA" ], 
+  [ "code, alternant", "5.2-5", [ 5, 2, 5 ], 370, 70, "code alternant", "X801C88D578DA6ACA" ], 
+  [ "\033[2XAlternantCode\033[0X", "5.2-6", [ 5, 2, 6 ], 387, 70, "alternantcode", "X851592C7811D3D2A" ], 
+  [ "code, Goppa (classical)", "5.2-6", [ 5, 2, 6 ], 387, 70, "code goppa classical", "X851592C7811D3D2A" ], 
+  [ "\033[2XGoppaCode\033[0X", "5.2-7", [ 5, 2, 7 ], 407, 71, "goppacode", "X7EE808BB7D1E487A" ], 
+  [ "code, Srivastava", "5.2-7", [ 5, 2, 7 ], 407, 71, "code srivastava", "X7EE808BB7D1E487A" ], 
+  [ "\033[2XGeneralizedSrivastavaCode\033[0X", "5.2-8", [ 5, 2, 8 ], 450, 71, "generalizedsrivastavacode", 
+      "X7F9C0A727EE075B7" ], [ "\033[2XSrivastavaCode\033[0X", "5.2-9", [ 5, 2, 9 ], 476, 72, "srivastavacode", 
+      "X7A38EB3178961F3E" ], [ "code, Cordaro-Wagner", "5.2-9", [ 5, 2, 9 ], 476, 72, "code cordaro-wagner", 
+      "X7A38EB3178961F3E" ], [ "\033[2XCordaroWagnerCode\033[0X", "5.2-10", [ 5, 2, 10 ], 500, 72, 
+      "cordarowagnercode", "X87F7CB8B7A8BE624" ], [ "\033[2XFerreroDesignCode\033[0X", "5.2-11", [ 5, 2, 11 ], 517, 
+      72, "ferrerodesigncode", "X865534267C8E902A" ], 
+  [ "\033[2XRandomLinearCode\033[0X", "5.2-12", [ 5, 2, 12 ], 576, 73, "randomlinearcode", "X7BCA10CE8660357F" ], 
+  [ "\033[2XOptimalityCode\033[0X", "5.2-13", [ 5, 2, 13 ], 604, 74, "optimalitycode", "X839CFE4C7A567D4D" ], 
+  [ "\033[2XBestKnownLinearCode\033[0X", "5.2-14", [ 5, 2, 14 ], 615, 74, "bestknownlinearcode", "X871508567CB34D96" ]
+    , [ "code, Gabidulin", "5.3", [ 5, 3, 0 ], 700, 76, "code gabidulin", "X858721967BE44000" ], 
+  [ "\033[2XGabidulinCode\033[0X", "5.3-1", [ 5, 3, 1 ], 713, 76, "gabidulincode", "X79BE5D497CB2E59E" ], 
+  [ "\033[2XEnlargedGabidulinCode\033[0X", "5.3-2", [ 5, 3, 2 ], 720, 76, "enlargedgabidulincode", 
+      "X873950F67D4A9184" ], [ "code, Davydov", "5.3-2", [ 5, 3, 2 ], 720, 76, "code davydov", "X873950F67D4A9184" ], 
+  [ "\033[2XDavydovCode\033[0X", "5.3-3", [ 5, 3, 3 ], 728, 76, "davydovcode", "X7F5BE77B7F343182" ], 
+  [ "code, Tombak", "5.3-3", [ 5, 3, 3 ], 728, 76, "code tombak", "X7F5BE77B7F343182" ], 
+  [ "\033[2XTombakCode\033[0X", "5.3-4", [ 5, 3, 4 ], 736, 76, "tombakcode", "X845B4DBE83288D2D" ], 
+  [ "\033[2XEnlargedTombakCode\033[0X", "5.3-5", [ 5, 3, 5 ], 744, 76, "enlargedtombakcode", "X7D6583347C0D4292" ], 
+  [ "code, Golay (binary)", "5.4", [ 5, 4, 0 ], 766, 77, "code golay binary", "X81F6E4A785F368B0" ], 
+  [ "\033[2XBinaryGolayCode\033[0X", "5.4-1", [ 5, 4, 1 ], 775, 77, "binarygolaycode", "X80ED89C079CD0D09" ], 
+  [ "\033[2XExtendedBinaryGolayCode\033[0X", "5.4-2", [ 5, 4, 2 ], 796, 77, "extendedbinarygolaycode", 
+      "X84520C7983538806" ], [ "code, Golay (ternary)", "5.4-2", [ 5, 4, 2 ], 796, 77, "code golay ternary", 
+      "X84520C7983538806" ], [ "\033[2XTernaryGolayCode\033[0X", "5.4-3", [ 5, 4, 3 ], 818, 78, "ternarygolaycode", 
+      "X7E0CCCD7866ADB94" ], [ "\033[2XExtendedTernaryGolayCode\033[0X", "5.4-4", [ 5, 4, 4 ], 837, 78, 
+      "extendedternarygolaycode", "X81088A66816BCAE4" ], 
+  [ "generator polynomial", "5.5", [ 5, 5, 0 ], 858, 78, "generator polynomial", "X8366CC3685F0BC85" ], 
+  [ "check polynomial", "5.5", [ 5, 5, 0 ], 858, 78, "check polynomial", "X8366CC3685F0BC85" ], 
+  [ "\033[2XGeneratorPolCode\033[0X", "5.5-1", [ 5, 5, 1 ], 907, 79, "generatorpolcode", "X853D34A5796CEB73" ], 
+  [ "\033[2XCheckPolCode\033[0X", "5.5-2", [ 5, 5, 2 ], 932, 80, "checkpolcode", "X82440B78845F7F6E" ], 
+  [ "\033[2XRootsCode\033[0X", "5.5-3", [ 5, 5, 3 ], 955, 80, "rootscode", "X818F0E6583E01D4B" ], 
+  [ "code, Bose-Chaudhuri-Hockenghem", "5.5-3", [ 5, 5, 3 ], 955, 80, "code bose-chaudhuri-hockenghem", 
+      "X818F0E6583E01D4B" ], [ "\033[2XBCHCode\033[0X", "5.5-4", [ 5, 5, 4 ], 994, 81, "bchcode", "X7C6BB07C87853C00" 
+     ], [ "Bose distance", "5.5-4", [ 5, 5, 4 ], 994, 81, "bose distance", "X7C6BB07C87853C00" ], 
+  [ "code, Reed-Solomon", "5.5-4", [ 5, 5, 4 ], 994, 81, "code reed-solomon", "X7C6BB07C87853C00" ], 
+  [ "\033[2XReedSolomonCode\033[0X", "5.5-5", [ 5, 5, 5 ], 1056, 82, "reedsolomoncode", "X838F3CB3872CEF95" ], 
+  [ "\033[2XExtendedReedSolomonCode\033[0X", "5.5-6", [ 5, 5, 6 ], 1082, 82, "extendedreedsolomoncode", 
+      "X8730B90A862A3B3E" ], [ "\033[2XQRCode\033[0X", "5.5-7", [ 5, 5, 7 ], 1099, 82, "qrcode", "X825F42F68179D2AB" ]
+    , [ "\033[2XQQRCodeNC\033[0X", "5.5-8", [ 5, 5, 8 ], 1129, 83, "qqrcodenc", "X8764ABCF854C695E" ], 
+  [ "\033[2XQQRCode\033[0X", "5.5-9", [ 5, 5, 9 ], 1136, 83, "qqrcode", "X7F4C3AD2795A8D7A" ], 
+  [ "code, Fire", "5.5-9", [ 5, 5, 9 ], 1136, 83, "code fire", "X7F4C3AD2795A8D7A" ], 
+  [ "\033[2XFireCode\033[0X", "5.5-10", [ 5, 5, 10 ], 1178, 84, "firecode", "X7F3B8CC8831DA0E4" ], 
+  [ "order of polynomial", "5.5-10", [ 5, 5, 10 ], 1178, 84, "order of polynomial", "X7F3B8CC8831DA0E4" ], 
+  [ "\033[2XWholeSpaceCode\033[0X", "5.5-11", [ 5, 5, 11 ], 1210, 84, "wholespacecode", "X7BC245E37EB7B23F" ], 
+  [ "\033[2XNullCode\033[0X", "5.5-12", [ 5, 5, 12 ], 1223, 85, "nullcode", "X7B4EF2017B2C61AD" ], 
+  [ "\033[2XRepetitionCode\033[0X", "5.5-13", [ 5, 5, 13 ], 1237, 85, "repetitioncode", "X83C5F8FE7827EAA7" ], 
+  [ "\033[2XCyclicCodes\033[0X", "5.5-14", [ 5, 5, 14 ], 1256, 85, "cycliccodes", "X82FA9F65854D98A6" ], 
+  [ "\033[2XNrCyclicCodes\033[0X", "5.5-15", [ 5, 5, 15 ], 1273, 85, "nrcycliccodes", "X8263CE4A790D294A" ], 
+  [ "\033[2XQuasiCyclicCode\033[0X", "5.5-16", [ 5, 5, 16 ], 1300, 86, "quasicycliccode", "X79826B16785E8BD3" ], 
+  [ "\033[2XCyclicMDSCode\033[0X", "5.5-17", [ 5, 5, 17 ], 1366, 87, "cyclicmdscode", "X7BFEDA52835A601D" ], 
+  [ "MDS", "5.5-17", [ 5, 5, 17 ], 1366, 87, "mds", "X7BFEDA52835A601D" ], 
+  [ "cyclic", "5.5-17", [ 5, 5, 17 ], 1366, 87, "cyclic", "X7BFEDA52835A601D" ], 
+  [ "\033[2XFourNegacirculantSelfDualCode\033[0X", "5.5-18", [ 5, 5, 18 ], 1390, 88, "fournegacirculantselfdualcode", 
+      "X7F40AF3B81C252DC" ], [ "self-dual", "5.5-18", [ 5, 5, 18 ], 1390, 88, "self-dual", "X7F40AF3B81C252DC" ], 
+  [ "\033[2XFourNegacirculantSelfDualCodeNC\033[0X", "5.5-19", [ 5, 5, 19 ], 1449, 89, 
+      "fournegacirculantselfdualcodenc", "X87137A257E761291" ], 
+  [ "code, evaluation", "5.6", [ 5, 6, 0 ], 1457, 89, "code evaluation", "X850A28C579137220" ], 
+  [ "\033[2XEvaluationCode\033[0X", "5.6-1", [ 5, 6, 1 ], 1460, 89, "evaluationcode", "X78E078567D19D433" ], 
+  [ "\033[2XGeneralizedReedSolomonCode\033[0X", "5.6-2", [ 5, 6, 2 ], 1499, 89, "generalizedreedsolomoncode", 
+      "X810AB3DB844FFCE9" ], [ "\033[2XGeneralizedReedMullerCode\033[0X", "5.6-3", [ 5, 6, 3 ], 1553, 90, 
       "generalizedreedmullercode", "X85B8699680B9D786" ], 
-  [ "\033[2XToricPoints\033[0X", "5.6-4", [ 5, 6, 4 ], 1579, 92, "toricpoints", "X7EE68B58872D7E82" ], 
-  [ "code, toric", "5.6-4", [ 5, 6, 4 ], 1579, 92, "code toric", "X7EE68B58872D7E82" ], 
-  [ "\033[2XToricCode\033[0X", "5.6-5", [ 5, 6, 5 ], 1594, 92, "toriccode", "X7B24BE418010F596" ], 
-  [ "code, AG", "5.7", [ 5, 7, 0 ], 1617, 93, "code ag", "X7AE2B2CD7C647990" ], 
-  [ "\033[2XAffineCurve\033[0X", "5.7-1", [ 5, 7, 1 ], 1623, 93, "affinecurve", "X802DD9FB79A9ACA7" ], 
-  [ "point", "5.7-1", [ 5, 7, 1 ], 1623, 93, "point", "X802DD9FB79A9ACA7" ], 
-  [ "\033[2XAffinePointsOnCurve\033[0X", "5.7-2", [ 5, 7, 2 ], 1678, 94, "affinepointsoncurve", "X857EFE567C05C981" ], 
-  [ "\033[2XGenusCurve\033[0X", "5.7-3", [ 5, 7, 3 ], 1698, 94, "genuscurve", "X857E36ED814A40B8" ], 
-  [ "\033[2XGOrbitPoint \033[0X", "5.7-4", [ 5, 7, 4 ], 1723, 94, "gorbitpoint", "X8572A3037DA66F88" ], 
-  [ "divisor", "5.7-4", [ 5, 7, 4 ], 1723, 94, "divisor", "X8572A3037DA66F88" ], 
-  [ "support", "5.7-4", [ 5, 7, 4 ], 1723, 94, "support", "X8572A3037DA66F88" ], 
-  [ "\033[2XDivisorOnAffineCurve\033[0X", "5.7-5", [ 5, 7, 5 ], 1795, 96, "divisoronaffinecurve", "X79742B7183051D99" ], 
-  [ "\033[2XDivisorAddition \033[0X", "5.7-6", [ 5, 7, 6 ], 1829, 96, "divisoraddition", "X8626E2B57D01F2DC" ], 
-  [ "\033[2XDivisorDegree \033[0X", "5.7-7", [ 5, 7, 7 ], 1836, 96, "divisordegree", "X865FE28D828C1EAD" ], 
-  [ "degree", "5.7-7", [ 5, 7, 7 ], 1836, 96, "degree", "X865FE28D828C1EAD" ], 
-  [ "\033[2XDivisorNegate \033[0X", "5.7-8", [ 5, 7, 8 ], 1842, 97, "divisornegate", "X789DC358819A8F54" ], 
-  [ "\033[2XDivisorIsZero \033[0X", "5.7-9", [ 5, 7, 9 ], 1848, 97, "divisoriszero", "X8688C0E187B5C7DB" ], 
-  [ "\033[2XDivisorsEqual \033[0X", "5.7-10", [ 5, 7, 10 ], 1854, 97, "divisorsequal", "X816A07997D9A7075" ], 
-  [ "\033[2XDivisorGCD \033[0X", "5.7-11", [ 5, 7, 11 ], 1860, 97, "divisorgcd", "X857B89847A649A26" ], 
-  [ "greatest common divisor", "5.7-11", [ 5, 7, 11 ], 1860, 97, "greatest common divisor", "X857B89847A649A26" ], 
-  [ "\033[2XDivisorLCM \033[0X", "5.7-12", [ 5, 7, 12 ], 1872, 97, "divisorlcm", "X82231CF08073695F" ], 
-  [ "least common multiple", "5.7-12", [ 5, 7, 12 ], 1872, 97, "least common multiple", "X82231CF08073695F" ], 
-  [ "\033[2XRiemannRochSpaceBasisFunctionP1 \033[0X", "5.7-13", [ 5, 7, 13 ], 1953, 99, "riemannrochspacebasisfunctionp1", 
-      "X79C878697F99A10F" ], [ "\033[2XDivisorOfRationalFunctionP1 \033[0X", "5.7-14", [ 5, 7, 14 ], 1960, 99, 
-      "divisorofrationalfunctionp1", "X856DDA207EDDF256" ], 
-  [ "\033[2XRiemannRochSpaceBasisP1 \033[0X", "5.7-15", [ 5, 7, 15 ], 2008, 100, "riemannrochspacebasisp1", 
-      "X878970A17E580224" ], [ "\033[2XMoebiusTransformation \033[0X", "5.7-16", [ 5, 7, 16 ], 2064, 101, 
-      "moebiustransformation", "X807C52E67A440DEB" ], [ "\033[2XActionMoebiusTransformationOnFunction \033[0X", "5.7-17", 
-      [ 5, 7, 17 ], 2073, 101, "actionmoebiustransformationonfunction", "X85A0419580ED0391" ], 
-  [ "\033[2XActionMoebiusTransformationOnDivisorP1 \033[0X", "5.7-18", [ 5, 7, 18 ], 2082, 101, 
+  [ "\033[2XToricPoints\033[0X", "5.6-4", [ 5, 6, 4 ], 1584, 91, "toricpoints", "X7EE68B58872D7E82" ], 
+  [ "code, toric", "5.6-4", [ 5, 6, 4 ], 1584, 91, "code toric", "X7EE68B58872D7E82" ], 
+  [ "\033[2XToricCode\033[0X", "5.6-5", [ 5, 6, 5 ], 1599, 91, "toriccode", "X7B24BE418010F596" ], 
+  [ "code, AG", "5.7", [ 5, 7, 0 ], 1622, 92, "code ag", "X7AE2B2CD7C647990" ], 
+  [ "\033[2XAffineCurve\033[0X", "5.7-1", [ 5, 7, 1 ], 1628, 92, "affinecurve", "X802DD9FB79A9ACA7" ], 
+  [ "point", "5.7-1", [ 5, 7, 1 ], 1628, 92, "point", "X802DD9FB79A9ACA7" ], 
+  [ "\033[2XAffinePointsOnCurve\033[0X", "5.7-2", [ 5, 7, 2 ], 1683, 93, "affinepointsoncurve", "X857EFE567C05C981" ],
+  [ "\033[2XGenusCurve\033[0X", "5.7-3", [ 5, 7, 3 ], 1703, 93, "genuscurve", "X857E36ED814A40B8" ], 
+  [ "\033[2XGOrbitPoint \033[0X", "5.7-4", [ 5, 7, 4 ], 1728, 93, "gorbitpoint", "X8572A3037DA66F88" ], 
+  [ "divisor", "5.7-4", [ 5, 7, 4 ], 1728, 93, "divisor", "X8572A3037DA66F88" ], 
+  [ "support", "5.7-4", [ 5, 7, 4 ], 1728, 93, "support", "X8572A3037DA66F88" ], 
+  [ "\033[2XDivisorOnAffineCurve\033[0X", "5.7-5", [ 5, 7, 5 ], 1800, 95, "divisoronaffinecurve", "X79742B7183051D99" 
+     ], [ "\033[2XDivisorAddition \033[0X", "5.7-6", [ 5, 7, 6 ], 1834, 95, "divisoraddition", "X8626E2B57D01F2DC" ], 
+  [ "\033[2XDivisorDegree \033[0X", "5.7-7", [ 5, 7, 7 ], 1841, 95, "divisordegree", "X865FE28D828C1EAD" ], 
+  [ "degree", "5.7-7", [ 5, 7, 7 ], 1841, 95, "degree", "X865FE28D828C1EAD" ], 
+  [ "\033[2XDivisorNegate \033[0X", "5.7-8", [ 5, 7, 8 ], 1847, 96, "divisornegate", "X789DC358819A8F54" ], 
+  [ "\033[2XDivisorIsZero \033[0X", "5.7-9", [ 5, 7, 9 ], 1853, 96, "divisoriszero", "X8688C0E187B5C7DB" ], 
+  [ "\033[2XDivisorsEqual \033[0X", "5.7-10", [ 5, 7, 10 ], 1859, 96, "divisorsequal", "X816A07997D9A7075" ], 
+  [ "\033[2XDivisorGCD \033[0X", "5.7-11", [ 5, 7, 11 ], 1865, 96, "divisorgcd", "X857B89847A649A26" ], 
+  [ "greatest common divisor", "5.7-11", [ 5, 7, 11 ], 1865, 96, "greatest common divisor", "X857B89847A649A26" ], 
+  [ "\033[2XDivisorLCM \033[0X", "5.7-12", [ 5, 7, 12 ], 1877, 96, "divisorlcm", "X82231CF08073695F" ], 
+  [ "least common multiple", "5.7-12", [ 5, 7, 12 ], 1877, 96, "least common multiple", "X82231CF08073695F" ], 
+  [ "\033[2XRiemannRochSpaceBasisFunctionP1 \033[0X", "5.7-13", [ 5, 7, 13 ], 1958, 98, 
+      "riemannrochspacebasisfunctionp1", "X79C878697F99A10F" ], 
+  [ "\033[2XDivisorOfRationalFunctionP1 \033[0X", "5.7-14", [ 5, 7, 14 ], 1965, 98, "divisorofrationalfunctionp1", 
+      "X856DDA207EDDF256" ], [ "\033[2XRiemannRochSpaceBasisP1 \033[0X", "5.7-15", [ 5, 7, 15 ], 2013, 99, 
+      "riemannrochspacebasisp1", "X878970A17E580224" ], 
+  [ "\033[2XMoebiusTransformation \033[0X", "5.7-16", [ 5, 7, 16 ], 2069, 100, "moebiustransformation", 
+      "X807C52E67A440DEB" ], [ "\033[2XActionMoebiusTransformationOnFunction \033[0X", "5.7-17", [ 5, 7, 17 ], 2078, 
+      100, "actionmoebiustransformationonfunction", "X85A0419580ED0391" ], 
+  [ "\033[2XActionMoebiusTransformationOnDivisorP1 \033[0X", "5.7-18", [ 5, 7, 18 ], 2087, 100, 
       "actionmoebiustransformationondivisorp1", "X7E48F9C67E7FB7B5" ], 
-  [ "\033[2XIsActionMoebiusTransformationOnDivisorDefinedP1 \033[0X", "5.7-19", [ 5, 7, 19 ], 2091, 101, 
+  [ "\033[2XIsActionMoebiusTransformationOnDivisorDefinedP1 \033[0X", "5.7-19", [ 5, 7, 19 ], 2096, 100, 
       "isactionmoebiustransformationondivisordefinedp1", "X79FD980E7B24DB9C" ], 
-  [ "\033[2XDivisorAutomorphismGroupP1 \033[0X", "5.7-20", [ 5, 7, 20 ], 2134, 102, "divisorautomorphismgroupp1", 
-      "X823386037F450B0E" ], [ "\033[2XMatrixRepresentationOnRiemannRochSpaceP1 \033[0X", "5.7-21", [ 5, 7, 21 ], 2167, 
-      103, "matrixrepresentationonriemannrochspacep1", "X80EDF3D682E7EF3F" ], 
-  [ "\033[2XGoppaCodeClassical\033[0X", "5.7-22", [ 5, 7, 22 ], 2227, 104, "goppacodeclassical", "X8777388C7885E335" ], 
-  [ "\033[2XEvaluationBivariateCode\033[0X", "5.7-23", [ 5, 7, 23 ], 2263, 104, "evaluationbivariatecode", 
-      "X8422A310854C09B0" ], [ "\033[2XEvaluationBivariateCodeNC\033[0X", "5.7-24", [ 5, 7, 24 ], 2278, 104, 
-      "evaluationbivariatecodenc", "X7B6C2BED8319C811" ], [ "\033[2XOnePointAGCode\033[0X", "5.7-25", [ 5, 7, 25 ], 2326, 
-      105, "onepointagcode", "X842E227E8785168E" ], 
-  [ "Parity check", "6.1", [ 6, 1, 0 ], 31, 107, "parity check", "X8271A4697FDA97B2" ], 
-  [ "\033[2XExtendedCode\033[0X", "6.1-1", [ 6, 1, 1 ], 34, 107, "extendedcode", "X794679BE7F9EB5C1" ], 
-  [ "\033[2XPuncturedCode\033[0X", "6.1-2", [ 6, 1, 2 ], 66, 108, "puncturedcode", "X7E6E4DDA79574FDB" ], 
-  [ "\033[2XEvenWeightSubcode\033[0X", "6.1-3", [ 6, 1, 3 ], 101, 108, "evenweightsubcode", "X87691AB67FF5621B" ], 
-  [ "\033[2XPermutedCode\033[0X", "6.1-4", [ 6, 1, 4 ], 130, 109, "permutedcode", "X79577EB27BE8524B" ], 
-  [ "\033[2XExpurgatedCode\033[0X", "6.1-5", [ 6, 1, 5 ], 156, 109, "expurgatedcode", "X87E5849784BC60D2" ], 
-  [ "\033[2XAugmentedCode\033[0X", "6.1-6", [ 6, 1, 6 ], 181, 110, "augmentedcode", "X8134BE2B8478BE8A" ], 
-  [ "\033[2XRemovedElementsCode\033[0X", "6.1-7", [ 6, 1, 7 ], 219, 110, "removedelementscode", "X7B0A6E1F82686B43" ], 
-  [ "\033[2XAddedElementsCode\033[0X", "6.1-8", [ 6, 1, 8 ], 244, 111, "addedelementscode", "X784E1255874FCA8A" ], 
-  [ "\033[2XShortenedCode\033[0X", "6.1-9", [ 6, 1, 9 ], 269, 111, "shortenedcode", "X81CBEAFF7B9DE6EF" ], 
-  [ "\033[2XLengthenedCode\033[0X", "6.1-10", [ 6, 1, 10 ], 318, 112, "lengthenedcode", "X7A5D5419846FC867" ], 
-  [ "\033[2XSubCode\033[0X", "6.1-11", [ 6, 1, 11 ], 339, 113, "subcode", "X7982D699803ECD0F" ], 
-  [ "\033[2XResidueCode\033[0X", "6.1-12", [ 6, 1, 12 ], 365, 113, "residuecode", "X809376187C1525AA" ], 
-  [ "\033[2XConstructionBCode\033[0X", "6.1-13", [ 6, 1, 13 ], 386, 113, "constructionbcode", "X7E92DC9581F96594" ], 
-  [ "\033[2XDualCode\033[0X", "6.1-14", [ 6, 1, 14 ], 419, 114, "dualcode", "X799B12F085ACB609" ], 
-  [ "self-dual", "6.1-14", [ 6, 1, 14 ], 419, 114, "self-dual", "X799B12F085ACB609" ], 
-  [ "\033[2XConversionFieldCode\033[0X", "6.1-15", [ 6, 1, 15 ], 448, 115, "conversionfieldcode", "X81FE1F387DFCCB22" ], 
-  [ "\033[2XTraceCode\033[0X", "6.1-16", [ 6, 1, 16 ], 474, 115, "tracecode", "X82D18907800FE3D9" ], 
-  [ "\033[2XCosetCode\033[0X", "6.1-17", [ 6, 1, 17 ], 499, 115, "cosetcode", "X8799F4BF81B0842B" ], 
-  [ "\033[2XConstantWeightSubcode\033[0X", "6.1-18", [ 6, 1, 18 ], 525, 116, "constantweightsubcode", "X873EA5EE85699832" ]
-    , [ "\033[2XStandardFormCode\033[0X", "6.1-19", [ 6, 1, 19 ], 558, 116, "standardformcode", "X7AA203A380BC4C79" ], 
-  [ "\033[2XPiecewiseConstantCode\033[0X", "6.1-20", [ 6, 1, 20 ], 592, 117, "piecewiseconstantcode", "X7EF49A257D6DB53B" ]
-    , [ "\033[2XDirectSumCode\033[0X", "6.2-1", [ 6, 2, 1 ], 628, 118, "directsumcode", "X79E00D3A8367D65A" ], 
-  [ "\033[2XUUVCode\033[0X", "6.2-2", [ 6, 2, 2 ], 655, 118, "uuvcode", "X86E9D6DE7F1A07E6" ], 
-  [ "\033[2XDirectProductCode\033[0X", "6.2-3", [ 6, 2, 3 ], 684, 118, "directproductcode", "X7BFBBA5784C293C1" ], 
-  [ "\033[2XIntersectionCode\033[0X", "6.2-4", [ 6, 2, 4 ], 705, 119, "intersectioncode", "X78F0B1BC81FB109C" ], 
-  [ "hull", "6.2-4", [ 6, 2, 4 ], 705, 119, "hull", "X78F0B1BC81FB109C" ], 
-  [ "\033[2XUnionCode\033[0X", "6.2-5", [ 6, 2, 5 ], 731, 119, "unioncode", "X8228A1F57A29B8F4" ], 
-  [ "\033[2XExtendedDirectSumCode\033[0X", "6.2-6", [ 6, 2, 6 ], 757, 120, "extendeddirectsumcode", "X7A85F8AF8154D387" ], 
-  [ "\033[2XAmalgamatedDirectSumCode\033[0X", "6.2-7", [ 6, 2, 7 ], 791, 120, "amalgamateddirectsumcode", 
-      "X7E17107686A845DB" ], [ "\033[2XBlockwiseDirectSumCode\033[0X", "6.2-8", [ 6, 2, 8 ], 831, 121, 
-      "blockwisedirectsumcode", "X7D8981AF7DFE9814" ], [ "\033[2XConstructionXCode\033[0X", "6.2-9", [ 6, 2, 9 ], 866, 
-      121, "constructionxcode", "X7C37D467791CE99B" ], [ "\033[2XConstructionXXCode\033[0X", "6.2-10", [ 6, 2, 10 ], 915, 
-      122, "constructionxxcode", "X7B50943B8014134F" ], 
-  [ "\033[2XBZCode\033[0X", "6.2-11", [ 6, 2, 11 ], 974, 123, "bzcode", "X790C614985BFAE16" ], 
-  [ "\033[2XBZCodeNC\033[0X", "6.2-12", [ 6, 2, 12 ], 993, 124, "bzcodenc", "X820327D6854A50B5" ], 
-  [ "bounds, Singleton", "7.1", [ 7, 1, 0 ], 10, 125, "bounds singleton", "X87C753EB840C34D3" ], 
-  [ "\033[2XUpperBoundSingleton\033[0X", "7.1-1", [ 7, 1, 1 ], 45, 126, "upperboundsingleton", "X8673277C7F6C04C3" ], 
-  [ "maximum distance separable", "7.1-1", [ 7, 1, 1 ], 45, 126, "maximum distance separable", "X8673277C7F6C04C3" ], 
-  [ "bounds, Hamming", "7.1-1", [ 7, 1, 1 ], 45, 126, "bounds hamming", "X8673277C7F6C04C3" ], 
-  [ "bounds, sphere packing bound", "7.1-1", [ 7, 1, 1 ], 45, 126, "bounds sphere packing bound", "X8673277C7F6C04C3" ], 
-  [ "perfect", "7.1-1", [ 7, 1, 1 ], 45, 126, "perfect", "X8673277C7F6C04C3" ], 
-  [ "\033[2XUpperBoundHamming\033[0X", "7.1-2", [ 7, 1, 2 ], 71, 126, "upperboundhamming", "X828095537C91FDFA" ], 
-  [ "bounds, Johnson", "7.1-2", [ 7, 1, 2 ], 71, 126, "bounds johnson", "X828095537C91FDFA" ], 
-  [ "\033[2XUpperBoundJohnson\033[0X", "7.1-3", [ 7, 1, 3 ], 100, 126, "upperboundjohnson", "X82EBFAAB7F5BFD4A" ], 
-  [ "bounds, Plotkin", "7.1-3", [ 7, 1, 3 ], 100, 126, "bounds plotkin", "X82EBFAAB7F5BFD4A" ], 
-  [ "\033[2XUpperBoundPlotkin\033[0X", "7.1-4", [ 7, 1, 4 ], 116, 127, "upperboundplotkin", "X7A26E2537DFF4409" ], 
-  [ "bounds, Elias", "7.1-4", [ 7, 1, 4 ], 116, 127, "bounds elias", "X7A26E2537DFF4409" ], 
-  [ "\033[2XUpperBoundElias\033[0X", "7.1-5", [ 7, 1, 5 ], 143, 127, "upperboundelias", "X86A5A7C67F625A40" ], 
-  [ "bounds, Griesmer", "7.1-5", [ 7, 1, 5 ], 143, 127, "bounds griesmer", "X86A5A7C67F625A40" ], 
-  [ "\033[2XUpperBoundGriesmer\033[0X", "7.1-6", [ 7, 1, 6 ], 162, 128, "upperboundgriesmer", "X82366C277E218130" ], 
-  [ "Griesmer code", "7.1-6", [ 7, 1, 6 ], 162, 128, "griesmer code", "X82366C277E218130" ], 
-  [ "\033[2XIsGriesmerCode\033[0X", "7.1-7", [ 7, 1, 7 ], 181, 128, "isgriesmercode", "X8301FA9F7C6C7445" ], 
-  [ "A(n,d)", "7.1-7", [ 7, 1, 7 ], 181, 128, "a n d", "X8301FA9F7C6C7445" ], 
-  [ "\033[2XUpperBound\033[0X", "7.1-8", [ 7, 1, 8 ], 199, 128, "upperbound", "X7A5CB74485184FEE" ], 
-  [ "\033[2XLowerBoundMinimumDistance\033[0X", "7.1-9", [ 7, 1, 9 ], 221, 129, "lowerboundminimumdistance", 
-      "X7FDF54BA81115D88" ], [ "bound, Gilbert-Varshamov lower", "7.1-9", [ 7, 1, 9 ], 221, 129, 
+  [ "\033[2XDivisorAutomorphismGroupP1 \033[0X", "5.7-20", [ 5, 7, 20 ], 2139, 101, "divisorautomorphismgroupp1", 
+      "X823386037F450B0E" ], [ "\033[2XMatrixRepresentationOnRiemannRochSpaceP1 \033[0X", "5.7-21", [ 5, 7, 21 ], 
+      2172, 102, "matrixrepresentationonriemannrochspacep1", "X80EDF3D682E7EF3F" ], 
+  [ "\033[2XGoppaCodeClassical\033[0X", "5.7-22", [ 5, 7, 22 ], 2232, 103, "goppacodeclassical", "X8777388C7885E335" ]
+    , [ "\033[2XEvaluationBivariateCode\033[0X", "5.7-23", [ 5, 7, 23 ], 2268, 103, "evaluationbivariatecode", 
+      "X8422A310854C09B0" ], [ "\033[2XEvaluationBivariateCodeNC\033[0X", "5.7-24", [ 5, 7, 24 ], 2283, 103, 
+      "evaluationbivariatecodenc", "X7B6C2BED8319C811" ], 
+  [ "\033[2XOnePointAGCode\033[0X", "5.7-25", [ 5, 7, 25 ], 2331, 104, "onepointagcode", "X842E227E8785168E" ], 
+  [ "LDPC", "5.8", [ 5, 8, 0 ], 2378, 105, "ldpc", "X84F3673D7BBF5956" ], 
+  [ "\033[2XQCLDPCCodeFromGroup\033[0X", "5.8-1", [ 5, 8, 1 ], 2412, 106, "qcldpccodefromgroup", "X8020A9357AD0BA92" ]
+    , [ "Parity check", "6.1", [ 6, 1, 0 ], 31, 108, "parity check", "X8271A4697FDA97B2" ], 
+  [ "\033[2XExtendedCode\033[0X", "6.1-1", [ 6, 1, 1 ], 34, 108, "extendedcode", "X794679BE7F9EB5C1" ], 
+  [ "\033[2XPuncturedCode\033[0X", "6.1-2", [ 6, 1, 2 ], 66, 109, "puncturedcode", "X7E6E4DDA79574FDB" ], 
+  [ "\033[2XEvenWeightSubcode\033[0X", "6.1-3", [ 6, 1, 3 ], 101, 109, "evenweightsubcode", "X87691AB67FF5621B" ], 
+  [ "\033[2XPermutedCode\033[0X", "6.1-4", [ 6, 1, 4 ], 130, 110, "permutedcode", "X79577EB27BE8524B" ], 
+  [ "\033[2XExpurgatedCode\033[0X", "6.1-5", [ 6, 1, 5 ], 156, 110, "expurgatedcode", "X87E5849784BC60D2" ], 
+  [ "\033[2XAugmentedCode\033[0X", "6.1-6", [ 6, 1, 6 ], 181, 111, "augmentedcode", "X8134BE2B8478BE8A" ], 
+  [ "\033[2XRemovedElementsCode\033[0X", "6.1-7", [ 6, 1, 7 ], 219, 111, "removedelementscode", "X7B0A6E1F82686B43" ],
+  [ "\033[2XAddedElementsCode\033[0X", "6.1-8", [ 6, 1, 8 ], 244, 112, "addedelementscode", "X784E1255874FCA8A" ], 
+  [ "\033[2XShortenedCode\033[0X", "6.1-9", [ 6, 1, 9 ], 269, 112, "shortenedcode", "X81CBEAFF7B9DE6EF" ], 
+  [ "\033[2XLengthenedCode\033[0X", "6.1-10", [ 6, 1, 10 ], 318, 113, "lengthenedcode", "X7A5D5419846FC867" ], 
+  [ "\033[2XSubCode\033[0X", "6.1-11", [ 6, 1, 11 ], 339, 114, "subcode", "X7982D699803ECD0F" ], 
+  [ "\033[2XResidueCode\033[0X", "6.1-12", [ 6, 1, 12 ], 365, 114, "residuecode", "X809376187C1525AA" ], 
+  [ "\033[2XConstructionBCode\033[0X", "6.1-13", [ 6, 1, 13 ], 386, 114, "constructionbcode", "X7E92DC9581F96594" ], 
+  [ "\033[2XDualCode\033[0X", "6.1-14", [ 6, 1, 14 ], 419, 115, "dualcode", "X799B12F085ACB609" ], 
+  [ "self-dual", "6.1-14", [ 6, 1, 14 ], 419, 115, "self-dual", "X799B12F085ACB609" ], 
+  [ "\033[2XConversionFieldCode\033[0X", "6.1-15", [ 6, 1, 15 ], 448, 116, "conversionfieldcode", "X81FE1F387DFCCB22" 
+     ], [ "\033[2XTraceCode\033[0X", "6.1-16", [ 6, 1, 16 ], 474, 116, "tracecode", "X82D18907800FE3D9" ], 
+  [ "\033[2XCosetCode\033[0X", "6.1-17", [ 6, 1, 17 ], 499, 116, "cosetcode", "X8799F4BF81B0842B" ], 
+  [ "\033[2XConstantWeightSubcode\033[0X", "6.1-18", [ 6, 1, 18 ], 525, 117, "constantweightsubcode", 
+      "X873EA5EE85699832" ], [ "\033[2XStandardFormCode\033[0X", "6.1-19", [ 6, 1, 19 ], 558, 117, "standardformcode",
+      "X7AA203A380BC4C79" ], [ "\033[2XPiecewiseConstantCode\033[0X", "6.1-20", [ 6, 1, 20 ], 592, 118, 
+      "piecewiseconstantcode", "X7EF49A257D6DB53B" ], 
+  [ "\033[2XDirectSumCode\033[0X", "6.2-1", [ 6, 2, 1 ], 628, 119, "directsumcode", "X79E00D3A8367D65A" ], 
+  [ "\033[2XUUVCode\033[0X", "6.2-2", [ 6, 2, 2 ], 655, 119, "uuvcode", "X86E9D6DE7F1A07E6" ], 
+  [ "\033[2XDirectProductCode\033[0X", "6.2-3", [ 6, 2, 3 ], 684, 119, "directproductcode", "X7BFBBA5784C293C1" ], 
+  [ "\033[2XIntersectionCode\033[0X", "6.2-4", [ 6, 2, 4 ], 705, 120, "intersectioncode", "X78F0B1BC81FB109C" ], 
+  [ "hull", "6.2-4", [ 6, 2, 4 ], 705, 120, "hull", "X78F0B1BC81FB109C" ], 
+  [ "\033[2XUnionCode\033[0X", "6.2-5", [ 6, 2, 5 ], 731, 120, "unioncode", "X8228A1F57A29B8F4" ], 
+  [ "\033[2XExtendedDirectSumCode\033[0X", "6.2-6", [ 6, 2, 6 ], 757, 121, "extendeddirectsumcode", 
+      "X7A85F8AF8154D387" ], [ "\033[2XAmalgamatedDirectSumCode\033[0X", "6.2-7", [ 6, 2, 7 ], 791, 121, 
+      "amalgamateddirectsumcode", "X7E17107686A845DB" ], 
+  [ "\033[2XBlockwiseDirectSumCode\033[0X", "6.2-8", [ 6, 2, 8 ], 831, 122, "blockwisedirectsumcode", 
+      "X7D8981AF7DFE9814" ], [ "\033[2XConstructionXCode\033[0X", "6.2-9", [ 6, 2, 9 ], 866, 122, "constructionxcode",
+      "X7C37D467791CE99B" ], [ "\033[2XConstructionXXCode\033[0X", "6.2-10", [ 6, 2, 10 ], 915, 123, 
+      "constructionxxcode", "X7B50943B8014134F" ], 
+  [ "\033[2XBZCode\033[0X", "6.2-11", [ 6, 2, 11 ], 974, 124, "bzcode", "X790C614985BFAE16" ], 
+  [ "\033[2XBZCodeNC\033[0X", "6.2-12", [ 6, 2, 12 ], 993, 125, "bzcodenc", "X820327D6854A50B5" ], 
+  [ "bounds, Singleton", "7.1", [ 7, 1, 0 ], 10, 126, "bounds singleton", "X87C753EB840C34D3" ], 
+  [ "\033[2XUpperBoundSingleton\033[0X", "7.1-1", [ 7, 1, 1 ], 45, 127, "upperboundsingleton", "X8673277C7F6C04C3" ], 
+  [ "maximum distance separable", "7.1-1", [ 7, 1, 1 ], 45, 127, "maximum distance separable", "X8673277C7F6C04C3" ], 
+  [ "bounds, Hamming", "7.1-1", [ 7, 1, 1 ], 45, 127, "bounds hamming", "X8673277C7F6C04C3" ], 
+  [ "bounds, sphere packing bound", "7.1-1", [ 7, 1, 1 ], 45, 127, "bounds sphere packing bound", "X8673277C7F6C04C3" 
+     ], [ "perfect", "7.1-1", [ 7, 1, 1 ], 45, 127, "perfect", "X8673277C7F6C04C3" ], 
+  [ "\033[2XUpperBoundHamming\033[0X", "7.1-2", [ 7, 1, 2 ], 71, 127, "upperboundhamming", "X828095537C91FDFA" ], 
+  [ "bounds, Johnson", "7.1-2", [ 7, 1, 2 ], 71, 127, "bounds johnson", "X828095537C91FDFA" ], 
+  [ "\033[2XUpperBoundJohnson\033[0X", "7.1-3", [ 7, 1, 3 ], 100, 127, "upperboundjohnson", "X82EBFAAB7F5BFD4A" ], 
+  [ "bounds, Plotkin", "7.1-3", [ 7, 1, 3 ], 100, 127, "bounds plotkin", "X82EBFAAB7F5BFD4A" ], 
+  [ "\033[2XUpperBoundPlotkin\033[0X", "7.1-4", [ 7, 1, 4 ], 116, 128, "upperboundplotkin", "X7A26E2537DFF4409" ], 
+  [ "bounds, Elias", "7.1-4", [ 7, 1, 4 ], 116, 128, "bounds elias", "X7A26E2537DFF4409" ], 
+  [ "\033[2XUpperBoundElias\033[0X", "7.1-5", [ 7, 1, 5 ], 143, 128, "upperboundelias", "X86A5A7C67F625A40" ], 
+  [ "bounds, Griesmer", "7.1-5", [ 7, 1, 5 ], 143, 128, "bounds griesmer", "X86A5A7C67F625A40" ], 
+  [ "\033[2XUpperBoundGriesmer\033[0X", "7.1-6", [ 7, 1, 6 ], 162, 129, "upperboundgriesmer", "X82366C277E218130" ], 
+  [ "Griesmer code", "7.1-6", [ 7, 1, 6 ], 162, 129, "griesmer code", "X82366C277E218130" ], 
+  [ "\033[2XIsGriesmerCode\033[0X", "7.1-7", [ 7, 1, 7 ], 181, 129, "isgriesmercode", "X8301FA9F7C6C7445" ], 
+  [ "A(n,d)", "7.1-7", [ 7, 1, 7 ], 181, 129, "a n d", "X8301FA9F7C6C7445" ], 
+  [ "\033[2XUpperBound\033[0X", "7.1-8", [ 7, 1, 8 ], 199, 129, "upperbound", "X7A5CB74485184FEE" ], 
+  [ "\033[2XLowerBoundMinimumDistance\033[0X", "7.1-9", [ 7, 1, 9 ], 221, 130, "lowerboundminimumdistance", 
+      "X7FDF54BA81115D88" ], [ "bound, Gilbert-Varshamov lower", "7.1-9", [ 7, 1, 9 ], 221, 130, 
       "bound gilbert-varshamov lower", "X7FDF54BA81115D88" ], 
-  [ "\033[2XLowerBoundGilbertVarshamov\033[0X", "7.1-10", [ 7, 1, 10 ], 242, 129, "lowerboundgilbertvarshamov", 
-      "X7CF15D2084499869" ], [ "bound, sphere packing lower", "7.1-10", [ 7, 1, 10 ], 242, 129, 
+  [ "\033[2XLowerBoundGilbertVarshamov\033[0X", "7.1-10", [ 7, 1, 10 ], 242, 130, "lowerboundgilbertvarshamov", 
+      "X7CF15D2084499869" ], [ "bound, sphere packing lower", "7.1-10", [ 7, 1, 10 ], 242, 130, 
       "bound sphere packing lower", "X7CF15D2084499869" ], 
-  [ "\033[2XLowerBoundSpherePacking\033[0X", "7.1-11", [ 7, 1, 11 ], 261, 129, "lowerboundspherepacking", 
-      "X8217D830871286D8" ], [ "\033[2XUpperBoundMinimumDistance\033[0X", "7.1-12", [ 7, 1, 12 ], 276, 130, 
-      "upperboundminimumdistance", "X7C6A58327BD6B685" ], [ "\033[2XBoundsMinimumDistance\033[0X", "7.1-13", [ 7, 1, 13 ], 
-      299, 130, "boundsminimumdistance", "X7B3858B27A9E509A" ], 
-  [ "\033[2XBoundsCoveringRadius\033[0X", "7.2-1", [ 7, 2, 1 ], 344, 131, "boundscoveringradius", "X8320D1C180A1AAAD" ], 
-  [ "\033[2XIncreaseCoveringRadiusLowerBound\033[0X", "7.2-2", [ 7, 2, 2 ], 363, 131, "increasecoveringradiuslowerbound", 
-      "X7881E03E812140F4" ], [ "\033[2XExhaustiveSearchCoveringRadius\033[0X", "7.2-3", [ 7, 2, 3 ], 444, 132, 
-      "exhaustivesearchcoveringradius", "X7AD9F1D27C52BC0F" ], 
-  [ "\033[2XGeneralLowerBoundCoveringRadius\033[0X", "7.2-4", [ 7, 2, 4 ], 466, 133, "generallowerboundcoveringradius", 
-      "X85D671F4824B4B0C" ], [ "\033[2XGeneralUpperBoundCoveringRadius\033[0X", "7.2-5", [ 7, 2, 5 ], 486, 133, 
-      "generalupperboundcoveringradius", "X8638F5A67D6E50C1" ], 
-  [ "\033[2XLowerBoundCoveringRadiusSphereCovering\033[0X", "7.2-6", [ 7, 2, 6 ], 505, 134, 
-      "lowerboundcoveringradiusspherecovering", "X7E7FBCC87D5562AB" ], 
-  [ "\033[2XLowerBoundCoveringRadiusVanWee1\033[0X", "7.2-7", [ 7, 2, 7 ], 540, 134, "lowerboundcoveringradiusvanwee1", 
-      "X85E20C518360AB70" ], [ "\033[2XLowerBoundCoveringRadiusVanWee2\033[0X", "7.2-8", [ 7, 2, 8 ], 576, 135, 
+  [ "\033[2XLowerBoundSpherePacking\033[0X", "7.1-11", [ 7, 1, 11 ], 261, 130, "lowerboundspherepacking", 
+      "X8217D830871286D8" ], [ "\033[2XUpperBoundMinimumDistance\033[0X", "7.1-12", [ 7, 1, 12 ], 276, 131, 
+      "upperboundminimumdistance", "X7C6A58327BD6B685" ], 
+  [ "\033[2XBoundsMinimumDistance\033[0X", "7.1-13", [ 7, 1, 13 ], 299, 131, "boundsminimumdistance", 
+      "X7B3858B27A9E509A" ], [ "\033[2XBoundsCoveringRadius\033[0X", "7.2-1", [ 7, 2, 1 ], 344, 132, 
+      "boundscoveringradius", "X8320D1C180A1AAAD" ], 
+  [ "\033[2XIncreaseCoveringRadiusLowerBound\033[0X", "7.2-2", [ 7, 2, 2 ], 363, 132, 
+      "increasecoveringradiuslowerbound", "X7881E03E812140F4" ], 
+  [ "\033[2XExhaustiveSearchCoveringRadius\033[0X", "7.2-3", [ 7, 2, 3 ], 444, 133, "exhaustivesearchcoveringradius", 
+      "X7AD9F1D27C52BC0F" ], [ "\033[2XGeneralLowerBoundCoveringRadius\033[0X", "7.2-4", [ 7, 2, 4 ], 466, 134, 
+      "generallowerboundcoveringradius", "X85D671F4824B4B0C" ], 
+  [ "\033[2XGeneralUpperBoundCoveringRadius\033[0X", "7.2-5", [ 7, 2, 5 ], 486, 134, "generalupperboundcoveringradius"
+        , "X8638F5A67D6E50C1" ], [ "\033[2XLowerBoundCoveringRadiusSphereCovering\033[0X", "7.2-6", [ 7, 2, 6 ], 505, 
+      135, "lowerboundcoveringradiusspherecovering", "X7E7FBCC87D5562AB" ], 
+  [ "\033[2XLowerBoundCoveringRadiusVanWee1\033[0X", "7.2-7", [ 7, 2, 7 ], 540, 135, "lowerboundcoveringradiusvanwee1"
+        , "X85E20C518360AB70" ], [ "\033[2XLowerBoundCoveringRadiusVanWee2\033[0X", "7.2-8", [ 7, 2, 8 ], 576, 136, 
       "lowerboundcoveringradiusvanwee2", "X7C72994A825228E7" ], 
-  [ "\033[2XLowerBoundCoveringRadiusCountingExcess\033[0X", "7.2-9", [ 7, 2, 9 ], 616, 135, 
+  [ "\033[2XLowerBoundCoveringRadiusCountingExcess\033[0X", "7.2-9", [ 7, 2, 9 ], 616, 136, 
       "lowerboundcoveringradiuscountingexcess", "X7F95362485759ACB" ], 
-  [ "\033[2XLowerBoundCoveringRadiusEmbedded1\033[0X", "7.2-10", [ 7, 2, 10 ], 663, 136, 
+  [ "\033[2XLowerBoundCoveringRadiusEmbedded1\033[0X", "7.2-10", [ 7, 2, 10 ], 663, 137, 
       "lowerboundcoveringradiusembedded1", "X829C14A383B5BF59" ], 
-  [ "\033[2XLowerBoundCoveringRadiusEmbedded2\033[0X", "7.2-11", [ 7, 2, 11 ], 702, 136, 
+  [ "\033[2XLowerBoundCoveringRadiusEmbedded2\033[0X", "7.2-11", [ 7, 2, 11 ], 702, 137, 
       "lowerboundcoveringradiusembedded2", "X7B0C81B88604C448" ], 
-  [ "\033[2XLowerBoundCoveringRadiusInduction\033[0X", "7.2-12", [ 7, 2, 12 ], 741, 137, 
+  [ "\033[2XLowerBoundCoveringRadiusInduction\033[0X", "7.2-12", [ 7, 2, 12 ], 741, 138, 
       "lowerboundcoveringradiusinduction", "X7D27F6E27B9A0D35" ], 
-  [ "\033[2XUpperBoundCoveringRadiusRedundancy\033[0X", "7.2-13", [ 7, 2, 13 ], 766, 137, 
+  [ "\033[2XUpperBoundCoveringRadiusRedundancy\033[0X", "7.2-13", [ 7, 2, 13 ], 766, 138, 
       "upperboundcoveringradiusredundancy", "X80F8DFAD7D67CBEC" ], 
-  [ "external distance", "7.2-13", [ 7, 2, 13 ], 766, 137, "external distance", "X80F8DFAD7D67CBEC" ], 
-  [ "\033[2XUpperBoundCoveringRadiusDelsarte\033[0X", "7.2-14", [ 7, 2, 14 ], 783, 138, "upperboundcoveringradiusdelsarte",
-      "X832847A17FD0D142" ], [ "\033[2XUpperBoundCoveringRadiusStrength\033[0X", "7.2-15", [ 7, 2, 15 ], 802, 138, 
+  [ "external distance", "7.2-13", [ 7, 2, 13 ], 766, 138, "external distance", "X80F8DFAD7D67CBEC" ], 
+  [ "\033[2XUpperBoundCoveringRadiusDelsarte\033[0X", "7.2-14", [ 7, 2, 14 ], 783, 139, 
+      "upperboundcoveringradiusdelsarte", "X832847A17FD0D142" ], 
+  [ "\033[2XUpperBoundCoveringRadiusStrength\033[0X", "7.2-15", [ 7, 2, 15 ], 802, 139, 
       "upperboundcoveringradiusstrength", "X86F10D9E79AB8796" ], 
-  [ "strength", "7.2-15", [ 7, 2, 15 ], 802, 138, "strength", "X86F10D9E79AB8796" ], 
-  [ "\033[2XUpperBoundCoveringRadiusGriesmerLike\033[0X", "7.2-16", [ 7, 2, 16 ], 825, 138, 
+  [ "strength", "7.2-15", [ 7, 2, 15 ], 802, 139, "strength", "X86F10D9E79AB8796" ], 
+  [ "\033[2XUpperBoundCoveringRadiusGriesmerLike\033[0X", "7.2-16", [ 7, 2, 16 ], 825, 139, 
       "upperboundcoveringradiusgriesmerlike", "X8585C6A982489FC3" ], 
-  [ "\033[2XUpperBoundCoveringRadiusCyclicCode\033[0X", "7.2-17", [ 7, 2, 17 ], 846, 139, 
+  [ "\033[2XUpperBoundCoveringRadiusCyclicCode\033[0X", "7.2-17", [ 7, 2, 17 ], 846, 140, 
       "upperboundcoveringradiuscycliccode", "X82A38F5F858CF3FC" ], 
-  [ "\033[2XKrawtchoukMat\033[0X", "7.3-1", [ 7, 3, 1 ], 889, 140, "krawtchoukmat", "X82899B64802A4BCE" ], 
-  [ "Gary code", "7.3-1", [ 7, 3, 1 ], 889, 140, "gary code", "X82899B64802A4BCE" ], 
-  [ "\033[2XGrayMat\033[0X", "7.3-2", [ 7, 3, 2 ], 917, 140, "graymat", "X87AFE2C078031CE4" ], 
-  [ "\033[2XSylvesterMat\033[0X", "7.3-3", [ 7, 3, 3 ], 939, 140, "sylvestermat", "X7E1E7C5287919CDB" ], 
-  [ "Hadamard matrix", "7.3-3", [ 7, 3, 3 ], 939, 140, "hadamard matrix", "X7E1E7C5287919CDB" ], 
-  [ "\033[2XHadamardMat\033[0X", "7.3-4", [ 7, 3, 4 ], 959, 141, "hadamardmat", "X8014A1F181ECD8AA" ], 
-  [ "\033[2XVandermondeMat\033[0X", "7.3-5", [ 7, 3, 5 ], 989, 141, "vandermondemat", "X797F43607AD8660D" ], 
-  [ "standard form", "7.3-5", [ 7, 3, 5 ], 989, 141, "standard form", "X797F43607AD8660D" ], 
-  [ "\033[2XPutStandardForm\033[0X", "7.3-6", [ 7, 3, 6 ], 1008, 142, "putstandardform", "X7B47D82485B66F1D" ], 
-  [ "\033[2XIsInStandardForm\033[0X", "7.3-7", [ 7, 3, 7 ], 1062, 143, "isinstandardform", "X7D4EDA0A854EBFEF" ], 
-  [ "\033[2XPermutedCols\033[0X", "7.3-8", [ 7, 3, 8 ], 1083, 143, "permutedcols", "X7A97AD477E7638DE" ], 
-  [ "\033[2XVerticalConversionFieldMat\033[0X", "7.3-9", [ 7, 3, 9 ], 1098, 143, "verticalconversionfieldmat", 
-      "X7B68119F85E9EC6D" ], [ "\033[2XHorizontalConversionFieldMat\033[0X", "7.3-10", [ 7, 3, 10 ], 1134, 144, 
+  [ "\033[2XKrawtchoukMat\033[0X", "7.3-1", [ 7, 3, 1 ], 889, 141, "krawtchoukmat", "X82899B64802A4BCE" ], 
+  [ "Gary code", "7.3-1", [ 7, 3, 1 ], 889, 141, "gary code", "X82899B64802A4BCE" ], 
+  [ "\033[2XGrayMat\033[0X", "7.3-2", [ 7, 3, 2 ], 917, 141, "graymat", "X87AFE2C078031CE4" ], 
+  [ "\033[2XSylvesterMat\033[0X", "7.3-3", [ 7, 3, 3 ], 939, 141, "sylvestermat", "X7E1E7C5287919CDB" ], 
+  [ "Hadamard matrix", "7.3-3", [ 7, 3, 3 ], 939, 141, "hadamard matrix", "X7E1E7C5287919CDB" ], 
+  [ "\033[2XHadamardMat\033[0X", "7.3-4", [ 7, 3, 4 ], 959, 142, "hadamardmat", "X8014A1F181ECD8AA" ], 
+  [ "\033[2XVandermondeMat\033[0X", "7.3-5", [ 7, 3, 5 ], 990, 142, "vandermondemat", "X797F43607AD8660D" ], 
+  [ "standard form", "7.3-5", [ 7, 3, 5 ], 990, 142, "standard form", "X797F43607AD8660D" ], 
+  [ "\033[2XPutStandardForm\033[0X", "7.3-6", [ 7, 3, 6 ], 1009, 143, "putstandardform", "X7B47D82485B66F1D" ], 
+  [ "\033[2XIsInStandardForm\033[0X", "7.3-7", [ 7, 3, 7 ], 1063, 144, "isinstandardform", "X7D4EDA0A854EBFEF" ], 
+  [ "\033[2XPermutedCols\033[0X", "7.3-8", [ 7, 3, 8 ], 1084, 144, "permutedcols", "X7A97AD477E7638DE" ], 
+  [ "\033[2XVerticalConversionFieldMat\033[0X", "7.3-9", [ 7, 3, 9 ], 1099, 144, "verticalconversionfieldmat", 
+      "X7B68119F85E9EC6D" ], [ "\033[2XHorizontalConversionFieldMat\033[0X", "7.3-10", [ 7, 3, 10 ], 1135, 145, 
       "horizontalconversionfieldmat", "X8033E9A67BA155C8" ], 
-  [ "mutually orthogonal Latin squares", "7.3-10", [ 7, 3, 10 ], 1134, 144, "mutually orthogonal latin squares", 
-      "X8033E9A67BA155C8" ], [ "Latin square", "7.3-10", [ 7, 3, 10 ], 1134, 144, "latin square", "X8033E9A67BA155C8" ], 
-  [ "\033[2XMOLS\033[0X", "7.3-11", [ 7, 3, 11 ], 1170, 144, "mols", "X804AAFF2867080F7" ], 
-  [ "\033[2XIsLatinSquare\033[0X", "7.3-12", [ 7, 3, 12 ], 1211, 145, "islatinsquare", "X7F34306B81DC2776" ], 
-  [ "\033[2XAreMOLS\033[0X", "7.3-13", [ 7, 3, 13 ], 1226, 145, "aremols", "X81B9B40B7B2D97D5" ], 
-  [ "\033[2XCoordinateNorm\033[0X", "7.4-1", [ 7, 4, 1 ], 1252, 146, "coordinatenorm", "X8032E53078264ABB" ], 
-  [ "norm of a code", "7.4-1", [ 7, 4, 1 ], 1252, 146, "norm of a code", "X8032E53078264ABB" ], 
-  [ "\033[2XCodeNorm\033[0X", "7.4-2", [ 7, 4, 2 ], 1271, 146, "codenorm", "X7ED2EF368203AF47" ], 
-  [ "acceptable coordinate", "7.4-2", [ 7, 4, 2 ], 1271, 146, "acceptable coordinate", "X7ED2EF368203AF47" ], 
-  [ "\033[2XIsCoordinateAcceptable\033[0X", "7.4-3", [ 7, 4, 3 ], 1285, 146, "iscoordinateacceptable", "X7D24F8BF7F9A7BF1" 
-     ], [ "acceptable coordinate", "7.4-3", [ 7, 4, 3 ], 1285, 146, "acceptable coordinate", "X7D24F8BF7F9A7BF1" ], 
-  [ "\033[2XGeneralizedCodeNorm\033[0X", "7.4-4", [ 7, 4, 4 ], 1299, 147, "generalizedcodenorm", "X87039FD179AD3009" ], 
-  [ "normal code", "7.4-4", [ 7, 4, 4 ], 1299, 147, "normal code", "X87039FD179AD3009" ], 
-  [ "\033[2XIsNormalCode\033[0X", "7.4-5", [ 7, 4, 5 ], 1314, 147, "isnormalcode", "X80283A2F7C8101BD" ], 
-  [ "weight enumerator polynomial", "7.5", [ 7, 5, 0 ], 1333, 147, "weight enumerator polynomial", "X8308D685809A4E2F" ], 
-  [ "\033[2XCodeWeightEnumerator\033[0X", "7.5-1", [ 7, 5, 1 ], 1343, 147, "codeweightenumerator", "X871286437DE7A6A4" ], 
-  [ "\033[2XCodeDistanceEnumerator\033[0X", "7.5-2", [ 7, 5, 2 ], 1363, 148, "codedistanceenumerator", "X84DA928083B103A0" 
-     ], [ "MacWilliams transform", "7.5-2", [ 7, 5, 2 ], 1363, 148, "macwilliams transform", "X84DA928083B103A0" ], 
-  [ "\033[2XCodeMacWilliamsTransform\033[0X", "7.5-3", [ 7, 5, 3 ], 1385, 148, "codemacwilliamstransform", 
-      "X84B2BE66780EFBF9" ], [ "density of a code", "7.5-3", [ 7, 5, 3 ], 1385, 148, "density of a code", 
-      "X84B2BE66780EFBF9" ], [ "\033[2XCodeDensity\033[0X", "7.5-4", [ 7, 5, 4 ], 1402, 148, "codedensity", 
-      "X7903286078F8051B" ], [ "perfect code", "7.5-4", [ 7, 5, 4 ], 1402, 148, "perfect code", "X7903286078F8051B" ], 
-  [ "\033[2XSphereContent\033[0X", "7.5-5", [ 7, 5, 5 ], 1423, 149, "spherecontent", "X85303BAE7BD46D81" ], 
-  [ "\033[2XKrawtchouk\033[0X", "7.5-6", [ 7, 5, 6 ], 1449, 149, "krawtchouk", "X7ACDC5377CD17451" ], 
-  [ "\033[2XPrimitiveUnityRoot\033[0X", "7.5-7", [ 7, 5, 7 ], 1470, 149, "primitiveunityroot", "X827E39957A87EB51" ], 
-  [ "\033[2XPrimitivePolynomialsNr\033[0X", "7.5-8", [ 7, 5, 8 ], 1487, 150, "primitivepolynomialsnr", "X78AEA40F7AD9D541" 
-     ], [ "\033[2XIrreduciblePolynomialsNr\033[0X", "7.5-9", [ 7, 5, 9 ], 1504, 150, "irreduciblepolynomialsnr", 
-      "X7A2B54EF868AA752" ], [ "\033[2XMatrixRepresentationOfElement\033[0X", "7.5-10", [ 7, 5, 10 ], 1517, 150, 
-      "matrixrepresentationofelement", "X7B50D3417F6FD7C6" ], 
-  [ "reciprocal polynomial", "7.5-10", [ 7, 5, 10 ], 1517, 150, "reciprocal polynomial", "X7B50D3417F6FD7C6" ], 
-  [ "\033[2XReciprocalPolynomial\033[0X", "7.5-11", [ 7, 5, 11 ], 1542, 151, "reciprocalpolynomial", "X7805D2BB7CE4D455" ],
-  [ "\033[2XCyclotomicCosets\033[0X", "7.5-12", [ 7, 5, 12 ], 1569, 151, "cyclotomiccosets", "X7AEA9F807E6FFEFF" ], 
-  [ "\033[2XWeightHistogram\033[0X", "7.5-13", [ 7, 5, 13 ], 1590, 152, "weighthistogram", "X7A4EA98D794CF410" ], 
-  [ "\033[2XMultiplicityInList\033[0X", "7.5-14", [ 7, 5, 14 ], 1618, 152, "multiplicityinlist", "X805DF25C84585FD6" ], 
-  [ "\033[2XMostCommonInList\033[0X", "7.5-15", [ 7, 5, 15 ], 1634, 152, "mostcommoninlist", "X8072B0DA78FBE562" ], 
-  [ "\033[2XRotateList\033[0X", "7.5-16", [ 7, 5, 16 ], 1648, 153, "rotatelist", "X7C5407EF87849857" ], 
-  [ "\033[2XCirculantMatrix\033[0X", "7.5-17", [ 7, 5, 17 ], 1662, 153, "circulantmatrix", "X85E526367878F72A" ], 
-  [ "\033[2XMatrixTransformationOnMultivariatePolynomial \033[0X", "7.6-1", [ 7, 6, 1 ], 1682, 153, 
+  [ "mutually orthogonal Latin squares", "7.3-10", [ 7, 3, 10 ], 1135, 145, "mutually orthogonal latin squares", 
+      "X8033E9A67BA155C8" ], [ "Latin square", "7.3-10", [ 7, 3, 10 ], 1135, 145, "latin square", "X8033E9A67BA155C8" 
+     ], [ "\033[2XMOLS\033[0X", "7.3-11", [ 7, 3, 11 ], 1171, 145, "mols", "X804AAFF2867080F7" ], 
+  [ "\033[2XIsLatinSquare\033[0X", "7.3-12", [ 7, 3, 12 ], 1212, 146, "islatinsquare", "X7F34306B81DC2776" ], 
+  [ "\033[2XAreMOLS\033[0X", "7.3-13", [ 7, 3, 13 ], 1227, 146, "aremols", "X81B9B40B7B2D97D5" ], 
+  [ "\033[2XCoordinateNorm\033[0X", "7.4-1", [ 7, 4, 1 ], 1253, 147, "coordinatenorm", "X8032E53078264ABB" ], 
+  [ "norm of a code", "7.4-1", [ 7, 4, 1 ], 1253, 147, "norm of a code", "X8032E53078264ABB" ], 
+  [ "\033[2XCodeNorm\033[0X", "7.4-2", [ 7, 4, 2 ], 1272, 147, "codenorm", "X7ED2EF368203AF47" ], 
+  [ "acceptable coordinate", "7.4-2", [ 7, 4, 2 ], 1272, 147, "acceptable coordinate", "X7ED2EF368203AF47" ], 
+  [ "\033[2XIsCoordinateAcceptable\033[0X", "7.4-3", [ 7, 4, 3 ], 1286, 147, "iscoordinateacceptable", 
+      "X7D24F8BF7F9A7BF1" ], [ "acceptable coordinate", "7.4-3", [ 7, 4, 3 ], 1286, 147, "acceptable coordinate", 
+      "X7D24F8BF7F9A7BF1" ], [ "\033[2XGeneralizedCodeNorm\033[0X", "7.4-4", [ 7, 4, 4 ], 1300, 148, 
+      "generalizedcodenorm", "X87039FD179AD3009" ], [ "normal code", "7.4-4", [ 7, 4, 4 ], 1300, 148, "normal code", 
+      "X87039FD179AD3009" ], [ "\033[2XIsNormalCode\033[0X", "7.4-5", [ 7, 4, 5 ], 1315, 148, "isnormalcode", 
+      "X80283A2F7C8101BD" ], [ "weight enumerator polynomial", "7.5", [ 7, 5, 0 ], 1334, 148, 
+      "weight enumerator polynomial", "X8308D685809A4E2F" ], 
+  [ "\033[2XCodeWeightEnumerator\033[0X", "7.5-1", [ 7, 5, 1 ], 1344, 148, "codeweightenumerator", 
+      "X871286437DE7A6A4" ], [ "\033[2XCodeDistanceEnumerator\033[0X", "7.5-2", [ 7, 5, 2 ], 1364, 149, 
+      "codedistanceenumerator", "X84DA928083B103A0" ], 
+  [ "MacWilliams transform", "7.5-2", [ 7, 5, 2 ], 1364, 149, "macwilliams transform", "X84DA928083B103A0" ], 
+  [ "\033[2XCodeMacWilliamsTransform\033[0X", "7.5-3", [ 7, 5, 3 ], 1386, 149, "codemacwilliamstransform", 
+      "X84B2BE66780EFBF9" ], [ "density of a code", "7.5-3", [ 7, 5, 3 ], 1386, 149, "density of a code", 
+      "X84B2BE66780EFBF9" ], [ "\033[2XCodeDensity\033[0X", "7.5-4", [ 7, 5, 4 ], 1403, 149, "codedensity", 
+      "X7903286078F8051B" ], [ "perfect code", "7.5-4", [ 7, 5, 4 ], 1403, 149, "perfect code", "X7903286078F8051B" ],
+  [ "\033[2XSphereContent\033[0X", "7.5-5", [ 7, 5, 5 ], 1424, 150, "spherecontent", "X85303BAE7BD46D81" ], 
+  [ "\033[2XKrawtchouk\033[0X", "7.5-6", [ 7, 5, 6 ], 1450, 150, "krawtchouk", "X7ACDC5377CD17451" ], 
+  [ "\033[2XPrimitiveUnityRoot\033[0X", "7.5-7", [ 7, 5, 7 ], 1471, 150, "primitiveunityroot", "X827E39957A87EB51" ], 
+  [ "\033[2XPrimitivePolynomialsNr\033[0X", "7.5-8", [ 7, 5, 8 ], 1488, 151, "primitivepolynomialsnr", 
+      "X78AEA40F7AD9D541" ], [ "\033[2XIrreduciblePolynomialsNr\033[0X", "7.5-9", [ 7, 5, 9 ], 1505, 151, 
+      "irreduciblepolynomialsnr", "X7A2B54EF868AA752" ], 
+  [ "\033[2XMatrixRepresentationOfElement\033[0X", "7.5-10", [ 7, 5, 10 ], 1518, 151, "matrixrepresentationofelement",
+      "X7B50D3417F6FD7C6" ], [ "reciprocal polynomial", "7.5-10", [ 7, 5, 10 ], 1518, 151, "reciprocal polynomial", 
+      "X7B50D3417F6FD7C6" ], [ "\033[2XReciprocalPolynomial\033[0X", "7.5-11", [ 7, 5, 11 ], 1543, 152, 
+      "reciprocalpolynomial", "X7805D2BB7CE4D455" ], 
+  [ "\033[2XCyclotomicCosets\033[0X", "7.5-12", [ 7, 5, 12 ], 1570, 152, "cyclotomiccosets", "X7AEA9F807E6FFEFF" ], 
+  [ "\033[2XWeightHistogram\033[0X", "7.5-13", [ 7, 5, 13 ], 1591, 153, "weighthistogram", "X7A4EA98D794CF410" ], 
+  [ "\033[2XMultiplicityInList\033[0X", "7.5-14", [ 7, 5, 14 ], 1619, 153, "multiplicityinlist", "X805DF25C84585FD6" ]
+    , [ "\033[2XMostCommonInList\033[0X", "7.5-15", [ 7, 5, 15 ], 1635, 153, "mostcommoninlist", "X8072B0DA78FBE562" ]
+    , [ "\033[2XRotateList\033[0X", "7.5-16", [ 7, 5, 16 ], 1649, 154, "rotatelist", "X7C5407EF87849857" ], 
+  [ "\033[2XCirculantMatrix\033[0X", "7.5-17", [ 7, 5, 17 ], 1663, 154, "circulantmatrix", "X85E526367878F72A" ], 
+  [ "\033[2XMatrixTransformationOnMultivariatePolynomial \033[0X", "7.6-1", [ 7, 6, 1 ], 1683, 154, 
       "matrixtransformationonmultivariatepolynomial", "X84D51EBB784E7C5D" ], 
-  [ "\033[2XDegreeMultivariatePolynomial\033[0X", "7.6-2", [ 7, 6, 2 ], 1690, 153, "degreemultivariatepolynomial", 
-      "X80433A4B792880EF" ], [ "\033[2XDegreesMultivariatePolynomial\033[0X", "7.6-3", [ 7, 6, 3 ], 1712, 154, 
+  [ "\033[2XDegreeMultivariatePolynomial\033[0X", "7.6-2", [ 7, 6, 2 ], 1691, 154, "degreemultivariatepolynomial", 
+      "X80433A4B792880EF" ], [ "\033[2XDegreesMultivariatePolynomial\033[0X", "7.6-3", [ 7, 6, 3 ], 1713, 155, 
       "degreesmultivariatepolynomial", "X83F44E397C56F2E0" ], 
-  [ "\033[2XCoefficientMultivariatePolynomial\033[0X", "7.6-4", [ 7, 6, 4 ], 1733, 154, "coefficientmultivariatepolynomial"
-        , "X7E9021697A61A60F" ], [ "\033[2XSolveLinearSystem\033[0X", "7.6-5", [ 7, 6, 5 ], 1775, 155, "solvelinearsystem",
-      "X79E76B6F7D177E27" ], [ "\033[2XGuavaVersion\033[0X", "7.6-6", [ 7, 6, 6 ], 1804, 155, "guavaversion", 
-      "X80171AA687FFDC70" ], [ "\033[2XZechLog\033[0X", "7.6-7", [ 7, 6, 7 ], 1816, 155, "zechlog", "X7EBBE86D85CC90C0" ], 
-  [ "\033[2XCoefficientToPolynomial\033[0X", "7.6-8", [ 7, 6, 8 ], 1834, 156, "coefficienttopolynomial", 
-      "X7C8C1E6A7E3497F0" ], [ "\033[2XDegreesMonomialTerm\033[0X", "7.6-9", [ 7, 6, 9 ], 1853, 156, "degreesmonomialterm",
-      "X8431985183B63BB7" ], [ "\033[2XDivisorsMultivariatePolynomial\033[0X", "7.6-10", [ 7, 6, 10 ], 1884, 157, 
+  [ "\033[2XCoefficientMultivariatePolynomial\033[0X", "7.6-4", [ 7, 6, 4 ], 1734, 155, 
+      "coefficientmultivariatepolynomial", "X7E9021697A61A60F" ], 
+  [ "\033[2XSolveLinearSystem\033[0X", "7.6-5", [ 7, 6, 5 ], 1776, 156, "solvelinearsystem", "X79E76B6F7D177E27" ], 
+  [ "\033[2XGuavaVersion\033[0X", "7.6-6", [ 7, 6, 6 ], 1805, 156, "guavaversion", "X80171AA687FFDC70" ], 
+  [ "\033[2XZechLog\033[0X", "7.6-7", [ 7, 6, 7 ], 1817, 156, "zechlog", "X7EBBE86D85CC90C0" ], 
+  [ "\033[2XCoefficientToPolynomial\033[0X", "7.6-8", [ 7, 6, 8 ], 1835, 157, "coefficienttopolynomial", 
+      "X7C8C1E6A7E3497F0" ], [ "\033[2XDegreesMonomialTerm\033[0X", "7.6-9", [ 7, 6, 9 ], 1854, 157, 
+      "degreesmonomialterm", "X8431985183B63BB7" ], 
+  [ "\033[2XDivisorsMultivariatePolynomial\033[0X", "7.6-10", [ 7, 6, 10 ], 1885, 158, 
       "divisorsmultivariatepolynomial", "X860EF39B841380A1" ] ]
 );
diff --git a/guava_gapdoc.gap b/guava_gapdoc.gap
index 2e98822..244d81f 100644
--- a/guava_gapdoc.gap
+++ b/guava_gapdoc.gap
@@ -5,7 +5,7 @@
 ###########################################################
 
 
-path := Directory("/home/wdj/wdj/sagefiles/sage-3.0/local/lib/gap-4.4.10/pkg/guava3.5/doc"); ## edit this path if needed
+path := Directory("doc"); ## edit this path if needed
 main:="guava.xml"; 
 files:=[];
 bookname:="guava";
diff --git a/htm/chap0.html b/htm/chap0.html
index ccfba1e..e89752d 100644
--- a/htm/chap0.html
+++ b/htm/chap0.html
@@ -25,9 +25,9 @@
 
 <h2>A <strong class="pkg">GAP</strong>4 Package for computing with error-correcting codes  </h2>
 
-<p>Version 3.5</p>
+<p>Version 3.6</p>
 
-<p>April 25, 2008</p>
+<p>June 20, 2008</p>
 
 </div>
 <p><b>
@@ -69,9 +69,9 @@ Cen (``CJ'') Tjhai
 
 <p><a id="X81488B807F2A1CF1" name="X81488B807F2A1CF1"></a></p>
 <h3>Copyright</h3>
-<p>© The GUAVA Group: 1992-2003 Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes, Lea Ruscio (for the tex version), Jeffrey Leon © 2004 David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio. © 2007 Robert L Miller, Tom Boothby</p>
+<p><strong class="pkg">GUAVA</strong>: © The GUAVA Group: 1992-2003 Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes, Lea Ruscio (for the tex version), Jeffrey Leon © 2004 David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio. © 2007 Robert L Miller, Tom Boothby</p>
 
-<p><strong class="pkg">GUAVA</strong> is released under the GNU General Public License (GPL). This file is part of <strong class="pkg">GUAVA</strong>, though as documentation it is released under the GNU Free Documentation License (see <span class="URL"><a href="http://www.gnu.org/licenses/licenses.html#FDL">http://www.gnu.org/licenses/licenses.html#FDL</a></span>).</p>
+<p><strong class="pkg">GUAVA</strong> is released under the GNU General Public License (GPL).</p>
 
 <p><strong class="pkg">GUAVA</strong> is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
 
@@ -83,6 +83,8 @@ Cen (``CJ'') Tjhai
 
 <p>For many years <strong class="pkg">GUAVA</strong> has been released along with the ``backtracking'' C programs of J. Leon. In one of his *.c files the following statements occur: ``Copyright (C) 1992 by Jeffrey S. Leon. This software may be used freely for educational and research purposes. Any other use requires permission from the author.'' The following should now be appended: ``I, Jeffrey S. Leon, agree to license all the partition backtrack code which I have written under the GPL [...]
 
+<p><strong class="pkg">GUAVA</strong> documentation: © Jasper Cramwinckel, Erik Roijackers,Reinald Baart, Eric Minkes, Lea Ruscio (for the tex version), David Joyner, Cen Tjhai, Jasper Cramwinckel, Erik Roijackers, Reinald Baart, Eric Minkes, Lea Ruscio. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front [...]
+
 <p><a id="X82A988D47DFAFCFA" name="X82A988D47DFAFCFA"></a></p>
 <h3>Acknowledgements</h3>
 <p><strong class="pkg">GUAVA</strong> was originally written by Jasper Cramwinckel, Erik Roijackers, and Reinald Baart in the early-to-mid 1990's as a final project during their study of Mathematics at the Delft University of Technology, Department of Pure Mathematics, under the direction of Professor Juriaan Simonis. This work was continued in Aachen, at Lehrstuhl D fur Mathematik. In version 1.3, new functions were added by Eric Minkes, also from Delft University of Technology.</p>
@@ -95,7 +97,7 @@ Cen (``CJ'') Tjhai
 
 <p>Please send bug reports, suggestions and other comments about <strong class="pkg">GUAVA</strong> to <span class="URL"><a href="mailto:support at gap-system.org">support at gap-system.org</a></span>. Currently known bugs and suggested <strong class="pkg">GUAVA</strong> projects are listed on the bugs and projects web page <span class="URL"><a href="http://sage.math.washington.edu/home/wdj/guava/guava2do.html">http://sage.math.washington.edu/home/wdj/guava/guava2do.html</a></span>. Older rele [...]
 
-<p><em>Contributors</em>: Other than the authors listed on the title page, the following people have contributed code to the <strong class="pkg">GUAVA</strong> project: Alexander Hulpke, Steve Linton, Frank Lübeck, Aron Foster, Wayne Irons, Clifton (``Clipper") Lennon, Jason McGowan, Shuhong Gao, Greg Gamble.</p>
+<p><em>Contributors</em>: Other than the authors listed on the title page, the following people have contributed code to the <strong class="pkg">GUAVA</strong> project: Alexander Hulpke, Steve Linton, Frank Lübeck, Aron Foster, Wayne Irons, Clifton (Clipper) Lennon, Jason McGowan, Shuhong Gao, Greg Gamble.</p>
 
 <p>For documentation on Leon's programs, see the src/leon/doc subdirectory of <strong class="pkg">GUAVA</strong>.</p>
 
@@ -378,6 +380,11 @@ Algebraic geometric codes
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7B6C2BED8319C811">5.7-24 EvaluationBivariateCodeNC</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X842E227E8785168E">5.7-25 OnePointAGCode</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap5.html#X84F3673D7BBF5956">5.8 <span class="Heading">
+Low-Density Parity-Check Codes
+</span></a>
+<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X8020A9357AD0BA92">5.8-1 QCLDPCCodeFromGroup</a></span>
+</div>
 </div>
 <div class="ContChap"><a href="chap6.html#X866FC1117814B64D">6. <span class="Heading">Manipulating Codes</span></a>
 <div class="ContSect"><span class="nocss"> </span><a href="chap6.html#X8271A4697FDA97B2">6.1 <span class="Heading">
@@ -523,6 +530,10 @@ Miscellaneous polynomial functions
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X8431985183B63BB7">7.6-9 DegreesMonomialTerm</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X860EF39B841380A1">7.6-10 DivisorsMultivariatePolynomial</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap7.html#X82257DE97D1822AA">7.7 <span class="Heading">
+GNU Free Documentation License
+</span></a>
+</div>
 </div>
 <br />
 </div>
diff --git a/htm/chap4.html b/htm/chap4.html
index 5d7ab81..5cb98c7 100644
--- a/htm/chap4.html
+++ b/htm/chap4.html
@@ -1855,24 +1855,7 @@ gap> WeightCodeword(c2-r);
 <h5>4.10-5 BitFlipDecoder</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> BitFlipDecoder</code>( <var class="Arg">C, r</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p>The iterative decoding method <code class="code">BitFlipDecoder</code> must only be applied to LDPC codes. These have not been implemented in GUAVA (but see <code class="code">FerreroDesignCode</code> for a code with similar properties). A binary low density parity check (LDPC) code of length $n$ and redundancy $r$ is defined in terms of its check matrix $H$:</p>
-
-
-<ul>
-<li><p>Each row of $H$ has exactly $x$ 1's.</p>
-
-</li>
-<li><p>Each column has exactly $y$ 1's.</p>
-
-</li>
-<li><p>The number of 1's in common between any two columns is less than or equal to one.</p>
-
-</li>
-<li><p>$x/n$ and $y/r$ are 'small'.</p>
-
-</li>
-</ul>
-<p>For these codes, <code class="code">BitFlipDecoder</code> decodes very quickly. (Warning: it can give wildly wrong results for arbitrary binary linear codes.) The bit flipping algorithm is described for example in chapter 13 of <a href="chapBib.html#biBJH04">[JH04]</a>.</p>
+<p>The iterative decoding method <code class="code">BitFlipDecoder</code> must only be applied to LDPC codes. For more information on LDPC codes, refer to Section <a href="chap5.html#X84F3673D7BBF5956"><b>5.8</b></a>. For these codes, <code class="code">BitFlipDecoder</code> decodes very quickly. (Warning: it can give wildly wrong results for arbitrary binary linear codes.) The bit flipping algorithm is described for example in Chapter 13 of <a href="chapBib.html#biBJH04">[JH04]</a>.</p>
 
 
 <table class="example">
diff --git a/htm/chap5.html b/htm/chap5.html
index 7600ac5..020fb63 100644
--- a/htm/chap5.html
+++ b/htm/chap5.html
@@ -127,6 +127,11 @@ Algebraic geometric codes
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7B6C2BED8319C811">5.7-24 EvaluationBivariateCodeNC</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X842E227E8785168E">5.7-25 OnePointAGCode</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap5.html#X84F3673D7BBF5956">5.8 <span class="Heading">
+Low-Density Parity-Check Codes
+</span></a>
+<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X8020A9357AD0BA92">5.8-1 QCLDPCCodeFromGroup</a></span>
+</div>
 </div>
 
 <h3>5. <span class="Heading">Generating Codes</span></h3>
@@ -145,6 +150,10 @@ Algebraic geometric codes
 
 <p>Section <a href="chap5.html#X850A28C579137220"><b>5.6</b></a> describes functions for generating codes as the image of an evaluation map applied to a space of functions. For example, generalized Reed-Solomon codes and toric codes are described there.</p>
 
+<p>Section <a href="chap5.html#X7AE2B2CD7C647990"><b>5.7</b></a> describes functions for generating algebraic geometry codes.</p>
+
+<p>Section <a href="chap5.html#X84F3673D7BBF5956"><b>5.8</b></a> describes functions for constructing low-density parity-check (LDPC) codes.</p>
+
 <p><a id="X86A92CB184CBD3C7" name="X86A92CB184CBD3C7"></a></p>
 
 <h4>5.1 <span class="Heading">
@@ -2213,7 +2222,7 @@ gap> MinimumDistance(C);
 <h5>5.7-23 EvaluationBivariateCode</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> EvaluationBivariateCode</code>( <var class="Arg">pts, L, crv</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p>Input: <code class="code">pts</code> is a set of affine points on <code class="code">crv</code>, <code class="code">L</code> is a list of rational functions on <code class="code">crv</code>. <br /> Output: The evaluation code associated to the points in <code class="code">pts</code> and functions in <code class="code">L</code>, but specifically for affine plane curves and this function checks if points are ``bad" (if so removes them from the list <code class="code">pts</code> automati [...]
+<p>Input: <code class="code">pts</code> is a set of affine points on <code class="code">crv</code>, <code class="code">L</code> is a list of rational functions on <code class="code">crv</code>. <br /> Output: The evaluation code associated to the points in <code class="code">pts</code> and functions in <code class="code">L</code>, but specifically for affine plane curves and this function checks if points are "bad" (if so removes them from the list <code class="code">pts</code> automatic [...]
 
 <p>Very similar to <code class="code">EvaluationCode</code> (see <code class="func">EvaluationCode</code> (<a href="chap5.html#X78E078567D19D433"><b>5.6-1</b></a>) for a more general construction).</p>
 
@@ -2306,6 +2315,121 @@ gap> MinimumDistance(C);
 
 <p>See <code class="func">EvaluationCode</code> (<a href="chap5.html#X78E078567D19D433"><b>5.6-1</b></a>) for a more general construction.</p>
 
+<p><a id="X84F3673D7BBF5956" name="X84F3673D7BBF5956"></a></p>
+
+<h4>5.8 <span class="Heading">
+Low-Density Parity-Check Codes
+</span></h4>
+
+<p>Low-density parity-check (LDPC) codes form a class of linear block codes whose parity-check matrix--as the name implies, is sparse. LDPC codes were introduced by Robert Gallager in 1962 <a href="chapBib.html#biBGallager.1962">[Gal62]</a> as his PhD work. Due to the decoding complexity for the technology back then, these codes were forgotten. Not until the late 1990s, these codes were rediscovered and research results have shown that LDPC codes can achieve near Shannon's capacity perfo [...]
+
+<p>Based on the structure of their parity-check matrix, LDPC codes may be categorised into two classes:</p>
+
+
+<ul>
+<li><p>Regular LDPC codes</p>
+
+<p>This class of codes has a fixed number of non zeros per column and per row in their parity-check matrix. These codes are usually denoted as (n,j,k) codes where n is the block length, j is the number of non zeros per column in their parity-check matrix and k is the number of non zeros per row in their parity-check matrix.</p>
+
+</li>
+<li><p>Irregular LDPC codes</p>
+
+<p>The irregular codes, on the other hand, do not have a fixed number of non zeros per column and row in their parity-check matrix. This class of codes are commonly represented by two polynomials which denote the distribution of the number of non zeros in the columns and rows respectively of their parity-check matrix.</p>
+
+</li>
+</ul>
+<p><a id="X8020A9357AD0BA92" name="X8020A9357AD0BA92"></a></p>
+
+<h5>5.8-1 QCLDPCCodeFromGroup</h5>
+
+<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> QCLDPCCodeFromGroup</code>( <var class="Arg">m, j, k</var> )</td><td class="tdright">( function )</td></tr></table></div>
+<p><code class="code">QCLDCCodeFromGroup</code> produces an (n,j,k) regular quasi-cyclic LDPC code over GF(2) of block length n = mk. The term quasi-cyclic in the context of LDPC codes typically refers to LDPC codes whose parity-check matrix H has the following form</p>
+
+
+<pre class="normal">
+
+    -                                              -
+    |  I_P(0,0)  |  I_P(0,1)  | ... |  I_P(0,k-1)  |
+    |  I_P(1,0)  |  I_P(1,1)  | ... |  I_P(1,k-1)  |
+H = |      .     |     .      |  .  |       .      |,
+    |      .     |     .      |  .  |       .      |
+    | I_P(j-1,0) | I_P(j-1,1) | ... | I_P(j-1,k-1) |
+    -                                              -
+		
+</pre>
+
+<p>where I_P(s,t) is an identity matrix of size m x m which has been shifted so that the 1 on the first row starts at position P(s,t).</p>
+
+<p>Let F be a multiplicative group of integers modulo m. If m is a prime, F=0,1,...,m-1, otherwise F contains a set of integers which are relatively prime to m. In both cases, the order of F is equal to phi(m). Let a and b be non zeros of F such that the orders of a and b are k and j respectively. Note that the integers a and b can always be found provided that k and j respectively divide phi(m). Having obtain integers a and b, construct the following j x k matrix P so that the element a [...]
+
+
+<pre class="normal">
+
+    -                                             -
+    |    1    |     a    | . . . |      a^{k-1}   |
+    |    b    |    ab    | . . . |     a^{k-1}b   |
+P = |    .    |    .     |   .   |        .       |.
+    |    .    |    .     |   .   |        .       |
+    | b^{j-1} | ab^{j-1} | . . . | a^{k-1}b^{j-1} |
+    -                                             -
+		
+</pre>
+
+<p>The parity-check matrix H of the LDPC code can be obtained by expanding each element of matrix P, i.e. P(s,t), to an identity matrix I_P(s,t) of size m x m.</p>
+
+<p>The code rate R of the constructed code is given by</p>
+
+<p class="pcenter">
+		R \geq 1 - \frac{j}{k}
+	</p>
+
+<p>where the sign >= is due to the possible existence of some non linearly independent rows in H. For more details to the paper by Tanner et al <a href="chapBib.html#biBTSSFC04">[S}04]</a>.</p>
+
+
+<table class="example">
+<tr><td><pre>
+gap> C := QCLDPCCodeFromGroup(7,2,3);
+a linear [21,8,1..6]5..10 low-density parity-check code over GF(2)
+gap> MinimumWeight(C);
+[21,8] linear code over GF(2) - minimum weight evaluation
+Known lower-bound: 1
+There are 3 generator matrices, ranks : 8 8 5 
+The weight of the minimum weight codeword satisfies 0 mod 2 congruence
+Enumerating codewords with information weight 1 (w=1)
+    Found new minimum weight 6
+Number of matrices required for codeword enumeration 2
+Completed w= 1, 24 codewords enumerated, lower-bound 4, upper-bound 6
+Termination expected with information weight 2 at matrix 1
+-----------------------------------------------------------------------------
+Enumerating codewords with information weight 2 (w=2) using 1 matrices
+Completed w= 2, 28 codewords enumerated, lower-bound 6, upper-bound 6
+-----------------------------------------------------------------------------
+Minimum weight: 6
+6
+gap> # The quasi-cyclic structure is obvious from the check matrix
+gap> Display( CheckMat(C) );
+ 1 . . . . . . . 1 . . . . . . . . 1 . . .
+ . 1 . . . . . . . 1 . . . . . . . . 1 . .
+ . . 1 . . . . . . . 1 . . . . . . . . 1 .
+ . . . 1 . . . . . . . 1 . . . . . . . . 1
+ . . . . 1 . . . . . . . 1 . 1 . . . . . .
+ . . . . . 1 . . . . . . . 1 . 1 . . . . .
+ . . . . . . 1 1 . . . . . . . . 1 . . . .
+ . . . . . 1 . . . . . 1 . . . . 1 . . . .
+ . . . . . . 1 . . . . . 1 . . . . 1 . . .
+ 1 . . . . . . . . . . . . 1 . . . . 1 . .
+ . 1 . . . . . 1 . . . . . . . . . . . 1 .
+ . . 1 . . . . . 1 . . . . . . . . . . . 1
+ . . . 1 . . . . . 1 . . . . 1 . . . . . .
+ . . . . 1 . . . . . 1 . . . . 1 . . . . .
+gap> # This is the famous [155,64,20] quasi-cyclic LDPC codes
+gap> C := QCLDPCCodeFromGroup(31,3,5);
+a linear [155,64,1..24]24..77 low-density parity-check code over GF(2)
+gap> # An example using non prime m, it may take a while to construct this code
+gap> C := QCLDPCCodeFromGroup(356,4,8);
+a linear [2848,1436,1..120]312..1412 low-density parity-check code over GF(2)
+</pre></td></tr></table>
+
 
 <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a>    <a href="chap4.html">Previous Chapter</a>    <a href="chap6.html">Next Chapter</a>   </div>
 
diff --git a/htm/chap7.html b/htm/chap7.html
index c3e8696..4d2e874 100644
--- a/htm/chap7.html
+++ b/htm/chap7.html
@@ -122,6 +122,10 @@ Miscellaneous polynomial functions
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X8431985183B63BB7">7.6-9 DegreesMonomialTerm</a></span>
 <span class="ContSS"><br /><span class="nocss">  </span><a href="chap7.html#X860EF39B841380A1">7.6-10 DivisorsMultivariatePolynomial</a></span>
 </div>
+<div class="ContSect"><span class="nocss"> </span><a href="chap7.html#X82257DE97D1822AA">7.7 <span class="Heading">
+GNU Free Documentation License
+</span></a>
+</div>
 </div>
 
 <h3>7. <span class="Heading">
@@ -999,7 +1003,7 @@ gap> PrintArray( SylvesterMat(4) );
 <h5>7.3-4 HadamardMat</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> HadamardMat</code>( <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p><code class="code">HadamardMat</code> returns a Hadamard matrix of order <var class="Arg">n</var>. This is an nx n matrix with the property that the matrix multiplied by its transpose returns <var class="Arg">n</var> times the identity matrix. This is only possible for n=1, n=2 or in cases where <var class="Arg">n</var> is a multiple of 4. If the matrix does not exist or is not known (as of 1998), <code class="code">HadamardMat</code> returns an error. A large number of construction m [...]
+<p><code class="code">HadamardMat</code> returns a Hadamard matrix of order <var class="Arg">n</var>. This is an nx n matrix with the property that the matrix multiplied by its transpose returns <var class="Arg">n</var> times the identity matrix. This is only possible for n=1, n=2 or in cases where <var class="Arg">n</var> is a multiple of 4. If the matrix does not exist or is not known (as of 1998), <code class="code">HadamardMat</code> returns an error. A large number of construction m [...]
 
 
 <table class="example">
@@ -1634,7 +1638,7 @@ gap> WeightHistogram(H);
 <h5>7.5-14 MultiplicityInList</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> MultiplicityInList</code>( <var class="Arg">L, a</var> )</td><td class="tdright">( function )</td></tr></table></div>
-<p>This is a very simple list command which returns how many times a occurs in L. It returns 0 if a is not in L. (The GAP command <code class="code">Collected</code> does not quite handle this ``extreme" case.)</p>
+<p>This is a very simple list command which returns how many times a occurs in L. It returns 0 if a is not in L. (The GAP command <code class="code">Collected</code> does not quite handle this "extreme" case.)</p>
 
 
 <table class="example">
@@ -1939,6 +1943,140 @@ gap> DivisorsMultivariatePolynomial(f,R2);
 [ x1+x2, x1+x2, x1+x2 ]
 </pre></td></tr></table>
 
+<p><a id="X82257DE97D1822AA" name="X82257DE97D1822AA"></a></p>
+
+<h4>7.7 <span class="Heading">
+GNU Free Documentation License
+</span></h4>
+
+<p>GNU Free Documentation License Version 1.2, November 2002</p>
+
+<p>Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.</p>
+
+<p>0. PREAMBLE</p>
+
+<p>The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.</p>
+
+<p>This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.</p>
+
+<p>We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.</p>
+
+<p>1. APPLICABILITY AND DEFINITIONS</p>
+
+<p>This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or dist [...]
+
+<p>A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.</p>
+
+<p>A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with th [...]
+
+<p>The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.</p>
+
+<p>The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.</p>
+
+<p>A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters [...]
+
+<p>Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools a [...]
+
+<p>The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.</p>
+
+<p>A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition.</p>
+
+<p>The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.</p>
+
+<p>2. VERBATIM COPYING</p>
+
+<p>You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exch [...]
+
+<p>You may also lend copies, under the same conditions stated above, and you may publicly display copies.</p>
+
+<p>3. COPYING IN QUANTITY</p>
+
+<p>If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title w [...]
+
+<p>If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.</p>
+
+<p>If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when  [...]
+
+<p>It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.</p>
+
+<p>4. MODIFICATIONS</p>
+
+<p>You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:</p>
+
+<p>A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.</p>
+
+<p>B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.</p>
+
+<p>C. State on the Title page the name of the publisher of the Modified Version, as the publisher.</p>
+
+<p>D. Preserve all the copyright notices of the Document.</p>
+
+<p>E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.</p>
+
+<p>F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.</p>
+
+<p>G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.</p>
+
+<p>H. Include an unaltered copy of this License.</p>
+
+<p>I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.</p>
+
+<p>J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.</p>
+
+<p>K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.</p>
+
+<p>L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.</p>
+
+<p>M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version.</p>
+
+<p>N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section.</p>
+
+<p>O. Preserve any Warranty Disclaimers.</p>
+
+<p>If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.</p>
+
+<p>You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.</p>
+
+<p>You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add  [...]
+
+<p>The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.</p>
+
+<p>5. COMBINING DOCUMENTS</p>
+
+<p>You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.</p>
+
+<p>The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections i [...]
+
+<p>In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements".</p>
+
+<p>6. COLLECTIONS OF DOCUMENTS</p>
+
+<p>You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.</p>
+
+<p>You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.</p>
+
+<p>7. AGGREGATION WITH INDEPENDENT WORKS</p>
+
+<p>A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative wor [...]
+
+<p>If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.</p>
+
+<p>8. TRANSLATION</p>
+
+<p>Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers [...]
+
+<p>If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.</p>
+
+<p>9. TERMINATION</p>
+
+<p>You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.</p>
+
+<p>10. FUTURE REVISIONS OF THIS LICENSE</p>
+
+<p>The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.</p>
+
+<p>Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not a [...]
+
 
 <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a>    <a href="chap6.html">Previous Chapter</a>    <a href="chapBib.html">Next Chapter</a>   </div>
 
diff --git a/htm/chapBib.html b/htm/chapBib.html
index 8e6760c..06a94d9 100644
--- a/htm/chapBib.html
+++ b/htm/chapBib.html
@@ -74,6 +74,15 @@
  <span class='Bib_pages'>p. 219--224</span></p>
 
 
+<p><a id="biBGallager.1962" name="biBGallager.1962"></a></p>
+<p class='Bib_entry'>
+[<span class='Bib_key' style="color: #8e0000;">Gal62</span>]   <b class='Bib_author'>Gallager, R.</b> <i class='Bib_title'>Low-Density Parity-Check Codes</i>,
+ <span class='Bib_journal'>IRE Trans. Inform. Theory</span>,
+ <em class='Bib_volume'>IT-8</em>,
+ (<span class='Bib_year'>1962)</span>,
+ <span class='Bib_pages'>p. 21--28</span></p>
+
+
 <p><a id="biBGao03" name="biBGao03"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">Gao03</span>]   <b class='Bib_author'>Gao, S.</b> <i class='Bib_title'>A new algorithm for decoding Reed-Solomon codes</i>,
@@ -144,15 +153,6 @@
  (<span class='Bib_year'>2004)</span></p>
 
 
-<p><a id="biBLeon82" name="biBLeon82"></a></p>
-<p class='Bib_entry'>
-[<span class='Bib_key' style="color: #8e0000;">Leo82</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>Computing automorphism groups of error-correcting codes</i>,
- <span class='Bib_journal'>IEEE Trans. Inform. Theory</span>,
- <em class='Bib_volume'>28</em>,
- (<span class='Bib_year'>1982)</span>,
- <span class='Bib_pages'>p. 496--511</span></p>
-
-
 <p><a id="biBLeon88" name="biBLeon88"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">Leo88</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>A probabilistic algorithm for computing minimum weights of
@@ -163,6 +163,15 @@
  <span class='Bib_pages'>p. 1354--1359</span></p>
 
 
+<p><a id="biBLeon82" name="biBLeon82"></a></p>
+<p class='Bib_entry'>
+[<span class='Bib_key' style="color: #8e0000;">Leo82</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>Computing automorphism groups of error-correcting codes</i>,
+ <span class='Bib_journal'>IEEE Trans. Inform. Theory</span>,
+ <em class='Bib_volume'>28</em>,
+ (<span class='Bib_year'>1982)</span>,
+ <span class='Bib_pages'>p. 496--511</span></p>
+
+
 <p><a id="biBLeon91" name="biBLeon91"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">Leo91</span>]   <b class='Bib_author'>Leon, J. S.</b> <i class='Bib_title'>Permutation group algorithms based on partitions, I: theory
@@ -180,6 +189,16 @@
  (<span class='Bib_year'>1983)</span></p>
 
 
+<p><a id="biBTSSFC04" name="biBTSSFC04"></a></p>
+<p class='Bib_entry'>
+[<span class='Bib_key' style="color: #8e0000;">S}04</span>]   <b class='Bib_author'>R. Tanner D. Sridhara A. Sridharan, T. F. and }, D. C.</b> <i class='Bib_title'>LDPC Block and Convolutional Codes Based on Circulant
+      Matrices</i>,
+ <span class='Bib_journal'>STRING-NOT-KNOWN: ieee_j_it</span>,
+ <em class='Bib_volume'>50</em> (<span class='Bib_number'>12)</span>,
+ (<span class='Bib_year'>2004)</span>,
+ <span class='Bib_pages'>p. 2966--2984</span></p>
+
+
 <p><a id="biBSloane72" name="biBSloane72"></a></p>
 <p class='Bib_entry'>
 [<span class='Bib_key' style="color: #8e0000;">SRC72</span>]   <b class='Bib_author'>Sloane, N., Reddy, S. and Chen, C.</b> <i class='Bib_title'>New binary codes</i>,
diff --git a/htm/chapInd.html b/htm/chapInd.html
index 88ce5ea..d015545 100644
--- a/htm/chapInd.html
+++ b/htm/chapInd.html
@@ -276,6 +276,7 @@ IsPrimitivePolynomial  <a href="chap2.html#X7ECC593583E68A6C">2.2-2</a><br />
 <code class="func">Krawtchouk</code>  <a href="chap7.html#X7ACDC5377CD17451">7.5-6</a><br />
 <code class="func">KrawtchoukMat</code>  <a href="chap7.html#X82899B64802A4BCE">7.3-1</a><br />
 Latin square  <a href="chap7.html#X8033E9A67BA155C8">7.3-10</a><br />
+LDPC  <a href="chap5.html#X84F3673D7BBF5956">5.8</a><br />
 least common multiple  <a href="chap5.html#X82231CF08073695F">5.7-12</a><br />
 <code class="func">LeftActingDomain</code>  <a href="chap4.html#X86F070E0807DC34E">4.5-3</a><br />
 length  <a href="chap4.html#X85FDDF0B7B7D87FB">4.</a><br />
@@ -345,6 +346,7 @@ primitive element  <a href="chap2.html#X87C3D1B984960984">2.2</a><br />
 <code class="func">Print</code>  <a href="chap4.html#X7AFA64D97A1F39A3">4.6-1</a><br />
 <code class="func">PuncturedCode</code>  <a href="chap6.html#X7E6E4DDA79574FDB">6.1-2</a><br />
 <code class="func">PutStandardForm</code>  <a href="chap7.html#X7B47D82485B66F1D">7.3-6</a><br />
+<code class="func">QCLDPCCodeFromGroup</code>  <a href="chap5.html#X8020A9357AD0BA92">5.8-1</a><br />
 <code class="func">QQRCode</code>  <a href="chap5.html#X7F4C3AD2795A8D7A">5.5-9</a><br />
 <code class="func">QQRCodeNC</code>  <a href="chap5.html#X8764ABCF854C695E">5.5-8</a><br />
 <code class="func">QRCode</code>  <a href="chap5.html#X825F42F68179D2AB">5.5-7</a><br />
diff --git a/init.g b/init.g
index 33cfc1e..5a9ff72 100644
--- a/init.g
+++ b/init.g
@@ -16,7 +16,7 @@
 ##
 ##  Announce the package version and test for the existence of the binary.
 ##
-DeclarePackage( "guava", "3.3",
+DeclarePackage( "guava", "3.6",
   function()
     local path;
 
diff --git a/lib/codegen.gd b/lib/codegen.gd
index 964e903..9ec74e9 100644
--- a/lib/codegen.gd
+++ b/lib/codegen.gd
@@ -405,3 +405,19 @@ DeclareOperation("FourNegacirculantSelfDualCode",
 DeclareOperation("FourNegacirculantSelfDualCodeNC", 
 	[IsUnivariatePolynomial, IsUnivariatePolynomial, IsInt]);
 
+###########################################################################
+##
+#F QCLDPCCodeFromGroup( <m>, <j>, <k> ) . . Regular quasi-cyclic LDPC code
+##
+## Construct a regular (j,k) quasi-cyclic low-density parity-check (LDPC)
+## code over GF(2) based on the multiplicative group of integer modulo m.
+## If m is a prime, the size of the group is equal to Phi(m) = m - 1,
+## otherwise it is equal to Phi(m). For details, refer to the paper by:
+##
+##   R. Tanner, D. Sridhara, A. Sridharan, T. Fuja and D. Costello,
+##   "LDPC block and convolutional codes based on circulant matrices",
+##   IEEE Trans. Inform. Theory, vol. 50, no. 12, pp. 2966--2984, 2004
+##
+## NOTE that j and k must divide Phi(m).
+##
+DeclareOperation("QCLDPCCodeFromGroup", [IsInt, IsInt, IsInt]);
diff --git a/lib/codegen.gi b/lib/codegen.gi
index f2ba9db..3e8be5e 100644
--- a/lib/codegen.gi
+++ b/lib/codegen.gi
@@ -34,6 +34,7 @@
 ##  added 1-2006: FerreroDesignCode, written with Peter Mayr
 ##  added 12-2007 (CJ): ExtendedReedSolomonCode, QuasiCyclicCode,
 ##    CyclicMDSCode, FourNegacirculantSelfDualCode functions.
+##  added 06-2008 (CJ): QCLDPCFromGroup function
 ##
 Revision.("guava/lib/codegen_gi") :=
     "@(#)$Id: codegen.gi,v 1.99 2004/09/22 03:49:16 gap Exp $";
@@ -2729,3 +2730,75 @@ function(ax, bx, k)
 	return C;
 end);
 
+###########################################################################
+##
+#F QCLDPCCodeFromGroup( <m>, <j>, <k> ) . . Regular quasi-cyclic LDPC code
+##
+## Construct a regular (j,k) quasi-cyclic low-density parity-check (LDPC)
+## code over GF(2) based on the multiplicative group of integer modulo m.
+## If m is a prime, the size of the group is equal to Phi(m) = m - 1,
+## otherwise it is equal to Phi(m). For details, refer to the paper by:
+##
+##   R. Tanner, D. Sridhara, A. Sridharan, T. Fuja and D. Costello,
+##   "LDPC block and convolutional codes based on circulant matrices",
+##   IEEE Trans. Inform. Theory, vol. 50, no. 12, pp. 2966--2984, 2004
+##
+## NOTE that j and k must divide Phi(m).
+##
+InstallMethod(QCLDPCCodeFromGroup, "method for binary linear code", true,
+	[IsInt, IsInt, IsInt], 0,
+function(m, j, k)
+	local r, c, a, b, p, P, H, M, C, PermutationMatrix;
+
+	##
+	##----------------- start of private functions ---------------------
+	##
+	## PermutationMatrix - a private function for QCLDPCCodeFromGroup
+	PermutationMatrix := function(m, i)
+		local s, P, L;
+		if i = 0 or i > m then
+			Error("invalid value of i, 1 \\le i \\le ", m, "\n");
+		fi;
+		P := [];
+		L := List([1..m], i->Zero(GF(2))); L[i] := One(GF(2));
+		Append(P, [ L ]);
+		for s in [2..m] do;
+			L := RightRotateList(L);
+			Append(P, [ L ]);
+		od;
+		return P;
+	end;
+	##
+	##------------------ end of private functions ----------------------
+	##
+	
+	p := Phi(m);
+	if (p mod j <> 0) then
+		Error(j, " does not divide ", p, "=Phi(", m, ")\n");
+	fi;
+	if (p mod k <> 0) then
+		Error(k, " does not divide ", p, "=Phi(", m, ")\n");
+	fi;
+
+	a := Position( List([1..m-1], i->OrderMod(i, m) ), k );
+	b := Position( List([1..m-1], i->OrderMod(i, m) ), j );
+
+	P := [];
+	for r in [0..j-1] do;
+		Append(P, [ List([0..k-1], i->a^i*b^r mod m) ]);
+	od;
+
+	H := [];
+	for r in [1..j] do;
+		M := [];
+		for c in [1..k] do;
+			M := TransposedMat( Concatenation( TransposedMat(M), TransposedMat( PermutationMatrix(m, P[r][c]) ) ) );
+		od;
+		Append(H, M);
+	od;
+	C := CheckMatCode( H, GF(2) );
+	C!.CheckMat := H;
+	C!.name := "low-density parity-check code";
+	C!.upperBoundMinimumDistance := Factorial(j+1);
+	return C;
+end);
diff --git a/lib/matrices.gi b/lib/matrices.gi
index d20b255..735ec1b 100644
--- a/lib/matrices.gi
+++ b/lib/matrices.gi
@@ -104,17 +104,67 @@ function(n)
     fi;
 end);
 
+HadamardMat_paleyI := function(n)
+  local p,N,i,j,H1,H2,L,S,I;
+  if IsPrime(n-1) and (n-1) mod 4=3 then 
+      p := n-1;
+  else
+      Print("The order ",n," is not covered by the Paley type I construction.\n");
+      return(0);
+  fi;
+  H1 := function(i,j)
+     if i=0 then return(1); fi;
+     if j=0 then return(-1); fi;
+     if i=j then return(1); fi;
+     return Legendre(i-j,p);
+     end;
+  L := List([0..p],j->List([0..p], i->H1(i,j)));
+  return L;
+  end;
+
+HadamardMat_paleyII := function(n)
+  local p,N,i,j,H1,H2,L,S,I,B;
+  N := n/2;
+  if IsPrime(N-1) and (N-1) mod 4=1 then 
+      p := N-1;
+  else
+      Print("The order ",n," is not covered by the Paley type II construction.\n");
+      return(0);
+  fi;
+  H2 := function(i,j)
+     if (i=0 and j=0) then return(0); fi;
+     if i=0 or j=0 then return(1); fi;
+     if i=j then return(0); fi;
+     return Legendre(i-j,p);
+     end;
+  S := List([0..p],j->List([0..p], i->H2(i,j)));
+  I := IdentityMat(N,Integers);
+  Display(S);
+  Print(S,"\n",I,"\n");
+  B := BlockMatrix([[1,1,S+I],[1,2,S-I],[2,1,S-I],[2,2,-S-I]],2,2);
+  return MatrixByBlockMatrix(B);
+  end;
+
+
+
 
 #############################################################################
 ##
 #F  HadamardMat( <n> )  . . . . . . . . . . . .  Hadamard matrix of order <n>
 ##
 
-InstallMethod(HadamardMat, "order", true, [IsInt], 0, 
-function(n) 
-    local result, had, i, j;
+InstallMethod(HadamardMat, "order", true, [IsInt], 0, function(n) 
+    local result, had, i, j, N;
+    if n mod 2 = 0 then 
+        N:=n/2; 
+    else
+        Error("The Hadamard matrix of order ",n," does not exist");
+    fi;
     if n = 1 then
         return [[1]];
+    elif IsPrimeInt(N-1) and ((N-1) mod 4)=1 then
+        Print("Type II\n");
+        return HadamardMat_paleyII(n);
     elif (n=2) or (n=4) or ((n mod 8)=0) then
         had:=HadamardMat(n/2);
         result:=List(had, x->Concatenation(x,x));
diff --git a/lib/matrices.gi b/lib/matrices.gi~
similarity index 100%
copy from lib/matrices.gi
copy to lib/matrices.gi~
diff --git a/src/Makefile b/src/Makefile
index aed367e..01e7382 100755
--- a/src/Makefile
+++ b/src/Makefile
@@ -15,3 +15,4 @@ install :
 
 clean :
 	rm -f $(FILES)
+	rm -f *.o
\ No newline at end of file
diff --git a/src/leon/Makefile b/src/leon/Makefile
deleted file mode 100644
index 0b678b9..0000000
--- a/src/leon/Makefile
+++ /dev/null
@@ -1,183 +0,0 @@
-COMPILE = gcc
-CFLAGS  = -O2
-SRCDIR  = ./src
-COMPOPT = -c -O2
-INCLUDES =
-LINKOPT = -v
-LINKNAME = -o
-OBJ = o
-
-all:   setstab cent inter desauto generate commut cjrndper orblist fndelt compgrp orbdes randobj wtdist
-#
-# Invoke linker -- setstab
-setstab:  setstab.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cparstab.$(OBJ) csetstab.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) cuprstab.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readper.$(OBJ) readpts.$(OBJ) rprique.$(OB [...]
-	$(COMPILE) $(LINKNAME) setstab $(LINKOPT) setstab.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cparstab.$(OBJ) csetstab.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) cuprstab.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readper.$ [...]
-#
-# Invoke linker -- cent
-cent:  cent.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) ccent.$(OBJ) chbase.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cparstab.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readper.$(OBJ) rprique.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(CPUTIME)
-	$(COMPILE) $(LINKNAME) cent $(LINKOPT) cent.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) ccent.$(OBJ) chbase.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cparstab.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readper.$(OBJ) rprique.$(OBJ) storage.$(OBJ) toke [...]
-#
-# Invoke linker -- inter
-inter:  inter.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) cinter.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) rprique.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(CPUTIME)
-	$(COMPILE) $(LINKNAME) inter $(LINKOPT) inter.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) cinter.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) rprique.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(CPUTI [...]
-#
-# Invoke linker -- desauto
-desauto:  desauto.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) cdesauto.$(OBJ) chbase.$(OBJ) cmatauto.$(OBJ) code.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cparstab.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) inform.$(OBJ) matrix.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readdes.$(OBJ) readgrp.$(OBJ) rea [...]
-	$(COMPILE) $(LINKNAME) desauto $(LINKOPT) desauto.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) cdesauto.$(OBJ) chbase.$(OBJ) cmatauto.$(OBJ) code.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cparstab.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) inform.$(OBJ) matrix.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ)  [...]
-#
-# Invoke linker -- generate
-generate:  generate.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) relator.$(OBJ) stcs.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(CPUTIME)
-	$(COMPILE) $(LINKNAME) generate $(LINKOPT) generate.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) relator.$(OBJ) stcs.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(CPUTIME) $(BOUNDS)
-#
-# Invoke linker -- commut
-commut:  commut.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) ccommut.$(OBJ)  chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) commut $(LINKOPT) commut.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) ccommut.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(BOUNDS)
-#
-# Invoke linker -- cjrndper
-cjrndper: cjrndper.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) code.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) matrix.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readdes.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readper.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) cjrndper $(LINKOPT) cjrndper.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) code.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) matrix.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readdes.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readper.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(BOUNDS)
-#
-# Invoke linker -- orblist
-orblist: orblist.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readdes.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) orblist $(LINKOPT) orblist.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(BOUNDS)
-#
-# Invoke linker -- fndelt
-fndelt:  fndelt.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readper.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) fndelt $(LINKOPT) fndelt.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readper.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(BOUNDS)
-#
-# Invoke linker -- compgrp
-compgrp:  compgrp.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readper.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) compgrp $(LINKOPT) compgrp.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readper.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(BOUNDS)
-#
-# Invoke linker -- orbdes
-orbdes:  orbdes.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) code.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readdes.$(OBJ) readgrp.$(OBJ) readper.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) orbdes $(LINKOPT) orbdes.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) code.$(OBJ) copy.$(OBJ) cstborb.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readdes.$(OBJ) readgrp.$(OBJ) readper.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(BOUNDS)
-#
-# Invoke linker -- randobj
-randobj:  randobj.$(OBJ) bitmanp.$(OBJ) copy.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) readpar.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) randobj $(LINKOPT) randobj.$(OBJ) bitmanp.$(OBJ) copy.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) randgrp.$(OBJ) readpar.$(OBJ) readpts.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(CPUTIME) $(BOUNDS)
-#
-# Invoke linker -- wtdist
-wtdist:  wtdist.$(OBJ) bitmanp.$(OBJ) code.$(OBJ) copy.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) new.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) readdes.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ)
-	$(COMPILE) $(LINKNAME) wtdist $(LINKOPT) wtdist.$(OBJ) bitmanp.$(OBJ) code.$(OBJ) copy.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) field.$(OBJ) new.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) readdes.$(OBJ) storage.$(OBJ) token.$(OBJ) util.$(OBJ) $(CPUTIME) $(BOUNDS)
-#
-#
-# Invoke compiler
-addsgen.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/essentia.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/cstborb.h $(SRCDIR)/addsgen.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/addsgen.c 
-bitmanp.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/bitmanp.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/bitmanp.c 
-ccent.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/compcrep.h $(SRCDIR)/compsg.h $(SRCDIR)/cparstab.h $(SRCDIR)/errmesg.h $(SRCDIR)/inform.h $(SRCDIR)/new.h $(SRCDIR)/orbrefn.h $(SRCDIR)/permut.h $(SRCDIR)/randgrp.h $(SRCDIR)/storage.h $(SRCDIR)/ccent.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/ccent.c 
-ccommut.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/addsgen.h $(SRCDIR)/copy.h $(SRCDIR)/chbase.h $(SRCDIR)/new.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/storage.h $(SRCDIR)/ccommut.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/ccommut.c 
-cdesauto.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/code.h $(SRCDIR)/compcrep.h $(SRCDIR)/compsg.h $(SRCDIR)/errmesg.h $(SRCDIR)/matrix.h $(SRCDIR)/storage.h $(SRCDIR)/cdesauto.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cdesauto.c 
-cent.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/ccent.h $(SRCDIR)/errmesg.h $(SRCDIR)/permgrp.h $(SRCDIR)/readgrp.h $(SRCDIR)/readper.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/cent.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cent.c 
-chbase.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/addsgen.h $(SRCDIR)/cstborb.h $(SRCDIR)/errmesg.h $(SRCDIR)/essentia.h $(SRCDIR)/factor.h $(SRCDIR)/new.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/randgrp.h $(SRCDIR)/storage.h $(SRCDIR)/repinimg.h $(SRCDIR)/settoinv.h $(SRCDIR)/chbase.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/chbase.c 
-cinter.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/compcrep.h $(SRCDIR)/compsg.h $(SRCDIR)/errmesg.h $(SRCDIR)/orbrefn.h $(SRCDIR)/cinter.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cinter.c 
-cjrndper.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/code.h $(SRCDIR)/copy.h $(SRCDIR)/errmesg.h $(SRCDIR)/matrix.h $(SRCDIR)/new.h $(SRCDIR)/permut.h $(SRCDIR)/readdes.h $(SRCDIR)/randgrp.h $(SRCDIR)/readgrp.h $(SRCDIR)/readpar.h $(SRCDIR)/readper.h $(SRCDIR)/readpts.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/cjrndper.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cjrndper.c 
-cmatauto.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/code.h $(SRCDIR)/compcrep.h $(SRCDIR)/compsg.h $(SRCDIR)/errmesg.h $(SRCDIR)/matrix.h $(SRCDIR)/storage.h $(SRCDIR)/cmatauto.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cmatauto.c 
-code.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/storage.h $(SRCDIR)/code.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/code.c 
-commut.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/ccommut.h $(SRCDIR)/errmesg.h $(SRCDIR)/factor.h $(SRCDIR)/permgrp.h $(SRCDIR)/readgrp.h $(SRCDIR)/readper.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/commut.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/commut.c 
-compcrep.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/cputime.h $(SRCDIR)/chbase.h $(SRCDIR)/cstrbas.h $(SRCDIR)/errmesg.h $(SRCDIR)/inform.h $(SRCDIR)/new.h $(SRCDIR)/optsvec.h $(SRCDIR)/orbit.h $(SRCDIR)/orbrefn.h $(SRCDIR)/partn.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/rprique.h $(SRCDIR)/storage.h $(SRCDIR)/compcrep.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/compcrep.c 
-compgrp.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/readgrp.h $(SRCDIR)/util.h $(SRCDIR)/compgrp.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/compgrp.c 
-compsg.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/cputime.h $(SRCDIR)/addsgen.h $(SRCDIR)/chbase.h $(SRCDIR)/copy.h $(SRCDIR)/cstrbas.h $(SRCDIR)/errmesg.h $(SRCDIR)/inform.h $(SRCDIR)/new.h $(SRCDIR)/optsvec.h $(SRCDIR)/orbit.h $(SRCDIR)/orbrefn.h $(SRCDIR)/partn.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/ptstbref.h $(SRCDIR)/rprique.h $(SRCDIR)/storage.h $(SRCDIR)/compsg.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/compsg.c 
-copy.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/essentia.h $(SRCDIR)/storage.h $(SRCDIR)/copy.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/copy.c 
-cparstab.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/compcrep.h $(SRCDIR)/compsg.h $(SRCDIR)/errmesg.h $(SRCDIR)/orbrefn.h $(SRCDIR)/cparstab.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cparstab.c 
-csetstab.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/compcrep.h $(SRCDIR)/compsg.h $(SRCDIR)/errmesg.h $(SRCDIR)/orbrefn.h $(SRCDIR)/csetstab.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/csetstab.c 
-cstborb.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/essentia.h $(SRCDIR)/factor.h $(SRCDIR)/storage.h $(SRCDIR)/cstborb.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cstborb.c 
-cstrbas.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/chbase.h $(SRCDIR)/cstborb.h $(SRCDIR)/inform.h $(SRCDIR)/new.h $(SRCDIR)/orbrefn.h $(SRCDIR)/permgrp.h $(SRCDIR)/ptstbref.h $(SRCDIR)/optsvec.h $(SRCDIR)/storage.h $(SRCDIR)/cstrbas.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cstrbas.c 
-cuprstab.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/compcrep.h $(SRCDIR)/compsg.h $(SRCDIR)/errmesg.h $(SRCDIR)/orbrefn.h $(SRCDIR)/cuprstab.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/cuprstab.c 
-desauto.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/cdesauto.h $(SRCDIR)/errmesg.h $(SRCDIR)/permgrp.h $(SRCDIR)/readdes.h $(SRCDIR)/readgrp.h $(SRCDIR)/readper.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/desauto.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/desauto.c 
-errmesg.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/errmesg.c 
-essentia.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/essentia.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/essentia.c 
-factor.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/factor.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/factor.c 
-field.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/new.h $(SRCDIR)/storage.h $(SRCDIR)/field.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/field.c 
-fndelt.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/new.h $(SRCDIR)/oldcopy.h $(SRCDIR)/permut.h $(SRCDIR)/readgrp.h $(SRCDIR)/readper.h $(SRCDIR)/randgrp.h $(SRCDIR)/util.h $(SRCDIR)/fndelt.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/fndelt.c 
-generate.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/enum.h $(SRCDIR)/storage.h $(SRCDIR)/cputime.h $(SRCDIR)/errmesg.h $(SRCDIR)/new.h $(SRCDIR)/readgrp.h $(SRCDIR)/randschr.h $(SRCDIR)/stcs.h $(SRCDIR)/util.h $(SRCDIR)/generate.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/generate.c 
-inform.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/cputime.h $(SRCDIR)/readgrp.h $(SRCDIR)/inform.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/inform.c 
-inter.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/cinter.h $(SRCDIR)/errmesg.h $(SRCDIR)/permgrp.h $(SRCDIR)/readgrp.h $(SRCDIR)/readper.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/inter.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/inter.c 
-matrix.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/storage.h $(SRCDIR)/matrix.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/matrix.c 
-new.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/partn.h $(SRCDIR)/storage.h $(SRCDIR)/new.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/new.c 
-oldcopy.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/storage.h $(SRCDIR)/oldcopy.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/oldcopy.c 
-optsvec.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/cstborb.h $(SRCDIR)/essentia.h $(SRCDIR)/new.h $(SRCDIR)/permut.h $(SRCDIR)/permgrp.h $(SRCDIR)/storage.h $(SRCDIR)/optsvec.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/optsvec.c 
-orbdes.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/chbase.h $(SRCDIR)/errmesg.h $(SRCDIR)/new.h $(SRCDIR)/oldcopy.h $(SRCDIR)/permut.h $(SRCDIR)/readdes.h $(SRCDIR)/readgrp.h $(SRCDIR)/storage.h $(SRCDIR)/util.h $(SRCDIR)/orbdes.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/orbdes.c 
-orbit.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/cstborb.h $(SRCDIR)/orbit.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/orbit.c 
-orblist.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/addsgen.h $(SRCDIR)/chbase.h $(SRCDIR)/cstborb.h $(SRCDIR)/errmesg.h $(SRCDIR)/factor.h $(SRCDIR)/new.h $(SRCDIR)/randgrp.h $(SRCDIR)/readgrp.h $(SRCDIR)/readpar.h $(SRCDIR)/readpts.h $(SRCDIR)/storage.h $(SRCDIR)/util.h $(SRCDIR)/orblist.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/orblist.c 
-orbrefn.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/partn.h $(SRCDIR)/storage.h $(SRCDIR)/orbrefn.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/orbrefn.c 
-partn.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/storage.h $(SRCDIR)/permgrp.h $(SRCDIR)/partn.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/partn.c 
-permgrp.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/copy.h $(SRCDIR)/errmesg.h $(SRCDIR)/essentia.h $(SRCDIR)/new.h $(SRCDIR)/permut.h $(SRCDIR)/storage.h $(SRCDIR)/permgrp.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/permgrp.c 
-permut.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/factor.h $(SRCDIR)/errmesg.h $(SRCDIR)/new.h $(SRCDIR)/storage.h $(SRCDIR)/repimg.h $(SRCDIR)/repinimg.h $(SRCDIR)/settoinv.h $(SRCDIR)/enum.h $(SRCDIR)/permut.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/permut.c 
-primes.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/primes.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/primes.c 
-ptstbref.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/partn.h $(SRCDIR)/cstrbas.h $(SRCDIR)/errmesg.h $(SRCDIR)/ptstbref.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/ptstbref.c 
-randgrp.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/new.h $(SRCDIR)/permut.h $(SRCDIR)/randgrp.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/randgrp.c 
-randobj.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/randgrp.h $(SRCDIR)/readpar.h $(SRCDIR)/readpts.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/randobj.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/randobj.c 
-randschr.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/addsgen.h $(SRCDIR)/cstborb.h $(SRCDIR)/errmesg.h $(SRCDIR)/essentia.h $(SRCDIR)/factor.h $(SRCDIR)/new.h $(SRCDIR)/oldcopy.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/randgrp.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/randschr.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/randschr.c 
-readdes.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/code.h $(SRCDIR)/errmesg.h $(SRCDIR)/new.h $(SRCDIR)/token.h $(SRCDIR)/readdes.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/readdes.c 
-readgrp.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/chbase.h $(SRCDIR)/cstborb.h $(SRCDIR)/errmesg.h $(SRCDIR)/essentia.h $(SRCDIR)/factor.h $(SRCDIR)/permut.h $(SRCDIR)/permgrp.h $(SRCDIR)/randschr.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/readgrp.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/readgrp.c 
-readpar.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/errmesg.h $(SRCDIR)/readpar.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/readpar.c 
-readper.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/essentia.h $(SRCDIR)/readgrp.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/readper.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/readper.c 
-readpts.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/errmesg.h $(SRCDIR)/readpts.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/readpts.c 
-relator.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/enum.h $(SRCDIR)/errmesg.h $(SRCDIR)/new.h $(SRCDIR)/permut.h $(SRCDIR)/stcs.h $(SRCDIR)/storage.h $(SRCDIR)/relator.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/relator.c 
-rprique.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/storage.h $(SRCDIR)/rprique.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/rprique.c 
-setstab.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/cparstab.h $(SRCDIR)/csetstab.h $(SRCDIR)/cuprstab.h $(SRCDIR)/errmesg.h $(SRCDIR)/permgrp.h $(SRCDIR)/readgrp.h $(SRCDIR)/readpar.h $(SRCDIR)/readper.h $(SRCDIR)/readpts.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/setstab.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/setstab.c 
-stcs.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/enum.h $(SRCDIR)/repimg.h $(SRCDIR)/addsgen.h $(SRCDIR)/cstborb.h $(SRCDIR)/errmesg.h $(SRCDIR)/essentia.h $(SRCDIR)/factor.h $(SRCDIR)/new.h $(SRCDIR)/oldcopy.h $(SRCDIR)/permgrp.h $(SRCDIR)/permut.h $(SRCDIR)/randschr.h $(SRCDIR)/relator.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/stcs.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/stcs.c 
-storage.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/errmesg.h $(SRCDIR)/storage.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/storage.c 
-token.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/token.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/token.c 
-util.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/util.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/util.c 
-wtdist.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/field.h $(SRCDIR)/readdes.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/wt.h $(SRCDIR)/swt.h $(SRCDIR)/wtdist.c
-	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/wtdist.c 
diff --git a/src/leon/Makefile.in b/src/leon/Makefile.in
index 0b678b9..2685c10 100755
--- a/src/leon/Makefile.in
+++ b/src/leon/Makefile.in
@@ -6,8 +6,9 @@ INCLUDES =
 LINKOPT = -v
 LINKNAME = -o
 OBJ = o
+OBJS = setstab cent inter desauto generate commut cjrndper orblist fndelt compgrp orbdes randobj wtdist
 
-all:   setstab cent inter desauto generate commut cjrndper orblist fndelt compgrp orbdes randobj wtdist
+all: $(OBJS)
 #
 # Invoke linker -- setstab
 setstab:  setstab.$(OBJ) addsgen.$(OBJ) bitmanp.$(OBJ) chbase.$(OBJ) compcrep.$(OBJ) compsg.$(OBJ) copy.$(OBJ) cparstab.$(OBJ) csetstab.$(OBJ) cstborb.$(OBJ) cstrbas.$(OBJ) cuprstab.$(OBJ) errmesg.$(OBJ) essentia.$(OBJ) factor.$(OBJ) inform.$(OBJ) new.$(OBJ) oldcopy.$(OBJ) optsvec.$(OBJ) orbit.$(OBJ) orbrefn.$(OBJ) partn.$(OBJ) permgrp.$(OBJ) permut.$(OBJ) primes.$(OBJ) ptstbref.$(OBJ) randgrp.$(OBJ) randschr.$(OBJ) readgrp.$(OBJ) readpar.$(OBJ) readper.$(OBJ) readpts.$(OBJ) rprique.$(OB [...]
@@ -181,3 +182,6 @@ util.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/util.c
 	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/util.c 
 wtdist.$(OBJ) : $(SRCDIR)/group.h $(SRCDIR)/extname.h $(SRCDIR)/groupio.h $(SRCDIR)/errmesg.h $(SRCDIR)/field.h $(SRCDIR)/readdes.h $(SRCDIR)/storage.h $(SRCDIR)/token.h $(SRCDIR)/util.h $(SRCDIR)/wt.h $(SRCDIR)/swt.h $(SRCDIR)/wtdist.c
 	$(COMPILE) $(COMPOPT) $(INCLUDES)  $(SRCDIR)/wtdist.c 
+
+clean:
+	rm -f *.o $(OBJS) config.log config.status Makefile
\ No newline at end of file
diff --git a/src/leonconv b/src/leonconv
deleted file mode 100755
index d53afec..0000000
Binary files a/src/leonconv and /dev/null differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/gap-guava.git



More information about the debian-science-commits mailing list