Good Linear Codes from Polynomial Evaluations - IEEE Xplore

0 downloads 0 Views 381KB Size Report
Good Linear Codes from Polynomial Evaluations. Yang Ding, Lingfei Jin, and Chaoping Xing. Abstract—In the present paper, we generalize the ideas of code.
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 2, FEBRUARY 2012

357

Transactions Papers Good Linear Codes from Polynomial Evaluations Yang Ding, Lingfei Jin, and Chaoping Xing

Abstract—In the present paper, we generalize the ideas of code constructions from our previous papers [8], [10], [11]. It turns out that the codes in the previous papers can be viewed as special cases of those in this paper. Moreover, our constructions produce some good codes in terms of their parameters. In particular, some best-known codes can be obtained through our methods. Furthermore, our constructions are explicit and the codes can be easily implemented as shown in the tables of Appendix. Besides, one new code, i.e., a 4-ary [64, 15, 31]-linear code, is found through our constructions. Index Terms—Linear codes, optimal codes, echelon basis, conjugacy class.

I. I NTRODUCTION

I

N order to construct a generalized Reed-Solomon (GRS, for short) code over a finite field 𝔽𝑞 , a subset 𝑆 of 𝔽𝑞 is chosen and the length of the resulting code equals to the cardinality of 𝑆. This class of codes are maximum distance separable (MDS, for short), i.e., achieve the Singleton bound. However, since the cardinality of 𝑆 is at most 𝑞, the length of such a code is also at most 𝑞. In order to increase the length of codes beyond 𝑞, one possibility is to choose a subset in some extension of 𝔽𝑞 to construct 𝑞-ary linear codes by using evaluation method similar to the one used for GRS codes. If this method works well, we can increase the length of codes such that the length can be larger than 𝑞. In this paper, we develop the above idea to construct a class of 𝑞-ary linear codes by choosing a subset in an extension field. In fact, the ideas in our previous papers [1], [6], [8], [10], [11] are generalized in this paper and our results show that codes from our construction in general have good parameters. Some related works have also been done by other researchers [2], [3]. In [11], Xing and Ling made use of elements of 𝔽𝑞2 to construct codes over 𝔽𝑞 . Later soon, the idea was generalized Paper approved by T.-K. Truong, the Editor for Coding Theory and Techniques of the IEEE Communications Society. Manuscript received November 10, 2010; revised March 15 and July 15, 2011; accepted September 25, 2011. Y. Ding is with the Department of Mathematics, Shanghai University, Shanghai, 200444, China (e-mail: [email protected]). L. Jin and C. Xing are with the Division of Mathematical Sciences, School of Physical and Mathematical Sciences, Nanyang Technological University, Singapore 637371, Republic of Singapore (e-mail: [email protected], [email protected]). The work of the first author is supported by National Natural Science Foundation of China(11126059) and Key Disciplines of Shanghai Municipality (S30104), while the work of the second and third authors is partially supported by Singapore Ministry of Education under Research Grant T208B2206 and the Singapore National Research Foundation Competitive Research Program grant NRF-CRP2-2007-03. Digital Object Identifier 10.1109/TCOMM.2012.010512.100656

in [6] to extension fields of higher degree and in [1] to extension fields of degree 3 and all prime degrees. All of the above papers constructed certain polynomial spaces with upper bounded degrees by explicitly finding sets of linearly independent polynomials of these spaces (note that if a degree is upper bounded, the minimum distance of the corresponding code is lower bounded). In many cases, these sets form the actual bases of these vector spaces as we will see in Example 2.7. In this paper, instead of explicitly finding sets of linearly independent polynomials, we provide a computational method to find the bases of these polynomial spaces. The advantage is that we would not miss any polynomials in the spaces and get the dimension as big as possible with given minimum distance. We will use this from our examples and tables. Based on Grassl’s table of the best known codes at the webpage http://www.codetables.de we construct some best-known codes in terms of their parameters. Moreover, we find one new code of length 64 over 𝔽4 , that is, a code from our construction has better parameters than the corresponding one in Grassl’s table. Furthermore, based on the upper bounds given in Grassl’s table, some of our codes in the tables of Appendix are optimal in the sense that the minimum distance cannot be improved for given length and dimension. In fact we believe that our codes become better as 𝑞 increases (our belief is partially supported by the tables in Appendix). Unfortunately for 𝑞 > 9, it is difficult to compare our codes with existing codes since Grassl’s table does not contain any 𝑞-ary codes for 𝑞 > 9. Nevertheless we still have enough good codes for 𝑞 ≤ 9 to illustrate constructions. Furthermore, our constructions are explicit and codes can be easily implemented. This paper is arranged as follows. In Sections 2 and 3, we present our constructions of linear codes and determine 𝔽𝑞 echelon bases of polynomial spaces defining the linear codes. Three examples are presented to determine 𝔽𝑞 -echelon bases explicitly for the extension 𝔽𝑞2 . Some algorithms are presented to show explicit constructions of our codes. In the Appendix, we demonstrate our constructions by showing good codes in a few tables. II. T HE F IRST T WO C ONSTRUCTIONS Let 𝔽𝑞 be the finite field with 𝑞 elements and 𝔽𝑞𝑚 the extension over 𝔽𝑞 of degree 𝑚.

c 2012 IEEE 0090-6778/12$31.00 ⃝

358

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 2, FEBRUARY 2012

Before discussing our construction of codes, we want to recall the construction of the GRS codes so that the idea of our construction can be presented clearly. Let 𝑁, 𝐾 be two integers with 1 < 𝑁 ≤ 𝑞 and 1 ≤ 𝐾 ≤ 𝑁 , and let 𝑃𝐾 be the set of all polynomials in 𝔽𝑞 [𝑥] with degree less than 𝐾. Let v = (𝑣1 , 𝑣2 , ⋅ ⋅ ⋅ , 𝑣𝑁 ) where the 𝑣𝑖 are nonzero elements of 𝔽𝑞 (but not necessarily distinct), and choose a subset {𝛼1 , 𝛼2 , ..., 𝛼𝑁 } of 𝔽𝑞 . Define a generalized Reed-Solomon code by 𝐺𝑅𝑆𝑞 (𝑁, 𝐾) = {(𝑣1 𝑓 (𝛼1 ), 𝑣2 𝑓 (𝛼2 ), ..., 𝑣𝑁 𝑓 (𝛼𝑁 )) ∣𝑓 (𝑥) ∈ 𝑃𝐾 }.

