• Tidak ada hasil yang ditemukan

Duality and orthogonal arrays

Dalam dokumen Discrete Mathematics and Coding Theory (Halaman 76-84)

3.15 Theorem. Let C ⊆ Fnq be a linear subspace. Then C has minimum distance≥dif and only if a (every) check matrix ofC is(d−1)-independent.

We can express this in terms of the dual code instead of in terms of its generator matrixH.ClearlyHist-independent if and only if, in the restriction of C to any t columns, anyt-tuple occurs the same number of times. This leads to the combinatorial notion of anorthogonal array of strengtht(see Section 2.6).

Orthogonal arrays

Recall the defining property of an OA of strengtht; in the projection onto any set oftcolumns each possiblet-tuple occurs the same numberλof times.

The numberλis called theindexof the array. The parameters of aq-ary OA of strengtht withncolumns and indexλare recorded as

OAλ(t, n, q).

The number of rows isλqt.

An OA of strength 1 is a very weak structure. All we demand is that in each column each entry shows up the same number of times. Most people have encountered OA of strength 2 and index 1,albeit in disguise. A popular structure, in discrete mathematics and statistics as well as in recreational math, are Latin squares. A Latin square of order n is by definition an (n, n)-array with entries from an alphabet of sizen.Each of then2cells of the array is filled with an entry from the alphabet. The central property (making it Latin) is

• In each row and in each column each entry occurs precisely once, in other words: each row and each column is a

permutation of the symbols.

As an example,L1=

 1 2 3 2 3 1 3 1 2

is a Latin square of order 3. Another such

Latin square isL2=

 1 2 3 3 1 2 2 3 1

.

Moreover, the pairL1, L2of Latin squares enjoys a special property: if they are superimposed and in each cell we read the pair of entries (i, j),whereiis the entry ofL1 and j is the entry of L2 in that cell, the nine resulting pairs (i, j) are precisely all possible pairs of entries. For example, the northwest cell yields the pair (1,1) of entries, the middle cell gives the pair (3,1) and

the southeast cell produces (2,1). The pair (3,3) of entries shows up in the northeast.

In general, two Latin squares of ordernare calledorthogonal if the pairs of entries in cells are precisely all possible pairs of entries. Our squaresL1, L2

are orthogonal. A set L1, L2, . . . , Lk of Latin squares of ordern forms a set of MOLS (“mutually orthogonal Latin squares”) if any pair is orthogonal. In other words,L1, L2 form two MOLS of order 3.

What does this have to do with orthogonal arrays? Consider the following ternary array:

1 1 1 1 1 2 2 2 1 3 3 3 2 1 2 3 2 2 3 1 2 3 1 2 3 1 3 2 3 2 1 3 3 3 2 1

Here the first column individuates the row, the second individuates the column in our Latin squares, in the third column we wrote the entry ofL1,in the fourth column the entry ofL2in the corresponding cell. For example, the first row of the array says that, in the northwest corner (cell (1,1),) both of our Latin squares have entry 1.The last row of the array gives the information that in the southeast cornerL1 has entry 2,whereasL2 has entry 1.

This array is anOA1(2,4,3).We have to check the basic OA property for every pair of columns. For the first two columns this is obvious. For columns 1,3 this is satisfied as each row ofL1 is a permutation of the symbols. In the same way it follows from the definition of a Latin square, applied to L1 and L2, that all pairs of columns are OK, except possibly pair 3,4.The column pair 3,4 is OK becauseL1, L2are orthogonal. For example, why does the pair of entries (2,3) occur in the last two columns? Because we know that there is a cell, exactly one, where L1 has entry 2 and L2 has entry 3. This is cell (2,1).

It is clear how this generalizes. A set of k MOLS of ordern produces an OA1(2, k + 2, n) (again, the first two columns index the cells, and each of the remaining k columns is determined by one of the Latin squares). This process can be reversed. Given anOA1(2, k+ 2, n),interpreting the first two columns as indexing the cells, each further column will describe an (n, n)- array. By the definition of an OA, all these arrays are Latin squares, and they are mutually orthogonal. We have seen thatkMOLS of ordernare equivalent to an OA1(2, k+ 2, n). In other words, the theory of OA of strength 2 and index 1 is identical to the theory of sets of mutually orthogonal Latin squares.

3.16 Theorem. The following are equivalent:

• AnOA1(2, n, q), n≥3.

• A set ofn−2 mutually orthogonal Latin squares of order q.

Back to duality

Here is one of our main theorems:

3.17 Theorem(principle of duality). LetC ⊆Fn

q be a linear subspace. Then the minimum distance of C and the strength ofC are related by

d(C) =t(C) + 1.

As an illustration, consider the code [4,2,3]4given in the preceding section.

As it has only 16 codewords, its strength is at most 2.We can check that when we run our fingers down any two columns, each pair of entries occurs precisely once. This means that the strength is indeed 2.As an orthogonal array the parameters are therefore

OA1(2,4,4).

The principle of duality gives a fancy proof for the fact that the sum-zero code hasd= 2,as follows: the repetition code has as generator matrix (1,1, . . . ,1).

This matrix is 1-independent (as it has no 0 entries) but of course not 2- independent. Theorem 3.15 states that the dual of the repetition code has minimum distance 1 + 1 = 2.

The principle of duality also allows us to construct Hamming codes and Simplex codes in the generalq-ary case. The binary case is in Section 2.5.

Hamming codes and Simplex codes

For every prime-power q and dimension r write a matrix Mr(q) with en- tries inFq such that the columns are representatives for the one-dimensional subspaces inFrq.This means that

• There is no 0 column.

