Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Codes and invariant theory

2004, Mathematische Nachrichten

arXiv:math/0311046v1 [math.NT] 4 Nov 2003 Codes and Invariant Theory G. Nebe, Abteilung Reine Mathematik, Universität Ulm, 89069 Ulm, Germany Email: nebe@mathematik.uni-ulm.de E. M. Rains, Mathematics Department, University of California Davis, Davis, CA 95616, USA Email: rains@math.ucdavis.edu N. J. A. Sloane, AT&T Shannon Labs, Florham Park, NJ 07932-0971, USA Email: njas@research.att.com January 1, 2003; revised October 6, 2003 Abstract The main theorem in this paper is a far-reaching generalization of Gleason’s theorem on the weight enumerators of codes which applies to arbitrary-genus weight enumerators of self-dual codes defined over a large class of finite rings and modules. The proof of the theorem uses a categorical approach, and will be the subject of a forthcoming book. However, the theorem can be stated and applied without using category theory, and we illustrate it here by applying it to generalized doubly-even codes over fields of characteristic 2, doubly-even codes over Z/ 2f Z, and self-dual codes over the noncommutative ring Fq + Fq u, where u2 = 0.. AMS 2000 Classification: Primary 94B05, 13A50; Secondary: 94B60 1 Introduction One of the most remarkable theorems in coding theory is Gleason’s 1971 theorem [7] that the weight enumerator of a binary doubly-even self-dual code is an element of the polynomial ring generated by the weight enumerators of the Hamming code of length 8 and the Golay code of length 24. In the past thirty years many generalizations of this 1 theorem have been given that apply to other familes of codes (cf. [13], [16]). Usually each new type of code is treated on an individual basis. We have recently found a far-reaching generalization of Gleason’s result that applies simultaneously to arbitrary-genus weight enumerators of self-dual codes over a very large class of finite rings and modules. The main result (Theorem 3.5 below) can be summarized as follows. Given a quasichain ring R and a notion of self-duality for codes over a left R-module V , we construct a “Clifford-Weil” group G such that the vector invariants of G are spanned by the full weight enumerators of self-dual isotropic codes, and the polynomial invariants of G are spanned by the complete weight enumerators of these codes. In the case of genus-m weight enumerators (for m ≥ 1) of Type I binary self-dual codes, G is the real Clifford group Cm of our earlier paper [13]. If C is a Type II binary self-dual code, G is the complex Clifford group Xm of [13]. The case m = 1 gives the original Gleason theorem (except for the specific identification of codes that generate the ring). For self-dual codes over Fp containing the all-ones vector (where p is an odd (p) prime) G is the group Cm of [13, Section 7]. The proof of the main theorem will be the subject of our forthcoming book [14]. The proof is best carried out via a categorical approach, using the concept of a form ring, a generalization of the corresponding concept from unitary K -theory [8]. However, it is not necessary to understand this theory to state and apply the theorem, and so it seems worthwhile publishing a short version that states the main result and gives some applications. To illustrate the theorem we will construct the Clifford-Weil groups for generalized doubly-even codes over fields of characteristic 2 (Section 5), doubly-even codes over Z/ 2f Z (Section 6), and self-dual codes over the noncommutative ring Fq +Fq u where u2 = 0 (Section 7). In Section 2 we define self-dual code, isotropic code and the Type of a code. Section 3 defines certain weight enumerators and gives the main theorem, while Section 4 studies the Clifford-Weil groups and their structure. For further details the reader is referred to [14]. 2 Self-dual isotropic codes. Throughout the paper, R will denote a ring (with unit element 1) and V a left R-module. Definition 2.1. A (linear) code C of length N over V is an R-submodule of the left R-module V N . In the classical language of coding theory, V is the alphabet over which the code is defined, and R is the ground ring (so if c ∈ C and r ∈ R, r c ∈ C). Coding theory usually deals with codes over a finite alphabet V . Therefore we will assume in the following that V is a finite left R-module over the finite ring R. Some parts of the theory carry over to infinite rings, and so can be applied to self-dual lattices, for example (see [14]). But our explicit construction of the Clifford-Weil group only applies to the finite case. 2 To express self-duality, we need a nonsingular bilinear form β on V . Since V is finite, β can be chosen to have values in Q/ Z. A bilinear form β ∈ Bil(V, Q/ Z) := {β : V × V → Q/ Z | β is Z-bilinear } is nonsingular if v 7→ β (v, ·) is an isomorphism of the abelian groups V and V ∗ = Hom(V, Q/ Z). The following definition is then the natural generalization of the usual notion of dual code (cf. [11]). Definition 2.2. Let C ≤ V N be a code and β form. The dual code (with respect to β ) is ⊥ C := {x = (x 1 , . . ., x N ) ∈ V N | N X i=1 ∈ Bil(V, Q/ Z) a nonsingular bilinear β (x i , ci ) = 0 for all c = (c1 , . . ., c N ) ∈ C} . C is called self-dual (with respect to β ) if C = C ⊥ . To express certain additional constraints on the code (that weights are divisible by 4 for binary codes, or that the code contains the all-ones vector 1 = (1, . . ., 1), etc.) we use quadratic mappings, which we define to be sums of quadratic forms and linear forms on V , with values in Q/ Z: Definition 2.3. Let Quad0 (V, Q/ Z) := {φ : V → Q/ Z | φ (0) = 0 and φ (x + y + z) − φ (x + y) − φ (x + z) − φ (y + z) + φ (x) + φ (y) + φ (z) = 0} . Let Φ ⊂ Quad0 (V, Q/ Z)Pand let C ≤ V N be a code. Then C is called isotropic (with respect to Φ) if φ (c) := N i=1 φ (ci ) = 0 for all c ∈ C and φ ∈ Φ. Remarks. Let V be a left R-module. Then (a) Bil(V, Q/ Z) is a right (R ⊗ R)-module via β (r ⊗ s)(v, w) = β (r v, sw) for all β ∈ Bil(V, Q/ Z), v, w ∈ V , r, s ∈ R. (b) Bil(V, Q/ Z) has a natural involution τ defined by (β τ )(v, w) := β (w, v) for all β ∈ Bil(V, Q/ Z), v, w ∈ V . (c) For r ∈ R define [r ] ∈ End(Quad0 (V, Q/ Z)) by (φ [r ])(v) = φ (r v) for φ ∈ Quad0 (V, Q/ Z), v ∈ V . This “action” satisfies [r s] = [r ][s] and [r + s + t] − [r + s] − [r + t] − [s + t] + [r ] + [s] + [t] = 0 , for all r, s, t ∈ R. We describe this situation by saying that we have made the group Quad0 (V, Q/ Z) into an R-qmodule. (d) The mapping [−1] is an involution on Quad0 (V, Q/ Z). (e) There is a mapping {} {} : Bil(V, Q/ Z) → Quad0 (V, Q/ Z) defined by {β{ }(v) } := β (v, v) for all β ∈ Bil(V, Q/ Z), v ∈ V . 3 (f) There is a mapping λ : Quad0 (V, Q/ Z) → Bil(V, Q/ Z) defined by (λ (φ ))(v, w) := φ (v + w) − φ (v) − φ (w) for all φ ∈ Quad0 (V, Q/ Z), v, w ∈ V . (g) Both mappings λ and {} {} are R-qmodule homomorphisms, where Bil(V, Q/ Z) is regarded as an R-qmodule via β [r ](v, w) := β (r v, r w) for all β ∈ Bil(V, Q/ Z), v, w ∈ V , r ∈ R. (h) For all β ∈ Bil(V, Q/ Z) and φ ∈ Quad0 (V, Q/ Z) we have {β{ τ}} = {β{ }} , λ (φ )τ = λ (φ ) , λ ({ {β }) } =β +β τ , φ [r + s] − φ [r ] − φ [s] = {λ{ (φ )(r ⊗ s)} }. (i) For all β ∈ Bil(V, Q/ Z) and φ ∈ Quad0 (V, Q/ Z) we have λ ({ {λ (φ )} }) = 2λ (φ ) and {λ{ ({ {β })} } } = 2{ {β }} . We call β ∈ Bil(V, Q/ Z) admissible if β is nonsingular and the (1 ⊗ R)-submodule of Bil(V, Q/ Z) given by M := β (1 ⊗ R) = {β r | r ∈ R}, where β (1 ⊗ r ) = β r is defined by β r (v, w) = β (v, r w) , is closed under τ and isomorphic to R, i.e. if ψ : r 7→ β r defines an isomorphism of right R-modules ψ : RR → M 1⊗R . Note that any admissible β defines an anti-automorphism J of R by r 7→ r J , where β (r v, w) = β (v, r J w) for all v, w ∈ V. 2 Let ǫ ∈ R be defined by β (v, w) = β (w, ǫ v ) for all v, w ∈ V . Then ǫ J r (J ) ǫ = r for all r ∈ R. In particular ǫ J ǫ = 1 and since R is finite, ǫ is a unit. Definition 2.4. The quadruple ρ := (R, V, β , Φ) is called a (finite representation of a) form ring if R is a finite ring, V is a finite left R-module, β ∈ Bil(V, Q/ Z) is an admissible bilinear form, and Φ ≤ Quad0 (V, Q/ Z) is a sub-R-qmodule such that {M { }} ≤ Φ and N λ (Φ) ≤ M , where M := β (1 ⊗ R). Then if C ≤ V for some integer N ≥ 1 is self-dual with respect to β and isotropic with respect to Φ, C is called a (self-dual isotropic) code of Type ρ . Remarks. (a) The definition of Type given in [14] uses a more abstract definition of a form ring. For our purposes here it is enough to work with the above concrete realization. (b) The definition of Type given above (and the still more general version given in [14]), are far-reaching generalizations of the notion of Type used in [11], [16]. (c) The usual notion of form ring [8] corresponds directly to the case when λ is injective; it is also closely connected to the dual case when {} {} is surjective. 4 3 Weight enumerators and Clifford-Weil groups. There are many kinds of weight enumerators of codes (see e.g. [16]). We introduce here only the complete weight enumerator, although analogues of our main theorem hold for full weight enumerators and other appropriate symmetrizations of the full weight enumerator. DefinitionP3.1. Q Let C ≤ V N be a code. The complete weight enumerator of C is cwe(C) := c∈C N i=1 x ci ∈ C[x v | v ∈ V ]. The genus-m complete weight enumerator of C is cwem (C) := X N Y (c(1) ,...,c(m) )∈C m i=1 x (c(1) ,...,c(m) ) ∈ C[x v | v ∈ V m ] . i i Remark 3.2. The genus-m complete weight enumerator of C can be obtained from the complete weight enumerator of C(m) := C ⊗ R m ≤ V N ⊗ R m ∼ = V mN . For if we identify V mN with (V m )N and consider C(m) as a code in (V m )N , then cwem (C) = cwe(C(m)). Note that C(m) is a code for which the ground ring is Matm (R), the ring of m × mmatrices with entries in R. This is one of the main reasons why we allow noncommutative ground rings: even when we consider genus-m weight enumerators for classical binary codes, Matm (F2 ) arises naturally as the ground ring. Let ρ = (R, V, β , Φ) be a form ring. Let C ≤ V N be a self-dual isotropic code of Type ρ . Then the complete weight enumerator cwe(C) is invariant under the substitutions ρ (r ) : x v 7→ x rv , for all r ∈ R ∗ ρ (φ ) : x v 7→ exp(2π i φ (v))x v , for all φ ∈ Φ (since C is a code) , (since C is isotropic) , as well as the MacWilliams transformation (cf. [11], [16]): p −1 X exp(2π i β (w, v))x w (since C = C ⊥ ). h : x v 7→ |V | w∈V Subsidiary transformations can be derived from h. If R = Z/ 6Z, for example, we also obtain the MacWilliams transformations modulo 2 and modulo 3. For general rings R, one can similarly construct further MacWilliams transformations using symmetric idempotents, as we now demonstrate. Example 3.3. Let V ′ = ιR for some idempotent ι ∈ R. Then V ′ admits a nonsingular J -Hermitian form if and only if there is an isomorphism of right R-modules κ : ιR ∼ = ι JR , in which case we say that the idempotent is symmetric. Note that any such isomorphism κ has the form κ (ιx ) = vι x, κ −1 (ι J x) = uι x, where uι ∈ ιR ι J and vι ∈ ι J Rι satisfy uι vι = ι, v ι uι = ι J . 5 If ι = uι vι is a symmetric idempotent in R, then p −1 X hι,vι : x v 7→ |ιV | exp(2π i β (w, vι v))x w+(1−ι)v w∈ιV is the partial MacWilliams transformation corresponding to ιV . Definition 3.4. Let ρ = (R, V, β , Φ) be a form ring. Then the associated Clifford-Weil group is C(ρ ) := hρ (r ), ρ (φ ), h ι,vι | r ∈ R ∗ , φ ∈ Φ, ι symmetric idempotent in Ri , a subgroup of GL|V | (C). The above discussion shows that the complete weight enumerator of a self-dual isotropic code of Type ρ is invariant under the action of the group C(ρ ). If G is any subgroup of GLn (C) we let Inv(G) := {p ∈ C[x 1 , . . ., x n ] | p(gX ) = p(X ) for all g ∈ G} denote the invariant ring of G. Now we can state our main theorem, part (i) of which is clear from the above considerations and the MacWilliams identities. We cannot at present prove part (ii) for arbitrary finite rings, but need to make some additional assumptions, for example that R is a chain ring (i.e. the left ideals in R are linearly ordered by inclusion) or, more generally, a quasi-chain ring, by which we mean a direct product of matrix rings over chain rings. Theorem 3.5. Let ρ = (R, V, β , Φ) be a form ring. (i) If C ≤ V N is a self-dual isotropic code then cwe(C) ∈ Inv(C(ρ )). (ii) If R is a finite quasi-chain ring then Inv(C(ρ )) is spanned by complete weight enumerators of self-dual isotropic codes of Type ρ : Inv(C(ρ )) = hcwe(C) | C self-dual, isotropic code in V N , N ≥ 1i. To deal with higher-genus weight enumerators we introduce the associated CliffordWeil group Cm (ρ ) := C(ρ ⊗ R m ) of genus m. By Remark 3.2 the invariant ring of Cm (ρ ) is spanned by the genus-m weight enumerators of self-dual codes of Type ρ . Let ρ := (R, V, β , Φ) be a form ring. By Morita theory (see [14]), this corresponds to a unique form ring Matm (ρ ) = ρ ⊗ R m := (Matm (R), V ⊗ R m , β 6 (m) , Φm ) , which we call a matrix ring for the form ring ρ . Here β V m = V ⊗ R m (admissible for Matm (R)) defined by β (m) ((v1 , . . ., v m ), (w1 , . . ., w m )) = m X (m) is the bilinear form on β (vi, w i ) . i=1 β (m) generates the Matm (R)-module M m := β  φ 1 m12 . . . m 1m    .. .. ..  . . .  Φm =  ..   . mm−1,m    φ m (m) (1 ⊗ Matm (R)), and     | φ 1 , . . ., φ  m ∈ Φ, m ij ∈ M          is a set of upper triangular matrices, where   φ 1 m12 . . . m 1m .. m .. ..   X X . . .   mij (vi , vj ) . (v , . . ., v ) = φ (v ) +   i i 1 m ..  . mm−1,m  i=1 i<j φ m One easily sees that Φm is a sub-Matm (R)-qmodule of Quad0 (V ⊗ R m ). The involution J m on Matm (R) acts as componentwise application of J followed by transposition. The unit ǫ m ∈ Matm (R) is the scalar matrix ǫ I m . 4 The structure of the Clifford-Weil groups. The group C(ρ ) is a projective representation of a so-called hyperbolic co-unitary group U(R, Φ), which we will define in terms of R, the involution J and the R-qmodule Φ. U(R, Φ) is an extension of the linear R-module ker(λ ) ⊕ ker(λ ) by a certain group G of 2 × 2 matrices over the ring R. This is one of two possible extensions of the unitary K -theoretic notion of “hyperbolic unitary group” [8] that applies to our generalized definition of form ring. Let ρ := (R, V, β , Φ) be a form ring and let M := β (1 ⊗ R). Then, using the above construction of the 2 × 2-matrix ring for a form ring, Φ2 is a Mat2 (R) sub-qmodule of Quad0 (V ⊗R 2 ). In particular, Φ2 is a module for the unit group GL2 (R) of Mat2 (R), and we can form the semi-direct product GL2 (R) ⋉ Φ2 of which U(R, Φ) will be a subgroup. Applying λ and componentwise,  we get mappings λ 2 : Φ2 → Mat2 (M ) defined by   ψ  φ 1 m λ (φ 1 ) m λ 2( ) := and ψ 2 : Mat2 (R) → Mat2 (M ). φ 2 mτ λ (φ 2 ) Then U(R, Φ) =         φ 1 m cJ a cJ b φ 1 m a b )}. ) = λ 2( ) ∈ GL2 (R) ⋉ Φ2 | ψ 2 ( , {( mτ φ 2 dJ a − 1 dJ b φ 2 c d 7 Remark. To describe the isomorphism type of U(R, Φ), note that the projection π : U(R, Φ) → GL2 (R), (u, φ ) 7→ u , defines a group homomorphism. The kernel of π is the set of all (1, φ ) ∈ U(R, Φ), i.e.   φ 1 0 ) | φ 1 , φ 2 ∈ Φ, λ (φ 1 ) = λ (φ 2 ) = 0} , ker(π ) = {(1, φ 2 which is naturally isomorphic to ker(λ ) × ker(λ ). The image of π is       J J   0 0 a b 0 0 a c a b ∈ψ − ∈ Mat2 (R) | { 1 0 c d 1 0 bJ dJ c d −1 2 (λ 2 (Φ2 ))} . In many important examples it is easy to describe the image of ψ 2−1 ◦ λ 2 (for example, this may consist of all symmetric, skew-symmetric or hermitian elements) and so leads to an isomorphism of U(R, Φ)/ ker(π ) with (a subgroup of) a classical group. Example 4.1. Let R be one of the finite simple rings with involution shown in the following table, where Matn (Fq ) denotes the ring of n × n matrices over the field Fq , with transposition denoted by t. Then for an appropriate center Z , C(ρ ) = Z . U(R, Φ) = Z . (ker(λ ) ⊕ ker(λ )) . G(R, Φ) , where G(R, Φ) is the classical group shown in the last column: R J ǫ G(R, Φ) Matn (Fq ) ⊕ Matn (Fq ) (r, s)J = (st , r t ) 1 GL2n (Fq ) Matn (Fq2 ) r J = (r q )t 1 U2n (Fq2 ) Matn (Fq ), q = pm , p > 2 rJ = rt 1 Sp2n (Fq ) Matn (Fq ), q = pm , p > 2 rJ = rt −1 + O2n (Fq ) Matn (Fq ), q = pm , p = 2 ψ −1 (λ (Φ)) = {r ∈ R | r J = r } Sp2n (Fq ) Matn (Fq ), q = pm , p = 2 ψ −1 (λ (Φ)) = {0} + O2n (Fq ) Recall that a ring R is semiperfect (cf. [10, page 346]) if R/ rad R is semisimple and idempotents of R/ rad R lift to idempotents of R; in particular, all finite rings are semiperfect. One can show the following: 8 Theorem 4.2. (See [14].) If R is semiperfect, then the hyperbolic co-unitary group U(R, Φ) is generated by the following elements:     −J −J −1 0 0 u u ψ (λ (φ )) ) , d(u, φ ) := ( φ 0 u for all u ∈ R ∗ , φ ∈ Φ, and H ι,uι,vι     0 ψ (−ǫ ι ) 1−ι J vι ) , := ( 0 −ǫ −1 uJι 1 − ι for all symmetric idempotents ι ∈ R. Then the projective representation U(R, Φ) → C(ρ ) is defined by d(u, φ ) 7→ ρ (u)ρ (φ ) and H ι,uι ,vι 7→ hι,vι . Hence C(ρ ) is an extension 1 → Z → C(ρ ) → U(R, Φ) → 1 where Z consists of scalar matrices (since the projective representation can be seen to be irreducible). If Theorem 3.5 holds for ρ , then by invariant theory Z ∼ = Z l is cyclic of order l where l = gcd{N | there exists C ≤ V N of Type ρ }. In fact, for arbitrary ρ (not necessarily satisfying Theorem 3.5), one can show that |Z | = gcd{N ≥ 1 | there exists C ≤ V N of Type ρ } = min{N ≥ 1 | there exists C ≤ V N of Type ρ } . 5 Doubly-even euclidean self-dual codes over F2f . This and the next two sections will illustrate the above theory. For further details about this first section see [12]. In [15] Quebbemann defines the notion of an even code over the field k := F2f as follows. A code C ≤ k N is called even if N X i=1 ci = 0 and X ci cj = 0, i<j for all c ∈ C . (5.1) It is easy that even codes are self-orthogonal with respect to the usual bilinear PN to see ′ form i=1 ci ci . Moreover, identifying k with Ff2 using a self-complementary (or traceorthonormal) basis, even codes remain even over F2 . A self-dual even code in this sense 9 is called a generalized doubly-even self-dual code. If f = 1, even codes are precisely the classical doubly-even (or Type II) binary codes. If f = 2, they are the Type II codes over F4 considered in [6]. The Type of these codes can be specified in the language of form rings as follows. Let R = F2f , V = R and β : V × V → 21 Z/ Z be defined by β (x, y) := 12 tr(xy), where tr denotes the trace from F2f to F2 ∼ = Z/ 2Z. Then β is admissible and M := β (1 ⊗ R) = {β a := β (1 ⊗ a) | a ∈ R}. The quadratic forms will take values modulo 4. Let O := Z2 [ζ 2f −1 ] be the ring of integers in the unramified extension of degree f of the 2-adic numbers. Then R ∼ = O/ 2O. If x ∈ R, x 2 is uniquely determined modulo 4, so squares of elements of R can be considered as elements of O/ 4O. The usual trace Tr : O → Z maps 4O into 4Z. For a ∈ R we define φ and let Φ := {φ a a 1 : V → Z/ Z, φ 4 a (x) := 1 Tr(a2 x 2 ) ∈ Quad0 (V, Q/ Z) , 4 | a ∈ R}. Then (R, V, β , Φ) is a form ring. Theorem 5.1. Codes of Type ρ are exactly the generalized doubly-even self-dual codes in the sense of (5.1). Proof. Let C ≤ FN an even code in the sense of (5.1). Since λ is surjective, it is 2f be P PN enough to show that i=1 φ a (ci ) = 0 for all c ∈ C. Now N i=1 ci = 0, therefore as an element of O/ 4O the square ( N X i=1 ci )2 = N X i=1 c2i + 2 X i<j ci cj = 0 ∈ O/ 4O . (5.2) P P 2 Since i<j ci cj = 0 it follows that N i=1 ci = 0 ∈ O/ 4O. To obtain the inclusion, let C be a code of Type P ρ . By the nondegeneracy of Pother N 2 2 the trace form, i=1 ci = 0 in O/ 4O. Therefore by (5.2), ( N i=1 ci ) ≡ 0 (mod 2O) and PN PN hence also i=1 ci = 0 ∈ F2f . Then ( i=1 ci )2 ≡ 0 (mod 4O) and (5.2) implies that P i<j ci cj = 0. We next compute the Clifford-Weil groups of arbitrary genus for these codes. Theorem 5.2. Let Cm (ρ ) be the Clifford-Weil group of genus m corresponding to the form ring ρ above. Then C(ρ ) ∼ = Z . 22mf . Sp2m (2f ) , = Z . (k m ⊕ k m ) . Sp2m (k) ∼ where Z ∼ = Z 8 if f := [k : F2 ] is odd. = Z 4 if f := [k : F2 ] is even, Z ∼ 10 Proof. From Section 4, Cm (ρ ) has an epimorphic image U(Matm (R), Φm ) ∼ = (k m ⊕ k m ). Sp2m (k) . The kernel Z of this epimorphism is a cyclic group consisting of scalar matrices. Since the invariant ring of Cm (ρ ) is spanned by weight enumerators of self-dual isotropic codes C, the order of Z is the greatest common divisor of the lengths of these self-dual isotropic codes. Since the codes are self-dual, they all contain the all-ones vector 1. This vector spans an isotropic k-space if and only if the length N of the code is divisible by 4. Therefore |Z | is divisible by 4. First consider the case when f is even. The code Q4 with generator matrix   1 1 1 1 , 0 1 ω ω 2 where ω ∈ F4 \ F2 , is an isotropic self-dual code of length 4 over F4 . Extending scalars, one gets an isotropic self-dual code k ⊗F4 Q4 of length 4 for all k which are of even degree over F2 . Hence in this case Z ∼ = Z 4. If f is odd, then any self-dual isotropic code C ≤ k N yields a doubly-even self-dual binary code C̃ ≤ Ff2 N . The length f N of C̃ is necessarily divisible by 8. Since f is odd, this implies that N is divisible by 8 and hence in this case Z ∼ = Z8. The case k = F2 . We obtain the classical doubly-even binary codes; the highergenus Clifford-Weil groups are the complex Clifford groups of [13]. The case k = F4 . Let k = F4 = {0, 1, ω , ω 2}. Then G := C(ρ ) ∼ = (Z 4 YD 8 YD 8 ) . Alt5 (where Y denotes a central product) is generated by    1 0 0 0 1 1 1 1   0 0 0 1  1 1 1 −1 −1  ρ (ω ) =   0 1 0 0  , h = 2  1 −1 −1 1 1 −1 1 −1 0 0 1 0   ,  and ρ (φ ) = diag(1, −1, i , i ). G is a subgroup of index 2 in the complex reflection group G29 (No. 29 in [17]). The Molien series of G (cf. [11], [16]) is 1 + t 40 . (1 − t 4 )(1 − t 8 )(1 − t 12 )(1 − t 20 ) Primary invariants of G (which generate the invariant ring of G29 ) can be taken to be the complete weight enumerators of the extended quadratic residue codes QN of lengths N = 4, 8, 12, 20 over F4 . The elements in G29 \ G act as the Frobenius automorphism 11 ω → 7 ω on the weight enumerators of these codes. A weight enumerator pC is invariant under G29 if pC = pC . To get the full invariant ring of G, a further code is needed, a self-dual even code C40 of length 40 over F4 , for which the complete weight enumerator is not invariant under the Frobenius automorphism. Such a code is constructed in [2]. The case k = F8 . In this case we will just give the Molien series of C(ρ ). This can be written as f (t)/ g(t), where f (t) := 1 + 5t 16 + 77t 24 + 300t 32 + 908t 40 + 2139t 48 + 3808t 56 + 5864t 64 + 8257t 72 + 10456t 80 + 12504t 88 + 14294t 96 + 15115t 104 + 15115t 112 + 14294t 120 + 12504t 128 + 10456t 136 + 8257t 144 + 5864t 152 + 3808t 160 + 2139t 168 + 908t 176 + 300t 184 + 77t 192 + 5t 200 + t 216 and g(t) := (1 − t 8 )2 (1 − t 16 )2 (1 − t 24 )2 (1 − t 56 )(1 − t 72 ) . It would clearly be hopeless to attempt to find codes whose weight enumerators generate this ring. This phenomenon is typical (compare [9]): it is the exception rather than the rule for these rings of invariants to have a simple description in terms of codes. 6 Doubly-even self-dual codes over Z/ 2f Z. Let RP := Z/ 2f Z and let C ≤ R N be a code of length N . Then the dual code C ⊥ := {x ∈ P N N R N | i=1 x i ci = 0, for all c ∈ C}. C is called doubly-even if i=1 c2i ≡ 0 (mod 2f +1 ). To describe the class of doubly-even self-dual codes over R in the language of form rings let V := R, and define β : V × V → 21f Z/ Z by β (x, y) := 21f xy and φ 0 : V → 2f1+1 Z/ Z by φ 0 (x) := 2f1+1 x 2 . Let Φ be the R-qmodule generated by φ 0 and define the form ring ρ a := (R, V, β , Φ). To express the additional property that C contains the all-ones vector, let ϕ : V → Z/ Z be defined by ϕ (x) := 21f x and let Φ0 be the R-qmodule spanned by φ 0 and ϕ . Then define the form ring ρ b := (R, V, β , Φ0). Note that ker(λ a ) = h2f φ 0 i ∼ = R, since 2f −1 ϕ = 2f φ 0 . = Z/ 2Z, whereas ker(λ b ) = hϕ i ∼ Since the involution on R is trivial and ǫ = 1, we find that     0 −I m 0 −I m tr }∼ A= π (Um (R, Φ)) = {A ∈ Mat2m (R) | A = Sp2m (R). Im 0 Im 0 1 2f 12 Theorem 6.1. For x ∈ {a, b}, let l x = gcd{N | there exists a code C ≤ V N of Type ρ x }. The Clifford-Weil groups of genus m are extensions C(ρ a ) ∼ = Z la . (Z 2m × Z 2m ) . Sp2m (R) and C(ρ b ) ∼ = Z lb . (R m × R m ) . Sp2m (R) As we show in [14], l a = 8 and l b = max{2f +1 , 8}. The case f = 2. We identify R with Z/ 4Z = {0, 1, 2, 3} and let ζ := exp(2π i / 8) be a primitive eighth root of unity in C, with i = ζ 2. Then     1 0 0 0 1 1 1 1  0 0 0 1  1 1 i −1 −i    , diag(1, ζ , −1, ζ )i ,  C(ρ a ) = h  0 0 1 0  , 2  1 −1 1 −1  0 1 0 0 1 −i −1 i of order |C(ρ a )| = 1536, and C(ρ b ) = hC(ρ a ), diag(1, i , −1, −i )i , of order |C(ρ b )| = 6144. Furthermore, C(ρ a ) ∼ = Z 8 × (Z 2 × Z 2 ) . SL 2 (Z/ 4Z) and C(ρ b ) ∼ = Z 8 × (Z 4 × Z 4 ) . SL 2 (Z/ 4Z). The Molien series are Molien(C(ρ a )) = and (1 + t 8 )(1 + t 16 )2 (1 − t 8 )3 (1 − t 24 ) (1 + t 16 )(1 + t 32 ) (1 − t 8 )2 (1 − t 16 )(1 − t 24 ) (see [16]). We will interpret these rings in terms of complete weight enumerators of ˜ self-dual isotropic codes. If p is a prime power p ≡ ±1 (mod 8), let QR(p) denote the extended quadratic residue code of length p + 1 over Z/ 4Z (see for example [3]). With ˜ the correct definition of extension, QR(p) contains the all-ones vector. Let d8 , c16 , d16 be the codes of Type ρ b (see [4]) with generator matrices   1111111111111111 1011111100001000     1111111111111111 1101001111000100 1110000023000000       1110101010100010 13100102 1101000002300000     0000111111100001 13010210 1100100022230000          d8 =  13001021 , c16 = 0000020000022002 , d16 = 1100010002223000 .     22000000 1100001022222300 0000002000022222   0000000200002202 20222000   1100000102222230 0000000020000222   1011111102222221 0000000002020202 0000000000220022 Molien(C(ρ b )) = 13 ˜ ˜ Let p1 := cwe(QR(7)), p2 := cwe(d8 ), p3 := cwe(c16 ), p4 := cwe(d16 ), p5 := cwe(QR(23)). Then Inv(C(ρ b )) = C[p1 , p2 , p3 , p5 ](1 + p4 )(1 + p6 ) , where p6 is the weight enumerator of a certain code e32 of Type ρ b and length 32. We have an explicit description of a code e16 that works, but it has no structure and we do not give it here. It would be nice to have a better example. To find additional generators for the invariant ring of C(ρ a ), let e′8 and d′8 be the codes ˜ of Type ρ a obtained from QR(7) resp. d8 by multiplying one column by 3 ∈ Z/ 4Z, and ′ let p1a := cwe(e8 ) and p2a := cwe(d′8 ) be their complete weight enumerators. We also need three further codes of Type ρ a : two of length 24 and one of length 32, with complete weight enumerators f 1 , f 2 , f 3 respectively. We have examples of such codes, but again they have no structure and we do not give them here. With this notation we find that Inv(C(ρ b )) = C[p1 , p2 , p1a , p5 ](1 + p2a + p3 + p4 + f 1 + f 2 + f 3 + p2a f 3 ) . 7 Self-dual codes over Fq2 + Fq2 u In this section we study self-dual codes over the ring R = Fq2 + Fq2 u, for q = pf , where u2 = 0 and ua = aq u for all a ∈ Fq2 . These are certainly “non-classical” codes. We have R ∼ = M/ pM, where M is the maximal order in the quaternion division algebra over the unramified extension of degree f of the p-adic numbers. The most important case is q = 2. In this special case, self-dual codes have been studied by Bachoc [1] in connection with the construction of interesting modular lattices, and Gaborit [5] has found a mass formula. N N To construct PN self-dual codes, we define an R-valued Hermitian form R × R q → R by (x, y) := i=1 x i yi , where : R → R is the involution defined by a + bu := a − bu. Then (a′ + b′ u)(a + bu) = a′ aq + (ab′ − ba′ )u , for all a, b, a ′ , b′ ∈ Fq2 . A code C ≤ R N is self-dual if C = C ⊥ := {v ∈ R N | (v, c) = 0 for all c ∈ C}. To express this self-duality in our language of Types, we need a form ring. Let β : R × R → p1 Z/ Z be the bilinear form defined by β (a′ + b′ u, a + bu) := 1 Tr(ab′ − a′ b) , p where Tr denotes the trace from Fq2 to Fp ∼ = Z/ pZ. Let M := β (1 ⊗ R), where the right action of R ⊗ R on M is left multiplication on the arguments: m((r + su) ⊗ (r ′ + s′ u))(a + bu, a′ + b′ u) = m((r + su)(a + bu), (r ′ + s′ u)(a′ + b′ u)) , 14 for m ∈ M and where r +su, r ′ +s′ u, a+bu, a′ +b′ u are elements of R. Let ψ : RR → M 1⊗R be the R-module isomorphism defined by ψ (1) := β . The involution J induced by β is given by (r + su)J = r − sq u, and ǫ = −1 (since β is skew-symmetric). Define the p1 Z/ Z-valued quadratic form φ 0 : R → 1p Z/ Z by φ 0 (a + bu) := 1 TrFq /Fp (aaq ) , p and let Φ := {φ 0 [r ] | r ∈ R}. The mapping {} {} : M → Φ is the obvious diagonal evaluation {β{ (1 ⊗ (r + su))} }(a + bu) := β (1 ⊗ (r + su))(a + bu, a + bu) = − Tr(saaq ) . Since {} {} is surjective, this defines a unique mapping λ : Φ → M , satisfying λ {m} { } = m + τ (m) , for all m ∈ M . To find λ (φ 0 ), we choose ω φ 0 = {β{ (1 ⊗ ω u )} }, ∈ Fq2 \ Fq with ω + ω q = −1. Then λ (φ 0 ) = m0 (1 ⊗ ω u ) + τ (β (1 ⊗ ω u )) = β (1 ⊗ u) , and therefore ψ −1 (λ (φ 0 )) = u. Identifying Fp with p1 Z/ Z, we obtain Q/ Z-valued quadratic and bilinear forms. This defines a form ring ρ = (R, V, β , Φ), and the self-dual codes C ≤ R N defined above are precisely the codes of Type ρ . The hyperbolic co-unitary group U(R, Φ) contains a normal subgroup N for which the quotient is a subgroup of U(Fq2 , {0}). In fact, since R = Fq2 + Fq2 u, U(R, Φ) has a subgroup H ∼ = O2+ (Fq2 ) consisting of the elements     a b 0 ψ (cb) {( , ) | a, b, c, d ∈ Fq2 , ca = db = 0, cb + da = 1} . c d ψ (da − 1) 0 H is isomorphic to U(Fq2 , {0}) and is a complement to the normal subgroup U((u), Φ) given by   1 + au bu , diag(φ 0 [c′ ], φ 0 [b′ ])) | c, b ∈ Fq , a, d ∈ Fq2 , a = dq } , {( cu 1 + du which is isomorphic to Fq2 ⊕ Fq ⊕ Fq . Therefore U(R, Φ) ∼ = (Fq2 ⊕ Fq ⊕ Fq ) ⋊ O2+ (Fq2 ) . Example 7.1. Let q := 2, R = F4 + F4 u. Then the hyperbolic co-unitary group U(R, Φ) is generated by     1+u 0 ω 0 , 0), , 0), g2 := ( g1 := ( 0 1+u 0 ω 2 15         1 u 0 0 0 1 0 1 g3 := ( , ), h := ( , ). 0 1 φ 0 1 0 0 Since λ is injective, U(R, Φ) is isomorphic to its image under the projection of the first component. This image contains a normal subgroup N ∼ = F4 + F2 + F2 generated by         1 0 1 u 1+u 0 1+ω u 0 . , , , u 1 0 1 0 1+u 0 1 + ω 2u The quotient group is isomorphic to S3 , generated by the matrices     0 1 ω 0 , . 1 0 0 ω 2 Hence U(R, Φ) ∼ = ((C2 )2 × (C2 )2 ) ⋊ S3 where S3 acts faithfully on one copy (C2 )2 and with kernel C3 on the other copy. The Molien series of C(ρ ) is f (t) (1 − t 2 )5 (1 − t 3 )(1 − t 4 )6 (1 − t 6 )4 , where f (t) := 1 + t + 4t 2 + 3t 3 + 53t 4 + 104t 5 + 458t 6 + 858t 7 + 2474t 8 + 4839t 9 + 10667t 10 + 19018t 11 + 34193t 12 + 55481t 13 + 86078t 14 + 125990t 15 + 173466t 16 + 230402t 17 + 287430t 18 + 346462t 19 + 393648t 20 + 431930t 21 + 450648t 22 + 450648t 23 + 431930t 24 + 393648t 25 + 346462t 26 + 287430t 27 + 230402t 28 + 173466t 29 + 125990t 30 + 86078t 31 + 55481t 32 + 34193t 33 + 19018t 34 + 10667t 35 + 4839t 36 + 2474t 37 + 858t 38 + 458t 39 + 104t 40 + 53t 41 + 3t 42 + 4t 43 + t 44 + t 45 . Various interesting symmetrizations are possible: a) Symmetrizing by the action of F∗4 = hω i yields a matrix group C(7) (ρ ) ∼ = (C2 )2 ⋊ S3 (a non-faithful S3 -action) of degree 7, with Molien series 1 + t 2 + 9t 4 + 21t 6 + 41t 8 + 43t 10 + 43t 12 + 23t 14 + 10t 16 . (1 − t)(1 − t 2 )(1 − t 4 )3 (1 − t 6 )2 b) The unit group R ∗ has three orbits on R namely {0}, R ∗ , uR ∗ . Symmetrizing by R ∗ gives a matrix group C(3) (ρ ) ∼ = D 8 , for which the Molien series and invariant ring were described by Bachoc [1, Theorem 4.4]. 16 References [1] C. Bachoc, Applications of coding theory to the construction of modular lattices, J. Combin. Theory A 78 (1997), 92–119. [2] K. Betsumiya and Y. J. √ Choie, Codes over F4 , Jacobi Forms and Hilbert-Siegel modular forms over Q( 5), preprint, 2002. [3] A. Bonnecaze, A. R. Calderbank and P. Solé, Quaternary quadratic residue codes and unimodular lattices, IEEE Trans. Information Theory 41 (1995), 366–377. [4] J. Fields, Tables of indecomposable Z/(4) codes, published electronically at http://www.math.uic.edu/∼fields/z4/index.html. [5] P. Gaborit, Mass formulas for self-dual codes over Z4 and Fq + uFq rings, IEEE Trans. Information Theory 42 (1996), 1222–1228. [6] P. Gaborit, V. S. Pless, P. Solé and A. O. L. Atkin, Type II codes over F4 , Finite Fields Applic. 8 (2002), 171–183. [7] A. M. Gleason, Weight polynomials of self-dual codes and the MacWilliams identities, in Actes, Congrés International de Mathématiques (Nice, 1970), GauthiersVillars, Paris, 1971, Vol. 3, pp. 211–215. [8] A. J. Hahn and O. T. O’Meara, The Classical Groups and K-Theory, SpringerVerlag, New York, 1989. [9] W. C. Huffman and N. J. A. Sloane, Most primitive groups have messy invariants, Advances in Math. 32 (1979), 118–127. [10] T. Y. Lam, A First Course in Noncommutative Rings, Springer-Verlag, New York, 2nd. ed., 2001. [11] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, North-Holland, Amsterdam, 1977; 11th impression 2003. [12] G. Nebe, H.-G. Quebbemann, E. M. Rains and N. J. A. Sloane, Generalized doubly-even codes, (submitted) 2003. [13] G. Nebe, E. M. Rains and N. J. A. Sloane, The invariants of the Clifford groups, Designs, Codes and Cryptography 24 (2001), 99–121. [14] G. Nebe, E. M. Rains and N. J. A. Sloane, Self-Dual Codes and Invariant Theory, book in preparation, 2003. [15] H.-G. Quebbemann, On even codes, Discrete Math. 98 (1991), 29–34. 17 [16] E. M. Rains and N. J. A. Sloane, Self-dual codes, in Handbook of Coding Theory, ed. V. Pless and W. C. Huffman, Elsevier, Amsterdam, 1998, pp. 177–294. [17] G. C. Shephard and J. A. Todd, Finite unitary reflection groups, Canad. J. Math. 6 (1954), 274–304. 18