Then 𝐺𝑅𝑆𝑞 (𝑁, 𝐾) is a 𝑞-ary code with parameters [𝑁, 𝐾, 𝑁 − 𝐾 + 1], i.e., 𝐺𝑅𝑆𝑞 (𝑁, 𝐾) is an MDS code over 𝔽𝑞 (for the detailed results of the generalized Reed-Solomon codes, we refer to [7], [9]). From now on, we only consider the case for v = (1, 1, ⋅ ⋅ ⋅ , 1). However for a subset 𝑆 of 𝔽𝑞𝑚 , the code {(𝑓 (𝛼))𝛼∈𝑆 ∣𝑓 (𝑥) ∈ 𝑃𝐾 } is no longer defined over 𝔽𝑞 . This suggests that we should choose a set 𝑉 of polynomials in 𝔽𝑞𝑚 [𝑥] such that (𝑓 (𝛼))𝛼∈𝑆 is a vector over 𝔽𝑞 for all 𝑓 (𝑥) ∈ 𝑉 . In this section, we will choose only one element in each of 𝔽𝑞 -conjugacy classes of 𝔽𝑞𝑚 for the point selection. It turns out that our polynomials that are used to construct codes belong to 𝔽𝑞 [𝑥]. Let us give a detailed description of this construction. A. Theoretical Part Let 𝑚 ≥ 1 and consider 𝔽𝑞 -conjugacy classes in 𝔽𝑞𝑚 . Recall that two elements 𝛼 and 𝛽 of 𝔽𝑞𝑚 are called 𝔽𝑞 -conjugate 𝑟 if there exists an integer 𝑟 ≥ 0 such that 𝛼 = 𝛽 𝑞 . We know that 𝔽𝑞 -conjugate defines an equivalence relation in 𝔽𝑞𝑚 and thus 𝔽𝑞𝑚 is partitioned into 𝔽𝑞 -conjugacy classes. Choose a set {𝛼1 , . . . , 𝛼𝑛 } of 𝑛 elements from 𝔽𝑞𝑚 that belong to distinct conjugacy classes. Denote by 𝑆𝑖 the conjugacy class containing 𝛼𝑖 and define 𝑆 := ∪𝑛𝑖=1 𝑆𝑖 . Denote by 𝑁 the size ∣𝑆∣ of 𝑆. Consider set ) ≤ 𝑁 − 1, 𝑓 (𝛼) = 𝑓 (𝛽) ∈ 𝑈𝑁 := {𝑓the ∈ polynomial 𝔽𝑞𝑚 [𝑥] : deg(𝑓 𝔽𝑞

for all 𝛼, 𝛽 ∈ 𝑆𝑖 and all conjugacy classes 𝑆𝑖 (1 ≤ 𝑖 ≤ 𝑛)}.

The set 𝑈𝑁 plays a crucial rule on construction of linear codes in this section. First let us look at some properties of 𝑈𝑁 . Lemma 2.1: The set 𝑈𝑁 is in fact an 𝔽𝑞 -vector space and its dimension dim𝔽𝑞 (𝑈𝑁 ) over 𝔽𝑞 is 𝑛. Moreover, 𝑈𝑁 is a subset of 𝔽𝑞 [𝑥] and the evaluation map 𝜋 defined by 𝜋 : 𝑈𝑁 → 𝔽𝑛𝑞 ;

𝑓 → (𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 ))

is an 𝔽𝑞 -isomorphism of vector spaces. Proof: It is easy to verify that 𝑈𝑁 is an 𝔽𝑞 -vector space. ∑𝑁 −1 𝑖 For an arbitrary polynomial 𝑓 = 𝑖=0 𝑎𝑖 𝑥 of 𝑈𝑁 , ∑ 𝑁 −1 𝑞 𝑖 (𝑞) := consider the polynomial 𝑓 𝑖=0 𝑎𝑖 𝑥 by raising coefficients to 𝑞-th powers. Then we know that 𝑓 belongs to 𝔽𝑞 [𝑥] if and only if 𝑓 = 𝑓 (𝑞) . To prove this identity, it is sufficient to show that (𝑓 − 𝑓 (𝑞) )(𝛼) = 0, i.e., 𝑓 (𝛼) = 𝑓 (𝑞) (𝛼) for all 𝛼 ∈ 𝑆 since the degree of 𝑓 is at most 𝑁 − 1 = ∣𝑆∣− 1.

Let 𝛼 be an element of 𝑆, then we have 𝑓 (𝛼𝑞 ) = 𝑓 (𝛼) = (𝑓 (𝛼))𝑞 since 𝑓 (𝛼) ∈ 𝔽𝑞 and 𝛼, 𝛼𝑞 are conjugate. This gives 𝑁 −1 ∑

𝑞𝑖

𝑎𝑖 𝛼 =

𝑖=0

𝑁 −1 ∑

𝑖

𝑎𝑖 𝛼 =

𝑖=0 𝑞

(𝑞)

𝑁 −1 ∑ 𝑖=0

𝑎𝑞𝑖 𝛼𝑞𝑖 .

𝑞

Thus, we obtain 𝑓 (𝛼 ) = 𝑓 (𝛼 ). When 𝛼 runs through all elements of 𝑆, we obtain that 𝑓 (𝛽) = 𝑓 (𝑞) (𝛽) for all 𝛽 ∈ 𝑆. To show that the dimension dim𝔽𝑞 (𝑈𝑁 ) over 𝔽𝑞 is 𝑛, it is sufficient to show that 𝜋 is an 𝔽𝑞 -isomorphism of vector spaces. Again, it is easy to see that 𝜋 is an 𝔽𝑞 -linear map. To see that 𝜋 is injective, let 𝜋(𝑓 ) = 𝜋(𝑔) for two polynomials 𝑓, 𝑔 ∈ 𝑈𝑁 , i.e., (𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 )) = (𝑔(𝛼1 ), . . . , 𝑔(𝛼𝑛 )). By the definition of 𝑈𝑁 , we get 𝑓 (𝛼) = 𝑔(𝛼) for all 𝛼 ∈ 𝑆. Thus, (𝑓 − 𝑔)(𝛼) = 0 for all 𝛼 ∈ 𝑆. This means that every element of 𝑆 is a root of 𝑓 − 𝑔. On the other hand, the degree of 𝑓 − 𝑔 is at most 𝑁 − 1. This forces that 𝑓 − 𝑔 = 0, i.e., 𝑓 = 𝑔. To show that 𝜋 is surjective, we choose an arbitrary vector u = (𝑢1 , . . . , 𝑢𝑛 ) from 𝔽𝑛𝑞 . By the Lagrange Interpolation, there exists a polynomial 𝑓u ∈ 𝔽𝑞𝑚 [𝑥] of degree at most 𝑁 −1 such that 𝑓u (𝛼) = 𝑢𝑖 for all 𝛼 ∈ 𝑆𝑖 and all 𝑖 = 1, . . . , 𝑛. Hence, we have that 𝑓u belongs to 𝑈𝑁 and 𝜋(𝑓u ) = u. This completes the proof. Remark 2.2: Similar definition of 𝑈𝑁 can be found at the beginning of section 4 in [1]. Code Construction I For any 1 ≤ 𝑘 ≤ 𝑁 , let 𝑈𝑘 denote the 𝔽𝑞 -subspace of 𝑈𝑁 which consists of all polynomials of degree at most 𝑘 − 1 in 𝑈𝑁 . Our code 𝐸𝑘 is then defined to be the image 𝜋(𝑈𝑘 ), i.e., 𝐸𝑘 := {(𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 )) : 𝑓 ∈ 𝑈𝑘 }.

(II.1)

