|  |  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 ![$[n,k,d]$](sing_766.png) .
  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 ![$F_q[X]/\langle X^n-1 \rangle$](sing_775.png) .
  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.
 
 |