On the Classification of Formally Self-Dual Codes

J. E. Fields^{∗}, P. Gaborit^{∗}, W. C. Huffman^{†}, V. Pless^{∗}

Abstract

In this paper we discuss the status of the classification of even formally self-dual binary codes. Of most interest are those codes with highest minimum weight. We compare the results on even formally self-dual codes with those of self-dual codes. We give information about both self-dual and even formally self-dual codes for lengths up to 48. A particularly useful form of the generator matrix is presented which was used in the recent classification of the codes of length 14, 20, and 22.

1 Introduction

Self-dual (s.d.) codes are an interesting class of codes. The extended Golay codes over GF (2) and GF (3) are self-dual as are the [8,4,4] binary Hamming code and the [6, 3, 4] hexacode over GF (4). The weight enumerators of these codes are given by the Gleason polynomials which also provide upper bounds on their minimum weights. Codes which meet the highest of these bounds are called extremal and vectors of a fixed weight in them contain t-designs where t can be 5, 3, or 1 (depending on the particular case).

In order to find the extremal codes, all self-dual codes of a particular length have been classified for many modest lengths; see [5, 6, 7, 19, 20, 21, 22, 23, 24, 25, 26]. This has been possible because there are formulas for the number of self-dual codes of a fixed length.

Binary self-dual codes come in two types: Type II, the doubly-even codes where all weights are divisible by 4, and Type I, the singly-even codes where some weights are also equivalent to 2 (mod 4). The longest length where all Type II codes have been classified is 32. It is impractical to do this at longer lengths due to the large number of such codes. Attempts have been made (so far unsuccessfully) to classify only the extremal codes at longer lengths even though there are no formulas for the number of such codes. Consequently researchers have looked at certain subfamilies of these extremal codes and successfully classified them; see for example [4, 13, 15, 29, 30, 31, 33, 34]. For more information on these classifications, see [14, 28].

If a binary code has the same weight distribution as its dual code, it is called formally self-dual (f.s.d.). We only consider f.s.d. codes that are even (codes with only even weight codewords). These codes include the self-dual codes. When a code has only even weight codewords and the weight enumerator of the code equals the weight enumerator of its dual, this weight enumerator is a combination of the Gleason polynomials [18]. Therefore when the minimum weight is so high that the weight distribution is uniquely

∗Department of Mathematics, Statistics, and Computer Science, 322 SEO, University of Illinois–Chicago, 851 S. Morgan, Chicago, IL 60607-7045, USA; e-mail: fields@math.uic.edu, gaborit@math.uic.edu, pless@math.uic.edu

†Department of Mathematical and Computer Sciences, Loyola University, Chicago, IL 60626, USA; e-mail: wch@math.luc.edu

n d_{s.d.} d_{f.s.d.}  Type  Number  Dim Hull  Reference
8 4  4 II  1  [23]
10 2^{A}  4 I, f.s.d.  2, 1  1  [23, 18]
12 4  4 I, f.s.d.  1, 2  2, 4  [23, 1]
14 4  4 I, f.s.d.  1, 9  1, 3, 5  [23, 10]
16 4  4^{B} I, II, f.s.d. 1, 2, ≥ 6  2, 4, 6  [23, 12]
18 4  6 I, f.s.d.  2, 1  1  [23, 18, 32]
20 4  6 I, f.s.d.  7, 7  2, 4  [23, 11]
22 6  6 I, f.s.d.  1, > 1000  1, 3, 5, 9, ?  [25, 11, 12]
24 8  8 II  1  [25, 22]
26 6^{B} 6^{B} I, f.s.d.  1, ≥ 30  1, 3, 5, 7, 9, ?  [7, 10, 12]
28 6^{A}  8 I, f.s.d.  3, 1  2  [7, 18, 16]
30 6^{A}  8 I, f.s.d.  13, ≥ 6  1, 3, ?  [7, 18, 12]
32 8  8 I, II, f.s.d. 3, 5, ≥ 10  4, 6, 8, 12, 14, ?  [8, 5, 12]
34 6^{A} 8^{B} I, f.s.d.  ≥ 200, ≥ 7  1, 9, ?  [8, 12]
36 8  8^{B} I, f.s.d.  ≥ 4, ≥ 23  2, 4, 6, 8, 10, 12, ? [34, 12]
38 8  8^{B} I, f.s.d.  ≥ 7, ≥ 24  1, 3, 5, 17, ?  [31, 12]
40 8  10 I, II, ?  ≥ 37, ≥ 1000, ?  [4, 28]
42 8  10 I, f.s.d.  ≥ 30, ≥ 6  1, 3, ?  [9, 12]
44 8 10^{B} I, f.s.d.  ≥ 108, ≥ 12  2, 4, 12, ?  [9, 12]
46 10 10^{B} I, f.s.d.  ≥ 1, ≥ 41  1, 11, ?  [8, 12]
48 12 12 II, ?  ≥ 1, ?  remark 6

