Linear code

This is an old revision of this page, as edited by Reetep (talk | contribs) at 23:00, 11 May 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In mathematics, a (binary) linear code of length n > 0 is a linear subspace C of the vector space

Fn

where F is the field with two elements {0,1}. The name arises from the use of these codes as error-correcting codes. Occasionally F is taken to be some other finite field. If the field F contains q elements then the code C is said to be a q-ary code (special exceptions are binary codes and ternary codes, corresponding to q=2 and q=3 respectively).


Properties

By virtue of the fact that the code is a subspace of Fn, the sum c1 + c2 of two codewords in C is also a codeword (ie an element of the subspace C). This definition also allows the entire code (which may be very large) to be represented as the span of a minimial set of codewords (known as a basis in linear algebra terms). These basis codewords are often collated in the rows of a matrix known as a generating matrix for the code C.


The subspace definition also gives rise to the important property that the minimum Hamming distance between codewords is simply the minimum Hamming weight of all codewords since:


d (c1 , c2 ) = d (c1 + c2 , 0 )


implying:


min c1 , c2 in C { d (c1 , c2 ) } = min c1 , c2 in C { d (c1 + c2 , 0 ) } = min c1 in C { d ( c1 , 0 ) }


The most important property of linear codes is that the linearity of the code allows for syndrome decoding.


Codes in general are often denoted by the letter C. A linear code of length n, dimension k (ie having k codewords in its basis and k rows in its generating matrix) and minimum Hamming weight d is refered to as an (n.k,d) code.


Nota Bene: this is not to be confused with the notation [n,r,d] to denote a non-linear code of length n, size r (ie having r codewords) and minimum Hamming distance d.


See also:

Code Syndrom decoding