Self-Dual Codes, Symmetric Matrices, and Eigenvectors

We introduce a consistent and efficient method to construct self-dual codes over <inline-formula> <tex-math notation="LaTeX">$GF(q)$ </tex-math></inline-formula> using symmetric matrices and eigenvectors from a self-dual code over <inline-formula> <tex-math notation="LaTeX">$GF(q)$ </tex-math></inline-formula> of smaller length where <inline-formula> <tex-math notation="LaTeX">$q \equiv 1 \pmod 4$ </tex-math></inline-formula>. Using this method, which is called a ‘symmetric building-up’ construction, we improve the bounds of the best-known minimum weights of self-dual codes with lengths up to 40, which have not significantly improved for almost two decades. We focus on a class of self-dual codes, which includes double circulant codes. We obtain 2967 new self-dual codes over <inline-formula> <tex-math notation="LaTeX">$GF(13)$ </tex-math></inline-formula> and <inline-formula> <tex-math notation="LaTeX">$GF(17)$ </tex-math></inline-formula> up to equivalence. We also compute the minimum weights of quadratic residue(QR) codes that were previously unknown. These are a [20, 10, 10] QR self-dual code over <inline-formula> <tex-math notation="LaTeX">$GF(23)$ </tex-math></inline-formula>, [24, 12, 12] QR self-dual codes over <inline-formula> <tex-math notation="LaTeX">$GF(29)$ </tex-math></inline-formula> and <inline-formula> <tex-math notation="LaTeX">$GF(41)$ </tex-math></inline-formula>, and a [32, 16, 14] QR self-dual code over <inline-formula> <tex-math notation="LaTeX">$GF(19)$ </tex-math></inline-formula>. They have the highest minimum weights so far.


I. INTRODUCTION
The theory of error-correcting codes, which was born with the invention of computers, has been an interesting topic in mathematics as well as in industry, such as satellites, CD players, and cellular phones. Recently, with the advent of machine learning and artificial intelligence, there have been some studies on the relationship between error-correcting codes and these areas [2], [22], [30], [31]. Especially, selfdual codes have been an important class of linear codes for both practical and theoretical reasons and have received an enormous research effort since the beginning of coding theory.
Due to their algebraic or combinatorial structures, selfdual codes have been studied by coding or cryptography researchers. For example, self-dual codes have been useful in secret-sharing schemes [9]. Moreover, many of the bestknown codes are actually self-dual codes. It is well-known that self-dual codes are asymptotically good [28]. Self-dual codes also have close connections to other mathematical structures such as designs, lattices, graph theory, and modular The associate editor coordinating the review of this manuscript and approving it for publication was Zilong Liu.
On the other hand, coding theorists are interested in finding an optimal code, which has the best capability to correct as many errors as possible with a given length. The minimum distance of code is the parameter determining the errorcorrection capability of a code. In particular, extremal selfdual codes and maximal distance separable (MDS) self-dual codes are optimal codes that meet some upper bounds on the minimum distances. There is a close relationship between optimal codes and self-dual or self-orthogonal codes [26]. The effort to find optimal codes has lasted for decades, and is still ongoing. To see the whole history, we refer to [3], [11]- [14], [37], [39].
As a summary, we present all of the up-to-date results concerning minimum weight bounds and the existence of optimal self-dual codes in Tables 1, 2, and 3. In the tables, the best-known minimum weights are listed. The superscript 'e' indicates the minimum distance of an extremal code when q = 2, 3, 4, and ' * ' indicates the minimum distance of an MDS code. The superscript 'o' indicates the minimum TABLE 1. The best-known minimum weights of self-dual codes of length n over GF (q) where n ≤ 40 and 2 ≤ q ≤ 4 [12], [15], [19], [23].
distance of an optimal code with given parameters. If the bound is not determined yet, we put '?' and if there does not exist a self-dual code with a given length, we put '−'. If the bound of the best minimum weight is reported, we indicate the lower and upper bound together.
In Table 1, we list the best-known Lee distances(d L ) and Hamming distances(d H ) of Euclidean self-dual codes over GF (4)(denoted by 4 eucl ) and best-known Hamming distances of Hermitian self-dual codes over GF (4)(denoted by 4 herm ).
Gleason-Pierce-Ward theorem states that self-dual codes over GF(q) have weights divisible by δ > 1 only if q = 2, 3, 4. This motivates many researchers to study self-dual codes over small fields. Table 1 gives an updated status of the highest minimum weights of such self-dual codes.
However, these tables also tell that there remain many unknown bounds. Most cases of length ≤ 24 are completely known. However, when 5 ≤ q ≤ 20, most highest minimum weights of self-dual codes over GF(q) are not known if length ≥ 24, as we can see in Tables 2 and 3. However, in general,   TABLE 3. The best-known minimum weights of self-dual codes of length n over GF (q) where n ≤ 40 and 23 ≤ q ≤ 41 [3], [7], [13], [14], [16], [17], [25], [36], [37], [38]. New results from this article are written in bold. many self-dual codes over larger finite fields have better minimum weights than those of self-dual codes over smaller fields. This is the main motivation of this paper.
We try to improve the bounds on minimum weights by constructing self-dual codes of longer lengths as many as possible. To this end, we investigate the consistent and efficient method to construct self-dual codes. Consequently, we find a construction method of self-dual codes over GF(q) having a symmetric generator matrix where q ≡ 1 (mod 4). This method can be regarded as a special case of the well-known 'building-up' construction method [25]. However, the method in this paper has significant differences: we improve the efficiency to find the best self-dual code from a self-dual code of a given length and we also focus our concern on one subclass of self-dual codes which have a certain automorphism in their automorphism group. Using this construction method, we obtain 2967 new self-dual codes over GF (13) and GF (17) and improve the lower bounds of best self-dual codes of length up to 40 (Table 4 and 5). We also want to point out that our new construction method includes well-known pure double circulant and bordered double circulant construction; for example, optimal and MDS self-dual codes obtained in [3] and [16] can be obtained equivalently by using our method.
In addition, we construct four new self-dual codes from quadratic residue codes which improve the unknown bound: a [20,10,10] code over GF (23), [24,12,12] codes over GF (29) and GF(41), and a [32,16,14] code over GF (19). We also point out that the [18,9,9] quadratic residue code over GF (13), which has been reported previously as an optimal self-dual code [3], is not actually a self-dual code. However, since we obtain [18,9,8] self-dual codes over GF (13), the bound of the highest minimum distance of self-dual code over GF (13) of length 18 is turned to 8-9. Our new results are written in bold in Tables 2, 3 and 4. In particular, the highest minimum distances of our results in Table 4 are all of the selfdual codes having symmetric generator matrices. The number of inequivalent codes we obtain is given in Table 5.  The paper is organized as follows. Section 2 gives preliminaries and background for self-dual codes over GF(q). In Section 3, we present a construction method of symmetric self-dual codes over GF(q) where q ≡ 1 (mod 4). We show that every symmetric self-dual code of length 2n + 2 is constructed from a symmetric self-dual code of length 2n by using this construction method. In Section 4, we present the computational results of the best codes obtained by using our method. All computations in this paper were done with the computer algebra system Magma [6].

