Classification of self-dual codes of length 36

A complete classification of binary self-dual codes of length 36 is given.


Introduction
As described in [9], self-dual codes are an important class of linear codes for both theoretical and practical reasons. It is a fundamental problem to classify self-dual codes of modest lengths and much work has been done towards classifying self-dual codes over F q for q = 2 and 3, where F q denotes the finite field of order q and q is a prime power (see [9]).
Codes over F 2 are called binary and all codes in this paper are binary unless otherwise noted. The dual code C ⊥ of a code C of length n is defined as C ⊥ = {x ∈ F n 2 | x · y = 0 for all y ∈ C}, where x · y is the standard inner product. A code C is called self-orthogonal if C ⊂ C ⊥ , and C is called self-dual if C = C ⊥ . A self-dual code C is doubly even if all codewords of C have weight divisible by four, and singly even if there is at least one codeword of weight ≡ 2 (mod 4). It is known that a self-dual code of length n exists if and only if n is even, and a doubly even self-dual code of length n exists if and only if n is divisible by eight. Two codes are equivalent if one can be obtained from the other by permuting the coordinates. An automorphism of C is a permutation of the coordinates of C which preserves C. The set consisting of all automorphisms of C is called the automorphism group of C and it is denoted by Aut(C).
A classification of self-dual codes of lengths up to 30 and doubly even self-dual codes of length 32 is known (see [9, Table I]). A classification of singly even self-dual codes of length 32 is given in [3]. The classification is extended to length 34 [2]. Using the classification of self-dual codes of length 34 and minimum weight 6, extremal self-dual codes of length 36, that is, those with minimum weight 8, were classified in [8].
The main aim of this paper is to give a complete classification of self-dual codes of length 36, confirming in particular, the partial classification given in [8]. Generator matrices of all inequivalent self-dual codes of length 36, as well as those of shorter lengths, can be obtained electronically from [6]. As a summary, we list in Table 1 the total number # T of inequivalent self-dual codes of length n and the number # d of inequivalent self-dual codes of length n and minimum weight d for n = 2, 4, . . . , 36. All computer calculations in this paper were done by Magma [4].

Classification method
Here we describe a method for classifying self-dual codes. This method is similar to that given in [7]. Suppose that C is a self-dual [n, n/2, d] code with d ≥ 4. Define a subcode of C as follows Since C ⊥ has no codeword of weight 2, C 0 has dimension n/2 − 1. Permuting coordinates if necessary, we may assume that there is a codeword code. Thus, the subcode C 0 has generator matrix of the form where G 1 is a generator matrix of C 1 and a i ∈ F 2 (i = 1, . . . , n/2 − 1). It follows that every self-dual [n, n/2, d] code is constructed as the code C 0 , x for some code C 0 with generator matrix of the form (1) and some vector x ∈ C ⊥ 0 \ C 0 , where C 0 , x denotes the code generated by the codewords of C 0 and x. Note that there is essentially a unique choice for C 0 , x , for a given C 0 . Indeed, among the three self-dual codes lying between C ⊥ 0 and C 0 , two of them are equivalent, while the remaining code has minimum weight 2.
As described in [7], the number of possibilities for a i (i = 2, . . . , n/2−1) is decreased by applying elements of Aut(D 1 ) to the first n−2 coordinates of D.
This can be made more precise and more general as follows. Two codes C and C ′ over F q are monomially equivalent if there is some monomial matrix M over F q such that C ′ = CM = {cM | c ∈ C}. The monomial automorphism group of C is the set of monomial matrices M with C = CM and it is denoted by MAut(C). Let D 1 be a linear [n, k] code over F q with k × n generator matrix G 1 . Then there exists a homomorphism f : The image Im(f ) is a subgroup of GL(k, q). With this notation, we have the following sufficient condition for monomial equivalence.
Lemma 2. Let m be a positive integer, and let a, b ∈ F k q . Suppose that a T and b T belong to the same Im(f )-orbit (under the left action), where a T denotes the transpose of a. Then the [n + m, k] codes over F q with generator matrices G 1 a T · · · a T and G 1 b T · · · b T are monomially equivalent.
Proof. There exists a monomial matrix P ∈ MAut(D 1 ) such that a T = f (P )b T . Then the monomial matrix

