On dual extremal maximal self-orthogonal codes of Type I-IV

For a Type $T \in${I, II, III, IV} of codes over finite fields and length $N$ where there exists no self-dual Type $T$ code of length $N$, upper bounds on the minimum weight of the dual code of a self-orthogonal Type $T$ code of length $N$ are given, allowing the notion of dual extremal codes. It is proven that for $T \in${II, III, IV} the Hamming weight enumerator of a dual extremal maximal self-orthogonal Type $T$ code of a given length is unique.


Introduction
Let F be a finite field. A linear code is a subspace C ≤ F N . The dual code of C is where J is the identity or a field automorphism of order 2. If C ⊆ C ⊥ then C is called self-orthogonal and if C = C ⊥ then C is called self-dual. A famous result by Gleason and Pierce states that if a certain divisibility condition on the Hamming weights wt(c) := |{i ∈ {1, . . . , N } | c i = 0}| is imposed on the codewords c ∈ C then there are basically four Types of codes: Theorem 1. [Gleason-Pierce Theorem](cf. [12]) Let C = C ⊥ ≤ F N q such that wt(c) ∈ mZ for all c ∈ C and some m > 1. Then one of the following holds.
exists no self-dual code of the respective Type, we are going to broaden the term Type T as follows.
Definition 1. For T ∈ {I, II, III, IV}, a Type T code is a self-orthogonal linear code, over the field F 2 for T ∈ {I, II}, over the field F 3 for T = III and over F 4 for T = IV, respectively, such that the Hamming weight of each codeword is a multiple of m T .
Note that the divisibility condition on the Hamming weights in Definition 1 is an additional constraint only for T = II. Although in this sense Type II codes are also Type I codes, for clarity's sake let us call Type I only those codes which are not doubly-even (as the majority of authors does for self-dual codes).
The Hamming weight enumerator a homogeneous polynomial of degree N , counts the number of codewords of each weight. Gleason showed that for a Type T ∈ {I, . . . , IV}, the weight enumerators of self-dual Type T codes lie in a polynomial ring C[f T , g T ], where f T and g T themselves are linear combinations of products of weight enumerators of self-dual Type T codes ( [4], see Theorem 8 in this paper). This very powerful result provides an overview of the possible weight distributions of such codes, and in particular allows to derive the upper bounds on the minimum weight, d(C) := min 0 =c∈C wt(c), cited in Theorem 3. The closer the minimum weight comes to this bound, the better the error-correcting capability of the code. A self-dual code is called extremal if its minimum weight reaches the respective upper bound.
Moreover, it follows immediately from Gleason's Theorem that the length of a self-dual Type T code is always a multiple of o T := min(deg(f T ), deg(g T )) = gcd(deg(f T ), deg(g T )).
In this paper, we consider the case where N is not a multiple of o T . By the above, there exists no self-dual Type T code of length N , but one may still consider maximal self-orthogonal Type T codes, which we will simply call maximal Type T codes.