II. PRELIMINARIES
Let n be a positive integer and q be a power of a prime.
A linear code C of length n and dimension k over a finite field GF(q) is a k-dimensional subspace of GF(q) n . An element of C is called a codeword. A generator matrix of C is a matrix whose rows form a basis of C. For vectors x = (x i ) and y = (y i ), we define the inner product x · y = n i=1 x i y i . The dual code C ⊥ is defined by The weight of a codeword c is the number of non-zero symbols in the codeword and it is denoted by wt(c). The Hamming distance between two codewords x and y is defined by d(x, y) = wt(x − y). The minimum distance of C, denoted by d(C), is the smallest Hamming distance between distinct codewords in C. If a linear code C over GF(q) of length n and dimension k has the minimum weight d, we denote C an [n, k, d] q code.
The error-capability of a code is determined by the minimum distance, thus the minimum distance is the most important parameter of a code. For a linear code, its minimum distance equals the minimum weight of all the non-zero codewords. It is well-known [21,Chapter 2.4.] that a linear code of length n and dimension k satisfies the Singleton bound, A code that achieves the equality in the Singleton bound is called a maximum distance separable(MDS) code. A selfdual code of length 2n over a field is MDS if the minimum weight equals n + 1.
Let S n be a symmetric group of order n and D n be the set of diagonal matrices over GF(q) of order n, The group of all γ -monomial transformations of length n, M n is defined by where p σ is the permutation matrix corresponding σ ∈ S n . We only consider γ -monomial transformation in this paper since γ -monomial transformation does preserve the selfduality(see [21,Theorem 1.7.6]). Let Cτ = {cτ | c ∈ C} for an element τ in M 2n and a code C of length 2n. If there exists an element µ ∈ M 2n such that Cµ = C for two distinct self-dual codes C and C , then C and C are called equivalent and denoted by C C . An automorphism of C is an element µ ∈ M 2n satisfying Cµ = C. The set of all automorphisms of C forms the automorphism group Aut(C) as a subgroup of M 2n . Let A T denote the transpose of a matrix A and I n be the identity matrix of order n. A self-dual code C of length 2n over GF(q) is equivalent to a code with a standard generator matrix where A is a n × n matrix satisfying AA T = −I n . Proposition 1: Let C be a self-dual code of length 2n over GF(q) with a standard generator matrix G = (I n | A). Then is also a generator matrix of C. Proof: Since C is self-dual, AA T = −I and A −1 = −A T . Thus A T is non-singular. This implies that the rank of the rows of A T G is equal to the rank n of G. Therefore, by the definition of a linear code, the rows of the matrix A T G form another basis of the code C. It is obvious that Corollary 2: Let G = (I n | A) and G = (I n | A T ) be generator matrices of self-dual codes C and C , respectively. Then C and C are equivalent.
Proposition 3: Let G = (I n | A) and G = (I n | B) be generator matrices of self-dual codes C and C , respectively. If A = µ 1 Bµ 2 for some µ 1 , µ 2 ∈ M n , then C and C are equivalent.
is symmetric, we call G a symmetric generator matrix of C. If a self-dual code C has a symmetric generator matrix, we call C a symmectric self-dual code.
Definition 5: Let C 1 , C 2 be self-dual codes of length 2l and 2m whose standard generator matrices are (I l | A 1 ) and (I m | A 2 ), respectively. The direct sum of two codes, C 1 ⊕ C 2 is defined by the code having the generator matrix, Corollary 6: Let I n be the identity matrix of order n, A be an n × n circulant matrix, and B be an (n − 1) × (n − 1) circulant matrix. Then, (i) a pure double circulant code over GF(q) with a generator matrix of the form (I n | A) is equivalent to a code with symmetric generator matrix, and (ii) a bordered double circulant code over GF(q) with a generator matrix of the form α and β are elements in GF(q), is equivalent to a code with symmetric generator matrix. Proof: It is clear that a column reversed matrix of a circulant matrix A is symmetric. Thus, the corollary follows directly from Proposition 3.
We remark that many MDS and optimal self-dual codes are obtained by using the construction method of pure double circulant codes and bordered double circulant codes in [3], [16]. These codes are all equivalent to codes with symmetric generator matrices.

