MDS Codes

MDS CODES
SIMEON BALL
The main aim of this chapter will be to prove the MDS conjecture, which is a conjecture
relating to maximum distance separable (MDS) codes. The conjecture can be stated without reference to MDS codes and was first proposed, or at least considered, by Beniamino
Segre in the 1950’s when coding theory was still in its inception. We will not state the
full conjecture to begin with, but as a motivation we will state a direct consequence of
the proof of the conjecture over prime fields.
Theorem 1. Let p be a prime and k be a positive integer, such that 2 ≤ k ≤ p. A
k × (p + 2) integer matrix has a k × k submatrix whose determinant is zero modulo p.
We shall prove a lot more than Theorem 1 but for the moment we just note that it is
optimal in two ways. If k = p + 1 then it is not true that a k × (p + 2) integer matrix has
a k × k submatrix whose determinant is zero modulo p. For example, is we extend the
(p+1)×(p+1) identity matrix with a column of all ones. then the resulting (p+1)×(p+2)
matrix is a matrix all of whose (p+1)×(p+1) submatrices have determinant ±1. It is also
not true that if k ≤ p then a k × (p + 1) integer matrix must have a k × k submatrix whose
determinant is zero modulo p. We can construct a k × (p + 1) matrix from Example 8,
all of whose k × k submatrices are not zero modulo p.
1. Block codes
Let A be a finite set and let n be a positive integer. A code C is a subset of An and n is the
length of the code. The Hamming distance d(x, y) between any two elements x, y ∈ An is
the number of coordinates in which they differ. The minimum distance d of a code C is
the minimum Hamming distance between any two elements of C.
The code C can be used to communicate over a noisy channel in the following way. Each
possible message m which can be sent is assigned to an element f (m) ∈ C. The n-tuple
f (m) is sent down the channel and an n-tuple u is received. The element x ∈ C which
minimises the Hamming distance to u is found by means of some decoding algorithm
(at worst by calculating the Hamming distance of u to each element of x in turn). The
message is then decoded as f −1 (x). In this way the code C is able to correct up to
b(d − 1)/2c errors in the transmission of a message.
The bound in the following theorem is called the Singleton bound.
Date: 27 March 2013.
1
2
SIMEON BALL
Theorem 2. A code C ⊆ An with minimum distance d satisfies
|C| ≤ |A|n−d+1 .
Proof. Consider any n − (d − 1) coordinates. Two elements x, y ∈ C must differ on these
coordinates since d(x, y) ≥ d.
A code for which |C| = |A|n−d+1 is called maximum distance separable (MDS).
A linear code is a subspace of Fnq , where Fq denotes the finite field with q elements. A linear
code of dimension k has q k elements and so is an MDS code if and only if k = n − d + 1.
The weight wt(x) of a vector x ∈ Fnq is the number of non-zero coordinates of x.
Lemma 3. The minimum weight of a linear code C is equal to d.
Proof. As x and y vary over distinct elements of C the vector x−y varies over the non-zero
vectors of C.
If we permute the coordinates of all the elements in the code C with the same permutation
then we obtain another code with the same parameters. Also, if we fix a coordinate and
apply the same permutation of the symbols to this coordinate in all the elements of the
code, we again obtain another code with the same parameters. Any code obtained in this
way is said to be equivalent to the code C.
2. Linear MDS codes
The following two examples of linear MDS codes will turn out to be optimal for certain
values of k. They will be optimal in the sense that they maximize d (and hence n since
n = d + k − 1) for a fixed k and q.
Example 4. The subspace
C = {(x1 , x2 , . . . , xk , x1 + · · · + xk ) | (x1 , . . . , xk ) ∈ Fkq }.
is a linear MDS code with n = k + 1.
Proof. The minimum weight of C is 2, so by Lemma 3, d = 2. Clearly n − k + 1 = 2. The following example is called the Reed-Solomon code. In some texts it is referred to as
the extended Reed-solomon code.
Example 5. Let Fq = {a1 , a2 , . . . , aq }. The subspace
C = {(f (a1 ), f (a2 ), . . . , f (aq ), fk−1 ) | f ∈ Fq [X], deg f ≤ k − 1},
where fk−1 is the coefficient of X k−1 of the polynomial f , is a linear MDS code with
n = q + 1.
MDS CODES
3
Proof. Firstly note that C is linear, since any linear combination of polynomials of degree
at most k − 1 is a polynomial of degree at most k − 1.
A polynomial in one variable of degree δ has at most δ zeros. Hence, each non-zero vector
u ∈ C has at most k − 1 zero coordinates. Note that if fk−1 = 0 then f is a polynomial
of degree at most k − 2.
Thus, wt(u) ≥ n − (k − 1) and so by Lemma 3 we have d ≥ n − k + 1. By Theorem 2,
d ≤ n − k + 1 and so d = n − k + 1 and C is an MDS code.
Let G be a k × n matrix whose rows are a basis for C. The matrix G is called a generator
matrix for C, since
C = {xG | x ∈ Fkq }.
The following lemma removes any need to talk about MDS codes although we will still
refer to the codes for convenience (more than anything when we introduce dual codes).
Lemma 6. The matrix G is a generator matrix of an MDS code if and only if every
subset of k columns of G is linearly independent.
Proof. The matrix G generates an MDS code if and only if xG has at most n − d = k − 1
zero coordinates, for all x ∈ Fkq if and only if xG0 6= 0 for each k × k submatrix G0 of G
and x ∈ Fkq if and only if G0 has rank k for each k × k submatrix G0 of G if and only if
the columns of G0 are linearly independent for each k × k submatrix G0 of G.
Lemma 6 allows us to ignore the code and, more importantly, the canonical basis because
the property that a set of k vectors are linearly independent does not depend on any basis.
Let Vk (F) denote the k-dimensional vector space over the field F.
Let S be a set of vectors of Vk (Fq ) with the property that every subset of S of size k is a
basis of Vk (Fq ).
The following example of such a set S generates Example 4 if we put the vectors of S as
columns of a generator matrix of a linear code.
Example 7. Let {e1 , . . . , ek } be a basis for Vk (Fq ). The set
S = {e1 , . . . , ek , e1 + e2 + · · · + ek },
is a set of n = k + 1 vectors with the property that every subset of S of size k is a basis
of Vk (Fq ).
The following example of such a set S generates Example 5 if we put the vectors of S as
columns of a generator matrix of a linear code. Note that, this generator matrix (with
q = p prime) is the k × (p + 1) matrix mentioned in the discussion after Theorem 1.
Example 8. The set
S = {(1, a, a2 , . . . , ak−1 ) | a ∈ Fq } ∪ {(0, . . . , 0, 1)}
4
SIMEON BALL
is a set of n = q + 1 vectors with the property that every subset of S of size k is a basis
of Vk (Fq ).
Proof. All k × k submatrices have Vandermonde determinants.
Clearly, since we want to maximise n, Example 7 is better than Example 8 when k ≥ q +1.
The following theorem shows that it is in fact best possible, up to equivalence.
Theorem 9. If C is a linear MDS code of dimension k ≥ q+1 and length n then n ≤ k+1.
Moreover, if n = k + 1 then it is equivalent to Example 4.
Proof. By Lemma 6, the set of columns of a generator matrix of the code C is a set S of
n vectors of Vk (Fq ) with the property that every subset of S of size k is a basis. We can
choose a basis {e1 , . . . , ek } of Vk (Fq ) so that
S 0 = {λ1 e1 , . . . , λk ek , e1 + · · · + ek } ⊆ S,
for some suitably chosen λ1 , . . . , λk ∈ Fq .
Suppose x ∈ S \ S 0 and that x = (x1 , . . . , xk ) with respect to the basis. Since x has
k ≥ q + 1 coordinates, by the pigeon-hole principle, xi = xj for some i 6= j. But then
the (k − 1)-dimensional subspace ker(xi − xj ) contains k vectors of S, which cannot occur
since these k vectors must be a basis. Thus, S = S 0 .
Theorem 9 implies that Example 4 is best possible for k ≥ q + 1, so we can restrict our
attention to the case k ≤ q. We would like to know if we can do better than Example 5,
the Reed-Solomon code. Example 13 will provide a better example, when k = 3 and q is
even, but first we need some general lemmas concerning Fq to be able to prove this.
Throughout, we assume that q = ph , where p is prime. The finite field Fq has characteristic
p, so any multiples of p are zero.
Lemma 10. The map f from Fq to Fq given by
f (x) = xp
e
is additive.
Proof. By the binomial theorem,
e
pe
f (x + y) = (x + y)
=
p e
X
p
j=0
j
e −j
xj y p
e
e
= xp + y p = f (x) + f (y).
In the following lemma gcd(e, a) indicates the greatest common divisor of two positive
integers a and e.
Lemma 11. If gcd(e, q − 1) = 1 then the equation xe = 1 has no solutions in Fq \ {1}.
MDS CODES
5
0
Proof. A solution to the equation xe = 1 generates a multiplicative subgroup {x, x2 , . . . , xe },
where e0 divides e. The multiplicative group of Fq has q − 1 elements, so e0 divides q − 1.
Since gcd(e, q − 1) = 1, e0 = 1 and x = 1.
Lemma 12. If gcd(e, a) = 1 then gcd(2e − 1, 2a − 1) = 1.
Proof. Suppose e > a. Then 2e −1 = 2e−a (2a −1)+(2e−a −1). Note that gcd(2e −1, 2a −1) =
gcd(2e−a − 1, 2a − 1), so we can repeat this process with 2e−a − 1 and 2a − 1. Repeating
this process induces Euclid’s algorithm in the exponents, so this process terminates with
2gcd(e,a) − 1 = 1.
Example 13. The set
S = {(1, a, aσ ) | a ∈ Fq } ∪ {(0, 0, 1)} ∪ {(0, 1, 0)},
where σ = 2e and gcd(e, h) = 1, is a set of n = q + 2 vectors with the property that every
subset of S of size 3 is a basis of F3q .
Proof. To show that the subsets are bases, we check that the relevant determinants are
non-zero. By Lemma 10 we have
1 t tσ 1 s sσ = sσ + tσ = (s + t)σ 6= 0,
0 1 0 and
1 t tσ
1 s sσ
1 u uσ
1 t tσ
= 0 r rσ
0 w wσ
tσ
1 1 t
= 0 r
rσ
r
σ
0 0 rw − wrσ
6= 0,
where r = s − t 6= 0, w = u − t 6= 0 and rwσ 6= wrσ , since (w/r)σ−1 = 1 has no non-trivial
solutions by Lemma 11 and Lemma 12.
If we put the vectors of S as columns of a generator matrix of a linear code then we
generate a linear MDS code of length n = q + 2 and dimension k = 3. There are other
known linear codes with these parameters, when q is even, which are not equivalent to the
code that we generate from Example 13. The corresponding set of vectors of F3q , viewed
as points in the projective plane PG(2, q) are called hyperovals.
3. Dual codes
Let b be the symmetric bilinear form on Vn (Fq ) defined by
b(x, u) = x1 u1 + x2 u2 + · · · + xn un ,
where x = (x1 , . . . , xn ), u = (u1 , . . . , un ) are coordinates with respect to the canonical
basis.
6
SIMEON BALL
The dual of a linear code C is its orthogonal subspace,
C ⊥ = {x ∈ Fnq | b(x, u) = 0 for all u ∈ C}.
Lemma 14. The subspace C ⊥ is a linear code of length n and dimension n − k.
Proof. Let e1 , . . . , ek be a basis for C. The linear map σ from Vn (Fq ) to Vk (Fq ) defined by
σ(x) = (b(x, e1 ), . . . , b(x, ek )),
has rank k and hence a kernel of dimension n − k.
Lemma 15. The dual of an MDS code is an MDS code.
Proof. Let C be an MDS code of length n and dimension k. We have to show that the
minimum distance of C ⊥ is n − (n − k) + 1 = k + 1.
Suppose that C ⊥ has minimum distance at most k. By Lemma 3, C ⊥ contains a non-zero
vector v of weight at most k. Let G be a generator matrix for C. The k columns of
G corresponding to the non-zero coordinates of v are linearly dependent, contradicting
Lemma 6.
Example 13 gives us a linear MDS code of length q + 2 and dimension 3. Therefore, the
dual of this code is an MDS code of length q + 2 and dimension q − 1. Example 5, the
Reed-Solomon code, is a linear code of length q + 1 and dimension k, so the dual of this
code is an MDS code of length q + 1 and dimension q + 1 − k. We will show that this dual
code is also a Reed-Solomon code which will be useful for when we attempt to classify
the longest MDS codes. Firstly, we need a simple to prove a simple property of the finite
field Fq .
Lemma 16.
X
i
a =
a∈Fq

 0