Definition 2.
A code C is called maximal Type T if it is Type T and there exists no Type T code which properly contains C.
The main theorem below gives upper bounds on the dual minimum weight d(C ⊥ ) of a maximal Type T code C (and thus on the dual minimum weight of any Type T code), which gives rise to the notion of dual extremal maximal Type T codes.
Theorem 2. Let T ∈ {I, . . . , IV} and let C be a maximal Type T code. Then Table 1 below.
The bounds are, basically, developed in two ways, depending on the parameters of C. If the code length N , writing n · o T ≤ N ≤ (n + 1) · o T with some integer n, is closer to (n + 1) · o T , then one may extend C ⊥ to a self-dual Type T code of length (n + 1) · o T (cf. Section 2), and then use the well-known bounds on the minimum weight of self-dual Type T codes and design theory to upper bound d(C ⊥ ) (cf. Section 3.2). If N is closer to n · o T then it is more appropriate to use the structure of the complex vector space I (k) T spanned by the dual Hamming weight enumerators of maximal Type T codes of length equivalent to k (mod o T ), in Section 4. The case T = II and N ≡ 4 (mod 8) is exceptional here, since the extension and shortening procedure introduced in this paper fail to construct a self-dual code from a maximal Type II code of length N ≡ 4 (mod 8). However, one obtains upper bounds on d(C ⊥ ) using the shadow of a self-dual Type I code of length N and a result by Bachoc and Gaborit in [1] (cf. Section 3.4). Here it proves particularly useful to consider the dual distance d(C ⊥ ) instead of d(C).
2. Constructing self-dual codes from maximal self-orthogonal codes Let C be a maximal Type T code, for some T ∈ {I, . . . , IV}, and length N = In what follows, two methods are presented to construct a self-dualType T code from C. The first method, an extension of C ⊥ , applies when k ≥ o T 2 , unless T = II and N ≡ 4 (mod 8). The thus extended selfdual code ext(C) will have length (n + 1) · o T . For Type I codes, this is nothing but the well-known procedure of adding an overall parity check (cf. [8,Ch. 1]). The second method, a shortening of C, applies when t ≤ o T 2 (again unless T = II and N ≡ 4 (mod 8)), and results in a self-dual code of length n · o T . This method is a generalization of the puncturing process for Type I codes (see, again, [8,Ch. 1]).
An important preparation is the following basic result on the dimension of maximal self-orthogonal codes. By the theory of Witt groups (see [11,Ch.1,2]), the isomorphism type of the quadratic module C ⊥ /C is independent from the choice of C (see e.g. [6,Ch. ]). In particular we have the following.
The rest is induction on N , using the relation D T (N ) = N − D T (N ).

