Singular Manual: Codes and the decoding problem

| ### C.8.1 Codes and the decoding problem #### Codes Let be a field with elements. A linear code is a linear subspace of endowed with the Hamming metric. Hamming distance between x,y . Hamming weight of x . Minimum distance of the code . The code of dimension and minimum distance is denoted as . A matrix whose rows are the base vectors of is the generator matrix. A matrix with the property is the check matrix. #### Cyclic codes The code is cyclic, if for every codeword in its cyclic shift is again a codeword in . When working with cyclic codes, vectors are usually presented as polynomials. So is represented by the polynomial with , more precisely is an element of the factor ring . Cyclic codes over of length correspond one-to-one to ideals in this factor ring. We assume for cyclic codes that . Let be the splitting field of over . Then has a primitive -th root of unity which will be denoted by . A cyclic code is uniquely given by a defining set which is a subset of such that A cyclic code has several defining sets. #### Decoding problem Complete decoding: Given and a code , so that is at distance from the code, find . Bounded up to half the minimum distance: With the additional assumption , a codeword with the above property is unique. #### Decoding via systems solving One distinguishes between two concepts: Generic decoding: Solve some system and obtain some "closed" formulas . Evaluating these formulas at data specific to a received word should yield a solution to the decoding problem. For example for . The roots of yield error positions, see the section on the general error-locator polynomial. Online decoding: Solve some system . The solutions should solve the decoding problem. #### Computational effort Generic decoding. Here, preprocessing is very hard, whereas decoding is relatively simple (if the formulas are sparse). Online decoding. In this case, decoding is the hard part.

User manual for Singular version 4-1-1p4, 2018, generated by texi2html.