Obviously, 𝐸𝑘 is an 𝔽𝑞 -linear code of length 𝑛. In order to estimate the other parameters of 𝐸𝑘 , we need to find a special basis of 𝑈𝑁 . Definition 2.3: An 𝔽𝑞 -basis 𝐵 of 𝑈𝑁 is called an 𝔽𝑞 echelon basis if 𝐵 = {𝑓1 , . . . , 𝑓𝑛 } with deg(𝑓𝑖 ) > deg(𝑓𝑖+1 ) for all 𝑖 = 1, . . . 𝑛 − 1. Theorem 2.4: There exists an 𝔽𝑞 -echelon basis in 𝑈𝑁 . Furthermore, if both {𝑓1 , . . . , 𝑓𝑛 } and {𝑔1 , . . . , 𝑔𝑛 } are 𝔽𝑞 echelon bases of 𝑈𝑁 , then we have deg(𝑓𝑖 ) = deg(𝑔𝑖 ) for all 𝑖 = 1, . . . , 𝑛. Proof: Let 𝑓1 , 𝑓2 , ⋅ ⋅ ⋅ , 𝑓𝑛 be an 𝔽𝑞 -basis of 𝑈𝑁 with decreasing order of degrees. Let 𝑖 be the largest integer such that deg(𝑓𝑖 ) = deg(𝑓𝑖−1 ) and let 𝑎𝑖 , 𝑎𝑖−1 be the leading coefficients of 𝑓𝑖 , 𝑓𝑖−1 , respectively. Then replace 𝑓𝑖−1 by 𝑓𝑖−1 − 𝑎𝑖−1 𝑎𝑖 𝑓𝑖 , we have deg(𝑓𝑖 ) > deg(𝑓𝑖−1 ). Repeat this step, we obtain an 𝔽𝑞 -echelon basis of 𝑈𝑁 . Let {𝑓1 , . . . , 𝑓𝑛 } be an 𝔽𝑞 -echelon basis of 𝑈𝑁 . For an integer 1 ≤ 𝑘 ≤ 𝑁 , let deg(𝑓𝑖 ) ≥ 𝑘 > deg(𝑓𝑖+1 ). Then it is easy to see that 𝑈𝑘 is spanned by {𝑓𝑖+1 , . . . , 𝑓𝑛 }. Thus, the second statement of the theorem follows. With help of the above theorem, we can give an estimate on dimension and minimum distance of the code 𝐸𝑘 defined in (II.1).

DING et al.: GOOD LINEAR CODES FROM POLYNOMIAL EVALUATIONS

Theorem 2.5: The code 𝐸𝑘 constructed in (II.1) is a 𝑞-ary [𝑛, 𝐾]-linear code with 𝐾 ≥ 𝑛 + 𝑘 − 𝑁 . Furthermore, if every conjugacy class of elements in 𝑆 contains 𝑚 elements, then the minimum distance of 𝐸𝑘 is at least 𝑛 − ⌊(𝑘 − 1)/𝑚⌋. Proof: As the map 𝜋 is injective, we have dim𝔽𝑞 𝐸𝑘 = dim𝔽𝑞 𝑈𝑘 = 𝑛 − 𝑟, where 𝑟 satisfies that deg(𝑓𝑟 ) ≥ 𝑘 > deg(𝑓𝑟+1 ). Hence, it is easy to see that 𝑟 ≤ 𝑁 −𝑘 and the desired result on dimension follows. Now we assume that ∣𝑆𝑖 ∣ = 𝑚 for all 1 ≤ 𝑖 ≤ 𝑛. For every nonzero codeword c𝑓 := (𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 )) for some nonzero polynomial 𝑓 ∈ 𝑈𝑘 , let 𝐼 ⊂ {1, . . . , 𝑛} be the zero set of c𝑓 , i.e., 𝑓 (𝛼𝑖 ) = 0 if and only if 𝑖 ∈ 𝐼. Thus, 𝑓 (𝛼) = 0 for all 𝛼 ∈ ∪𝑖∈𝐼 𝑆𝑖 . Since the degree of 𝑓 is at most 𝑘 − 1, we have 𝑘−1 ≥ ∣∪𝑖∈𝐼 𝑆𝑖 ∣ = ∣𝐼∣𝑚, i.e., ∣𝐼∣ ≤ ⌊(𝑘−1)/𝑚⌋. Hence, the Hamming weight of c𝑓 is 𝑛 − ∣𝐼∣ ≥ 𝑛 − ⌊(𝑘 − 1)/𝑚⌋. This completes the proof. Remark 2.6: (i) In many cases, the actual parameters of 𝐸𝑘 are bigger than the estimated parameters in the above theorem. We will see this in the tables of Appendix. (ii) The code parameters depend on selection of conjugacy classes. For instance, if we choose 5 elements of 𝔽7 together with a set of 21 conjugacy classes with 2 elements in 𝔽49 , we can obtain a 7-ary [26, 15, 8]-linear code. However, if we select all 7 elements of 𝔽7 together with a set of 19 conjugacy classes with 2 elements in 𝔽49 , we obtain only a 7-ary [26, 15, 7]-linear code by considering the same polynomial space. We do not have a clear idea about how to optimize our codes by properly choosing a set of conjugacy classes. (iii) The code construction in [10] can be viewed as a special case of the ∏ above construction. Consider the polynomial ℎ(𝑥) = 𝛽∈𝑆 (𝑥 − 𝛽), then we obtain the code described in [10]. (iv) The code construction discussed in [8], [11] can also be treated as a special case of our construction in this section. In fact, if all conjugacy classes 𝑆𝑖 contain at most two elements, then our construction gives the codes in [8], [11] (see the following two examples).

359

known), [36, 9, 22] (best known) and [36, 10, 21] (best known), respectively. Example 2.8: In the previous example, we did not include any elements from 𝔽𝑞 . In this example, we can include all elements from 𝔽𝑞 and it turns out that many good codes can be obtained as well. In the case where 𝑚 = 2 and 𝑛 = (𝑞 2 − 𝑞)/2 + 𝑞 = (𝑞 2 + 𝑞)/2, we are considering all 𝔽𝑞 -conjugacy classes. Thus, in this case, the code length is 𝑛 = (𝑞 2 + 𝑞)/2. We can similarly find an 𝔽𝑞 -echelon basis of our code. As the conjugacy classes in this example have different size, it is not easy to get a clean formula for the distance (see [11] for more detailed discussion). Many good codes from this example is demonstrated in the tables of Appendix as well. In fact, we can increase the length of the above code by including “the point at infinity". Code Construction II Notations are the same as those for Construction I, i.e., for any 1 ≤ 𝑘 ≤ 𝑁 , let 𝑈𝑘 denote the 𝔽𝑞 subspace of 𝑈𝑁 which consists of all polynomials of degree at most 𝑘 − 1 in 𝑈𝑁 . Our code 𝐺𝑘 is then defined to be 𝐺𝑘 := {(𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 ), 𝑓 (∞)) : 𝑓 ∈ 𝑈𝑘 }, (II.3) where 𝑓 (∞) stands for the coefficient of 𝑥𝑘−1 in 𝑓 (𝑥). Remark 2.9: (i) The code 𝐺𝑘 is an extended code of 𝐸𝑘 by adding one coordinate. (ii) In [2], [3], the extended BCH codes are discussed using some similar ideas. B. Computational Part