Table 1: Highest minimum weights of s.d. and even f.s.d. codes

determined (here, the codes are extremal), even f.s.d. and Type I codes have the same weight distribution. Any Type I code must have the same number of singly-even and doubly-even vectors; however this is not necessarily so for the non-extremal even f.s.d. codes so that they can have weight enumerators which are not possible for Type I codes (see the remark later regarding f.s.d. codes of length 16). Extremal even f.s.d. codes exist which have higher minimum weights than self-dual codes of the same length. Recent work has classified the extremal even f.s.d. codes through length 28.^{1}

2 What’s Known

Table 1 summarizes the information presently known about s.d. and even f.s.d. codes of length n, with 8 ≤ n ≤ 48, and highest possible minimum weight. The columns ‘d_{s.d.}’ and ‘d_{f.s.d.}’ give upper bounds on the minimum weights of s.d. and even f.s.d. codes, respectively. By [27]

d_{s.d.} ≤ \{ \begin{matrix}4⌊\frac{n}{24}⌋ + 4 & if n ≢ 22 (mod 24) \\ 4⌊\frac{n}{24}⌋ + 6 & if n ≡ 22 (mod 24) \end{matrix} .  (1)

A bound on d_{f.s.d.} can be obtained as follows. There is a unique weight enumerator for an even f.s.d. [n, n/2, d] code where d = 2⌊\frac{n}{8}⌋+2. In particular this is the weight enumerator for the even f.s.d. code with largest possible d. Thus in general

1By [3] there are no [16, 8, 6] and [26, 13, 8] codes of any type and hence no extremal even f.s.d. codes of lengths 16 and 26.

d_{f.s.d.} ≤ 2⌊\frac{n}{8}⌋ + 2.  (2)

However by examining the coefficient A_{d+2} of this weight enumerator, many people have found (see [28, Theorem 29]) that A_{d+2} < 0 for

n = 8i (i ≥ 4), n = 8i + 2 (i ≥ 5), n = 8i + 4 (i ≥ 6), and n = 8i + 6 (i ≥ 7). (3)

Therefore the bound

d_{f.s.d.} ≤ 2⌊\frac{n}{8}⌋  (4)

is valid for n in the range given by (3). In particular

d_{f.s.d.} ≤ 2⌊\frac{n}{8}⌋ for n ≥ 56.  (5)

At times there is no [n, n/2] code of any type whose minimum weight meets one of these bounds. This type of information can be found for example in the tables of A. E. Brouwer (see [3] or his website). Combining Brouwer’s tables with (3) and (5) gives

d_{f.s.d.} ≤ 2⌊\frac{n}{8}⌋ for n ≥ 32.  (6)

In Table 1, we give the appropriate values of d_{s.d.} and d_{f.s.d.} from (1), (2), and (3) except in the following. When Brouwer’s tables indicate that no [n, n/2] code of any type exists with this minimum weight, the entries given are the appropriate bound reduced by 2 and are marked as such with a ^{B} in the table. The values for d_{s.d.} with an ^{A} when n = 10, 28, 30, and 34 in the table are two below the bound (1) because it can be shown that no s.d. code meeting the bound exists ([7, 8, 23]).

The columns ‘Type’ and ‘Number’ indicates the type of code and the number of such codes which meet the appropriate bound. The values given under ‘Number’ correspond to the codes listed under ‘Type’. The entry ‘II’ refers to doubly-even codes while ‘I’ refers to self-dual singly-even codes that are not doubly-even; ‘f.s.d.’ refers to even formally self-dual codes that are not self-dual. Type I and II codes meet the bound d_{s.d.} and even f.s.d. codes meet the bound d_{f.s.d.}. The hull H of a code C is defined to be H = C ∩ C^{⊥}. The column ‘Dim Hull’ gives the dimensions of the hulls of the known f.s.d. codes. Entries in ‘Dim Hull’ occur only if even f.s.d. codes are known to exist. A question mark indicates that the corresponding entry is open.

We make some remarks about certain entries in Table 1.

1. Note that Type II codes can exist only when n ≡ 0 (mod 8). Additionally by [27], when n ≡ 0 (mod 24), a self-dual code with d = 4⌊\frac{n}{24}⌋ + 4 must be Type II.

2. When n = 8, the only code meeting the bound is the [8, 4, 4] extended Hamming code. When n = 24, the only code meeting the bound is the [24, 12, 8] extended Golay code.

3. When n = 22, the authors found 1000 even f.s.d. codes in [11]. These had hull dimensions 1, 3, and 5. In [12], all the [22, 11, 6] even f.s.d. codes double circulant and bordered double circulant codes were found. There were 9 inequivalent codes of these types; they had hull dimensions 1, 5, and 9.

4. In [32], Simonis shows that there is a unique [18, 9, 6] code. This code turns out to be even f.s.d. (see [18]) and is an extended quadratic residue code. By [16], there is a unique [28, 14, 8] code; this code is even f.s.d. ([18]).

5. While a [10, 5, 4] code is not unique, if you add the assumption that the code contains the all-1 codeword, then the weight distribution is unique [17] and this must be the weight distribution of an even f.s.d. code. This code exists and is unique [18].

6. The only [48, 24, 12] binary code known is the Type II extended quadratic residue code.

7. Note that there exist even f.s.d. codes with higher minimum weight than the s.d. codes when n = 18, 20, 28, 30, 34, 42, and 44 (and possibly 40).

This table together with the above remarks leads to the following open problems.

Research Problem 2.1 Fill in the question marks and decide at which lengths it is possible to classify the even f.s.d. codes.

Research Problem 2.2 Is there an even f.s.d. [40, 20, 10] code?

Research Problem 2.3 Is there an even f.s.d. [48, 24, 12] code? Is there another Type II [48, 24, 12] code? Most generally, is there another [48, 24, 12] code?

Research Problem 2.4 Improve the bound (6) on even f.s.d. codes. (For example, when n = 72, (6) yields d ≤ 18; however no [72, 36, 18] code of any type exists by [3].)

3 Methods Used to Find Even F.s.d. Codes

The s.d. codes of highest possible minimum weight, except for lengths 8 and 24, were found by classifying all s.d. codes of the given length. This is possible because there are formulas for the number of all such codes. As no such formulas for f.s.d. codes of a fixed length are known, classifying the even f.s.d. codes which meet the bound ‘d_{f.s.d.}’ of Table 1 requires techniques different from those used to classify s.d. codes. The first major development in this problem was the proof of the uniqueness of these codes of lengths 10 and 18 [18]. This relied heavily on the existence of 3-designs held by the codewords of a fixed weight in C ∪ C^{⊥}, a property that holds for even f.s.d. [n, n/2, d] codes with d = 2⌊\frac{n}{8}⌋ + 2 and n ≡ 2 (mod 8). When n ≡ 6 (mod 8), codewords of fixed weight in C ∪C^{⊥} hold only 1-designs, while designs are known to exist in an extremal code C when n ≡ 0 (mod 4) by the Assmus–Mattson Theorem. Only recently has progress been made on classifying these extremal codes for other lengths. This was first done by Bachoc in [1] using intersection numbers (defined below). The current authors have classified the even f.s.d. codes of lengths 14, 20, and 22 [10, 11]. The main tool used is the following form of a generator matrix for these codes. Let {X} denote the code with generator matrix X, and k_{X} the dimension of {X}.

Theorem 3.1 Let C and C^{⊥} be codes of length n_{1} + n_{2} with the following generator matrices, G(C) and G(C^{⊥}), under the assumption that A (respectively B) and F (respectively J) generate the subcodes of C and C^{⊥} of largest dimension with support under the first n_{1} (respectively last n_{2}) coordinates:

G(C) = ( \begin{matrix}A & 0 \\ 0 & B \\ D & E \end{matrix} ) and G(C^{⊥}) = ( \begin{matrix}F & 0 \\ 0 & J \\ L & M \end{matrix} ) .

Further assume that dim C = dim C^{⊥}. Then

(a) k_{D} = k_{E} = k_{L} = k_{M},

(b) {A}^{⊥} = {F ∪ L}, {B}^{⊥} = {J ∪ M}, {F }^{⊥} = {A ∪ D}, {J}^{⊥} = {B ∪ E}, and

(c) n_{1} − 2k_{A} = n_{2} − 2k_{J}, n_{1} − 2k_{F} = n_{2} − 2k_{B}.

Also important is the concept of intersection numbers. Let C be a binary linear code of length n with dual C^{⊥}. If c ∈ C, let supp(c) denote the support of c, and let wt(c) denote the weight of c. Let t be a positive integer, and let i and w be nonnegative integers. Also let T be a set of t coordinates of the code. The following are intersection numbers of C:

n_{w,i}(T) = |{c ∈ C | wt(c) = w, |supp(c) ∩ T | = i}|,
n_{w,i}^{∗}(T) = |{c ∈ C^{⊥} | wt(c) = w, |supp(c) ∩ T | = i}|.

These numbers can often be computed using the generator matrix of Theorem 3.1. (Bachoc used harmonic polynomials to compute them.)

We illustrate how the generator matrix of Theorem 3.1 can be used to compute intersection numbers, in a specific example. In the next section we show how the generator matrix can be used to construct the desired codes. Let C be an even [20, 10, 6] f.s.d. code. The weight distribution of C is

A_{0} = A_{20} = 1, A_{6} = A_{14} = 90, A_{8} = A_{12} = 255, A_{10} = 332.  (7)

Let T denote a set of t = 6 coordinates and c(T) the vector of length 20 with supp(c(T)) = T. In this illustration we only compute n_{w,i}(T). Order the coordinates so that T is the first 6 coordinates and assume c(T) ∈ C; if n_{1} = 6, then A = (111111) in Theorem 3.1. There are two possibilities to consider: either c(T) ∈ C^{⊥} or c(T) ∉ C^{⊥}. Here we look only at the first case where c(T) ∈ C^{⊥}. The presence of the all-1 vector 1 in H = C ∩ C^{⊥} implies that n_{20−w,t−i}(T) = n_{w,i}(T). Hence we only consider w ∈ {6, 8, 10}.

Table 2 gives information for the intersection numbers that is easy to obtain using simple coding theory arguments. As c(T) ∈ C^{⊥}, n_{w,i}(T) = 0 for i odd by orthogonality between C and C^{⊥}. Obviously n_{6,6}(T) = 1; as C has minimum weight 6 and maximum weight 14, n_{6,4}(T) = n_{8,6}(T) = n_{10,0}(T) = n_{10,6}(T) = 0. By adding 1 + c(T), whose support is the 14 coordinates outside of T, to any codeword counted in n_{6,0}(T), we see that n_{6,0}(T) = n_{8,0}(T); similarly n_{8,2}(T) = n_{10,2}(T). By adding c(T) to any codeword counted in n_{6,2}(T), we see that n_{6,2}(T) = n_{8,4}(T); similarly n_{8,2}(T) = n_{10,4}(T).

Thus the only entries among n_{w,i}(T) left to find are x, y, and z. In Theorem 3.1 the code {B} is a [14, 5, 6] code which must have weight distribution a_{0} = a_{14} = 1 and a_{6} = a_{8} = 15. Therefore x = n_{6,0}(T) = a_{6} = 15. As

∑_{i=0}^{6} n_{6,i}(T) = 90

\begin{matrix}i & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\ n_{6,i}(T) & x & 0 & y & 0 & 0 & 0 & 1 \\ n_{8,i}(T) & x & 0 & z & 0 & y & 0 & 0 \\ n_{10,i}(T) & 0 & 0 & z & 0 & z & 0 & 0 \end{matrix}

Table 2: Partial intersection table for t = 6 with c(T) ∈ C when n = 20

by (7), x + y + 1 = 90 implying y = 74. But by the Assmus–Mattson Theorem, the codewords of weight 6 in C hold a 1-(20,6,27) design. Therefore

∑_{i=0}^{6} in_{6,i}(T) = 6 · 27

because the left-hand side counts the total number of times the supports of codewords of weight 6 overlap the set T, and this must be the right-hand side as these codewords support a 1-design. So

0 · x + 2 · y + 6 · 1 = 6 · 27,

yielding y = 78, a contradiction. (We note that using the harmonic polynomials and the methods of Bachoc, we obtain a conflict also.) This proves that the hull of an even [20, 10, 6] f.s.d. code does not contain codewords of weight 6. In particular, this implies that there are no [20, 10, 6] s.d. codes; notice that this is a quick proof of this fact whereas the original proof [23] required the complete classification of all [20, 10, d] s.d. codes.

In [10, 11] we used similar arguments to construct intersection tables for even f.s.d. codes of lengths 14, 20, and 22. In most cases the tables were not unique. As the (unique) even f.s.d. codes of lengths 10 and 18 were constructed in [18] using different techniques without intersection tables, we include in Table 3 information about their intersection numbers. As in the case n = 20, it can be shown using intersection numbers that the hull of an even [10, 5, 4] f.s.d. code does not contain codewords of weight 4 and the hull of an even [18, 9, 6] f.s.d. code does not contain codewords of weight 6. Again this shows that there can be no [10, 5, 4] or [18, 9, 6] s.d. codes, consistent with the results in [23]. Table 3 gives the intersection table for a codeword c(T) in an even [10, 5, 4] (respectively [18, 9, 6]) f.s.d. code C such that c(T) ∉ C ∩ C^{⊥} where t = 4 (respectively t = 6).

4 Code Constructions

We now discuss the construction and classification of even f.s.d. codes using the generator matrix of Theorem 3.1.

In [18], the generator matrix was not used to show that there is a unique even [10, 5, 4] f.s.d. code. We demonstrate here how easy this is to prove using the generator matrix

[10, 5, 4] code with t = 4

i  0 1 2 3 4
n_{4,i}(T) 0 8 6 0 1
n_{4,i}^{∗}(T) 3 0 12 0 0

[18, 9, 6] code with t = 6

i  0 1 2 3 4 5 6
n_{6,i}(T) 6 24 39 32 0 0 1
n_{8,i}(T) 0 24 42 48 39 0 0
n_{6,i}^{∗}(T) 12 0 78 0 12 0 0
n_{8,i}^{∗}(T) 3 0 96 0 54 0 0

Table 3: Intersection tables for c(T) ∈ C and c(T) ∉ C^{⊥} in Theorem 3.1 for such a code C. Choose a weight 4 codeword in C and order the coordinates so that its support is the first 4 positions; hence we can choose A to be the 1 × 4 matrix (1111) where n_{1} = 4. As C contains the all-1 codeword, the length 6 code {B} must contain the all-1 vector. Since there is no [6, 2, 4] code with the all-1 vector, B = (111111) and so {A ∪ D} is 4-dimensional. We can now choose the three rows of D to have weight 1, and the three rows of E must then have weight 3. Up to equivalence, it is easy to see that

G(C) = ( \begin{matrix}1111 & 000000 \\ 0000 & 111111 \\ 1000 & 111000 \\ 0100 & 110100 \\ 0010 \end{matrix} ) .

The last row of E can now be completed (up to equivalence) by 110010, 101100, or 101010. The first two yield weight 2 codewords and so only the last is possible.

We now discuss the length 20 case. Let C be an even [20, 10, 6] f.s.d. code. In view of the preceding section we know that no weight 6 vector is in C and in C^{⊥}. Let c be a weight 6 codeword in C. Reorder coordinates so that supp(c) is the first 6 positions. In the notation of Theorem 3.1, C has a generator matrix G(C) with A = (111111). As c ∉ C^{⊥}, k_{F} = 0. Therefore D is the matrix given in Figure 1, and {B} is a [14, 4, 6] code containing the all-1 vector and hence having weight distribution a_{0} = a_{14} = 1 and a_{6} = a_{8} = 7. It is easy to prove by hand that there are only two such codes up to equivalence; these have generator matrices B = B_{i} of Figure 1.

Our most difficult job was to determine the rows of E. Each of these rows can be chosen modulo the code {B} = {B_{i}}. As C has minimum weight 6, the rows of E can be chosen from the set of the coset leaders of the code {B_{i}} with odd weight 5 or more. For {B_{1}} there are 200 coset leaders of weight 5 and for {B_{2}} there are 196 coset leaders of weight 5 and 8 of weight 7. Therefore if we apply a brute force method to test all the different possible codes, there are 5 rows of E to determine and therefore about \frac{200^{5}}{5!} possibilities for each choice of B, if we order them, which is more than 250 × 10^{6} cases. So we had to be more clever and take advantage of the fact that we want to construct C only up to equivalence. Using group theoretic techniques and Magma [2], we can reduce the number of possibilities; the actual procedure is explained in more detail in [11]. As an illustration, when B = B_{1}, the submatrix of E consisting of the first three rows can be chosen from among only 225 possibilities. In the end the case B = B_{1} yielded seven inequivalent even f.s.d. codes. Proceeding similarly when B = B_{2}, we found exactly the same seven codes.

We briefly mention the situation in lengths 14 and 22. First let C be an even [14, 7, 4] f.s.d. code. The classification of [23] shows that there is only one s.d. code of this type.

D = ( \begin{matrix}100000 \\ 010000 \\ 001000 \\ 000100 \\ 000010 \end{matrix} ) B_{1} = ( \begin{matrix}11001101111000 \\ 00101101100111 \\ 00011100011111 \\ 00000011111111 \end{matrix} ) B_{2} = ( \begin{matrix}11000000001111 \\ 00100100111100 \\ 00011000110011 \\ 00000011111111 \end{matrix} )

Figure 1: Submatrices in G(C) for even [20, 10, 6] f.s.d. codes It is easy to show that if C is not s.d., then C contains a codeword of weight 4 that is not in C^{⊥}. Using the support of such a codeword as the first 4 coordinate positions and arguing as in the length 20 case, we find that there are two inequivalent choices for B and that E is a 3 × 10 matrix. A brute force method works quickly to find E. For each choice of B we find the same nine inequivalent non-self-dual even f.s.d. codes.

Length 22 proved to be very surprising. We assumed that there was a codeword in C of weight 6 that is not in C^{⊥}. Using the support of this codeword as the first 6 coordinate positions, thus determining the matrices A and D, we find that there are eleven inequivalent choices for B. For each choice of B, the rows of the 5 × 16 matrix E must be chosen from approximately 500 coset leaders. As we began to generate codes, the number of inequivalent even [22, 11, 6] f.s.d. codes grew rapidly. We stopped generating them after we reached 1000 codes; we had only tested a small fraction of the total possibilities and so suspect that the actual number is much higher.

Some interesting observations have arisen in our study of f.s.d. codes. We describe some of these.

• All the extremal even f.s.d. codes of lengths through 12 have (pure) double circulant generator matrices. At length 14, only 2 of the 10 even f.s.d. codes have such generator matrices.

• All of the extremal even f.s.d. codes of length through 20 are isodual (equivalent to their dual).^{2} The first non-isodual codes were found at length 22. In fact of our 1000 codes, 963 were not isodual!

• Up through length 20, no extremal even f.s.d. codes have trivial automorphism group. (At length 20, the automorphism groups were relatively small with orders 8, 9, 10, and 20.) However at length 22, codes with trivial groups seem to be abundant. Of the 1000 codes found, 972 had trivial automorphism group. Only two had groups of order larger than 4.

• When examining Table 1, we notice a pattern in the parity of the dimensions of the hulls. This pattern in fact holds in general; in [10] it is proved that if C is an even f.s.d. code of length n, then the dimension of the hull is odd if n ≡ 2 (mod 4) and is even if n ≡ 0 (mod 4).

References

[1] C. Bachoc, “On harmonic weight enumerators of binary codes,” preprint.

[2] W. Bosma and J. Cannon, Handbook of Magma Functions, Sydney, 1995.

[3] A. E. Brouwer, “Bounds on the size of linear codes,” Handbook of Coding Theory, edited by V. Pless and W. C. Huffman, North Holland, Amsterdam, 1998.

[4] S. Buyuklieva and V. Y. Yorgov, “Singly-even self-dual codes of length 40,” Designs, Codes and Crypt. 9 (1996), 131–141.

[5] J. H. Conway and V. Pless, “On the enumeration of self-dual codes,” J. Comb. Theory A 28 (1980), 26–53.

2Note that the even [16, 8, 4] f.s.d. codes are not extremal.

[6] J. H. Conway, V. S. Pless, and N. J. A. Sloane, “Self-dual codes over GF(3) and GF(4) of length not exceeding 16,” IEEE Trans. Inform. Theory IT-25 (1979), 312–322.

[7] J. H. Conway, V. S. Pless, and N. J. A. Sloane, “The binary self-dual codes of length up to 32: a revised enumeration,” J. Comb. Theory A 60 (1992), 183–195.

[8] J. H. Conway and N. J. A. Sloane, “A new upper bound on the minimal distance of self-dual codes,” IEEE Trans. Information Theory 36 (1990), 1319-1333.

[9] S. T. Dougherty, T. A. Gulliver, and M. Harada, “Extremal binary self-dual codes,” IEEE Trans. Information Theory 43 (1997), 2036–2047.

[10] J. E. Fields, P. Gaborit, W. C. Huffman, and V. Pless, “On the classification of extremal even formally self-dual codes,” preprint.

[11] J. E. Fields, P. Gaborit, W. C. Huffman, and V. Pless, “On the classification of extremal even formally self-dual codes of lengths 20 and 22,” preprint.

[12] T. A. Gulliver and M. Harada, “Classification of extremal double circulant formally self-dual even codes,” Designs, Codes and Crypt. 11 (1997), 25–35.

[13] W. C. Huffman, “Automorphisms of codes with applications to extremal doubly even codes of length 48,” IEEE Trans. Inform. Theory IT-28 (1982), 511–521.

[14] W. C. Huffman, “On the classification of self-dual codes,” Proc. 34th Allerton Conf. Commun. Control and Computing (October 2–4, 1996), 302–311.

[15] W. C. Huffman and V. D. Tonchev, “The existence of extremal [50, 25, 10] codes and quasi-symmetric 2-(49,9,6) designs,” Designs, Codes and Crypt. 6 (1995), 97–106.

[16] D. B. Jaffe, “Optimal binary linear codes of lengths ≤ 30,” Discrete Math, to appear.

[17] D. B. Jaffe, private communication.

[18] G. T. Kennedy and V. Pless, “On designs and formally self-dual codes,” Designs, Codes and Cryptography 4 (1994), 43–55.

[19] J. S. Leon, V. Pless, and N. J. A. Sloane, “On ternary self-dual codes of length 24,” IEEE Trans. Inform. Theory IT-27 (1981), 176–180.

[20] F. J. MacWilliams, A. M. Odlyzko, N. J. A. Sloane, and H. N. Ward, “Self-dual codes over GF(4),” J. Combin. Theory A 25 (1978), 288–318.

[21] C. L. Mallows, V. Pless, and N. J. A. Sloane, “Self-dual codes over GF(3),” SIAM J. Appl. Math. 31 (1976), 649–666.

[22] V. Pless, “On the uniqueness of the Golay codes,” J. Comb. Theory 5 (1968), 215– 228.

[23] V. Pless, “A classification of self-orthogonal codes over GF(2),” Discrete Math. 3 (1972), 209–246.

[24] V. Pless, “The children of the (32,16) doubly even codes,” IEEE Trans. Inform. Theory IT-28 (1982), 738–746.

[25] V. Pless and N. J. A. Sloane, “On the classification and enumeration of self-dual codes,” J. Comb. Theory 18 (1975), 313–335.

[26] V. Pless, N. J. A. Sloane, and H. N. Ward, “Ternary codes of minimum weight 6 and the classification of the self-dual codes of length 20,” IEEE Trans. Inform. Theory IT-26 (1980), 305–316.

[27] E. M. Rains, “Shadow bounds for self-dual codes,” IEEE Trans. Inform. Theory 44 (1998), 134–139.

[28] E. M. Rains and N. J. A. Sloane, “Self-dual codes,” Handbook of Coding Theory, edited by V. Pless and W. C. Huffman, North Holland, Amsterdam, 1998.

[29] R. P. Ruseva, “Uniqueness of the [36, 18, 8] double circulant code,” in Proc. of the International Workshop on Optimal Codes and Related Topics, May 26–June 1, 1995, Sozopol, Bulgaria, 126–129.

[30] R. P. Ruseva, “New extremal self-dual codes of length 36,” in Proc. of the 25^{th} Spring Conf. of the UBM, 1996, 150–153.

[31] R. P. Ruseva, “On the extremal self-dual binary codes of length 38 with an automorphism of order 7,” preprint.

[32] J. Simonis, “The [18,9,6] code is unique,” Discrete Math. 106/107 (1992), 439–448.

[33] V. Y. Yorgov, “Binary self-dual codes with automorphisms of odd order,” Prob. Inform. Trans. 19 (1983), 11–24.

[34] V. Yorgov and N. Yankov, “On the extremal binary codes of lengths 36 and 38 with an automorphism of order 5,”Proc. of the 5^{th} International Workshop on Algebraic and Combinatorial Coding Theory June 1–7, 1996, Sozopol, Bulgaria, 307–312.