## Parity-Check Code

A linear orthogonal array OA(b, s,Fb, 1) and a linear [s, s−1, 2]-code over Fb exists for arbitrarily large s.

### The Orthogonal Array (Line)

The orthogonal array A can be identified with an arbitrary line in general position in Fbs. Thus the s matrix (1,…, 1) is a possible generator matrix of A.

When interpreted as a code, A is the [s, 1, s]-repetition code.

### The Linear Code (Parity Check Code)

The linear [s, s−1, 2]-code C over Fb is most easily defined as C = A. Its parity check matrix is the s matrix (1,…, 1), its generator matrix is the (s – 1)×s matrix ( – 1(s−1)×1, Is−1). This shows that C can be constructed by adding a single control symbol to each code word of an [s−1, s−1, 1]-code without redundancy, such that the sum of all coordinates is 0. Therefore this code is called parity-check code or sum zero code. For b = 2 is is also known as even weight code.

If A is interpreted as an orthogonal array, it is the hyperplane orthogonal array OA(bs−1, s,Fb, s−1).

### Optimality

Parity-check codes meet the Singleton bound with equality and are therefore MDS-codes. Alternatively, their dual OAs are OAs with index unity. Since they can be truncated to [s−1, s−1, 1]-codes without redundancy, which meet the Hamming bound with equality and are therefore perfect, parity-check codes are nearly perfect codes.