In the previous subsection, we constructed the 𝑞-ary linear codes 𝐸𝑘 and 𝐺𝑘 of length up to about 𝑞 𝑚 /𝑚. In this subsection, we describe how to compute the generator matrices for the codes 𝐸𝑘 and 𝐺𝑘 explicitly. From our construction, it is sufficient to find an 𝔽𝑞 -echelon basis of 𝑈𝑘 . To do so, we need to find an 𝔽𝑞 -echelon basis of 𝑈𝑁 through the Lagrange interpolation. Explicit construction algorithm of generator Example 2.7: In this example, we explicitly write down the matrices 𝔽𝑞 -echelon basis of 𝑈𝑘 for the case where 𝑚 = 2 and 𝑛 = (𝑞 2 − 𝑞)/2. Let 𝑛 = (𝑞 2 − 𝑞)/2, 𝑁 = 2𝑛 = 𝑞 2 − 𝑞 and Step 1. Construct an 𝔽𝑞 -basis {𝑒1 , . . . , 𝑒𝑛 } of 𝑈𝑁 corlet 𝛼1 , . . . , 𝛼𝑛 be all distinct elements of 𝔽𝑞2 such that the responding to the standard basis (1, 0, . . . , 0), conjugacy class of each 𝛼𝑖 contains two elements {𝛼𝑖 , 𝛼𝑞𝑖 }. (0, 1, 0, . . . , 0),. . . ,(0, . . . , 0, 1) of 𝔽𝑛𝑞 through It is straightforward to verify that the following set is an 𝔽𝑞 the Lagrange interpolation, i.e., echelon basis of 𝑈𝑁 (see also [11]). ∏ ∑ 𝛼∈𝑆∖{𝛽} (𝑥 − 𝛼) {𝑥𝑗(𝑞+1) : 𝑗 = 0, 1, . . . , 𝑞 − 2} ∪ {𝑥𝑗𝑞+𝑖 + 𝑥𝑗+𝑖𝑞 : 0 ≤ 𝑖 < 𝑗 ≤ 𝑞 − 2}. ∏ 𝑒𝑖 = 𝛼∈𝑆∖{𝛽} (𝛽 − 𝛼) In particular, for every 1 ≤ 𝑘 ≤ 𝑛, we get an 𝔽𝑞 -echelon 𝛽∈𝑆𝑖 basis of 𝑈𝑘 for all 𝑖 = 1, . . . , 𝑛. {𝑥𝑗(𝑞+1) : 𝑗(𝑞+1) ≤ 𝑘−1}∪{𝑥𝑗𝑞+𝑖 +𝑥𝑗+𝑖𝑞 : 0 ≤ 𝑖 < 𝑗; 𝑗𝑞+𝑖 ≤ 𝑘−1}. Step 2. Write 𝑒 = 𝑎 𝑁 −1 + 𝑎𝑖,𝑁 −2 𝑥𝑁 −2 + ⋅ ⋅ ⋅ + 𝑖 𝑖,𝑁 −1 𝑥 (II.2) 𝑎𝑖,1 𝑥 + 𝑎𝑖,0 and form an 𝑛 × 𝑁 matrix over 𝔽𝑞 It is clear that the distance of 𝐸𝑘 is at least 𝑛 − ⌊(𝑘 − 1)/2⌋ ⎞ ⎛ by Theorem 2.5. 𝑎1,𝑁 −1 𝑎1,𝑁 −2 ⋅ ⋅ ⋅ 𝑎1,0 ⎜ 𝑎2,𝑁 −1 𝑎2,𝑁 −2 ⋅ ⋅ ⋅ 𝑎2,0 ⎟ For instance, for 𝑞 = 9, we obtain 9-ary [36, 𝐾, 𝐷 ≥ ⎟ ⎜ ⎜ 36 − ⌊(𝑘 − 1)/2⌋]-linear codes 𝐸𝑘 for any 1 ≤ 𝑘 ≤ 𝑛, where ⋅ ⋅ ⋅ ⋅ ⎟ ⎟. ⎜ 𝐴 := ⎜ 𝐾 is the size of the set in (II.2). In particular, by taking ⋅ ⋅ ⋅ ⋅ ⎟ ⎟ ⎜ ⎝ 𝑘 = 20, 21, 30 and 31, respectively, we obtain 9-ary linear ⋅ ⋅ ⋅ ⋅ ⎠ codes with parameters [36, 5, 27] (best known), [36, 6, 26] (best 𝑎𝑛,𝑁 −1 𝑎𝑛,𝑁 −2 ⋅ ⋅ ⋅ 𝑎𝑛,0

360

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 2, FEBRUARY 2012

Step 3. Perform the elementary row operations over 𝔽𝑞 , i.e., multiplying 𝐴 from the left-hand side with a series of elementary nonsingular matrices over 𝔽𝑞 to get the following row echelon form ⎛ ⎞ . . . 𝑏1,𝑟1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 𝑏1,0 ⎜ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 𝑏2,𝑟2 ⋅ ⋅ ⋅ 𝑏2,0 ⎟ ⎜ ⎟ ⎜ ⋅ ⋅ ⋅ ⋅⋅⋅ ⋅ ⎟ ⎜ ⎟ ⎝ ⋅ ⋅ ⋅ ⋅⋅⋅ ⋅ ⎠ ⋅ ⋅ ⋅ ⋅⋅⋅ ⋅ such that the leading entry 𝑏𝑖,𝑟𝑖 of the 𝑖-th row is nonzero. Step 4. For 1 ≤ 𝑘 ≤ 𝑁 , form the polynomial set {𝑏𝑗,𝑟𝑗 𝑥𝑟𝑗 + ⋅ ⋅ ⋅ + 𝑏𝑗,0 : 𝑗 = 𝑡, 𝑡 + 1, ⋅ ⋅ ⋅ , 𝑛}, where 𝑡 satisfies 𝑟𝑡−1 ≥ 𝑘 > 𝑟𝑡 . Step 5. Label the polynomials in the above set as {𝑔1 , . . . , 𝑔𝐾 } and form the generator matrix of the code 𝐸𝑘 and 𝐺𝑘 , respectively ⎛ ⎞ 𝑔1 (𝛼1 ) 𝑔1 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔1 (𝛼𝑛 ) ⎜ 𝑔2 (𝛼1 ) 𝑔2 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔2 (𝛼𝑛 ) ⎟ ⎜ ⎟ ⎜ ⎟ ⋅ ⋅ ⋅ ⋅ ⎜ ⎟ ⎜ ⎟ ⋅ ⋅ ⋅ ⋅ ⎜ ⎟ ⎝ ⎠ ⋅ ⋅ ⋅ ⋅ 𝑔𝐾 (𝛼1 ) 𝑔𝐾 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔𝐾 (𝛼𝑛 ) ⎛ ⎞ 𝑔1 (𝛼1 ) 𝑔1 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔1 (𝛼𝑛 ) 𝑔1 (∞) ⎜ 𝑔2 (𝛼1 ) 𝑔2 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔2 (𝛼𝑛 ) 𝑔2 (∞) ⎟ ⎜ ⎟ ⎜ ⎟ ⋅ ⋅ ⋅ ⋅ ⎜ ⎟. ⎜ ⎟ ⋅ ⋅ ⋅ ⋅ ⎜ ⎟ ⎝ ⎠ ⋅ ⋅ ⋅ ⋅ 𝑔𝐾 (𝛼1 ) 𝑔𝐾 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔𝐾 (𝛼𝑛 ) 𝑔𝐾 (∞) Remark 2.10: It is easy to verify that the polynomial set produced in Step 4 is indeed an 𝔽𝑞 -echelon basis of 𝑈𝑘 . III. T HE T HIRD C ONSTRUCTION In this section, we describe a construction of code by subfield subcode. We choose elements of 𝔽𝑞𝑚 instead of 𝔽𝑞 conjugacy classes. Thus, the polynomial vector spaces that we are going to use to define the codes are no longer subsets of 𝔽𝑞 [𝑥]. However, the polynomial spaces are still 𝔽𝑞 -spaces and we can consider 𝔽𝑞 -echelon basis again. In this case, an 𝔽𝑞 echelon basis of the polynomial space is more complicated. A. Theoretical Part Let 𝑚 ≥ 1 and choose a set {𝛼1 , . . . , 𝛼𝑛 } of 𝑛 distinct elements from 𝔽𝑞𝑚 . Consider the polynomial set 𝑉𝑛 := {𝑓 ∈ 𝔽𝑞𝑚 [𝑥] : deg(𝑓 ) ≤ 𝑛−1, (𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 )) ∈ 𝔽𝑛 𝑞 }.

