CONSTRUCTION OF ERROR-CORRECTING CODES FOR RANDOM NETWORK CODING Tuvi Etzion and Natalia Silberstein Technion - Israel Institute of Technology Department Of Computer Science Haifa 32000, Israel ABSTRACT
The rest of this paper is organized as follows. In Section 2 we define the reduced row echelon form of a k-dimensional subspace and its Ferrers diagram. In Section 3 we introduce a new type of rank-metric codes that we call Ferrers diagram rank-metric codes and present an upper bound on the size of such codes. In Section 4 we describe a multilevel construction for constant dimension codes that makes use of four tools: a constant weight code, the reduced row echelon form of a linear subspace, the Ferrers diagram related to this echelon form, and rank-metric codes related to the Ferrers diagram. In Section 5 we define a puncturing operation on codes in the projective space and obtain large punctured codes from our constant dimension codes.
In this work we present error-correcting codes for random network coding based on rank-metric codes, Ferrers diagrams, and puncturing. For most parameters, the constructed codes are larger than all previously known codes. Index Terms— Projective space codes, constant dimension codes, rank-metric codes, reduced row echelom form, Ferrers diagram 1. INTRODUCTION The projective space of order n over finite field Fq = GF (q), denoted by Pq (n), is the set of all subspaces of the vector space Fnq . Pq (n) is a metric space with the distance function dS (U, V ) = dim(U ) + dim(V ) − 2dim(U ∩ V ), for all U, V ∈ Pq (n). We say that C ⊆ Pq (n) is an (n, M, d)q code in projective space if |C| = M and dS (U,V ) ≥ d for all U,V ∈ C. If the dimension of each codeword is a given integer k ≤ n then the code (n, M, d)q forms a subset of a the Grassmannian Gq (n, k) and called an (n, M, d, k)q constantdimension code. Koetter and Kschischang [10] showed that codes in Pq (n) are useful for correcting errors and erasures in random network coding. This is the motivation to explore errorcorrecting codes in Pq (n) [3, 4, 6, 7, 8, 11, 12, 14, 15, 17]. The rank distance between X,Y ∈ Fm×t is defined by q dR (X, Y ) = rank(X − Y ). It is well known [2, 5, 13] that the rank distance is a metric. A code C ⊆ Fm×t with the q rank distance is called a rank-metric code. The connection between the rank-metric codes and codes in Pq (n) was explored in [7, 8, 10, 14]. Silva, Koetter, and Kschischang [14] showed that nearlyoptimal codes in Pq (n) can be obtained from optimal rankmetric codes. Those codes are equivalent to the codes constructed before in [10]. The construction given in [14] is our starting point in this paper. Our goal is to generalize this construction in the sense that the codes of Silva, Koetter, and Kschischang will be sub-codes of our codes.
2. REDUCED ROW ECHELON FORM AND FERRERS DIAGRAM A k-dimensional subspace X ∈ Fnq can be represented by a k × n generator matrix whose rows form a basis for X. To have a unique representation of a subspace, we use the following definition. A k ×n matrix with rank k is in reduced row echelon form if the following conditions are satisfied. • The leading coefficient of a row is always to the right of the leading coefficient of the previous row. • All leadings coefficients are ones. • Every leading coefficient is the only nonzero entry in its column. We represent a codeword of a projective space code by the generator matrix in reduced row echelon form. There is exactly one such matrix and it will be denoted by E(X). Example 1. We consider the 3-dimensional subspace X of F72 with the following eight elements.
This work was supported in part by the Israel Science Foundation (ISF), Jerusalem, Israel, under Grant 230/08.
1-4244-2482-5/08/$20.00 ©2008 IEEE
070
Authorized licensed use limited to: Technion Israel School of Technology. Downloaded on December 13, 2009 at 01:46 from IEEE Xplore. Restrictions apply.
IEEEI 2008
1) 2) 3) 4) 5) 6) 7) 8)
(0 (1 (1 (1 (0 (0 (0 (1
0 0 0 0 0 0 0 0
0 1 0 1 1 0 1 0
0 1 1 0 0 1 1 0
0 0 1 0 1 0 1 1
0 0 0 1 0 1 1 1
The Ferrers diagram of EF (v) is
0) 0) 1) 1) . 1) 1) 0) 0)
• • •
1 E(X) = 0 0
0 0 0
0 1 0
0 0 1
1 1 0
1 0 1
• • •
• .
Each k-dimensional subspace X of Fnq has an identifying vector v(X). v(X) is a binary vector of length n and weight k, where the ones in v(X) are in the positions (columns) where E(X) has the leading ones (of the rows).
The generator matrix of X in reduced row echelon form is given by
• • •
0 1 . 1
Example 5. Consider the 3-dimensional subspace X of Example 1. Its identifying vector is v(X) = 1011000.
In our construction we also need a few more definitions. A partition of a positive integer n is a representation of n as a sum of positive integers [1, 16]. Example 2. One of the possible partitions of 21 is 6 + 5 + 5 + 3 + 2.
The following result, proved in [4] will play an important role in the proof that our constructions for error-correcting codes in the projective space have the desired minimum distance.
A Ferrers diagram represents partitions as patterns of dots with the i-th row having the same number of dots as the i-th term in the partition [1, 16]. A Ferrers diagram satisfies the following conditions.
Lemma 1. If X and Y are two subspaces of Pq (n) with identifying vectors v(X) and v(Y ), respectively, then dS (X, Y ) ≥ dH (v(X), v(Y )), where dH (u, v) denotes the Hamming distance between u and v.
• The number of dots in a row is at most the number of dots in the previous row.
Let v be a vector of length n and weight k, EF (v) be its echelon Ferrers form, and F its Ferrers diagram. Let S be the minimal sub-matrix of EF (v) which includes all its dots. A matrix M over Fq is said to be in EF (v) if M has the same size as S and if Si,j = 0 implies that Mi,j = 0, i.e., all the entries of M which are not in F are zeroes. For M ∈ EF (v), EF (v[M ]) will be the matrix that is obtained by placing the matrix M instead of S in EF (v). !
• All the dots are shifted to the left of the diagram. It is known [9, 16] that the Ferrers diagrams can be used to partition the subspaces of Pq (n) into equivalence classes. Example 3. The Ferrers diagram of the partition of Example 2 is given by • • • • •
• • • • •
• • • •
• • •
• • •
•
1 0 0
Example 6. Let v = 1011000, M1 = !
.
and M2 =
1 0 1
1 1 0
1 0 1
0 1 1
1 1 0
1 0 1
0 1 1
,
. Then M1 ∈ EF (v), M2 ∈ /
EF (v), and The echelon Ferrers form of a vector v of length n and weight k, EF (v), is the k × n matrix in reduced row echelon form with leading entries (of rows) in the columns indexed by the nonzero entries of v and ” • ” in all entries which do not have terminals zeroes or ones. A ” • ” will be called in the sequel a dot. The dots of this matrix form a diagram. If we reverse the diagram of the dots (or shift the dots in each row to the left) we will form the Ferrers diagram of EF (v).
EF (v[M1 ]) =
1 EF (v) = 0 0
• 0 0
0 1 0
0 0 1
• • •
1-4244-2482-5/08/$20.00 ©2008 IEEE
• • •
1 0 0
0 1 0
0 0 1
1 1 0
1 0 1
0 1 1
! .
3. FERRERS DIAGRAM RANK-METRIC CODES In this section we define a new concept which is a Ferrers diagram rank-metric code. Ferrers diagram rank-metric codes will be the main building blocks of our projective space codes. First, we show the connection of rank-metric codes to constant dimension codes which was presented in the construction of Silva, Koetter, and Kschischang [14]. Given an [k × (n − k), κ, δ] rank-metric code C we form an (n, q κ , 2δ, k)q constant dimension code C by lifting C, i.e.,
Example 4. For the vector v = 1011000, the echelon Ferrers form EF (v) is the following 3 × 7 matrix,
1 0 0
• • . •
071
Authorized licensed use limited to: Technion Israel School of Technology. Downloaded on December 13, 2009 at 01:46 from IEEE Xplore. Restrictions apply.
IEEEI 2008
C = {[Ik A] : A ∈ C}, where Ik is the k × k identity matrix [14]. The code C is called the lifted code of C. Usually C is not maximal and it can be extended. This extension requires to design rank-metric codes, where the shape of a codeword is a Ferrers diagram rather than an k × (n − k) matrix. Let v be a vector of length n and weight k, EF (v) its echelon Ferrers form, and F its Ferrers diagram. Let S be the minimal m × η sub-matrix of EF (v) that includes all its dots. A code CF is an [F, κ, δ] Ferrers diagram rank-metric code if all codewords are m×η matrices which are in EF (v), it forms a rank-metric code with dimension κ, and minimum rank distance δ. Let dim(F, δ) be the largest possible dimension of an [F, κ, δ] code. The bound on dim(F, δ) is given by the following theorem [4].
• Construct the echelon Ferrers form EF (c). • Construct the largest [F, κ, δ] ferrers diagram rankmetric code CF for the Ferrers diagram F of EF (c). • Lift CF to a constant dimension code Cc Finally,
As an immediate consequence of Lemmas 1 and 2 we have the following lemma. Lemma 3. For all c1 , c2 ∈ C and Mi ∈ EF (ci ), i = 1, 2, dS (EF (c1 [M1 ]), EF (c2 [M2 ])) ≥ dH (c1 , c2 ). If dH (c1 , c2 ) = 0, then dS (EF (c1 [M1 ]), EF (c2 [M2 ])) = 2dR (M1 , M2 ). Corollary 1. C is an (n, M, 2δ, k)q constant dimension code. Example 8. Let q = 2, n = 5, k = 2, 2δ = 4, and C = {c1 = 11000, c2 = 00110}. The echelon Ferrers forms of the codewords of C are
Example 7. Consider the following Ferrers diagram
1 0
0 1
• •
• •
• •
0 0
0 0
1 0
0 1
• •
EF (c1 ) = • • • •
• •
•
•
• EF (c2 ) =
The sizes of largest Ferrers diagram rank-metric codes for EF (c1 ) and EF (c2 ) are 8 and 1, respectively. Hence we obtain a (5, 9, 4, 2)2 constant dimension code C, which is an optimal code by [3].
and let δ = 3. Then ν0 = 3, ν1 = 1, ν2 = 2, and mini {νi } = 1, thus dim(F, 3) ≤ 1. Conjecture 1. The upper bound of Theorem 1 is attainable for any given set of parameters q, F, and δ.
Example 9. Let q = 2, n = 6, k = 3, 2δ = 4 and C = {111000, 100110, 010101, 001011}. The echelon Ferrers forms of these 4 codewords are
Constructions for codes which attain the bound of Theorem 1 for most important cases, e.g., for δ = 2, are given in [4]. Assume we are given an echelon Ferrers form EF (v) of a binary vector v, of length n and weight k, with a Ferrers diagram F and a Ferrers diagram rank-metric code CF . CF is lifted to a constant dimension code Cv by substituting each codeword A ∈ CF in EF (v), i.e., Cv = {EF (v[A]) : A ∈ CF }. As an immediate consequence of [14] we have the following lemma.
0 1 0
0 0 1
• • •
• • •
• • •
• 0 0
• 0 0
0 1 0
0 0 1
• • •
1 0 0
• 0 0
0 1 0
• • 0
0 0 1
1 EF (111000) = 0 0
1 EF (100110) = 0 0
Lemma 2. If CF is an [F, κ, δ] rank-metric code, then its lifted code Cv , related to an k × n echelon Ferrers form EF (v), is an (n, q κ , 2δ, k)q constant dimension code.
0 EF (010101) = 0 0
4. CONSTRUCTION OF ERROR-CORRECTING CONSTANT DIMENSION CODES
0 EF (001011) = 0 0
In this section we will describe our multilevel construction. Assume we want to construct an (n, M, 2δ, k)q constant dimension code C. Let C be a binary constant weight code of length n, weight k, and minimum Hamming distance dH = 2δ. The next three steps are performed for each codeword c ∈ C.
1-4244-2482-5/08/$20.00 ©2008 IEEE
Cc .
c∈C
Theorem 1. For a given i, 0 ≤ i ≤ δ−1, if νi is the number of dots in F, which are not contained in the first i rows and are not contained in the leftmost δ − 1 − i columns then mini {νi } is an upper bound of dim(F, δ).
F=
[
C=
0 0 0
1 0 0
• 0 0
0 1 0
0 0 . 1
The Ferrers diagrams of these four echelon Ferrers forms yield Ferrers diagram rank-metric codes of sizes 64, 4, 2, and 1, respectively. Hence, we obtain a (6, 71, 4, 3)2 constant dimension code C. A (6, 74, 4, 3)2 code was obtained in [11] via a computer search.
072
Authorized licensed use limited to: Technion Israel School of Technology. Downloaded on December 13, 2009 at 01:46 from IEEE Xplore. Restrictions apply.
IEEEI 2008
Example 10. Let C be the codewords of weight 4 in the [8,4,4] extended Hamming code with the following paritycheck matrix
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
that the multilevel coding described in Section 4 can be used to obtain a code in Pq (n). The only difference is that we should start in the first step with a general binary code of length n in the Hamming space. The first question which will arise in this context is whether the method is as good as for constructing codes in Gq (n, k). The answer can be inferred from the following example.
1 1 . 1 1
Example 11. Let q = 2, n = 7 and d = 3, and consider the [7,4,3] Hamming code with the parity-check matrix
C has 14 codewords with weight 4. Each one of these codewords is considered as an identifying vector for the echelon Ferrers forms from which we construct the final (8, 4573, 4, 4)2 code C. The fourteen codewords of C and their contribution for the final code C are given in the following table. The codewords are taken in lexicographic order. c∈C 11110000 11001100 11000011 10101010 10100101 10011001 10010110 01101001 01100110 01011010 01010101 00111100 00110011 00001111
1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 0 1
0 1 0
0 1 1
1 0 1
1 1 0
1 1 1
1 0 . 0
By using the multilevel coding with this Hamming code we obtain a code with minimum distance 3 and size 394 in P2 (7).
size of Cc 4096 256 16 64 16 16 16 32 16 16 8 16 4 1
As we shall see in the sequel the code of Example 11 is much smaller than a code that will be obtained by puncturing. Let C be a code in Gq (n, k). Let Q be an (n − 1)dimensional subspace of Fnq and v ∈ Fnq such that v ∈ / Q. We define the punctured code C0Q,v = CQ ∪ Cv , where CQ = {X ∈ C : X ⊆ Q} and CQ,v = {X ∩ Q : X ∈ C, v ∈ X} . The following theorem can be easily verified.
The following table summarized the sizes of some of our codes compared to previous known codes. q
dS
n
k
2 4 9 4 2 4 10 5 2 4 12 4 2 6 10 5 2 6 13 4 2 8 21 5 3 4 7 3 3 4 8 4 4 4 7 3 4 4 8 4 Finally, decoding was discussed in [4].
Theorem 2. The punctured code C0Q,v of an (n, M, d, k)q code C is an (n − 1, M 0 , d − 1)q code.
code size of our size[10, 14] code 15 15 2 2 +4177 220 220 +118751 224 224 +2290845 15 2 215 +73 18 2 218 +4357 32 32 2 2 +16844809 38 38 +124 12 3 312 +8137 8 4 48 +345 12 12 4 4 +72529 of the codes obtained by this method
What is the size M 0 of the punctured code C0Q,v ? First, Q is an (n − 1)-dimensional subspace of Fnq and hence it can n −1 different ways. Each k-dimensional subbe chosen in qq−1 q n−k −1 (n − 1)-dimensional subspaces. q−1 q n−k −1 / Q, Thus, |CQ | ≥ M qn −1 . In addition, for each v ∈ (M −|CQ |)(q k −q k−1 ) M −|CQ | |CQ,v | ≥ = qn−k . Hence, we ob(q n −q n−1 ) 0
space is contained in
tain the lower bound on the size of punctured code: M = |C |q n−k +M −|CQ | (q n−k −1)|CQ |+M |CQ | + |CQ,v | ≥ Q qn−k = ≥ q n−k (q n−k −1)M (q n−k −1)+M (q n −1) (q n −1)q n−k
M (q n−k +q k −2) . (q n −1)
Example 12. Let C be the (8, 4573, 4, 4)2 code given in Example 10. Let Q be the 7-dimensional subspace whose 7 × 8 generator matrix is 1 0 ... 0 0 0 1 ... 0 0 .. .. . . .. .. . . . . . .
5. ERROR-CORRECTING PROJECTIVE SPACE CODES In this section our goal will be to construct large codes in Pq (n) which are not constant dimension codes. We first note
1-4244-2482-5/08/$20.00 ©2008 IEEE
=
0
0 ...
1
073
Authorized licensed use limited to: Technion Israel School of Technology. Downloaded on December 13, 2009 at 01:46 from IEEE Xplore. Restrictions apply.
0
IEEEI 2008
By using puncturing with Q and v = 1000001 we obtained a code C0Q,v with minimum distance 3 and size 573. By adding to C0Q,v two codewords, the null space {0} and F72 we obtained a (7, 575, 3)2 code in P2 (7). The following tables show the number of codewords which were obtained from each of the identifying vectors with weight 4 of Example 10. CQ identifying vector 11110000 11001100 10101010 10010110 01100110 01011010 00111100
addition to CQ 256 16 8 2 4 2 1
CQ,v identifying vector 11110000 11001100 11000011 10101010 10100101 10011001 10010110
v = 10000001 addition to CQ,v 256 16 1 4 2 4 1
[4] T. Etzion and N. Silberstein, ”Error-correcting codes in projective space via rank-metric codes and Ferrers diagrams”, IEEE Trans. Inform. Theory, submitted. [5] E. M. Gabidulin, “Theory of codes with maximal rank distance,” Problems of Information Transmission, vol. 21, pp. 1-12, July 1985. [6] E. M. Gabidulin and M. Bossert, “Codes for network coding”, proceedings of International Symposium on Information Theory, pp. 867–870, July 2008. [7] M. Gadouleau and Z. Yan, “Constant-rank codes and their connection to constant-dimension codes,” arxiv.org/abs/0803.2262. [8] M. Gadouleau and Z. Yan, “Constant-rank codes,” arXiv:0803.0778v1 [cs.IT]. [9] D. E. Knuth, “Subspaces, subsets. and partitions ,” J. Combin. Theory, vol. 10, pp. 178–180, 1971. [10] R. Koetter and F. R. Kschischang, “Coding for errors and erasures in random network coding,” IEEE Trans. Inform. Theory, vol. 54, no. 8, pp. 3579–3591, August 2008. [11] A. Kohnert and S. Kurz, “Construction of large constant dimension codes with a prescribed minimum distance,” preprint 2008.
6. CONCLUSION
[12] F. Manganiello, E. Gorla, and J. Rosenthal, “Spread codes and spread decoding in network coding”, proceedings of International Symposium on Information Theory, pp. 881–885, July 2008.
A multilevel coding approach to construct codes in the Grassmanian and the projective space was presented. The method makes usage of four tools, an appropriate constant weight code, the reduced row echelon form of a linear subspace, the Ferrers diagram related to this echelon form, and rank-metric codes related to the Ferrers diagram. The constructed codes by our method are the best known today for most parameters. We have also defined the puncturing operation on codes in the projective space. We applied this operation to obtain punctured codes from our constant dimension codes. These punctured codes are considerably larger than codes constructed by any other method.
[13] R. M. Roth, “Maximum-rank array codes and their application to crisscross error correction,” IEEE Trans. Inform. Theory, vol. IT-37, pp. 328-336, March 1991. [14] D. Silva, F. R. Kschischang, and R. Koetter, “A Rankmetric approach to error control in random network coding,” IEEE Trans. Inform. Theory, submitted. [15] V. Skachek, “Recursive code construction for random network,” arxiv.org/abs/0806.3650. [16] J. H. van Lint and R. M. Wilson, A course in Combinatorics, Cambridge University Press, 1992.
7. REFERENCES [1] G. E. Andrews and K. Eriksson, Integer Partitions, Cambridge University Press, 2004.
[17] S. T. Xia and F. W. Fu, “Johnson type bounds on constant dimension codes,” arxiv.org/abs/0709.1074.
[2] P. Delsarte, “Bilinear forms over a finite field, with applications to coding theory,” Journal of Combinatorial Theory, Series A, vol. 25, pp. 226-241, 1978. [3] T. Etzion and A. Vardy, “Error-correcting codes in projective space”, proceedings of International Symposium on Information Theory, pp. 871–875, July 2008.
1-4244-2482-5/08/$20.00 ©2008 IEEE
074
Authorized licensed use limited to: Technion Israel School of Technology. Downloaded on December 13, 2009 at 01:46 from IEEE Xplore. Restrictions apply.
IEEEI 2008