New Linear Codes over GF ( 3 ) , GF ( 11 ) , and GF ( 13 ) ∗

Explicit construction of linear codes with best possible parameters is one of the major and challenging problems in coding theory. Cyclic codes and their various generalizations, such as quasi-twisted (QT) codes, are known to contain many codes with best known parameters. Despite the fact that these classes of codes have been extensively searched, we have been able to refine existing search algorithms to discover many new linear codes over the alphabets F3, F11, and F13 with better parameters. A total of 38 new linear codes over the three alphabets are presented. 2010 MSC: 94B15, 94B60


Introduction
Let F q denote the finite field with q elements (which is also denoted by GF (q)).A linear code C of length n over F q is a vector subspace of F n q .Over a given finite field F q , a linear code has three fundamental parameters: the length n, the dimension k, and the minimum (Hamming) distance d.A code with these parameters is denoted as an [n, k, d] q -code.One of the main problems of coding theory is a discrete optimization problem: determine the optimal values of these parameters and construct codes whose parameters attain the optimal values.Over a given finite field F q we can fix two of the parameters, and look for the optimal value of the remaining one.For example, d q [n, k] stands for the largest minimum distance of a linear code of length n and dimension k over F q .This optimization problem is very difficult.In general, it is only solved for the cases where either k or n − k is small.There is a database of best known linear codes [14] over small finite fields which is a major source of reference for coding theory researchers.
While there exist theoretical upper bounds on the value of d for a given n and k, in general there do not exist explicit constructions for linear codes attaining these parameters.A code is called "good" if it has best known parameters; it is called "new" or "record-breaking" if its parameters are better than the currently best known codes; and called "optimal" if its parameters attain the equality in a theoretical bound.The good codes are also referred to as the best known linear codes (BKLCs).The database [14] of BKLC's includes the parameters of best known codes together with their constructions over finite fields up to size 9. Computer algebra system Magma also contains a similar database [8].More recently, tables of best known codes over GF (11) and GF (13) have been published in [10] and [9].
The majority of the BKLCs do not attain the theoretical upper bounds on minimum distance.Therefore, it is still possible to improve the parameters of BKLCs.It should be noted however that it may not always be possible to attain the theoretical upper bound on the minimum distance for a given length and dimension.
Computers are often used in searching for codes with best parameters but there is an inherent difficulty: computing the minimum distance of a linear code is computationally intractable (NP-hard) [17].Since it is not possible to conduct exhaustive searches for linear codes if the dimension is large, researchers often focus on promising subclasses of linear codes with rich mathematical structures.The class of cyclic codes and its various generalizations, such as constacyclic codes, quasi-cyclic (QC) codes, and quasitwisted (QT) codes, lend themselves well to the problem of finding codes with good parameters.Many record-breaking codes have been obtained in the class of QC codes in the last few decades ( [1-3, 5-7, 11-13, 15, 16]).These are the codes we consider in this paper.The search algorithm introduced in [6] has been highly effective and used in several subsequent works (e.g., [1-3, 5, 7, 12, 13]).
We begin by reviewing the structure of constacyclic and QT codes and then describe how we implemented an improved version of the search algorithm that was used in previous works to search for new linear codes.We conclude with a list of new record breaking codes over the fields F 3 , F 11 , and F 13 with generators and other necessary information to construct them.

Constacyclic search method
A linear code C over F q that is closed under a constacyclic shift is called a constacyclic code, that is, if (c 0 , c 1 , . . ., c n−1 ) ∈ C, then (a • c n−1 , c 0 , c 1 , . . ., c n−2 ) ∈ C as well.Here, a ∈ F * q is a non-zero field element, and it is called the shift constant.The important special case of cyclic codes are obtained when we take a = 1.
It is well known that constacyclic codes are ideals in F q [x]/ x n − a if we represent their elements as polynomials, and that each constacyclic code C contains at least one polynomial that generates it as an ideal.While generating polynomials are not unique, the monic generator polynomial of least degree is.This is what we call the generator polynomial g(x) of C. It is also well known that g(x) is the generator polynomial for a constacyclic code of length n with shift constant a if and only if g(x) divides x n − a, i.e.
x n − a = g(x)h(x) for some h(x) ∈ F q [x]/ x n − a .Hence, there is a one-to-one correspondence between the divisors of x n − a and the constacyclic codes of length n with shift constant a.The polynomial h(x) is called the check polynomial of C. A constacyclic code is therefore uniquely determined by either its generator polynomial or its check polynomial.From the generator polynomial g of a constacyclic code C we obtain its generator matrix as a circulant (twistulant) matrix where each row is the cyclic (constacyclic) shift of the row above.
Using the computational algebra system Magma, we are able to factor x n − a and compute the minimum distance d of all constacyclic codes generated by the divisors of x n − a.We follow the method in [5] with a few variations to be more comprehensive in the constacyclic search, and the QT search that follows.
We first consider cyclic codes with length-dimension pairs for which lower bounds are available (found in either [14], [10], or [9]).We are then able to reduce the number of constacyclic codes to be examined by using the following theorems.
Theorem 2.1.[6] Let a ∈ F q where a = ω i for some primitive element ω in F q .Then, a has an n-th root in F q if and only if gcd(n, q − 1)|i.
Theorem 2.2.[6] If F q contains an n-th root of a, then a constacyclic code with length n and shift constant a is equivalent to a cyclic code of length n.
The above two theorems immediately lead to the following corollary: Let ω be a primitive element of F q and let a = ω i for some positive integer i.If gcd(n, q − 1)|i then a constacyclic code with length n and shift constant a is equivalent to a cyclic code of length n.
Therefore, once we examine all cyclic codes of length n over F q , we do not need to examine constacyclic codes of length n for shift constant a = ω i if gcd(n, q − 1)|i, as the resulting constacyclic code is equivalent to a cyclic code that we have already computed and equivalent codes have the same parameters.Of the remaining constacyclic codes with shift constant a = 1, some of them turn out to be equivalent to each other.The next theorem specifies which shift constants still need to be examined once all cyclic codes are computed.
Theorem 2.4.[6] Let a, b have the same order in the multiplicative group F * q and let C a be the constacyclic code [n, k, d] q with shift a.Then there exists a constacyclic code C b that is equivalent to C a .
Given the theorem above, we classify the elements of F * q according to their multiplicative orders and examine only one constant from each class.The following table combines the results of Corollary 2.3 and Theorem 2.4 to show which constacyclic codes of length n and shift constant a still need to be checked after computing all cyclic codes.Any constacyclic code with parameters not found in the table would be equivalent to a cyclic or a constacyclic code.Two parts of our search method that have the largest impact on the running time are the number factors of x n − a considered and the time to compute the minimum distance of each code generated by a divisor of x n − a.When x n − a has many factors, we only consider a predetermined amount of factors of x n − a for each degree.We also allocate a maximum computation time for each minimum distance calculation and if the minimum distance is not computed within the time limit, then the computation is aborted.After these initial searches, our results are compiled into a master list which contains the best found minimum distance for each length and dimension pair, and the list is compared with the databases to identify any record-breaking codes.When there are multiple codes with the same highest minimum distance for a given length and dimension [n, k], we just keep the generator polynomial of one of them.This master list also forms the basis of the next step in searching for new QT codes.