The above set 𝑉𝑛 plays a crucial rule on construction of linear codes in this section. Let us study some properties of 𝑉𝑛 in the following theorem. Lemma 3.1: The set 𝑉𝑛 is in fact an 𝔽𝑞 -vector space and its dimension dim𝔽𝑞 (𝑉𝑛 ) over 𝔽𝑞 is 𝑛. Moreover, the map 𝜋 defined by 𝜋 : 𝑉𝑛 → 𝔽𝑛𝑞 ;

𝑓 → (𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 ))

is an 𝔽𝑞 -isomorphism of vector spaces.

Proof: It is easy to verify that 𝑉𝑛 is an 𝔽𝑞 -vector space. To show that the dimension dim𝔽𝑞 (𝑉𝑛 ) over 𝔽𝑞 is 𝑛, it is sufficient to show that 𝜋 is an 𝔽𝑞 -isomorphism of vector spaces. It is similar to the proof of Lemma 2.1 and we skip it here. Code Construction III For any 1 ≤ 𝑘 ≤ 𝑛, let 𝑉𝑘 denote the 𝔽𝑞 -subspace of 𝑉𝑛 which consists of all polynomials of degree at most 𝑘 − 1 in 𝑉𝑛 . Our code 𝐶𝑘 is then defined to be the image 𝜋(𝑉𝑘 ), i.e., 𝐶𝑘 := {(𝑓 (𝛼1 ), . . . , 𝑓 (𝛼𝑛 )) : 𝑓 ∈ 𝑉𝑘 }.

(III.1)

Apparently, 𝐶𝑘 is an 𝔽𝑞 -linear code of length 𝑛. In order to construct 𝐶𝑘 explicitly, we need to introduce 𝔽𝑞 -echelon basis of 𝑉𝑛 as well. Definition 3.2: An 𝔽𝑞 -basis 𝐵 (𝑘) of 𝑉𝑘 is called an 𝔽𝑞 echelon basis if 𝐵 (𝑘) can be partitioned into 𝐵 (𝑘) = ∪𝑘−1 𝑖=0 𝐵𝑖 , where all polynomials in 𝐵𝑖 have degree 𝑖 and the leading coefficients of the polynomials in 𝐵𝑖 are 𝔽𝑞 -linearly independent (note that 𝐵𝑖 could be an empty set). We will see why the above basis 𝐵 (𝑘) is called an 𝔽𝑞 -echelon basis in the next subsection. Of course, a natural question is whether there exists an 𝔽𝑞 -echelon basis in 𝐵 (𝑘) . The following theorem answers this question. Theorem 3.3: There exists an 𝔽𝑞 -echelon basis in 𝑉𝑛 . Moreover, assume that 𝐵 = ∪𝑛−1 𝑖=0 𝐵𝑖 is such a basis, then we have (i) the set 𝐵 (𝑘) := ∪𝑘−1 𝑖=0 𝐵𝑖 is an 𝔽𝑞 -echelon basis of 𝑉𝑘 ; (ii) the size ∣𝐵𝑖 ∣ is at most 𝑚 for all 𝑖 = 0, . . . , 𝑛 − 1; (iii) the size ∣𝐵𝑖 ∣ does not depend on the 𝔽𝑞 -echelon basis 𝐵, 𝑛−1 ′ i.e., for two 𝔽𝑞 -echelon bases ∪𝑛−1 𝑖=0 𝐵𝑖 and ∪𝑖=0 𝐵𝑖 , we ′ have ∣𝐵𝑖 ∣ = ∣𝐵𝑖 ∣ for all 𝑖 = 0, . . . , 𝑛 − 1. Proof: For each 1 ≤ 𝑘 ≤ 𝑛, denote by 𝑊𝑘 the 𝔽𝑞 vector space spanned by the coefficients of degree 𝑘 − 1 of all polynomials in 𝑉𝑘 (note that for a polynomial of degree less than 𝑘 − 1, the coefficient of degree 𝑘 − 1 is 0). Choose a subset 𝐵𝑘 of 𝑉𝑘 such that the coefficients of degree 𝑘 − 1 of the polynomials in 𝐵𝑘 form an 𝔽𝑞 -basis of 𝑊𝑘 . This implies that all polynomials in 𝐵𝑘 have degree 𝑘−1. It is clear that 𝐵𝑘 is an 𝔽𝑞 -linearly independent set since the leading coefficients of polynomials in 𝐵𝑘 are 𝔽𝑞 -linearly independent. We claim that 𝐵 := ∪𝑛−1 𝑖=0 𝐵𝑖 is an 𝔽𝑞 -basis of 𝑉𝑛 , and hence it is an 𝔽𝑞 -echelon basis of 𝑉𝑛 . As polynomials in different sets 𝐵𝑖 have different degrees and polynomials in each set 𝐵𝑖 are 𝔽𝑞 -linearly independent, it is easy to see that the set 𝐵 is 𝔽𝑞 -linearly independent. Now we show that every polynomial 𝑓 of 𝑉𝑛 is an 𝔽𝑞 -linear combination of 𝐵. Write 𝑓 = 𝑎𝑛−1 𝑥𝑛−1 + 𝑎𝑛−2 𝑥𝑛−2 + ⋅ ⋅ ⋅ + 𝑎1 𝑥+𝑎0 . As 𝑎𝑛−1 is an element of 𝑊𝑛 , by the choice of 𝐵𝑛−1 , 𝑎𝑛−1 is an 𝔽𝑞 -linear combination of the leading coefficients of the polynomials of 𝐵𝑛−1 , hence∑there exists a set {𝜆𝑔 }𝑔∈𝐵𝑛−1 of elements of 𝔽𝑞 such that ∑ 𝑓 − 𝑔∈𝐵𝑛 𝜆𝑔 𝑔 has degree at most 𝑛 − 2. The polynomial 𝑓 − 𝑔∈𝐵𝑛−1 𝜆𝑔 𝑔 belongs to 𝑉𝑛−1 . In the same way, we ∑ can find a set {𝜆∑ ℎ }𝑔∈𝐵𝑛−2 of elements of 𝔽𝑞 such that 𝑓 − 𝑔∈𝐵𝑛−1 𝜆𝑔 𝑔 − 𝑔∈𝐵𝑛−2 𝜆ℎ ℎ has degree at most 𝑛 − 3. Continue in this fashion until the last step, we can show that 𝑓 is an 𝔽𝑞 -linear combination of 𝐵. (i) It is clear that the set 𝐵 (𝑘) := ∪𝑘−1 𝑖=0 𝐵𝑖 is 𝔽𝑞 -linearly independent. As 𝑉𝑘 is a subspace of 𝑉𝑛 , every element of

DING et al.: GOOD LINEAR CODES FROM POLYNOMIAL EVALUATIONS