III. CONSTRUCTION OF SYMMETRIC SELF-DUAL CODES
In this section, we introduce a construction method for symmetric self-dual codes over GF(q) where q ≡ 1 (mod 4). We also show that any symmetric self-dual code of length 2n + 2 is obtained from a symmetric self-dual code of length 2n by using this method. Thus, this is a complete method to obtain all symmetric self-dual codes. Our construction requires a square root of -1 in GF(q); it is well-known that the equation x 2 = −1 has roots in GF(q) if and only if q ≡ 1 (mod 4). Thus, from now on, we assume that q is a power of an odd prime such that q ≡ 1 (mod 4). We note that all arguments in this section can be also applicable even if q is a power of 2. We omit the details.
Lemma 7: Let α be a root of -1 in GF(q). If C is a selfdual code of length 2n over GF(q) with symmetric generator matrix G = (I n | A), then A has an eigenvector x T with eigenvalue α or −α.
Proof: Since C is self-dual, AA T = −I . With the assumption that A is symmetric, we have that A 2 = −I , and This implies that any non-zero vector x T generated by column vectors of A + αI , is an eigenvector of A with eigenvalue α if A = −αI . On the contrary, if A = −αI , then it is obvious that any vector x T in GF(q) n is an eigenvector of A with eigenvalue −α. Thus, the result follows.
Theorem 8: Let (I n | A) be generator matrix of a symmetric self-dual code of length 2n over GF(q) for q ≡ 1 (mod 4). Let α be a square root of −1.
Suppose that x T is a non-zero (column) eigenvector of A corresponding eigenvalue α, where xx T + 1 is a non-zero square in GF(q). Take γ be an element of GF(q) satisfying On the other hand, suppose that x is a zero vector, then By the assumption, we have that AA T = −I n and Ax Since xx T = −γ 2 − 1, we simplify the (1,2)-block matrix as and the (2,2)-block matrix is equal to −I n . This completes the proof of the first part. The 'on the other hand' part is trivial. By the construction method of Theorem 8 called the symmetric building-up construction, we obtain symmetric selfdual codes of length 2n + 2 from a symmetric self-dual code of length 2n. From now on, we discuss the converse of Theorem 8.
Lemma 9: Suppose that C is a symmetric self-dual code over GF(q) with generator matrix in the form: where x is a non-zero vector. Let α be a square root of -1 over a finite field GF(q) which is not equal to γ and let Thus, By using these equalities, we show that Thus the result follows. Theorem 10: Any symmetric self-dual code C of length 2n + 2 over GF(q) for a prime q = 4k + 1 and a positive integer n can be constructed from some symmetric self-dual code C of length 2n by the construction method in Theorem 8.
Proof: We may assume that C is a symmetric self-dual code with a symmetric generator matrix , and x is a vector in GF(q) n . If x is a zero vector, G (or C) is decomposable and gives the second case of Theorem 8. Therefore, we suppose that x is a non-zero vector. Since there are two square roots of −1, we can take α as a square root of −1 which is not equal to γ . Let β = (γ − α) −1 and A = A − βx T x. It is clear that A is symmetric. By Lemma 9, x T is an eigenvector of A with eigenvalue α. Consider a symmetric self-dual code C of length 2n with the generator matrix Applying the construction method in Theorem 8 on G , we recover the matrix G as follows.
Therefore, C can be constructed from a symmetric selfdual code C of length 2n with the generator matrix G as wanted.
Remark 11: Theorems 8 and 10 might be regarded as a special case of the well-known 'building-up' construction method [25, Propositions 2.1, 2.2]. But Theorems 8 and 10 have a significant difference. We only have to choose vectors from an eigenspace of A with an eigenvalue of a root of −1. This improves the efficiency to find a best self-dual code from a self-dual code of smaller length. We also point out that all of the self-dual codes used in this method have symmetric generator matrices. Thus, we can focus our concern in one subclass of self-dual codes that have a certain automorphism in their automorphism group. Among these 5 4 = 625 eigenvectors, if we choose a vector x = 43411113, then using the construction method in Theorem 8 with γ = 0 and β = (γ − α) −1 = 2, we obtain an 'optimal' symmetric self-dual [18,9,7] code with generator matrix In general, according to our computational experience to obtain several best self-dual codes in Table 4, we only need about q n 2 choices of eigenvectors when a given length is 2n. Due to this reduced complexity, we have succeeded in constructing self-dual codes of lengths greater than 22. We remark that the building-up method in [25] will generate much more self-dual codes than our method based on symmetric matrices. However, many of them will have low minimum distances as well. Therefore, the result in this paper is justifying that symmetric matrices are efficient samples to derive best known minimum distances of self-dual codes over large finite fields.