Quasi-twisted search method
Quasi-twisted (QT) codes are a generalization of constacyclic codes.Definition 3.1.Let π a denote the constacyclic shift operator.A linear code C is said to be -quasitwisted ( -QT) if it is invariant under π a , where is some positive integer which divides the length of the code.That is, if (c 0 , c 1 , . . ., c n−1 ) ∈ C, then (ac n− , . . ., ac n−1 , c 0 , c 1 , . . ., c n− −1 ) ∈ C as well.
The class of QT codes contains several other classes as special cases.When a = 1, we obtain the class of quasi-cyclic (QC) codes, when = 1 the class of constacyclic codes, and when a = = 1, the class of cyclic codes.Algebraically, a QT code of length n = ml is an R-submodule of R where R = F q [x]/ x m − a .A generator matrix of a QT code can be obtained in the form where each G i,j is a twistulant matrix.Such a code is called an r-generator QT code.Most of the work on QT codes is focused on the 1-generator case.We also consider 1-generator QT codes in the paper.
A method of constructing QT codes from constacyclic codes is based on the following theorem [6].
Theorem 3.2.[3,6] Let C be a 1-generator QT code of length n = m over F q with a generator of the form where x m − a = g(x)h(x) and (h(x), f i (x)) = 1 for all i = 1, . . .Search methods based on this theorem have been implemented in a number of articles and many record-breaking codes have been obtained [1-3, 5, 7, 12, 13].We continue this line of work by refining the search method even further.We build up QT codes from the best constacyclic codes obtained in the first stage.To do so, we take the generator polynomial g(x) of one of the [m, k, d] q constacyclic codes and construct a QT code of index with generating polynomial of the form so that n = m , the length of the QT code, does not exceed the maximum lengths of codes found in the databases.Polynomials f i (x) that are relatively prime to the check polynomial h(x) = (x m − a)/g(x)are randomly chosen from the elements of The generator polynomial of the best constacyclic code for every length/dimension pair that our constacyclic search found is used for as many values of as possible.Unlike in our constacyclic search, where one program examines numerous factors of x n − a, our QT search programs examine only one factor of x m − a at a time; that is, the given generator polynomial g(x).As the dimension of an -QT code in this method is m − k where k is the degree of g(x), each program only considers codes of one length-dimension pair at a time.Programs are run as long as possible and aborted after a certain period of time if they had not been completed.We used Magma software in the implementation of the search algorithms [8].

New constacyclic codes
The following are the parameters of new record breaking constacyclic codes.For each code we give its shift constant a, the parity check polynomial h, and w, the improvement on the minimum distance.The parity check polynomial is given in place of the generator polynomial g(x) due to considerations of space.The coefficients of the parity check polynomial are listed in ascending order.Thus, the parity check polynomial for the first code in the table is h(x) = 10 + x + 7x 2 + 9x 3 + 2x 4 + 4x 5 + 10x 6 + x 7 .

New quasi-twisted codes
The following are the parameters of new record breaking QT codes together with their generators.The shift constants a of the original constacyclic codes along with index are also given.Each -QT code is generated by a matrix of the form [G 1 , G 2 , . . ., G ] where G 1 is the generator matrix of a constacyclic code with generator polynomial g(x), and each one of the remaining G i is a twistulant matrix defined by g(x)f i (x) mod (x n − a), where f i (x) ∈ F q [x]/ x n − a is relatively prime with the check polynomial.To identify each new code, we have also given g(x) (or h(x) depending on space as above) as well as each f i (x).All of these codes have been included in the database [8].
We have special comments for 3 of the codes in the list.We found the code with parameters [150, 22, 67] 3 in the summer of 2015.Later we found a [150, 22, 68] 3 code using a more comprehensive search strategy in the summer of 2018 [4].For the code with parameters [105, 28, 37] over F 3 , an alternative construction that involves many steps is given in [14] 1 .Since our construction is more direct, hence preferable, we include this code in the list.The same is the case for the [108, 19, 48] 3 -code in the list.It is possible that additional new codes might be obtained from these by applying the standard constructions such as extending, shortening, and puncturing.