𝑉𝑘 is an 𝔽𝑞 -linear combination of 𝐵 = 𝐵 (𝑛) . Hence, it is clear to see that every polynomial in 𝑉𝑘 must be an 𝔽𝑞 -linear combination of 𝐵 (𝑘) . This implies that 𝐵 (𝑘) is an 𝔽𝑞 -basis of 𝑉𝑘 and hence it is an 𝔽𝑞 -echelon basis of 𝑉𝑘 . (ii) Since each 𝑊𝑘 is an 𝔽𝑞 -subspace of 𝔽𝑞𝑚 , the 𝔽𝑞 dimension dim𝔽𝑞 𝑊𝑘 is at most 𝑚 = dim𝔽𝑞 𝔽𝑞𝑚 . Our result follows from ∣𝐵𝑘 ∣ = dim𝔽𝑞 𝑊𝑘 . (iii) Now let 𝐴 = ∪𝑛−1 𝑖=0 𝐴𝑖 be an 𝔽𝑞 -echelon basis of 𝑉𝑛 . First of all, as in part (ii), it is easy to see that ∪𝑘−1 𝑖=0 𝐴𝑖 is an 𝔽𝑞 -echelon basis of 𝑉𝑘 . Next we claim that the leading coefficients of the polynomials of 𝐴𝑘 form an 𝔽𝑞 -basis of 𝑊𝑘 defined above, and hence ∣𝐴𝑘 ∣ = dim𝔽𝑞 𝑊𝑘 . By the definition of an 𝔽𝑞 -echelon basis, 𝐴𝑘 is an 𝔽𝑞 -linearly independent set. It is sufficient to show that every element of 𝑊𝑘 is an 𝔽𝑞 linear combination of the leading coefficients of polynomials in 𝐴𝑘 . Let 𝑎 be a nonzero element of 𝑊𝑘 , then there exists a polynomial 𝑓 of degree 𝑘 − 1 in 𝑉𝑘 such that the leading coefficient of 𝑓 is 𝑎. Since ∪𝑘−1 𝑖=0 𝐴𝑖 is an 𝔽𝑞 -basis of 𝑉𝑘 , 𝑓 can be written as an 𝔽 -linear combination of ∪𝑘−1 𝑖=0 𝐴𝑖 , i.e, ∑ ∑𝑞 𝑓 = 𝑔∈𝐴𝑘−1 𝜆𝑔 𝑔 + ℎ∈∪𝑘−2 𝐴𝑖 𝜆ℎ ℎ. This implies that 𝑎 is 𝑖=0 an 𝔽𝑞 -linear combination of 𝐴𝑘 . 𝑛−1 ′ Now for two 𝔽𝑞 -echelon bases ∪𝑛−1 𝑖=0 𝐵𝑖 and ∪𝑖=0 𝐵𝑖 , we have ∣𝐵𝑖 ∣ = dim𝔽𝑞 𝑊𝑖 = ∣𝐵𝑖′ ∣ for all 𝑖 = 0, . . . , 𝑛 − 1. Example 3.4: In this example, we explicitly write down the 𝔽𝑞 -echelon basis of 𝑉𝑘 for the case where 𝑚 = 2 and 𝑛 = 𝑞 2 . Let 𝛼 be an element of 𝔽𝑞2 ∖𝔽𝑞 . Let 𝑛 = 𝑞 2 and let 𝛼1 , . . . , 𝛼𝑛 be all distinct elements of 𝔽𝑞2 . It is straightforward to verify that the following set is an 𝔽𝑞 -basis of 𝑉𝑛 {𝑥𝑗(𝑞+1) : 𝑗 = 0, 1, . . . , 𝑞 − 1} ∪{𝑥

𝑗𝑞+𝑖

+ 𝑥𝑗+𝑖𝑞 : 0 ≤ 𝑖 < 𝑗 ≤ 𝑞 − 1}

∪{𝛼𝑞 𝑥𝑗𝑞+𝑖 + 𝛼𝑥𝑗+𝑖𝑞 : 0 ≤ 𝑖 < 𝑗 ≤ 𝑞 − 1}.

In particular, for every 1 ≤ ℓ ≤ 𝑛, we have (III.2) on the next page. An 𝔽𝑞 -echelon basis of 𝑉𝑘 is ∪𝑘−1 𝑖=0 𝐵𝑖 . From this, we can calculate the exact dimension of 𝐶𝑘 . Precisely speaking, the dimension is the size of the set { } 𝑘−1 𝑗∈ℤ: 0≤𝑗≤ 𝑞+1 ∪ {(𝑖, 𝑗) ∈ ℤ2 : 0 ≤ 𝑖 < 𝑗, 𝑗𝑞 + 𝑖 ≤ 𝑘 − 1}. It is clear that distance of 𝐶𝑘 is at least 𝑛 − 𝑘 + 1 since the degree of any polynomial in 𝑉𝑘 is at most 𝑘 − 1, every nonzero codeword has at most 𝑘 − 1 zeros. For instance, for 𝑞 = 7, we obtain 7-ary [49, 𝐾, 𝐷 ≥ 𝑛 − 𝑘 + 1]-linear codes 𝐶𝑘 for any 1 ≤ 𝑘 ≤ 𝑛, where 𝐾 is the size of the set { } 𝑘−1 𝑗∈ℤ: 0≤𝑗≤ 8 ∪ 2 {(𝑖, 𝑗) ∈ ℤ : 0 ≤ 𝑖 < 𝑗, 7𝑗 + 𝑖 ≤ 𝑘 − 1}. In particular, by taking 𝑘 = 8, 15, 16, 23 and 24, respectively, we obtain 7-ary linear codes with parameters [49, 4, 41] (best possible), [49, 8, 34] (best known), [49, 9, 33] (best known), [49, 15, 26] (best known) and [49, 16, 25] (best known), respectively. Remark 3.5: (i) In fact, the code 𝐶𝑘 constructed in this section is the subfield subcode of a generalized ReedSolomon code. As the tables in Appendix show, these

361