IV. COMPUTATIONAL RESULTS OF OPTIMAL OR BEST-KNOWN SELF-DUAL CODES
In this section, we construct optimal self-dual codes over GF (13) and GF (17) by using the method in the previous section. From now on, for the brevity, we denote a symmetric [2n, k, d] self-dual code over GF(p) as C 2n p and its generator matrix as (I n | A 2n p ). All the computations are done in Magma [6]. A. OPTIMAL SELF-DUAL CODES OVER GF (13) In [3], the optimal minimum weights of self-dual codes over GF (13) are determined for lengths up to 20 except 12, and the minimum optimal weight of length 12 is determined in [14]. However, we pointed out that the existence of optimal self-dual codes of length 18 turns out to be unknown. This is to be discussed in Remark 14. We obtain a [18,9,8] self-dual code with a symmetric generator matrix G 18 13 , which is now known to have the best-known minimum weight. In Table 6, we illustrate the chain of self-dual codes constructed by using Theorem We give generator matrices of new symmetric self-dual codes over GF (13) of lengths up to 40.
has a generator matrix (I 14 | A 28,2 17 ) where We give generator matrices of new self-dual codes over GF (17) of even lengths from 30 to 40.

Remark 14:
The [18,9,9] linear code, quadratic residue code over GF (13) of length 18, is reported as an optimal self-dual code of that parameter in [3] referring to [7,Theorem 15]. But we point out that the quadratic residue code over GF (13)  . For the details of the self-duality of quadratic residue codes, we refer to [21,Chap. 6.6]. Theorem 6.6.18 in [21] implies that quadratic residue code over GF (13) of length 18 is an iso-dual code, i.e., the code is equivalent to its dual. Therefore, the existence of an optimal self-dual code over GF (13) of length 18 turns out unknown, and that is the reason why we put '?' in Table 4.
Remark 15: We also point out that the quadratic residue code over GF (17)  The new results are updated in Tables 2 and 3, and their generator matrices are as follows.
• A [32,16,14] code over GF (19)  In this paper, we have introduced a new construction method of symmetric self-dual codes. Using this construction method, we have constructed many new self-dual codes.
We have also obtained new quadratic residue codes. Consequently, we have improved the bounds of the highest minimum weights of self-dual codes over some finite fields, which stayed unknown for almost two decades because of their computational complexity issue. Our computational results give twenty new highest minimum weights of self-dual codes and 2967 new self-dual codes up to equivalence. As future work, we will work on the highest minimum weights of self-dual codes over GF(q) where q ≡ 3 (mod 4). Furthermore, we will focus on q 2 even or q 2 ≡ 1 (mod 4) so that Hermitian self-dual or self-orthogonal codes over GF(q 2 ) will result in quantum codes as well.