4.3 New Codes from Old
49
Lemma 4.3.1 Let C = [n, k, d] q m be a linear code over F q m , where q is a prime
power. Let C
⊥ be the dual of the code C. Then the dual code of the q-ary expansion
β(C) of the code C with respect to the basis β is the q-ary expansion β
⊥
(C
⊥
) of the
dual code C
⊥ with respect to β
⊥ .
4.3.4 Direct Sum and Direct Product
To perform the direct sum of linear codes is a well-known method to obtain more
linear codes. Let us recall this technique.
Definition 4.3.6 Let C 1 = [n 1 , k 1 , d 1 ] q and C 2 = [n 2 , k 2 , d 2 ] q be two linear codes
both over F q . Then the direct sum code C 1 ⊕ C 2 is the linear code given by
C 1 ⊕ C 2 = {(c 1 , c 2 )|c 1 ∈ C 1 , c 2 ∈ C 2 }.
From construction, it is easy to see that the code C 1 ⊕ C 2 has parameters [n 1 +
n 2 , k 1 + k 2 , min{d 1 , d 2 }] q .
Assume that C i has generator matrix G i and parity check H i , for i = 1, 2. Then
C 1 ⊕ C 2 has a generator matrix of the form
G 1 ⊕ G 2 =
G 1 0
0 G 2
,
and a parity check matrix given by
H 1 ⊕ H 2 =
H 1 0
0 H 2
.
Exercise 4.3.2 Show that the direct sum code is linear. Show also that G 1 ⊕ G 2 and
H 1 ⊕ H 2 are, in fact, a generator and a parity check matrix for C 1 ⊕ C 2 .
We next define the product code obtained by means of tensor product of matrices.
Definition 4.3.7 Let us assume that C 1 = [n 1 , k 1 , d 1 ] q and C 2 = [n 2 , k 2 , d 2 ] q are
two linear codes over F q . Then the direct product C 1 ⊗ C 2 is a linear code over
F q with parameters [n 1 n 2 , k 1 k 2 , d 1 d 2 ] q . The codewords of C 1 ⊗ C 2 consist of all
n 1 × n 2 arrays such that the columns belong to C 1 and the rows to C 2 .
Let G i be a generator matrix for the code C i , for i = 1, 2. Then the Kronecker
product G 1 ⊗ G 2 (cf. Definition 1.7.14) is a generator matrix for the code C 1 ⊗ C 2 .
Exercise 4.3.3 Prove that C 1 ⊗ C 2 is linear and has parameters [n 1 n 2 , k 1 k 2 , d 1 d 2 ] q .
Show also that G 1 ⊗ G 2 is a generator matrix for C 1 ⊗ C 2 .
49
Lemma 4.3.1 Let C = [n, k, d] q m be a linear code over F q m , where q is a prime
power. Let C
⊥ be the dual of the code C. Then the dual code of the q-ary expansion
β(C) of the code C with respect to the basis β is the q-ary expansion β
⊥
(C
⊥
) of the
dual code C
⊥ with respect to β
⊥ .
4.3.4 Direct Sum and Direct Product
To perform the direct sum of linear codes is a well-known method to obtain more
linear codes. Let us recall this technique.
Definition 4.3.6 Let C 1 = [n 1 , k 1 , d 1 ] q and C 2 = [n 2 , k 2 , d 2 ] q be two linear codes
both over F q . Then the direct sum code C 1 ⊕ C 2 is the linear code given by
C 1 ⊕ C 2 = {(c 1 , c 2 )|c 1 ∈ C 1 , c 2 ∈ C 2 }.
From construction, it is easy to see that the code C 1 ⊕ C 2 has parameters [n 1 +
n 2 , k 1 + k 2 , min{d 1 , d 2 }] q .
Assume that C i has generator matrix G i and parity check H i , for i = 1, 2. Then
C 1 ⊕ C 2 has a generator matrix of the form
G 1 ⊕ G 2 =
G 1 0
0 G 2
,
and a parity check matrix given by
H 1 ⊕ H 2 =
H 1 0
0 H 2
.
Exercise 4.3.2 Show that the direct sum code is linear. Show also that G 1 ⊕ G 2 and
H 1 ⊕ H 2 are, in fact, a generator and a parity check matrix for C 1 ⊕ C 2 .
We next define the product code obtained by means of tensor product of matrices.
Definition 4.3.7 Let us assume that C 1 = [n 1 , k 1 , d 1 ] q and C 2 = [n 2 , k 2 , d 2 ] q are
two linear codes over F q . Then the direct product C 1 ⊗ C 2 is a linear code over
F q with parameters [n 1 n 2 , k 1 k 2 , d 1 d 2 ] q . The codewords of C 1 ⊗ C 2 consist of all
n 1 × n 2 arrays such that the columns belong to C 1 and the rows to C 2 .
Let G i be a generator matrix for the code C i , for i = 1, 2. Then the Kronecker
product G 1 ⊗ G 2 (cf. Definition 1.7.14) is a generator matrix for the code C 1 ⊗ C 2 .
Exercise 4.3.3 Prove that C 1 ⊗ C 2 is linear and has parameters [n 1 n 2 , k 1 k 2 , d 1 d 2 ] q .
Show also that G 1 ⊗ G 2 is a generator matrix for C 1 ⊗ C 2 .