• No two columns are multiples of each other.

• The matrix is maximal with these properties, meaning that, for every nonzeror-tuple, some nonzero multiple of it is a column ofMr(q).

The number of columns is then (qr−1)/(q−1).

M3(3) =

1001111001111 0101200111122 0010012121212

.

This matrix has 13 = (33−1)/(3−1) columns of length 3.For each nonzero ternary triple, either this triple or its negative is a column ofM3(3).

Let us use Mr(q) as the check matrix of a code, a q-ary Hamming code.

Clearly the length is (qr−1)/(q−1) and the dimension is (qr−1)/(q−1)−r.

By definition,Mr(q) is 1-independent (no 0 column) and 2-independent (no two columns are multiples of each other). This means that the code generated by Mr(q) has strength 2 (this is the Simplex code) and, by the principle of duality, that the code withMr(q) as the check matrix has minimum distance 3.

3.18 Theorem. The Hamming codeHr(q)is the code with check matrix an(r,(qr−1)/(q−1))-matrixMr(q)whose columns are representatives of the one-dimensional subspaces. Then Hr(q)is an [qr−1

q−1 ,qr−1

q−1 −r,3]q code.

The Hamming code is perfect.

PROOF It remains to show that the Hamming codes are perfect. We have seen that the minimum distance ofHr(q) isd= 3.In the terminology of the sphere-packing bound Theorem 1.13, we have e= 1.The volume of the ball of radius 1 is Vq(1, n) = 1 + (q−1)n. As n = (qr−1)/(q−1), we get Vq(1, n) =qr,hence|Hr(q)| ·Vq(1, n) =qn.

The Simplex codeSr(q) =Hr(q) is a [qr−1

q−1, r, qr−1]q code.

Conclusion

The principle of duality, although rather elementary, is very important.

One could almost say it distinguishes coding theorists from the rest of the world. If you really understand it you may (almost) call yourself a coding theorist. We saw that duality motivates the definition of orthogonal arrays.

Again, technically this is easy to understand. The theory of linear orthogonal arrays is the theory of dual linear codes, hence of linear codes. However, the strength invites applications which are very different from the application of the minimum distance we considered so far. As it is so important to under- stand the principle of duality, we sum up and visualize: in order to determine the minimum distance dof a code C, we have to determine the maximum t

such that a check matrixH ofC ist-independent. Thend=t+ 1.If we know a generator matrixG of C, we can bring it in standard form at first (using Gauß elimination), then applyP-transformation, meaning the trick described in Lemma 2.14 for the binary case and in Exercise 3.4.2 for the general case.

The result is a check matrix.

C C

G(C)=H(C ) G(C)=H(C

C H(C)=G( )

P

H(C) is t−wise independent C has minimum dista nce d>t

FIGURE 3.1: Principle of duality

codeC −→ dual codeC

lengthn −→ lengthn

dimensionk −→ complementary dimension n−k strengtht −→ distancet+ 1

distanced −→ strengthd−1

1. Thedual C of a linear code C is defined with respect to the dot product. Dual codes have complementary dimensions.

2. The rows of agenerator matrixofC form a basis.

3. Acheck matrixofCis a generator matrix ofC. 4. Thestrengthis the most important parameter of an

orthogonal array.

5. The principle of duality for linear codes states that the minimum distance ofCis one more than the strength of its dual.

6. Two trivial families of codes, thesum-zero codesand the repetition codes,are related by duality.

7. Pick a prime-powerq and a natural numberr.

8. Write a matrixMr(q) withrrows and (qr−1)/(q−1) columns, whose columns are representatives for the

one-dimensional subspaces ofFrq.

9. Then Mr(q) is a generator matrix of theSimplex codeSr(q) (of dimension r) and a check matrix of the Hamming code Hr(q).

10. Hr(q) is a perfect code with minimum distance 3.

11. Every nonzero codeword ofSr(q) has weightqr−1.

Exercises 3.4

3.4.1. Prove that the dual of the linear repetition code of lengthnis the sum- zero code.

3.4.2. Prove the following generalization of Lemma 2.14: Let a generator matrix for a code [n, k]q be written in the form G = (I|P). Then a check matrix is H = (−Pt|I). Here I inG is the (k, k)-unit matrix, the I in H is the (n−k, n−k)-unit matrix and Pt is the transpose ofP.

3.4.3. Consider the following quaternary matrixH :

1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1ω ω1 1 1 0 0 0 1 1 1 ω ω ω ω ω ω 0 0 1 0 0 0 1ω ω1ω ω1ω ω 1 ω ω 1 ω ω

Determine the strength of the orthogonal array generated by H and the parameters of the quaternary code with H as check matrix.

Here F4={0,1, ω, ω2=ω}.What is the name of this code?

3.4.4. Determine the parameters of the binary code with the following check matrix (this is easy):

1 1 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 0 1

.

More interesting is the code with this matrix as generator matrix.

Determine its parameters.

3.4.5. Determine the parameters of the quaternary code with the following check matrix:

0 0 1 1 ω ω 0ω 0ω ω ω 1 1 1 1 1 1

.

3.4.6. Same problem as before. The check matrix is

1 0 0 1ω ω 0 1 0 1ω ω 0 0 1 1 1 1

.

Prove your result.

3.4.7. What is the smallest lengthnsuch that a code[n,7,3]3 exists?

(Hint: think of the Hamming codes.) Show your argument.

3.4.8. Construct three pairwise orthogonal Latin squares of order 4 and the corresponding OA of index1.Determine its parameters when seen as a code.

Dalam dokumen Discrete Mathematics and Coding Theory (Halaman 76-84)