codes are very good in general. If we include 𝑡(𝑡 < 𝑚) more polynomials of degree bigger than 𝑘 − 1 to 𝑉𝑘 to form a vector space 𝑊 and get the evaluation code 𝐷 from 𝑊 , then the dimension of 𝐷 is equal to 1 + dim(𝐶𝑘 ). However, our computer programs show that in some cases the code 𝐷 and 𝐶𝑘 have the same minimum distance. Of course, the code 𝐷 is no longer the subfield subcode of a generalized Reed-Solomon code. For instance, our new 4-ary [64, 15, 31]−linear code is obtained in this way. The dimension of 𝑉34 over 𝔽4 is 14. Now let 𝑊 be the 𝔽4 -vector space spanned by 𝑉34 together with 𝜔 2 𝑥36 +𝜔 8 𝑥18 +𝜔 32 𝑥9 , where 𝜔 is a root of 𝑥6 +𝑥4 +𝑥3 +𝑥+1. Then the dimension of 𝑊 is 15 which is one bigger than the dimension of 𝐶34 . On the other hand, our programming shows that the minimum distance of the corresponding evaluation code is still 31 which is the same as the minimum distance of 𝐶34 . Several other such incidences happen as well. In the tables of Appendix, we mark such incidences with asterisks. (ii) Again for this construction, the code parameters depend on selection of field elements. For instance, if we choose the set {0, 𝜔 0 , . . . , 𝜔 48 } of elements of 𝔽64 (𝜔 is defined in Part (i)), we can obtain a 4-ary [50, 34, 7]-linear code. However, if we select the set {0, 𝜔 14 , . . . , 𝜔 62 } of elements of 𝔽64 , we obtain only a 4-ary [50, 34, 6]-linear code by considering the same polynomial space. B. Computational Part In the previous subsection, we constructed the 𝑞-ary linear codes 𝐶𝑘 of length up to about 𝑞 𝑚 . In this subsection, we describe how to compute the generator matrices of 𝐶𝑘 explicitly. From our construction, it is sufficient to find an 𝔽𝑞 echelon basis 𝐵 (𝑘) = ∪𝑘−1 𝑖=0 𝐵𝑖 . To do so, we need to find an 𝔽𝑞 -echelon basis of 𝑉𝑛 through the Lagrange interpolation. Explicit construction algorithm of generator matrices Step 1. Construct an 𝔽𝑞 -basis {𝑒1 , . . . , 𝑒𝑛 } of 𝑉𝑛 corresponding to the standard basis (1, 0, . . . , 0), (0, 1, 0, . . . , 0),. . . ,(0, . . . , 0, 1) of 𝔽𝑛𝑞 through the Lagrange interpolation, i.e., ∏ 1≤𝑗≤𝑛; 𝑗∕=𝑖 (𝑥 − 𝛼𝑗 ) ∏ 𝑒𝑖 = 1≤𝑗≤𝑛; 𝑗∕=𝑖 (𝛼𝑖 − 𝛼𝑗 ) for all 𝑖 = 1, . . . , 𝑛. Step 2. Write 𝑒𝑖 = 𝑎𝑖,𝑛−1 𝑥𝑛−1 + 𝑎𝑖,𝑛−2 𝑥𝑛−2 + ⋅ ⋅ ⋅ + 𝑎𝑖,1 𝑥 + 𝑎𝑖,0 and form an 𝑛 × 𝑛 matrix over 𝔽𝑞𝑚 ⎛ ⎞ 𝑎1,𝑛−1 𝑎1,𝑛−2 ⋅ ⋅ ⋅ 𝑎1,0 ⎜ 𝑎2,𝑛−1 𝑎2,𝑛−2 ⋅ ⋅ ⋅ 𝑎2,0 ⎟ ⎜ ⎟ ⎜ ⋅ ⋅ ⋅ ⋅ ⎟ ⎟. 𝐴 := ⎜ ⎜ ⋅ ⋅ ⋅ ⋅ ⎟ ⎜ ⎟ ⎝ ⋅ ⋅ ⋅ ⋅ ⎠ 𝑎𝑛,𝑛−1 𝑎𝑛,𝑛−2 ⋅ ⋅ ⋅ 𝑎𝑛,0 Step 3. Perform the elementary row operations over 𝔽𝑞 , i.e., multiplying 𝐴 from the left-hand side with a series of elementary nonsingular matrices over

362

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 60, NO. 2, FEBRUARY 2012

⎧ {𝑥𝑗𝑞+𝑖 + 𝑥𝑗+𝑖𝑞 ,   ⎨ 𝑞 𝑗𝑞+𝑖 + 𝛼𝑥𝑗+𝑖𝑞 } 𝛼 𝑥 𝐵ℓ =  {𝑥𝑗(𝑞+1) }  ⎩ ∅

𝔽𝑞 to get the ⎛ (1) 𝑏1,𝑛−1 ⎜ ⋅ ⎜ ⎜ (1) 𝑏 ⎜ 𝑖1 ,𝑛−1 ⎜ ⎜ 0 ⎜ ⎜ ⋅ ⎜ ⎜ 0 ⎜ ⎜ ⎜ 0 ⎜ ⎜ ⋅ ⎜ ⎜ 0 ⎜ ⎜ ⋅ ⎜ ⎝ ⋅ ⋅

following echelon form (1)

𝑏1,𝑛−2 ⋅ (1) 𝑏𝑖1 ,𝑛−2 (2) 𝑏1,𝑛−2 ⋅ (2) 𝑏𝑖2 ,𝑛−2 0 ⋅ 0 ⋅ ⋅ ⋅

(1)

𝑏1,𝑛−3 ⋅ (1) 𝑏𝑖1 ,𝑛−3 (2) 𝑏1,𝑛−3 ⋅ (2) 𝑏𝑖2 ,𝑛−3 (3) 𝑏1,𝑛−3 ⋅⋅⋅ (3) 𝑏𝑖3 ,𝑛−3 ⋅ ⋅ ⋅

⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅

(1)

𝑏1,0 ⋅ (1) 𝑏𝑖1 ,0 (2) 𝑏1,0 ⋅ (2) 𝑏𝑖2 ,0 (3) 𝑏1,0 (3)

𝑏𝑖3 ,0 ⋅ ⋅ ⋅

if ℓ = 𝑞𝑗 + 𝑖 for some 0 ≤ 𝑖 < 𝑗 ≤ 𝑞 − 1 if ℓ = (𝑞 + 1)𝑗 for some 0 ≤ 𝑗 ≤ 𝑞 − 1 otherwise

such that for every 1 ≤ 𝑗 ≤ 𝑛, the set (𝑗) (𝑗) {𝑏1,𝑛−𝑗 , ⋅ ⋅ ⋅ , 𝑏𝑖𝑗 ,𝑛−𝑗 } is 𝔽𝑞 -linearly indepen(1)

TABLE I 𝑞=4

⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

(1)

dent. Note that {𝑏1,𝑛−1 , . . . , 𝑏𝑖1 ,𝑛−1 } forms a basis of the 𝔽𝑞 -space spanned by the elements {𝑎1,𝑛−1 , . . . , 𝑎𝑛,𝑛−1 } of the first column of the matrix in Step 2. Step 4. Form the polynomial set 𝐵𝑘−1 := (𝑛−𝑘+1) (𝑛−𝑘+1) {𝑏𝑗,𝑘−1 𝑥𝑘−1 + 𝑏𝑗,𝑘−2 𝑥𝑘−2 + ⋅ ⋅ ⋅ + (𝑛−𝑘+1) 𝑏𝑗,0 : 𝑗 = 1, ⋅ ⋅ ⋅ , 𝑖𝑛−𝑘+1 }. Step 5. Label the polynomials in the set 𝐵 (𝑘) = ∪𝑘−1 𝑖=0 𝐵𝑖 as {𝑔1 , . . . , 𝑔𝐾 } and form the generator matrix of the code 𝐶𝑘 ⎛ ⎞ 𝑔1 (𝛼1 ) 𝑔1 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔1 (𝛼𝑛 ) ⎜ 𝑔2 (𝛼1 ) 𝑔2 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔2 (𝛼𝑛 ) ⎟ ⎜ ⎟ ⎜ ⎟ ⋅ ⋅ ⋅ ⋅ ⎜ ⎟. ⎜ ⎟ ⋅ ⋅ ⋅ ⋅ ⎜ ⎟ ⎝ ⎠ ⋅ ⋅ ⋅ ⋅ 𝑔𝐾 (𝛼1 ) 𝑔𝐾 (𝛼2 ) ⋅ ⋅ ⋅ 𝑔𝐾 (𝛼𝑛 ) Remark 3.6: (i) It is easy to verify that the set ∪𝑛−1 𝑖=0 𝐵𝑖 produced in the above construction algorithm is indeed an 𝔽𝑞 -echelon basis of 𝑉𝑛 . (ii) Step 3 of the above algorithm shows that ∪𝑛−1 𝑖=0 𝐵𝑖 is indeed an 𝔽𝑞 -echelon basis of 𝑉𝑛 . ∑𝑘−1 (iii) The 𝔽𝑞 -dimension of 𝐶𝑘 is 𝐾 := 𝑗=0 𝑖𝑛−𝑗+1 . ACKNOWLEDGMENTS The authors are grateful to the three anonymous referees for their invaluable comments and suggestions. Without these comments and suggestions, the paper could not have appeared in the current form. A PPENDIX A. Tables We now list good codes from our previous three constructions. All the codes in the following tables have the