Mass formula for weight enumerators
Now we give a mass formula for weight enumerators of self-dual codes.
Lemma 3 (Thompson [10]). Let n be an even positive integer. Let W C (y) denote the weight enumerator of a code C. Then where C runs through the set of all self-dual codes of length n.
As a consequence, we have the following: Lemma 4. Let n and d be even positive integers. Let C be a family of inequivalent self-dual codes of length n and minimum weight at most d. Then C is a complete set of representatives for equivalence classes of self-dual codes of length n and minimum weight at most d, if and only if Proof. Consider the coefficient of y d in the formula (2) in Lemma 3.

Classification of self-dual codes of length 36
In this section, we give a complete classification of self-dual codes of length 36. Any self-dual code of length n+2 and minimum weight 2 is decomposable as i 2 ⊕ C n , where i 2 is the unique self-dual code of length 2 and C n is some self-dual code of length n. Since there are 24147 inequivalent self-dual codes of length 34 [2] From our results, together with the set of extremal self-dual codes found by [8], we obtain the set C 36 of 519492 inequivalent self-dual codes satisfying which is the usual mass formula appearing as the constant term of (2). Since this constant term gives the number of distinct self-dual codes of length 36, it follows that there is no other self-dual code of length 36. Therefore, we have Theorem 1.
In particular, we list in Table 3 the numbers of self-dual codes with d = 6 for each weight enumerator, where the numbers # of codes and (γ, δ) are listed.  The smallest order # Aut s and the largest order # Aut l among automorphism groups of self-dual codes of length 36 are listed in Table 4 for each minimum weight d. In particular, for d = 6, the number N of the codes with an automorphism group of order # Aut is listed in Table 5. There is no selfdual code with a trivial automorphism group for lengths up to 32 (see [3]). At length 34, there are 159 inequivalent self-dual [34, 17, 6] codes with trivial automorphism groups. Compared to self-dual codes of length 34, there are a great number of self-dual codes with trivial automorphism groups for length 36.   1  41019  14  1  56  1  192  25  576  2  3456  1  2  11242  16  643  64  118  240  3  768  12  4608  1  3  37  18  3  72  7  256  21  864  1  5376  1  4  3368  20  2  80  1  288  7  1152  4  5760  1  6  137  24  59  96  43  336  1  1344  1  12960 2  7  2  32  251  108  1  384  18  1536  5  21504 1  8  1297  36  21  128  45  432  1  1728  3  12  166  48  78  144  9  512  8  2304  1 Let C be a singly even self-dual code and let C 0 denote the subcode of codewords having weight ≡ 0 (mod 4). Then C 0 is a subcode of codimension 1. The shadow S of C is defined to be C ⊥ 0 \C. Let d and s denote the minimum weights of a self-dual code of length 36 and its shadow, respectively. It was shown in [1] that 2d + s ≤ 22. The numbers # s of self-dual codes with shadows of minimum weight s are listed in Table 6 for each minimum weight d. Note that there is no self-dual [36, 18, 4] code meeting the bound. A classification of self-dual [36, 18, 6] codes meeting the bound can be found in [8].
The covering radius R(C) of a code C is the smallest integer R such that spheres of radius R around codewords of C cover the space F n 2 . The covering The numbers #R r of self-dual codes of length 36 with covering radii r are listed in Table 7 for each minimum weight d. There is a unique self-dual [36, 18, 6] code with covering radius 6. This code C 36 has generator matrix ( I 18 , M ) where M is listed in Figure 1. The code C 36 has weight enumerator with (α, β, γ, δ) = (0, 0, 12, 4), it has shadow of minimum weight 2 and it has automorphism group of order 5760.