2.1.
Extension. This is a special way of gluing codes together (cf. [8, Ch.3, Sect. 11.11.1]). Assume that k ≥ o T 2 , but not T = II and k = 4. We construct a linear map f : Then ext(C) := {(c , f (c )) | c ∈ C ⊥ } is a Type T code of length (n + 1) · o T , which is even self-dual since according to Lemma 2, The map f will be explicitly given in Table 2, since the weight distribution of the code ext(C) is the primary interest here. However, we shall mention that the existence of f has the following theoretical background (see [11,Ch.1]): Let β (N ) denote the (Euclidian or Hermitian) scalar product on F N which defines orthogonality in the context of the respective Type T . If C ≤ F N is a T code then one obtains another well-defined scalar product If C is maximal self-orthogonal then the space ) (that the two spaces have the same dimension is already in Lemma 1, the rest is, again, a result of the theory of Witt groups). Hence the orthogonal sum  Table 2 shows explicitly how to extend a maximal Type T code. There B denotes an ordered set of vectors in F N such that (b + C | b ∈ B) is a basis for C ⊥ /C, and G is the Gram matrix of β (N ) /C with respect to B. If T = II then, additionally, the table gives the values of the quadratic form Note that, writing N = k + n · o T as above, up to isometry G and Q do not depend on n -for G, this has already been mentioned, and there is an analogous result for quadratic forms (cf. [11,Ch.2]).
One observes that a word in C ⊥ is extended to a word with the least possible Hamming weight which is a multiple of m T . Technically speaking, the extension procedure has the following effect on the Hamming weight enumerator.
In particular, there exists an integer t, depending on the length of C, such that ). This will be used in Section 3 to derive upper bounds on d(C ⊥ ). 2.2. Shortening. Assume that k ≤ o T 2 , but not T = II and k = 4. Moreover, assume that D T (N ) ≥ k. This only excludes the case N = k = 1, for T ∈ {I, . . . , IV}, or T ∈ {II, III} and k = N = 2. In these cases, the zero code of length 0 is appropriate as the shortened code.
Otherwise, since D T (N ) ≥ k, after some suitable permutation of the coordinates the map . . , c N ) which maps a codeword to its last k components is surjective. There are possibly lots of suitable coordinate permutations, which may result in different shortened codes (cf. Example 1). However, in the context of this paper it suffices to consider just any of these, keeping in mind that the obtained shortened code depends on this choice. Since The v i may be chosen to satisfy for all i, j ∈ {1, . . . , k}, possibly after adding suitable elements of C, due to the surjectivity of π. Now we define a map f : C ⊥ → F o T −k (given explicitly in Table  3) as in the case where k ≥ o T 2 , to obtain a self-orthogonal code E := {(c , f (c ))} of length (n + 1) · o T and dimension D T (N ). In general, the code E is not self-dual. However, the code D formed by the last o T coordinates of the vectors This procedure is called subtraction of D from E (cf. [8]). The code C (k) is clearly self-orthogonal. Its length is n · o T and, by Lemma 2, its dimension is Hence C (k) is a self-dual Type T code. From Table 3 one easily tells that there exists an integer t, depending on the length of C, such that d( It is not possible, though, to foretell the effect of the shortening procedure on the weight distribution of C. Example 1 presents two ways of shortening a code, such that the shortened codes have different weight enumerators. Table 3. Shortening Example 1. Let C be the maximal self-orthogonal ternary [13, 6,3] code such that C ⊥ has generator matrix The first six rows of B form a generator matrix of C. One verifies that C is a direct sum of the self-dual tetracode t 4 of length 4 and the maximal self-orthogonal [9,4,3] code e 3+ 3 (see [6] for more details). A generator matrix of a shortening C (1) of C is obtained by deleting the penultimate row and last column of B. Using Magma, one verifies that we(C (1) ) = x 12 + 8x 9 y 3 + 240x 6 y 6 + 464x 3 y 9 + 16y 12 .
Let C be the code obtained from C by a cyclic left coordinate shift. A generator matrix for a shortening C (1) of C is obtained from B by deleting the first row and column. One observes that C (1) has a direct summand t 4 , while C (1) has not; hence their weight enumerators must be distinct. In fact, we(C (1) ) = x 12 + 24x 9 y 3 + 192x 6 y 6 + 512x 3 y 9 .
In conclusion, the weight distribution of the extended code only depends on the weight distribution of the original code, while shortening does not even respect permutation equivalence. In Section 5, it will be shown that no way of shortening can be found such that (1) shortening is well-defined on the weight enumerator level and, in this sense, (2) the "shortening" of weight enumerators extends to a homomorphism U where s is the number of positions shortened, i.e. shortening allows to derive upper bounds on the minimum distance even on the polynomial level.
3. Bounds on the dual distance of codes of Type I − IV In the previous section, two procedures have been described to obtain a self-dual Type T code D from a maximal Type T code C. Now the connection between d(C) and d(D) is studied, to obtain an upper bound for d(C ⊥ ) from upper bounds that are known for d(D).
For self-orthogonal codes of length N = k + n · o T , where n and k are integers , the extension procedure is applied, and the obtained bounds (cf. Theorem 6) are sharp for small N . An important tool in developing these bounds is a result by Assmus and Mattson (cf. Theorem 5), which says that the words of minimum weight in an extremal self-dual code (cf. Definition 3) hold a t-design, where t depends on the Type and length of the code.
When k ∈ {1, . . . , o T 2 −1} (cf. Section 3.3), the shortening procedure applies, but the thus obtained bounds on d(C ⊥ ) are not satisfactory, not even for small N . In Section 5, a different approach is pursued, using the algebraic structure of the space spanned by the Hamming weight enumerators of maximal self-orthogonal codes, to obtain the sharp upper bounds from Theorem 2.
In the exceptional case T = II and N ≡ 4 (mod 8), sharp upper bounds on d(C ⊥ ) are derived in Section 3.4.
3.1. Some known results on extremal self-dual codes. Recall that the Hamming weight enumerators of self-dual Type T codes, for T ∈ {I, . . . , IV}, lie in a polynomial ring C[f T , g T ], where f T , g T are themselves linear combinations of products of weight enumerators of self-dual Type T codes (cf. Section 1). This has been used by several authors to derive upper bounds on the minimum distance of these codes, as follows. For Type I codes, this bound can be improved using the concept of the shadow of a code (cf. Section 3.4). The following is due to Rains ([10]).  In either case, we denote the minimum weight of an extremal self-dual code of Type T and length N by d max (T, N ). The set of all words of minimum weight in an extremal self-dual code of Type II − IV has a particularly nice structure. Note that s-extremal codes in the sense of [1] also yield designs. In an extremal self-dual Type I code whose length is not a multiple of 24, the words of minimum weight in general do not hold a design. There are even extremal self-dual Type I codes where the supports of the words of minimum weight are contained in a proper subset of {1, . . . , N }. Hence we define t(I, N ) = 0 for N ≡ 0 (mod 24). If N is a multiple of 24 then an extremal self-dual Type I code is also Type II, and of course extremal in the sense of Type II. In this case the words of minimum weight form a 5-design. Correspondingly, we define t(I, N ) = 5 if N ≡ 0 (mod 24).

3.2.
Bounds in the extension case.
be as in the previous section. Then and consider the self-dual extended code ext(C). Due to our assumption, d(C ⊥ ) > d(ext(C)) − δ. Hence the words of minimum weight in ext(C) have less than δ nonzero entries in their last o T − k coordinates. On the other hand, ext(C) is extremal, since always δ ≤ m T . Hence its words of minimum weight form a t(T, N + o T − k)-design and thus for an arbitrary δ-subset M of the last o T − k coordinates, there exists a word of minimum weight in ext(C) whose support contains M . This is a contradiction. Hence the claim of the theorem follows.
This motivates us to call dual extremal a maximal Type T code of length N (where N is as in the beginning of this section) if its dual distance equals d max (T, N ). Example 2. (i) There is in general no correspondence between the dual extremal maximal Type III codes of length N ≡ 6 (mod 12) and the extremal self-dual Type III codes of length N + 2 (in this case, with the notation from Theorem 6, o T −k = 2 and t(T, N +2) = 1). For instance, the extremal self-dual ternary [20, 10, 6] code D with generator matrix (I 10 | H), where (cf. [7,9]) cannot be obtained by extending a dual extremal Type III code of length 18. This is due to the fact that D contains codewords of weight 6 whose penultimate and ultimate entries are both nonzero, so any word in a ternary code of length 18 that extends to these must have minimum weight 4 < 5 = d max(III,18) . Although the words of weight 6 in D do not form a 2-design, every pair of coordinate positions is contained in the support of at least 4 words of weight 6 in D. Hence extension of an extremal self-dual Type III code never leads to a permutation equivalent of D, i.e. here ext does not even establish a correspondence between the permutation equivalence classes of the respective codes. (ii) Similarly, there is in general no correspondence between the dual extremal Type II codes of length N ≡ 13 or 14 (mod 24) and the extremal self-dual Type II codes of length N + 3 or N + 2, respectively. (iii) In all the other cases (i.e. except when T = III and N ≡ 6 (mod 12) or T = II and N ≡ 13 or 14 (mod 24)), ext establishes a bijection between the set of all dual extremal codes of length N and the set of all extremal self-dual codes of length N + o T − k, due to Theorem 6. The inverse map consists in puncturing (and then changing to the dual code), i.e. in an extremal self-dual code, the last o T − k coordinates can be omitted to obtain the dual of a dual extremal code. Puncturing 1,2 or 3 coordinates in the extremal extended Golay code g 24 = g II , for instance, leads to a dual extremal [23, 12,7] or [22,12,6] or [21, 12, 5] code, respectively.

3.3.
Bounds in the shortening case. As announced above, in this case one obtains only very weak bounds, using the fact that the minimum distance of the shortened code is always less than or equal to the minimum distance of the original code. The reason is that, contrarily to the extension case, shortening means a lot of information loss. The following preliminary result is improved in Section 4.
for all d ∈ D. Equivalently, if C := {d ∈ D | wt(d) ≡ 0 (mod 4)} is the doubly-even subcode of D, then S(D) = C ⊥ − D. Note that dim(C) = dim(D) − 1, i.e. C is a maximal Type II code. The following has been shown in [1] (see also [3]). Based on this observation, one easily concludes the proof of Theorem 2 in the case T = II and N ≡ 4 (mod 8), and in the case T = II and N ≡ 2 (mod 24).

The weight distribution of a dual extremal code of Type II-IV is unique
Using the structure of the ring C[f T , g T ], it is not hard to see that the weight enumerator of an extremal self-dual code of Type T ∈ {II, III, IV} is uniquely determined (cf. [8,Ch. 3]). For T = I, this is false if one (as we do) considers as extremal those codes whose minimum distance reaches the newer bound given by Rains (cf. Theorem 4). Hence in this section, unless Type I is explicitly included, let T be one of the Types II, III or IV.
For lengths where there exists no self-dual Type T code, this section uses the structure of the complex vector space I where δ depends basically on the dimension of (I (k) T ) N ). On the one hand, in the case k ≥ o T 2 , where Theorem 2 has been proven in the previous section, it turns out that the dual weight enumerator of a dual extremal maximal Type T code of lenght N is the unique element of (I (k) T ) N of the above form. On the other hand, the least non-vanishing term in p provides an upper bound for the minimum weight of a maximal Type T code C of length N , and the weight enumerator of a code meeting that bound is of course unique. This bound is easy to calculate for small values of N . For k < o T 2 and lengths N exceeding a certain range, one obtains upper bounds on d(C ⊥ ) exploiting the fact that as d(C ⊥ ) grows sufficiently large, one may shorten C to an extremal self-dual code of almost the same length. But extremal self-dual codes do not exist for sufficiently large N . The exact spectrum, i.e. the meaning of "sufficiently large", is in [8,Ch. 9.3].
In conclusion, one thus obtains upper bounds on d(C ⊥ ) also when k < o T 2 , which completes the proof of Theorem 2.