if i ∈ {0, . . . , q − 2}
 −1
if i = q − 1
Proof. Reversing the polynomial
Xq − X =
Y
(X − a),
a∈Fq
gives
1 − X q−1 =
Y
(1 − aX).
a∈Fq
Differentiating this polynomial gives
X
X q−2 = (
−a(1 − aX)−1 )(1 − X q−1 )
a∈Fq
MDS CODES
7
which gives
X q−2 (1 − X q−1 )−1 = −
∞
XX
aj+1 X j = −
a∈Fq j=0
∞
X


X

j=0
aj+1  X j .
a∈Fq
The lemma follows by considering the appropriate coefficient in this identity.
Lemma 17. The dual of a k-dimensional Reed Solomon code is a (q + 1 − k)-dimensional
Reed-Solomon code.
Proof. As in Example 5, label the elements of Fq = {a1 , . . . , aq }.
Let
D = {(g(a1 ), g(a2 ), . . . , g(aq ), gq−k ) | f ∈ Fq [X], deg g ≤ q − k},
where
g(X) =
q−k
X
gi X i .
i=0
Consider the scalar product b(u, v) of a vector u in Example 5 given by the polynomial
f (X) =
k−1
X
fj X j .
j=0
and a vector v ∈ D given by the polynomial g. Then,
b(u, v) = fk−1 gq−k +
k−1
XX
a∈Fq j=0
= fk−1 gq−k +
k−1
X
j=0
fj
q−k
X
i=0
gi
X
fj a
j
q−k
X
gi ai
i=0
ai+j = fk−1 gq−k − fk−1 gq−k = 0.
a∈Fq
⊥
by Lemma 16. Thus, D = C .
4. The MDS conjecture
Theorem 9 implies that if the dimension k of an MDS code is at least q + 1 then the
length n is at most k + 1 and, moreover, the codes meeting this bound are equivalent
to Example 4. The MDS conjecture is concerned with the case k ≤ q and states the
following.
Conjecture 18. For a linear MDS code of length n and dimension k ≤ q over Fq ,
n≤q+1
unless k = 3 or k = q − 1 and q is even, in which case n ≤ q + 2.
8
SIMEON BALL
Thus, if the MDS conjecture is true then we have already seen examples of the longest
MDS codes in Example 5 and Example 13 and its dual. In the cases that we can prove
the conjecture we will then be concerned with classifying the longest MDS codes.
To begin with, we shall prove a trivial upper bound for n and verify the conjecture for
k = 2 and k = q.
A (k − 1)-dimensional subspace of Vk (Fq ) is called a hyperplane.
Lemma 19. A (k − 2)-dimensional subspace of Vk (Fq ) is contained in exactly q + 1
hyperplanes.
Proof. An m-dimensional subspace of Vk (Fq ) contains q m vectors. Let U be a (k − 2)dimensional subspace. There are
q k − q k−2
=q+1
q k−1 − q k−2
hyperplanes containing U .
For any set of vectors A of Vk (Fq ), let hAi denote the subspace generated by the vectors
in A.
Let S be a set of n vectors of Vk (Fq ) with the property that every subset of S of size k is
a basis of Vk (Fq ).
Lemma 20. Let A ⊂ S be of size k − 2. There are exactly
t=q+k−1−n
hyperplanes H with the property that H ∩ S = A.
Proof. Firstly note that hAi is a (k − 2)-dimensional subspace, since A is a subset of S. A
hyperplane containing hAi contains at most one vector of S \ A. By Lemma 19, there are
q + 1 hyperplanes containing hAi, so there are precisely q + 1 − (n − (k − 2)) hyperplanes
containing hAi and no other vectors of S.
Lemma 21. For a linear MDS code of length n and dimension k over Fq ,
n ≤ q + k − 1.
Proof. By Lemma 6, the set of columns of a generator matrix of a linear MDS code of
length n and dimension k is a set of n vectors of Vk (Fq ) with the property that every
subset of S of size k is a basis. Now use Lemma 20 together with t ≥ 0.
Theorem 22. The MDS conjecture is true for k = 2 and k = q.
Proof. For k = 2 this is immediate from Lemma 21. If there is an MDS code of length
q + 2 and dimension q then, by Lemma 15, there is an MDS code of length q + 2 and
dimension 2.
MDS CODES
9
To prove the MDS conjecture over prime fields we will use two lemmas, one of which
comes from polynomial interpolation and the other of which is a generalised version of
what is known as Segre’s lemma of tangents. These lemmas will be proven in the next
three sections.
5. Polynomial Interpolation
Let F be a field and let f ∈ F[X] be a polynomial in one variable of degree t.
The following lemma is Lagrange interpolation.
Lemma 23. For a subset E ⊂ F of size t + 1,
X
Y
f (X) =
f (e)
e∈E
y∈E\{e}
X −y
.
e−y
Proof. The polynomial
f (X) −
X
e∈E
f (e)
Y
y∈E\{e}
X −y
.
e−y
has t + 1 zeros and is a polynomial of degree at most t. Hence, it is zero.
We wish to interpolate a homogenous polynomial in two variables f ∈ F[X1 , X2 ]. Note
that, if f has degree t then
f (X1 , X2 ) = X2t f (X1 /X2 , 1),
so we should be able to use Lemma 23 to deduce a similar formula for f (X1 , X2 ).
Lemma 24. For a subset E ⊂ F2 of size t + 1, with the property that (u1 , u2 ), (y1 , y2 ) ∈ E
implies u2 6= 0, y2 6= 0 and u1 /u2 6= y1 /y2 ,
Y
X
y2 X1 − y1 X2
f (e1 , e2 )
.
f (X1 , X2 ) =
e1 y2 − y1 e2
(y1 ,y2 )∈E\{(e1 ,e2 )}
(e1 ,e2 )∈E
Proof. The right-hand side is
X
X2t
f (e1 /e2 , 1)
(e1 ,e2 )∈E
Y
(y1 ,y2 )∈E\{(e1 ,e2 )}
X1 /X2 − y1 /y2
,
e1 /e2 − y1 /y2
which by Lemma 23 is
X2t f (X1 /X2 , 1).
Now we use Lemma 24 to prove the following lemma.
10
SIMEON BALL
Lemma 25. For a subset E ⊂ F2 of size t + 2, with the property that (u1 , u2 ), (y1 , y2 ) ∈ E
implies u2 6= 0, y2 6= 0 and u1 /u2 6= y1 /y2 ,
X
Y
f (x1 , x2 )
(x1 y2 − y1 x2 )−1 = 0.
(x1 ,x2 )∈E
(y1 ,y2 )∈E\{(x1 ,x2 )}
Proof. Let (x1 , x2 ) ∈ E. Applying Lemma 24 to E \ {(x1 , x2 )}, and writing y = (y1 , y2 ),
e = (e1 , e2 ) and x = (x1 , x2 ) where convenient,
X
Y y 2 x1 − y 1 x2
f (x1 , x2 ) =
f (e1 , e2 )
.
e1 y2 − y1 e2
e∈E\{x}
y∈E\{e,x}
and so
X
f (x1 , x2 ) = −
e∈E\{x}
f (e1 , e2 )
Y
Y
(y2 x1 − y1 x2 )
y∈E\{x}
(e1 y2 − y1 e2 )−1 .
y∈E\{e}
Hence
f (x1 , x2 )
Y
(y2 x1 − y1 x2 )−1 = −
y∈E\{x}
X
Y
f (e1 , e2 )
e∈E\{x}
(e1 y2 − y1 e2 )−1 .
y∈E\{e}
6. Tangent functions
Let S be a set of vectors of Vk (Fq ) with the property that every subset of S of size k is a
basis.
Let A ⊂ S be of size k − 2. By Lemma 20, there are exactly
t=q+k−1−n
hyperplanes intersecting S in precisely A.
Let α1 , . . . , αt be pairwise linearly independent linear forms with the property that
(ker αi ) ∩ S = A,
for i = 1, . . . , k.
Define
fA : Vk (Fq ) → Fq ,
by
fA (x) =
t
Y
αi (x).
i=1
We shall deduce two lemmas involving fA (x), the first of which follows directly from the
previous section’s results on polynomial interpolation.
MDS CODES
11
We introduce some notation in the following lemma, which we will use from now on. Also,
since we wish to talk about determinant involving subsets of S, we arbitrarily order the
elements of S and maintain this order throughout.
Suppose B1 , . . . , Br are ordered subsets of Vk (Fq ) and that |B1 ∪ · · · ∪ Br | = k. We write
det(B1 , B2 , . . . , Br )
to mean the determinant where we write the vectors in B1 (in order) first an then the
vectors in B2 , etc.. Note that
det(B1 ∪ B2 , B3 , . . . , Br )
would mean write the vectors in B1 ∪ B2 in order first and then the vectors in B3 , etc..,
so this can be different from the above. In the case that a subset Bi is a singleton set we
simply write the vector.
Lemma 26. For E ⊂ S \ A of size t + 2,
Y
X
fA (x)
det(x, y, A)−1 = 0.
x∈E
y∈E\{x}
Proof. Let B be a basis of Vk (Fq ) whose last k − 2 vectors are the vectors of A. Moreover,
select the first two elements in the basis B, so that the second coordinates of the vectors
in E are non-zero. Note that, for any a ∈ Fq , the hyperplane ker(X1 − aX2 ) contains at
most one vector of S \ A, since it contains all the vectors of A, and so E has the property
that if u, y ∈ E then u2 6= 0, y2 6= 0 and u1 /u2 6= y1 /y2 .
With respect to the basis B the linear map αi , whose kernel ker αi contains A, is linear
in just the first two coordinates, i.e. αi (x) = αi ((x1 , x2 )), where x = (x1 , . . . , xk ) with
respect to the basis B. Therefore, fA (x) is a homogeneous polynomial in two variables of
degree t, indeed
fA (x) = fA (x1 , x2 ).
Calculating, again with respect to the basis B,
det(x, y, A) = x1 y2 − y1 x2 ,
so, applying Lemma 25, the lemma follows.
7. Lemma of tangents
Let S be a set of vectors of Vk (Fq ) with the property that every subset of S of size k is a
basis.
The following lemma, with k = 3, is called the lemma of tangents. It is the other
ingredient, Lemma 26 being the first, that we will use to prove Conjecture 18 for k ≤ p.
Lemma 27. For a subset D ⊂ S of size k − 3 and {x, y, z} ⊂ S \ D,
fD∪{x} (y)fD∪{y} (z)fD∪{z} (x) = (−1)t+1 fD∪{x} (z)fD∪{y} (x)fD∪{z} (y)
12
SIMEON BALL
Proof. Let B = D ∪ {x, y, z}. Since B is a subset of S of size k, it is a basis of Fkq .
With respect to the basis B, the hyperplane hu, z, Di, where u ∈ S \ B is
ker(u2 X1 − u1 X2 ),
since {z}∪D is the set of the last k−2 vectors in the basis B. This gives us |S\B| = q−1−t
hyperplanes containing hz, Di.
Suppose that the tangent function fD∪z is
fD∪z (u) =
t
Y
αi (u),
i=1
where ker αi ∩ S = D ∪ {z} and α1 , . . . , αt are pairwise linearly independent.
With respect to the basis B, the linear map αi (X) is
αi (X) = αi1 X1 + αi2 X2 ,
since ker αi ⊃ D ∪ {z}. This gives us a further t hyperplanes containing hz, Di.
According to Lemma 19, there are q + 1 hyperplanes containing hz, Di, and the other two
are ker X1 = hy, z, Di and ker X2 = hx, z, Di.
The q − 1 hyperplanes containing hz, Di, not containing x or y, are
ker(X1 − aX2 ),
where a ∈ Fq \ {0}. Therefore,
t
Y
αi1 Y (−u2 )
=
α
u
i2
1
i=1
u∈S\B
Y
a = −1.
a∈Fq \{0}
With respect to the basis B, x = (1, 0, . . . , 0), and so
fD∪{z} (x) = fD∪{z} ((1, 0, . . . , 0)) =
t
Y
αi1 .
i=1
Similarly
fD∪{z} (y) =
t
Y
αi2 ,
i=1
and we have that
fD∪{z} (y)
Y
u∈S\B
u1 = (−1)t+1 fD∪{z} (x)
Y
u2 .
u∈S\B
Repeating the above. switching y and z gives,
Y
Y
u1 = (−1)t+1 fD∪{y} (x)
u3 .
fD∪{y} (z)
u∈S\B
u∈S\B
MDS CODES
13
And switching x and y gives,
fD∪{x} (z)
Y
Y
u2 = (−1)t+1 fD∪{x} (y)
u∈S\B
u3 .
u∈S\B
Combining these three equations gives,
fD∪{x} (y)fD∪{y} (z)fD∪{z} (x)
Y
u1 u2 u3
u∈S\B
Y
= (−1)t+1 fD∪{x} (z)fD∪{y} (x)fD∪{z} (y)
u1 u2 u3 .
u∈S\B
A simple consequence of Lemma 27 is the following lemma.
Lemma 28. For a subset D ⊂ S of size k − 3 and {x, y, z} ⊂ S \ D, switching x and y
in
fD∪{z} (x)fD∪{x} (y)
fD∪{x} (z)
changes the sign by (−1)t+1 .
Proof. This is immediate from Lemma 27.
This can be extended to the following lemma.
Lemma 29. For a subset D ⊂ S of size k − 4 and {x1 , x2 , x3 , z1 , z2 } ⊂ S \ D, switching
x1 and x2 , or switching x2 and x3 , or switching z1 and z2 , in
fD∪{z2 ,z1 } (x1 )fD∪{z2 ,x1 } (x2 )fD∪{x2 ,x1 } (x3 )
fD∪{z2 ,x1 } (z1 )fD∪{x2 ,x1 } (z2 )
changes the sign by (−1)t+1 .
Proof. This is immediate from Lemma 28.
As one could imagine this can be extended much further.
Let r ∈ {1, . . . , k − 2}.
Let D ⊂ S of size k − 2 − r and let A = {x1 , . . . , xr+1 } and B = {z1 , . . . , zr } be disjoint
subsets of S \ D.
Define
PD (A, B) =
fD∪{zr ,...,z1 } (x1 )fD∪{zr ...,z2 ,x1 } (x2 ) . . . fD∪{zr ,xr−1 ,...,x1 } (xr )fD∪{xr ...,x2 ,x1 } (xr+1 )
.
fD∪{zr ...,z2 ,x1 } (z1 ) . . . fD∪{zr ,xr−1 ,...,x1 } (zr−1 )fD∪{xr ...,x2 ,x1 } (zr )
14
SIMEON BALL
It will also be convenient to define PD (A, B) when A = {x1 , . . . , xr } and B = {z1 , . . . , zr },
which we do in the same way but deleting the final term in the numerator, so
PD (A, B) =
fD∪{zr ,...,z1 } (x1 )fD∪{zr ...,z2 ,x1 } (x2 ) . . . fD∪{zr ,xr−1 ,...,x1 } (xr )
.
fD∪{zr ...,z2 ,x1 } (z1 ) . . . fD∪{zr ,xr−1 ,...,x1 } (zr−1 )fD∪{xr ...,x2 ,x1 } (zr )
Now we extend Lemma 29.
Lemma 30. Let D ⊂ S of size k − 2 − r and let A = {x1 , . . . , xr+1 } or A = {x1 , . . . , xr }
and B = {z1 , . . . , zr } be disjoint subsets of S \ D. Swtiching the order in A (or B) by a
transposition changes the sign of PD (A, B) by (−1)t+1 .
Proof. Again, this follows immediately from Lemma 28.
For any subset D ⊂ F ⊂ S, we define
σ(D, F ) = (−1)(t+1)τ (D,F ) ,
where τ (D, F ) is the number of transpositions needed to order ((F \ D), D) as F .
For example, if F = {1, 2, 3, 4} and D = {2, 3}, then since
(1, 4, 2, 3) → (1, 2, 4, 3) → (1, 2, 3, 4),
we have that τ (D, F ) = 2 and σ(D, F ) = 1.
For any subsets A and B of S, where |A| = k − 2 or |A| = k − 1 and |B| = k − 2, define
Q(A, B) = PA∩B P (A \ B, B \ A).
Lemma 31. Suppose |A| = |B| = k − 2. For any x ∈ S \ (A ∪ B),
Q(A, B)fA (x) = σ({x}, (A ∪ {x}) \ B)Q(A ∪ {x}, B),
and for x ∈ B \ A,
Q(A, B)fA (x) = σ({x}, B \ A)Q(A ∪ {x}, B).
Proof. By definition,
f(A∩B)∪{zr ,...,z1 } (x1 )f(A∩B)∪{zr ...,z2 ,x1 } (x2 ) . . . f(A∩B)∪{zr ,xr−1 ,...,x1 } (xr )
,
Q(A, B) =
f(A∩B)∪{zr ...,z2 ,x1 } (z1 ) . . . f(A∩B)∪{zr ,xr−1 ,...,x1 } (zr−1 )f(A∩B)∪{xr ...,x2 ,x1 } (zr )
where A \ B = {x1 , . . . , xr } and B \ A = {z1 , . . . , zr }.
If x 6∈ B then simply reorder the numerator using Lemma 30.
If x ∈ B then reorder the denominator using Lemma 30 so that the last element is fA (x).
Then
f(A∩B)∪{zr ,...,z1 } (x1 )f(A∩B)∪{zr ...,z2 ,x1 } (x2 ) . . . f(A∩B)∪{zr ,xr−1 ,...,x1 } (xr )
,
Q(A, B)fA (x) =
f(A∩B)∪{zr ...,z2 ,x1 } (z1 ) . . . f(A∩B)∪{zr ,xr−1 ,...,x1 } (zr−1 )
where B \ (A ∪ {x}) = {z1 , . . . , zr−1 }, and this is Q(A ∪ {x}, B).
MDS CODES
15
8. Combining interpolation with the lemma of tangents
Let S be a set of vectors of Vk (Fq ) with the property that every subset of S of size k is a
basis.
As before, we arbitrarily fix an order on the elements of S.
Let E be a subset of S of size t + k and let F be the subset of E consisting of the first
k − 2 elements.
We now use Lemma 26 and Lemma 30 to prove the following lemma.
Lemma 32. For each A ⊆ E of size k − 2, let αA be a variable.
X X
C⊂E
|C|=k−1
Y
αA σ(F \ C, F )Q(C, F )
det(y, C)−1 = 0.
A⊂C
|A|=k−2
y∈E\C
Proof. By Lemma 26,
I(A, E) =
X
fA (x)
x∈E
Y
det(y, A, x)−1 = 0.
y∈E\{x}
Hence
X
αA σ(F \ A, F )Q(A, F )I(A, E \ A) = 0.
A⊂E
|A|=k−2
Now,
I(A, E \ A) =
X
fA (x)
x∈E\(A∪F )
Y
det(y, A, x)−1 +
y
X
fA (x)
x∈F \A
Y
det(y, A, x)−1
y
where the products runs over y ∈ E \ (A ∪ {x})).
Suppose x ∈ E \ (A ∪ F ). Clearly
σ(F \ A, A) = σ(F \ (A ∪ {x}, F ),
since x 6∈ F . By Lemma 31,
Q(A, F )fA (x) = σ({x}, (A ∪ {x}) \ F )Q(A ∪ {x}, F ).
And changing the order of the vectors in a determinant by a transposition changes the
sign by minus one, so
Y
Y
det(y, A, x)−1 = σ({x}, A ∪ {x})
det(y, A ∪ {x})−1 ,
y
y
where the products run over y ∈ E \ (A ∪ {x}).
Now, suppose x ∈ F \ A. Reordering, so as to put x in position first we have that
σ(F \ A, F ) = (−1)|F \A|(t+1) σ({x}, F \ A)σ({x}, (A ∪ {x}) ∩ F )σ(F \ (A ∪ {x}), F ).
16
SIMEON BALL
By Lemma 31,
Q(A, F )fA (x) = σ({x}, F \ A)Q(A ∪ {x}, F ),
and by the changing the order of the vectors in the determinants
Y
Y
det(y, A, x)−1 = (−1)|A\F |(t+1) σ({x}, (A ∪ {x}) ∩ F )
det(y, (A ∪ {x}) ∩ F, A \ F )−1 ,
y
y
where the products run over y ∈ E \ (A ∪ {x}).
Using all of the above, and noting that
X X
=
A⊂E x∈E\A
|A|=k−2
X
X
C⊂E
A⊂C
|C|=k−1 |A|=k−2
we have that, substituting C = A ∪ {x},
X
αA σ(F \ A, F )Q(A, F )I(A, E \ A)
A⊂E
|A|=k−2
=
X X
C⊂E
|C|=k−1
Y
αA σ(F \ C, F )Q(C, F )
det(y, C)−1 .
A⊂C
|A|=k−2
y∈E\C
To be able to prove Conjecture 18, we are now left with the task of finding suitable values
of αA so that we can obtain a contradiction, for t ≤ k − 3. One way of obtaining a
contradiction would be to show that we can assign values to αA so that
X
αA = 0,
A⊂C
|A|=k−2
for all subsets C ⊂ E of size k − 1, except one, C 0 say. Lemma 32 would then imply
Q(C 0 , F ) = 0, which it is not. This is what we do for k ≤ p and t = k − 3 in the next
section.
It is worth doing a quick count here to see how many equations and how many variables
we have. Let N denote the number of equations and let M denote the number of variables.
For each C ⊂ E of size k − 1 we have an equation, so
t+k
N=
.
k−1
And, for each A ⊂ E of size k − 2 we have a variable, so
t+k
M=
.
k−2
MDS CODES
17
Thus,
(t + k)!
(t + 2 − (k − 1)).
(k − 1)!(t + 2)!
Note that N ≤ M if and only if t ≤ k − 3 if and only if |S| ≥ q + 2.
N −M =
9. A proof of the MDS conjecture for k ≤ p.
Theorem 33. A linear MDS code of dimension k ≤ p over Fq has length n ≤ q + 1.
Proof. Let C be a linear MDS code of length q + 2, so t = k − 3. By Lemma 15 the dual
code C ⊥ is a linear MDS code of length q + 2 and dimension q + 2 − k. Thus, by taking
the dual code if necessary, we can assume that k ≤ q/2 + 1.
By Lemma 6, there is a set S of q + 2 vectors of Vk (Fq ) with the property that every
subset of S of size k is a basis of Vk (Fq ).
Since k + t = 2k − 3 ≤ q + 2, we can find a subset E of S of size t + k and let F be the
subset of the first k − 2 vectors of E.
By Lemma 32,
X X
C⊆E
|C|=k−1
αA σ(F \ C, F )Q(C, F )
A⊂C
|A|=k−2
Y
det(y, C)−1 = 0.
y∈E\C
Let
αA = (k − 2 − r)!r!(−1)r ,
where r = |A \ F |.
Suppose C \ F 6= C. If |C \ F | = r and A ⊂ C of size |C| − 1 then either |A \ F | = r or
|A \ F | = r − 1. There are k − 1 − r subsets A for which |A \ F | = r and r subsets A for
which |A \ F | = r − 1. Hence
X
αA = (k − 1 − r)(k − 2 − r)!r!(−1)r + r(k − 1 − r)!(r − 1)!(−1)r−1 = 0.
A⊂C
|A|=k−2
Now, suppose C \ F = C, in other words C = E \ F . For any subset A ⊂ C of size k − 2,
A \ F = A and so |A \ F | = k − 2. Thus
X
αA = (k − 1)(k − 2)!(−1)k−2 = (k − 1)!(−1)k−2 .
A⊂C
|A|=k−2
Therefore, since
Q(E \ F, F )
Y
y∈E\C
det(y, C)−1 6= 0,
18
SIMEON BALL
we have (k − 1)! = 0, and so k ≥ p + 1.
10. More examples of MDS codes of length q + 1
We have seen only three examples of MDS codes so far (and their duals), Example 4 of
length n = k + 1, Example 5 of length n = q + 1 and the hyperoval codes, Example 13 of
length n = q + 2 when k = 3 and q is even. As mentioned before, there are many other
examples of hyperovals, all of which can be shortened to MDS codes of length q + 1, but
apart from these there are only two further examples of MDS codes of length n = q + 1
currently known. These are Example 34 and Example 35. We shall construct the set S
which is the set of columns of the generator matrix of the code, see Lemma 6.
Example 34. The set
S = {(1, a, aσ , aσ+1 ) | a ∈ Fq } ∪ {(0, 0, 0, 1)},
where σ = 2e and gcd(e, h) = 1, is a set of q + 1 vectors with the property that every
subset of S of size 4 is a basis of V4 (Fq ).
Proof. Let

eσ+1
 eσ c
M =
 cσ e
cσ+1
eσ b
eσ d
cσ b
cσ d
ebσ
bσ c
dσ e
cdσ

bσ+1
bσ d 
.
dσ b 
dσ+1
By direct calculation,
 
(e + bt)σ+1
1
  (e + bt)σ (c + td)
 t
 
M
 tσ  =  (e + td)(c + td)σ
(c + td)σ+1
tσ+1





Suppose A is the 4 × 4 matrix whose i-th column is the transpose of (1, ti , tσi , tσ+1
). We
i
have to show that det A 6= 0. Choose e, b, c, d, so that c + dt1 = 0, e + bt2 = 0 and
e + bt3 = c + dt3 . Then


1 0 1 (e + bt4 )σ+1
 0 0 1 (e + bt4 )σ (c + dt4 ) 

det M A = (e + bt1 )σ+1 (c + dt2 )σ+1 (e + bt3 )σ+1 det 
 0 0 1 (c + dt4 )σ (e + bt4 )  .
0 1 1 (c + dt4 )σ+1
The right-hand side is (e + bt4 )σ+1 (u + uσ ), where u = (c + dt4 )/(e + bt4 ). This is non-zero
since uσ−1 = 1 has no non-trivial solutions in Fq , by Lemma 11 and Lemma 12. Hence,
det M 6= 0 and det A 6= 0. Note that if we start off with the transpose of (0, 0, 0, 1) as one
of the columns of A then the same proof works.
MDS CODES
19
Example 35. The set
S = {(1, a, a2 + ηa6 , a3 , a4 ) | a ∈ F9 } ∪ {(0, 0, 0, 0, 1)},
where η 4 = −1, is a set of 10 vectors with the property that every subset of S of size 5 is
a basis of V5 (F9 ).
Proof. Suppose A is the 5 × 5 matrix whose i-th row is (1, ti , t2i + ηt6i , t3i , t4i ). We have to
show that det A 6= 0.
Suppose that det A = det(1, ti , t2i + ηt6i , t3i , t4i ) = 0. Then
det(1, ti , t2i , t3i , t4i ) = −η det(1, ti , t6i , t3i , t4i ).
By Lemma 10 the map x → x3 is additive, so
det(1, t3i , t6i , ti , t4i ) = −η 3 det(1, t3i , t2i , ti , t4i ),
and so
det(1, ti , t6i , t3i , t4i ) = −η 3 det(1, ti , t2i , t3i , t4i ).
Thus,
det(1, ti , t2i , t3i , t4i ) = η 4 det(1, ti , t2i , t3i , t4i ).
Since by assumption all the ti are distinct, det(1, ti , t2i , t3i , t4i ) 6= 0 and so η 4 = 1, which it
is not.
The case in which the matrix A contains the row (0, 0, 0, 0, 1) is similar.
11. Classification of linear MDS codes of length q + 1 for k ≤ p.
Suppose that C is a linear MDS code of length q + 1 and dimension k ≤ p. By Lemma 6,
there is a set S of q + 1 vectors of Vk (Fq ) with the property that every subset of S of size
k is a basis of Fkq .
Let E be a subset of S of size t + k = 2k − 2 and let F be a subset of E of size k − 2.
Label the elements of B = E \ F = {e1 , e2 , . . . , ek }.
Lemma 36. There exist c1 , c2 , . . . , ck ∈ Fq , not depending on F such that
k
X
j=1
cj
Y
det(y, B \ {ej })−1 = 0.
y∈F
Proof. For each subset A ⊂ E of size k − 2, let
αA = (k − 2 − r)!r!(−1)r ,
where |A \ F | = r. Lemma 32 implies,
X X
Y
αA σ(F \ C, F )Q(C, F )
det(y, C)−1 = 0.
C⊆E
|C|=k−1
A⊂C
|A|=k−2
y∈E\C
20
SIMEON BALL
If C 6⊂ B then C ∩ F 6= ∅. Suppose |C \ F | = r and so |C ∩ F | = k − 1 − r. Then
X
αA = (k − 1 − r)(k − 2 − r)!r!(−1)r + r(k − 1 − r)!(r − 1)!(−1)r−1 = 0.
A⊂C
|A|=k−2
If C ⊂ B then C ∩ F = ∅. For all subsets A ⊂ C, we have |A \ F | = A and so
X
αA = (k − 1)(k − 2)!(−1)k−2 = (k − 1)!(−1)k−2 .
A⊂C
|A|=k−2
Moreover, F \ C = F , so σ(F \ C, F ) = 1.
Since k ≤ p. we have that
k
X
Q(B \ {ej }, F )
j=1
Y
det(y, B \ {ej })−1 = 0.
y∈(F ∪{ej })
which gives
k
X
P∅ (B \ {ej }, F ) det(ej , B \ ej })−1
j=1
Y
det(y, B \ {ej })−1 = 0.
y∈F
Using Lemma 30 to reorder the elements in B \ {ej } and B \ {e1 },
cj =
σ(e1 , B \ {ej })fB\{ej ,e1 } (e1 )
P∅ (B \ {ej }, F )
det(ej , B \ {ej })−1 =
det(ej , B \ {ej })−1 ,
P∅ (B \ {e1 }, F )
σ(ej , B \ {e1 })fB\{ej ,e1 } (ej )
and so does not depend on F .
Dividing the above sum by P∅ (B \ {e1 }, F ) gives
k
X
j=1
cj
Y
det(y, B \ {ej })−1 = 0.
y∈F
It may be worth noting that we have all but proved the next theorem for k = 3. For k = 3
this was Segre’s original theorem from 1956. As we see now, it extends much further. As
we have seen in Example 13 (by shortening), Example 34 and Example 35, there are MDS
codes of length q + 1 that are not equivalent to Reed-Solomon codes, so some restriction
on k in the Theorem 37 is necessary.
Theorem 37. If k ≤ p then an MDS code of dimension k and length q + 1 is equivalent
to Example 5, the Reed-Solomon code.
MDS CODES
21
Proof. Suppose F = {u1 , . . . , uk−2 }, let x ∈ S \ E. For each i = 1, . . . , k − 2, applying
Lemma 36 to (F \ ui ) ∪ {x}, in place of F , gives
k
X
Y
cj det(x, B \ {ej })−1
j=1
det(y, B \ {ej })−1 = 0.
y∈F \{ui }
This is a system of k − 2 equations given by the (k − 2) × k matrix M with ij-th entry
Y
cj
det(y, B \ {ej })−1 .
y∈F \{ui }
With respect to the basis B, suppose that ui = (ui1 , . . . , uik ) and that x = (x1 , . . . , xk ),
Multiplying the j-th column of M by
(−1)j+1 c−1
j
Y
det(y, B \ {ej })−1
y∈F
gives a (k − 2) × k matrix with ij-th entry
det(ui , B \ {ej }) = uij .
Since u1 , . . . , uk−2 are linearly independent, this matrix has rank k − 2 and hence so
does the matrix M . Thus, the solution to the system of equations defined by M has a
two-dimensional kernel. This kernel has a basis which, after a suitable relabelling of the
coordinates, we can assume to be
−1
{det(x, B \ {e1 })−1 , det(x, B \ {e2 })−1 } = {x−1
1 , x2 }
For j = 1, . . . , k − 2, there are αj , βj ∈ Fq such that
−1
−1
x−1
j = αj x1 + βj x2 ,
for all x ∈ S \ E. This solution does not depend on F , so we can repeat the above with
F replaced by (F \ u) ∪ {x} and conclude that the above holds for all u ∈ F too.
The hyperplane ker(X1 − aX2 ) contains at most one vector of S \ B and let
A = {a ∈ Fq | | ker(X1 − aX2 ) ∩ (S \ B)| = 1}.
Suppose x ∈ S \ B and let a ∈ A be such x ∈ ker(X1 − aX2 ). Thus, x2 = a−1 x1 and so
−1
x−1
j = x1 (αj + βj a)
for j = 1, . . . , k, where α1 = 1, β1 = 0, α2 = 0 and β2 = 1.
Let
k
Y
g(X) =
(αj + βj X),
j=1
0
and let G be the k × (q + 1) matrix whose columns are the vectors of S with respect to
the basis B. The code generated by G0 is equivalent to the code generated by the matrix
22
SIMEON BALL
G, where we multiply the column x ∈ S \ B by x−1
1 g(a) and the column e ∈ B by g(a).
The i−th row of G is then the evaluation of the polynomial g(X)/(αi + βi X) at
n α
o
j
| j = 1, . . . , k ,
a∈A∪ −
βj
so the code generated by G is equivalent to Example 5.
12. References
Theorem 2 is from
R.C. Singleton, Maximum distance q-nary codes, IEEE Trans. Inf. Theory, 10 (1964)
116–118.
Example 5 is due to
I. S. Reed and G. Solomon, Polynomial codes over certain finite fields, Journal of the
Society for Industrial and Applied Mathematics (SIAM), 8 (1960) 300–304.
Theorem 9 is due to
K. A. Bush, Orthogonal arrays of index unity, Ann. Math. Statist., 23 (1952) 426–434.
The first examples of three-dimensional linear MDS codes of length q + 2 which are not
Reed-Solomon codes, Example 13 for example, were published in
B. Segre, Sui k-archi nei piani finiti di caratteristica due, Rev. Math. Pures Appl., 2
(1957) 289–300.
Many more examples are now known, see for example,
D. G. Glynn, Two new sequences of ovals in finite Desarguesian planes of even order,
Combinatorial Mathematics X (ed. L. R. A. Casse), Lecture Notes in Mathematics 1036,
Springer, 1983, pp. 217–229,
and for a fairly recent survey, see
W. E. Cherowitzo, C. M. O’Keefe and T. Penttila, A unified construction of finite geometries in characteristic two, Adv. Geom., 3 (2003) 1–21.
From Lemma 26, Theorem 33 and Theorem 37 are from
S. Ball, On sets of vectors of a finite vector space in which every subset of basis size is a
basis, J. Eur. Math. Soc., 14 (2012) 733–748,
although the introduction of PD (A, B) and Lemma 30 is from
S. Ball and J. De Beule, On sets of vectors of a finite vector space in which every subset
of basis size is a basis II, Des. Codes Cryptogr., 65 (2012) 5–14.
Example 34 is from
MDS CODES
23
J. W. P. Hirschfeld, Rational curves on quadrics over finite fields of characteristic two,
Rend. Mat., 3 (1971) 772–795.
Example 35 is from
D. G. Glynn, The non-classical 10-arc of P G(4, 9), Discrete Math., 59 (1986) 43–51.
For k = 3, Theorem 37 is Segre’s theorem from
B. Segre, Ovals in a finite projective plane, Canad. J. Math., 7 (1955) 414-416.
and Lemma 27 is from
B. Segre, Introduction to Galois geometries, Atti Accad. Naz. Lincei Mem., 8 (1967)
133–236.