(III.2)

𝑛 64 64 64 64 64 64 64 64 64

𝐾 7 8 15 20 23 23 26 39 45

𝐷 44 43 31 27 24 24 23 12 10

Type III III III∗ III III III III III III

𝑛 64 64 64 64 256 256 256 256 256

𝐾 49 52 54 57 7 11 15 16 243

𝐷 8 7 6 4 188 176 172 171 6

Type

𝐾 10 11 18 19 20 31 34 35 39 4 6 8 16 115 118

𝐷 25 24 17 16 15 8 7 6 4 100 95 94 74 5 4

Type

III∗ III∗ III III III III III III III

TABLE II 𝑞=5 𝑛 40 40 40 40 40 40 40 40 41 41 41 41 41 41 41

𝐾 4 11 23 24 27 32 34 36 4 22 24 25 27 33 35

𝐷 30 20 10 9 8 5 4 3 30 11 10 9 8 5 4

Type I I I I I I I I II II II II II II II

𝑛 46 46 46 46 46 46 46 46 46 125 125 125 125 125 125

II II II II II II II II II III III∗ III III∗ III III

best-known parameters compared with the online table [5]. Moreover, we obtain one new code from Construction III, i.e., a 4-ary [64, 15, 31]-linear code. We would like to emphasize three points with regard to the tables: ∙ all parameters of the codes in the following tables are the true parameters obtained through the software Magma [4]. ∙ the codes in the tables are easy to construct by using the algorithms described in the previous sections; ∙ due to limitation of our computational capability, we can not compute the minimum distance of codes with dimension in certain range. For instance, for the 4-ary codes with length 256 and dimension between 20 and 240, we could not compute their minimum distances. “Type" in the last column of the tables stands for the construction type, i.e., Construction I, II or III in the previous sections, while III∗ stands for the corresponding code obtained by using the method described in Remark 3.5(i) R EFERENCES [1] N. Aydin and D. K. Ray-Chaudhuri, “On some classes of optimal and near-optimal polynomial codes,” Finite Fields Their Applications, vol. 10, pp. 24–35, 2004.

DING et al.: GOOD LINEAR CODES FROM POLYNOMIAL EVALUATIONS

363

TABLE V 𝑞=9

TABLE III 𝑞=7 𝑛 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22

𝐾 5 6 7 9 10 12 14 15 16 6 7 8 10 13 15 16 17

𝐷 14 13 12 10 9 7 6 5 4 14 13 11 10 7 6 5 4

Type I I I I I I I I I II II II II II II II II

𝑛 29 29 29 29 29 29 29 49 49 49 49 49 49 49 49 49 49

𝐾 6 9 10 11 17 19 20 12 15 18 25 31 35 36 37 38 41

𝐷 19 15 14 13 8 7 6 28 26 21 17 12 10 9 8 7 6

Type

𝐾 20 21 24 8 9 15 16 24 25 35 36 48 49 52 53 57

𝐷 7 6 4 47 46 38 37 29 28 20 19 11 10 8 7 5

Type

II II II II II II II III∗ III III III III III III III∗ III III∗

TABLE IV 𝑞=8 𝑛 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29

𝐾 5 6 8 10 12 14 15 17 19 21 23 6 9 13 15 18

𝐷 20 19 16 15 12 11 10 8 7 6 4 20 16 12 11 8

Type I I I I I I I I I I I II II II II II

𝑛 29 29 29 64 64 64 64 64 64 64 64 64 64 64 64 64

II II II III III III III III III III III III III III∗ III III

[2] J. Bierbrauer and Y. Edel, “Extending and lengthening BCH-codes,” Finite Fields Their Applications, vol. 3, pp. 314–333, 1997. [3] J. Bierbrauer, Y. Edel, and L. Tolhuizen, “New codes via lengthening of BCH codes and UEP codes,” Finite Fields Their Applications, vol. 5, pp. 345–353, 1999. [4] W. Bosma, J. Cannon, and C. Playoust, “The Magma algebra system—I: the user language,” J. Symbolic Comput., vol. 24, pp. 235–265, 1997. [5] M. Grassl, “Code tables: bounds on the parameters of various types of codes.” Available: http://www.codetables.de/, Mar. 2011. [6] S. Ling, H. Niederreiter, and C. Xing, “Symmetric polynomials and some good codes,” Finite Fields Their Applocations, vol. 7, pp. 142– 148, 2001. [7] S. Ling and C. P. Xing, Coding Theory–A First Course. Cambridge University Press, 2004. [8] S. Ling, C. P. Xing, and F. Özbudak, “An explicit class of codes with good parameters and their duals,” Discrete Appl. Mathematics, vol. 154, no. 2, pp. 346–356, 2006. [9] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes. North-Holland, 1977. [10] C. P. Xing and Y. Fang, “A class of polynomial codes,” IEEE Trans. Inf. Theory, vol. 50, no. 5, pp. 884–887, 2004. [11] C. P. Xing and S. Ling, “A class of linear codes with good parameters,” IEEE Trans. Inf. Theory, vol. 46, no. 6, pp. 1527–1532, 2000.

𝑛 36 36 36 36 36 36 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 37 37 37

𝐾 5 6 7 9 10 18 20 21 23 25 27 28 31 6 7 10 13 15 16 17 19 21 24 26

𝐷 27 26 24 22 21 13 12 11 9 8 7 6 4 27 25 22 18 17 15 14 13 12 9 8

Type I I I I I I I I I I I I I II II II II II II II II II II II

𝑛 37 37 46 46 46 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81

𝐾 28 29 6 34 35 9 15 16 18 24 25 27 35 36 38 48 49 51 63 64 66 70 73 74

𝐷 7 6 34 8 7 61 52 51 45 42 41 36 32 31 27 22 21 18 12 11 9 7 6 5

Type II II II II II III III III III III III III III III III III III III III III III III III∗ III

Yan Ding received her Ph.D. degree in mathematics from Southeast University, Nanjing, China, in 2010. From 2007-2009, she was visiting Nanyang Technological University (NTU) as an exchange student under the support of the China scholarship council program. Since June 2010, she has been with the department of mathematics in Shanghai University, Shanghai, China. Her research interests include coding theory, information theory and sequence designs.

Lingfei Jin received her B.Sc degree and Master degree in Mathematics from Hefei University of Technology, Hefei, Anhui in 2008 and 2011, respectively. She is currently a Ph.D. student in Nanyang Technological University, Singapore. Her research interests include classical and quantum coding.

Chaoping Xing received his Ph.D. degree in 1990 from University of Science and Technology of China. From 1990 to 1993 he was a lecturer and associate professor in the same university. He joined University of Essen, Germany as an Alexander von Humboldt fellow from 1993 to 1995. After this he spent most time in Institute of Information Processing, Austrian Academy of Sciences until 1998. From March of 1998 to November of 2007, he was working in National University of Singapore. Since December of 2007, he has been with Nanyang Technological University and currently is a full Professor. Dr. Xing has been working on the areas of algebraic curves over finite fields, coding theory, cryptography and quasi-Monte Carlo methods, etc.