Since most ECCs are matrix codes, we present their common features about encoding and decoding and discuss certain special codes, which will be useful later in defining other important codes.

We use modulo 2 arithmetic. Let ${F}_{2}^{n}$ denote the binary *n*-tuples of the form **a** = (*a*_{1}, *a*_{2}, …, *a _{n}*) :

*a*= 0 or 1 for

_{i}*i*= 1, …,

*n*. Then the properties of matrix codes are:

1. An (*m, n*) code *K* is a one-to-one function $K:X\subset {F}_{2}^{m}\mapsto {F}_{2}^{n},n\ge m.$

2. The *Hamming distance d* (**a, b**) between **a, b** in ${F}_{2}^{n}$ is defined by

$\begin{array}{c}d(a,b)={\displaystyle \sum _{i=1}^{n}({a}_{i}+{b}_{i})}\\ =\text{numberofcoordinatesforwhich}{a}_{i}\text{and}{b}_{i}\text{aredifferent}\text{.}\end{array}$

3. A code $K:{F}_{2}^{m}\mapsto {F}_{2}^{n}$ is a *matrix code* if **x = x**’*A*, where **x’** denotes the (unique) complement of **x** and *A* is an *m* × *n* matrix.

4. The range of the code ...

Get *Algebraic and Stochastic Coding Theory* now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.