Abstract Algebra: Theory and Applications · Problem 8.10.2

Isomorphisms — Thomas Judson

Mathematics — Abstract Algebra · extended-codes-sage

Problem

One technique for improving the characteristics of a code is to add an overall parity-check bit, much like the lone parity-check bit of the ASCII code described in Example 8.1.3. Such codes are referred to as the extended version of the original. ((a)) Construct the (binary) Golay code and obtain the parity-check matrix. Use Sage commands to enlarge this matrix to create a new parity check matrix that has an additional overall parity-check bit. You may find the matrix methods .augment() and .stack() useful, as well as the constructors zero\_vector() and ones\_matrix() (remembering that we specify the binary entries as being from the field GF(2).) Create the extended code by supplying your enlarged parity-check matrix to the codes.from\_parity\_check\_matrix() constructor and compute the length, dimension and minimum distance of the extended code. ((b)) How are the properties of this new code better? At what cost? ((c)) Now create the extended (binary) Golay code with the Sage constructor codes.GolayCode() and the correct keyword to obtain the extended version. With luck, the sorted lists of your codewords and Sage's codewords will be equal. If not, the linear code method .is\_permutation\_equivalent() should return True to indicate that your code and Sage's are just rearrangements of each other.

Browse the problem library