The Dual Code and The Parity-Check Matrix: If Is A Linear Code
The Dual Code and The Parity-Check Matrix: If Is A Linear Code
The Dual Code and The Parity-Check Matrix: If Is A Linear Code
x · y = x1 y1 + x2 y2 + · · · + xn yn
(i) (x + y) · z = x · y + y · z;
(iii) x · y = y · x.
(ii)
C = {0000, 1000, 0100, 1100},
C ⊥ = {0000, 0010, 0001, 0011}.
30
Proof (i) If y, y ′ ∈ C ⊥ , then
x · y = x · y ′ = 0 for all x ∈ C
⇒ x · (y + y ′) = 0 for all x ∈ C,
x · (λy) = 0 for all x ∈ C.
(ii)
xGT = 0 ⇐⇒ x[r1T , . . . , rkT ] = 0 ⇐⇒ x · riT = 0 for all i ⇐⇒ x · ri = 0 for all i,
Proof (i) By Lemma 7.5, C ⊥ is a linear code of length n over Fq . If G is a generator matrix
for C, with rows r1 , . . . , rk and columns c1 , . . . , cn , then
r1
G = [c1 , . . . , cn ] = ... .
rk
Then
n = dim(ker ϕ) + dim(im ϕ). (7.1)
As rank G = k, considering im ϕ in terms of the columns of G, so dim(im ϕ) = k. Hence,
from (7.1) dim(ker ϕ) = n − k.
Aliter, let G = [Ik A] be a generator matrix for C, then x ∈ C ⊥ ⇔ GxT = 0:
x1
1 0 ··· 0 a11 · · · a1,n−k ..
0 1 ··· 0 a21 · · · a2,n−k .
.. .. xk ;
. . .
..
0 ··· 1 ak1 · · · ak,n−k
xn
31
So any choice can be made for xk+1 , . . . , xn ; then x1 , . . . , xk are determined. Hence C ⊥ = q n−k .
Hence dim C ⊥ = n − k.
(ii) G = [Ik A], H = [−AT In−k ], rank H = n − k. Then
T −A
GH = [ Ik A ] = Ik (−A) + AIn−k = −A + A = 0.
In−k
dim (C ⊥ )⊥ = n − (n − k) = k.
If x = (x1 , x2 , x1 + x2 , x1 , x2 ) ∈ C3 ,
x1 + x2 + x3 = 0,
x1 + x4 = 0,
x2 + x5 = 0,
x = (x1 , x2 , x1 + x2 , x1 , x2 ).
32
Explanation for the term parity-check matrix If u = u1 · · · uk v1 · · · vn−k , where the
message symbols are u1 · · · uk ,
HuT = 0,
u1
..
.
u
c1 c2 · · · ck e1 e2 · · · en−k k ,
v1
.
..
vn−k
u1
..
.
uk
B | In−k = 0,
v1
.
..
vn−k
u1
.
b11 · · · b1k 1 0 ··· 0 ..
b21 · · · b2k 0 1 ··· 0 uk
.. .. .. = 0,
v1
. . .
· · · 1 ...
bn−k,1 · · · bn−k,k 0 0
vn−k
k
X
bij uj + vi = 0, for i = 1, . . . , n − k.
j=1
Syndrome Decoding
Definition 7.14. Let H be a parity-check matrix for the [n, k]-code C. Then for any y ∈
V (n, q),
sH (y) = yH T = (Hy T )T
is the syndrome of y, a vector of length n − k.
Lemma 7.15. (i) yH T = 0 ⇐⇒ y ∈ C;
(ii) x + C = y + C ⇐⇒ x and y have the same syndrome;
(iii) There exists a one to one correspondence between cosets and syndrome.
33
Algorithm 7.16. I. Set up 1-1 correspondence between coset leaders and syndromes.
II. If y is a received vector, calculate the syndrome s = yH T .
IV. Correct y to y − e.
Now much less needs to be stored, namely just coset leaders and syndromes.
Example 7.17. C3 = {00000, 10110, 01101, 11011} Single error-correcting [5, 2]-code.
1 1 1 0 0
1 0 1 1 0
G= H= 1 0 0 1 0
0 1 1 0 1
0 1 0 0 1
coset leader 00000 10000 01000 00100 00010 00001 11000 10001
syndrome 000 110 101 100 010 001 011 111
If the received message appears in the last two cosets we need to ask for retransmission,
since the weight of the coset leader is 2.
(i) y = 11110, yH T = 101, e = 01000,
x = y − e = y + e = 10110.
x = y + e = 01101.
if and only if some d columns of H are linearly dependent but every d−1 columns are linearly
independent.
x1 c1 + · · · + xn cn = 0.
Now, x has weight d − 1 ⇐⇒ ∃j1 , . . . , jd−1 ∈ N such that xj1 , . . . , xjd−1 6= 0 and all other
xj = 0 ⇐⇒ xj1 cj1 + · · · + xjd−1 cjd−1 = 0. Hence there exists no word of weight d − 1 if and
only if every d − 1 columns are linearly independent.
Similarly x is a word of weight d if and only if there exists i1 , . . . , id ∈ N such that
xi1 , . . . , xid 6= 0 and all other xi = 0; this occurs if and only if xi1 ci1 + · · · + xid cid = 0. Hence
there exists a word of weight d if and only some d columns are linearly dependent.
34
Corollary 7.19. (Singleton bound) For an [n, k, d]-code,
d ≤ n − k + 1.
Definition 7.21. An [n, k, d]-code over Fq with d = n−k +1 is maximum distance separable,
abbreviated MDS.
35