4.1.
Gleason's Theorem and maximal Type T codes.
where f T and g T are themselves linear combinations of products of weight enumerators of self-dual Type T codes, according to Table 4. Table 4. Gleason Polynomials The direct sum of a self-dual Type T code and a maximal Type T code is again a maximal Type T code, and the weight enumerator of a direct sum is the product of the weight enumerators of the summands. Hence, if I (k) T is as above, then we have the following remark.
It has been shown in [6,Ch. 10] that for T ∈ {I, . . . , IV}, the module I (k) T is free and generated by finitely many weight enumerators of maximal Type T codes (see Table 5 in this paper).  The space W is said to have the Weierstrass property if, for every N ∈ N, every element of W N is uniquely determined by its first dim(W N ) coefficients which do not belong to J, i.e. by the coefficients in It is well-known that the spaces C[f T , g T ], for T ∈ {I, . . . , IV}, have the Weierstrass property (cf. [8,Ch. 3]). This allows to define extremality of self-dual Type T codes. In what follows this concept is described for a general space W , which is assumed to have the Weierstrass property: For every positive integer N there is an injective linear map This gives rise to a notion of extremality, as follows.
Definition 5. Assume that the space W ⊆ C[x, y] has the Weierstrass property. Then for every positive integer N the space W N contains a unique element of the form i.e. where the sequence formed by the first δ(W N ) coefficients is (1, 0, . . . , 0). This element is called the extremal element of W N .
Recall that for Hamming weight enumerators of maximal Type T codes, for T ∈ {I, . . . , IV} and k ≥ o T 2 , a notion of extremality has been introduced in Section 3.2, using the fact that a Type T code of length N satisfies d(C ⊥ ) ≤ d max (T, N ). In the subsequent section it is shown that for T ∈ {II, III, IV} the latter notion of extremality coincides with the one defined via the Weierstrass property.

4.3.
Proof of the uniqueness of the extremal weight enumerator. In this section it is proven that the spaces I i.e. where the sequence formed by the first δ((I has a basis (q 1 , . . . , q t T ,k ) which is triangular as well: If i is the largest integer such that q j is a multiple of y i , then q j+1 is a multiple of y i+1 , for j ∈ {1, . . . , t T,k − 1}.
Moreover, one observes that in most cases there are some regular "gaps" in the weight distribution of the q j , i.e. the set J (k) T := {i ∈ Z | coef(q j (1, y), y i+m T z ) = 0 for all j ∈ {1, . . . , t T,k } and all z ∈ Z} is non-empty. Since all the weights of an element of C[f T , g T ] are multiples of m T , it even holds that coef(p(1, y), y i ) = 0 for all i ∈ J (k) T and all p ∈ I (k) T . One observes from Table 5 that, metaphorically speaking, if one ignores the columns belonging to the coefficients of q j (1, y) at y i , for i ∈ J (k) T , then the triangle formed by the basis vectors q j is even isosceles. In particular, Now one forms a triangular basis of (I , as follows. For j ∈ {1, . . . , t}, let η j := deg(q j ). Then N − η j is a multiple of o T . Choose a basis B j = {p 0,j , . . . , p s,j } of (C[f T , g T ]) N −ηj as in Corollary 1. Then is a basis of (I (k) T ) N which, if C = {c 1 , . . . , c u } is ordered appropriately, has the property that if i is the largest integer such that c j is a multiple of y i , then c j+1 is a multiple of y i+1 . As an immediate consequence, Corollary 2. The spaces I  As announced above, the last necessary result, which is easy to verify by induction on N , e.g., to prove the uniqueness of the extremal weight enumerator of a maximal Type T code is  Table 5, all polynomials are given, evaluated at x = 1, to shorten notation. A small index indicates the total degree. If a polynomial p is symmetric, i.e. p(x, y) = p(y, x), then its redundant coefficients are omitted, which is indicated by an index sym . For instance, [y + 3y 2 − 9y 3 + 5y 4 − 6y 5 + 6y 6 ] 13,sym denotes the polynomial x 12 y + 3x 11 y 2 − 9x 10 y 3 + 5x 9 y 4 − 6x 8 y 5 + 6x 7 y 6 +6x 6 y 7 − 6x 5 y 8 + 5x 4 y 9 − 9x 3 y 10 + 3x 2 y 11 + xy 12 .
In addition, Table 5 describes how these polynomials can be obtained from weight enumerators of maximal Type T codes. For the notation of these codes, the reader is referred to [6].

Extremal polynomials and extremal codes
Let T ∈ {I, . . . , IV} and let k, N be integers with 1 ≤ k ≤ o T −1 and N ≡ k (mod o T ). Recall from Section 4 that there exists a unique extremal element p ∈ (U T ) N ), . . . , N } | a i = 0} satisfies the upper bound on the dual minimum distance of a putative maximal Type T code of lenth N . This could probably be proven for arbitrary N using the Bürmann-Lagrange formula. In this section, though, it is shown that the extension procedure introduced in Section 2 can, to some extent, be useful to this aim, too. Regrettably, the shortening process fails to provide any upper bounds on d(p). It is shown in Theorem 9 that this is not a weakness of this particular shortening procedure, but that there exists no shortening procedure at all which is useful to this aim.

5.1.
A C[f T , g T ]-module homomorphism induced by code extension. Assume that N = k + n · o T , where k ≥ o T 2 (here we exclude the exceptional case T = II and k = 4). Let C be a maximal Type T code of length N . It is easy to observe that if D is a self-dual Type T code, then ext(D ⊕ C) = D ⊕ ext(C). This suggests to define a C[f T , g T ]-module homomorphism α : I (k) T → C[f T , g T ], we(C i ) → we(ext(C i )), where the we(C i ) form a C[f T , g T ]-basis for I (k) T . Recall that the weight distribution of the extended code ext(C), of length N + o T − k, can easily be read off from the weight distribution of C (cf. Remark 1). Hence Remark 5. If C is a maximal Type T code then α(we(C)) = we(ext(C)), i.e. the map α extends the effect of the extension procedure on the weight enumerator to a homomorphism of C[f T , g T ]-modules.