Applications of Coding Theory to the Construction of Modular Lattices

Applications of Coding Theory to the Construction of Modular Lattices

Journal of Combinatorial Theory, Series A  TA2763 journal of combinatorial theory, Series A 78, 92119 (1997) article no. TA962763 Applications of C...

439KB Sizes 33 Downloads 80 Views

Journal of Combinatorial Theory, Series A  TA2763 journal of combinatorial theory, Series A 78, 92119 (1997) article no. TA962763

Applications of Coding Theory to the Construction of Modular Lattices Christine Bachoc* Laboratoire d 'Algorithmique Arithmetique 351, C.N.R.S., Course de la Liberation, F-33405 Talence, France Communicated by the Managing Editors Received January 17, 1996

We study self-dual codes over certain finite rings which are quotients of quadratic imaginary fields or of totally definite quaternion fields over Q. A natural weight taking two different nonzero values is defined over these rings; using invariant theory, we give a basis for the space of invariants to which belongs the three variables weight enumerator of a self-dual code. A general bound for the weight of such codes is derived. We construct a number of extremal self-dual codes, which are the codes reaching this bound, and derive some extremal lattices of level l=2, 3, 7 and minimum 4, 6, 8.  1997 Academic Press

1. INTRODUCTION Most of the lattices known for their good density share the following property: they are l-modular for a certain level l equal to 1 or a prime number. This means, following [Q4], that they are even lattices such that a similarity of rate - l sends their dual lattice to themselves. This definition includes the even unimodular lattices, and also famous lattices like the CoxeterTodd lattice of dimension 12 and level 3 and the Barnes Wall lattices which are, after rescaling, alternatively 2-modular or unimodular. Such lattices appear naturally in the following situation: let K be either a number field with complex multiplication, or a quaternion field defined over a totally real number field with all its infinite places ramified in K. We denote by x  x the canonical conjugation on K. Let V be a (left) K-vector space of finite dimension, endowed with a non degenerate hermitian form * I wish to thank Jacques Martinet and Heinz-Georg Quebbemann for helpful discussions and their encouragements. Recherche effectuee au sein de l'Unitee Mixte, C.N.R.S., Enseignement superieur U.R.M. 9936.

92 0097-316597 25.00 Copyright  1997 by Academic Press All rights of reproduction in any form reserved.

File: 582A 276301 . By:CV . Date:24:03:97 . Time:11:09 LOP8M. V8.0. Page 01:01 Codes: 3970 Signs: 2199 . Length: 50 pic 3 pts, 212 mm

CODES AND MODULAR LATTICES

93

h(x, y). Most often, V=K n and h(x, y)= ni=1 x i y i , or a multiple of it. Let O K be a maximal order of K, and let L be an O K -lattice contained in V. # Vh(x V) # O K ]. The hermitian dual of L is defined by: L *=[x h Then L is a Z-lattice for the scalar product: x } y=Trace KQ (h(x, y )), where Trace KQ is respectively the trace form of KQ when K is a number field, and the compositum of the reduced trace of K with the trace form of its center when K is a quaternion field. We denote it by L Z . Its dual is &1 given by L* Z =D KQ L *, h where DK is the different of K. This shows that, if this ideal is principal, and if L is hermitian unimodular, then the lattice L Z is modular of level |d K | =Norm KQ(DK ) (the similarity being the left multiplication by a generator of the different). On the other hand, it is shown in [Q4] that one gets a l-modular lattices of smallest dimension by taking (O K , Trace KQ(xy )), where K is either the quadratic imaginary field of discriminant l if l#3 mod 4, or the quaternion field over Q ramified at l and  if l=2 or l#1 mod 4. It is then natural to focus on lattices which are unimodular over these structures. Previous work was already done in this direction in [B, Q1, Q2, Q3, F, BQS]; in these papers the main tools used to construct or classify such lattices are mass formula and Kneser neighbouring. Some previous constructions make use of codes, like in [Q3, B]; we want here to generalize these constructions by defining codes over finite involution algebras which are quotients of these maximal orders. Then selfdual codes give by ``construction A'' (i.e. by taking their preimage in O nK ) hermitian unimodular lattices. A suitable weight over these finite rings permits to measure the minimum of the corresponding lattices. In Section 3, we set MacWilliams identities for these codes and derive with the help of invariant theory Gleason-type theorems for the corresponding weight enumerator polynomial. Here the results are very similar to those concerning self-dual codes over Z 4 (see [CS3]). This leads to a bound for the minimal weight and to the notion of extremal codes, which are the codes meating this bound. In Section 4, we construct extremal codes in some special cases, which give rise to some extremal modular lattices of level 2, 3, and 7 of minimum 4, 6, 8, some of which were not yet known.

2. CODES OVER O K pO K ; DEFINITIONS We take the following notations for the rest of the paper: K is either an imaginary quadratic field, or a quaternion field of center Q ramified at . We denote by x  x the canonical involution on K. We fix a maximal order O K of K (it is not unique if K is a quaternion field; see [V]).

File: 582A 276302 . By:CV . Date:24:03:97 . Time:11:09 LOP8M. V8.0. Page 01:01 Codes: 3205 Signs: 2668 . Length: 45 pic 0 pts, 190 mm

94

CHRISTINE BACHOC

Let p be a prime number. We want to define codes over the finite ring O K pO K , which is a F p -algebra endowed with an involution x  x deduced from the one on K. We first look at its structure. Proposition 2.1. The F p -algebra with involution O K pO K is isomorphic to the following algebra A: (1)

K is a quaternion field and p is split in K. Then A=M2(F p )

(2)

\x=

d

\&c

&b . a

+

x =a p &ub.

K is an imaginary quadratic field and p is split in K. Then A=F p _F p

\x=(a, b)

x =(b, a).

K is an imaginary quadratic field and p is ramified in K. Then A=F p +uF p

with

\x=a+ub, (5)

x =

u 2 =0 and au=ua p for all a # F p 2

with

\x=a+ub,

(4)

b

K is a quaternion field and p is ramified in K. Then A=F p 2 +u F p 2

(3)

a

\c d + ,

u 2 =0 and au=ua for all a # F p x =a&ub.

K is an imaginary quadratic field and p is inert in K. Then A=F p 2,

x =x p.

Proof. It is obvious once K is completed at p. See [V] for the quaternionic case. K The case (5) is covered by the classical coding theory. We assume in the rest of the paper that A is one of the algebras defined in the previous proposition, and we will refer to it by its number. The cases (2) and (4) will most often be treated together, by setting A=F q +uF q with q=p, p 2 ; it is the ramified case, while the cases (1) and (3) are the so-called split cases. A code C of length n over A is then a left submodule of A n. Orthogonality is defined with respect to the form  ni=1 x i y i . The code C is said to be self-dual if C=C =. Two codes are said to be equivalent if a monomial transformation sends one of them on the other. Such a transformation is a permutation matrix where the ones can be replaced by invertible elements of A, acting on A n

File: 582A 276303 . By:CV . Date:24:03:97 . Time:11:09 LOP8M. V8.0. Page 01:01 Codes: 2664 Signs: 1600 . Length: 45 pic 0 pts, 190 mm

95

CODES AND MODULAR LATTICES

from the right. We summarize in the following the group A* of invertible elements of A: Lemma 2.2.

(1)

A=M2(F p ); A*=Gl 2(F p )

(2)

A=F p 2 +uF p 2 ; A*=[x=a+bu | a{0]

(3)

A=F p _F p ; A*=[(a, b) | a{0, b{0]

(4)

A=F p +uF p ; A*=[x=a+bu | a{0]

(5)

A=F p 2 ; A*=F* p2

Examples 2.3. Let A be one of the algebras (1)(4). The following construction is the translation in terms of codes of the lattices U defined in [M1; [M2, Chap. VIII]. Let I be a left ideal of A, distinct from [0] and A. If A=M2(F p ), there are p+1 such ideals, and the group of units of A is doubly transitive on them. If A=F q +uF q , there is only one which is uF q . If A=F p _F p there are two of them, namely F p _[0] and [0]_F p , which are conjugate. We set C 1 =I. Then C 1 is a self-dual code of length one over A. In case (1), C 1 is unique up to equivalence; in case (3), the two ideals define conjugate codes. If A is (1) or (3), let I$ be a second non trivial ideal, distinct from I. If A is (2) or (4), let I$=[0]. We set, for n2:

{

}

n

=

C n = (x 1 , ..., x n ) # A n \i{ j, x i #x j mod I and : x i #0 mod I$ . i=1

Then, with the additional condition n#0 mod p in cases (2) and (4), C n is a self-dual code over A. In order to prove this, let us remark that the choice of (I, I$) has no importance because of the previous remarks on the ideals of A. Let x=(x 1 , ..., x n ) and y=( y 1 , ..., y n ) be two elements of C n . Then x } y =  ni=1 x i y i =  ni=1 (x i &x 1 )( y i &y 1 ) + ( ni=1 x i ) y 1 +x 1 ( ni=1 y i ) & nx 1 y 1 . The first sum belongs to II , which is reduced to [0]; in cases (2) and (4), we see that C n /C = n is equivalent to n#0 mod p. In cases (1) and (3), we can assume that I=Ae, I$=Ae with e 2 =e. Then e+e =1 and ee =0. Writing x 1 y 1 =x 1(e+e ) y 1 , ( ni=1 x i ) y 1 +x 1( ni=1 y i )&nx 1 y 1 = ( ni=1 (x i &x 1 )) e y 1 +x 1 e  ni=1 ( y i &y 1 ) which is zero because x i &x 1 # Ae and y i &y 1 # eA. In all cases we have proved the inclusion C n /C = n , which turns to be an equality because the number of elements of C n is exactly - |A| n. The previous definition and proof have the advantage to be uniform. If we denote by 1 the code over F p generated by (1, 1, ..., 1) and by PC its dual the parity-check code, it is easy to see that in cases (2) and (4), C n =1+uPC, and in case (3) C n =1_PC, with evident notations.

File: 582A 276304 . By:CV . Date:24:03:97 . Time:11:09 LOP8M. V8.0. Page 01:01 Codes: 3421 Signs: 2144 . Length: 45 pic 0 pts, 190 mm

96

CHRISTINE BACHOC

3. LATTICES AND WEIGHTS Assume that K and A are as in Proposition 2.1. To a code C of length n over A we associate the lattice L C =[(x 1 , ..., x n ) # O K | x 1 } } } x n mod p # C] with the hermitian form: h(x, y)=1p  ni=1 x i y i , and the scalar product: x } y=Trace KQ (h(x, y )). (Notice that a code over a given ring A can be lifted to various fields K.) Now we want to define a weight on A which measures well the minimum of the lattice L C . We have, for x in O K , x } x=(2p) xx. If x belongs to an ideal p satisfying pO K /p/O K , then xx is always a multiple of p. So, as the union of the proper ideals of A is the complementary set of A*, it is natural to set: Definition 3.1. Let A be one of the rings defined in (1) } } } (5). The weight w on A is defined by w(0)=0 w(x)=1

if x # A*

w(x)=p

if x # A"(A* _ [0]).

Remark. It is the Hamming weight in case (5). We extend it to A n in the standard way by setting w(x 1 , ..., x n )= w(x i ). The weight of a code C is the minimum of the weights of its  non zero elements. If K is a field with the quotient O K pO K isomorphic to A, we denote by s K : O K  A the canonical surjection and extend it componentwise to O nK . We have then, for all x=(x 1 , ..., x n ) # O nK , x } x (2p) w(s K (x)). This minimization may not be optimal, unless it coincides with the length function l K which is defined on A by: n i=1

\a # A,

l K (a)=min[xx | s K (x)=a].

Of course, l K depends on K while w does not. For all a in A, w(a) is a divisor of l K (a). Before we look at the cases where they coincide, we will study a weaker condition, trivially verified by l K , which is the following one: \x # A,

w(x)#x } x mod p

(*)

This congruence is true in the classical coding theory cases, i.e., for the Hamming weight over F 2 , F 3 with the form x i y i , or over F 4 with the

File: 582A 276305 . By:CV . Date:24:03:97 . Time:11:10 LOP8M. V8.0. Page 01:01 Codes: 2712 Signs: 1709 . Length: 45 pic 0 pts, 190 mm

CODES AND MODULAR LATTICES

97

form  x i y i . It is worth remarking here that, if (*) holds, then a selforthogonal code has all its weights divisible by p. Proposition 3.2. The condition (*) holds for the weight w if and only if A=M2(F 2 ), F q +uF q with q=2, 3, 4, F 2_F 2 , or F q with q=2, 3, 4. Proof. Assume A=M2(F p ). Let x be an element of A; then x } x= xx =det(x). Then, if (*) holds, every invertible matrix should have determinant 1, which implies p=2. Assume that A=F q +uF q , and let x=a+ub be an element of A. Then, in the two cases (2) and (4), x } x=xx =aa where a =a or a p. Then (*) implies that aa #1 mod p for all a # F q*, and so q=2, 3, 4. Finally, if A=F q _F q and x=(a, b) then x } x=(ab, ab) and we need p=2. Conversely, (*) holds in those cases. K Examples 3.3. Computation of the weight of the codes C n : the code C 1 has of course weight 1. In case A=F q +uF q , let x # C n . We set x=(x 1 , ..., x n ) with x i =a+ub i ,  ni=1 b i =0. If a{0, w(x)=n, and if a=0, w(x)= p } wt(a)2p where wt is the Hamming weight. Hence w(C n )=min(2p, n). In the case A= Fp _F p , x i =(a, b i ) with  ni=1 b i =0; if a=0, w(x)=p.wt(b) and if a{0, w(x)=wt(b)+ p(n&wt(b). Hence w(C n )=min(2p, n) if n#0 mod 2 and w(C n )=min(2p, n+p&1) if n#1 mod 2. In the case A=M2(F p ), we take e=( 10 00 ) so that x i =( ac bd ii ) with  ni=1 b i = ni=1 d i =0. The det function x [ (det(x i )) i =(ad i &cb i ) i sends C n to the parity-check code over F p . If a=c=0, w(x)2p, and if a or c is non zero, w(x)=wt(det(x))+ p(n&wt(det(x))). Again we find the same result as for the previous case. The following proposition tells us when l K and w coincide. These are the interesting cases for the construction of lattices. Proposition 3.4.

We have w=l K if and only if :

(1)

K=Q 3,  , p=2, A=M2(F 2 )

(2)

K=Q 2,  , p=2, A=F 4 +uF 4

(3)

K=Q(- &7), p=2, A=F 2 _F 2

(4)

K=Q(i), i 2 =&1, p=2, A=F 2 +uF 2

(5)

K=Q(|), | 2 +|+1=0, p=2, A=F 4 , or p=3, A=F 3 +uF 3

Proof. A necessary condition for w to be equal to l K is that the image of O* K under s K is all of A*. Of course, we are in one of the cases of the previous proposition. We make use of the following well-known result: if K is a quadratic imaginary field, then O* K*=[\1], unless K=Q(i), for

File: 582A 276306 . By:CV . Date:24:03:97 . Time:11:10 LOP8M. V8.0. Page 01:01 Codes: 2992 Signs: 2070 . Length: 45 pic 0 pts, 190 mm

98

CHRISTINE BACHOC

which O* K =[\1, \i] is cyclic of order 4, or K=Q(|), for which 2 O* K =[\1, \|, \| ] is cyclic of order 6; if K is a quaternion field over Q ramified at , then O* K is cyclic of order 2, 4, 6, except in two cases: K=Q 2,  the quaternion field ramified at 2 and , defined by i 2 =&1, j 2 =&1, ij=& ji; the maximal order is unique up to conjugation and equal to the so-called Hurwitz order Z[1, i, j, (1+i+j+k)2]. Its units are [\1, \i, \j, \k, (\1\i\ j\k)2], a group of order 24 isomorphic to A 4 (the nontrivial central extension of the alternating group A 4 by [\1]). The other case is K=Q 3,  the quaternion field ramified at 3 and , defined by i 2 =&1, j 2 =&3; the maximal order is unique up to conjugation and equals Z[1, i, |=(&1+ j)2, i|]. Its units are [\1, \|, \| 2, \i, \i|, \i| 2 ] and form a quaternionic group of order 12. (The proof goes through the classification of the finite subgroups of the real Hurwitz quaternions. See [M, Appendix 2] or [V]). Case (3) reduces to K=Q(- &7) because it is the only quadratic imaginary field in which 2 is split and the ideals above 2 are principal. It is now easy to see that the condition s K (O* K )=A* leaves the only possibilities listed in the proposition, and that in those cases we do have l K =w. K Remark 3.5. Of course, most often we have l K {w. For example, if K=Q 3,  , the function l K over O K 3O K takes five different non zero values. Another example is in [Q3] with A=F 9 _F 9 . The lattice L C has the following properties: Proposition 3.6. The lattice (L C , h(x, y )) is hermitian unimodular if and only if C=C =. Under this condition, the Z-lattice L Z =(L C , x } y ) is even, of determinant |d K | n[KQ ]2, where |d K | is the discriminant of the field K. Moreover, if the different of K is principal and L C is unimodular, then L Z is a |d K |-modular lattice. The minimum of L Z is bounded by

\

min(L Z )min 2p,

2 w(C ) p

+

with equality if we are in one of the cases of Proposition 3.4. Proof. It is immediate with the following properties: (L C ) h*=L C = &1 and L* * (see [B]). If x # L C , x } x=Trace KQ(h(x, x))= Z =D KQ L h 2h(x, x) # 2Z since h(x, x) # O K , and L C is even. If the different is principal generated by :, let f (x)=:x. Then L=DKQ L Z = f (L Z ) and f (x) } f ( y )= since :: = |d K |; Trace KQ(h(:x, :y))=Trace KQ (::h(x, y))= |d K | x } y hence a hermitian unimodular lattice is |d K |-modular.

File: 582A 276307 . By:CV . Date:24:03:97 . Time:11:10 LOP8M. V8.0. Page 01:01 Codes: 3100 Signs: 2284 . Length: 45 pic 0 pts, 190 mm

CODES AND MODULAR LATTICES

99

Let x be an element of L C . If x belongs to pO nK , then x } x min( pO nK )=2p. If x doesn't belong to pO nK , then s K (x){0 and x } x (2p) w(C ). Since in the cases of Proposition 3.4 we have w=l K , the previous inequality is an equality. K Remark 3.7. In the cases of Proposition 3.4, the maximal order (which is unique up to conjugation) is principal. The lattice L C 1 & (O K , Trace KQ(xy )) is isometric repectively to: (1) A 2 =A 2 , (2) D 4 , (3) the lattice with Gram matrix ( 21 14 ), (4) A 1 =A 1 , (5) A 2 with the standard notations for the root lattices. Remark 3.8. If K=Q(- &d ) where d has no square factor and &d#2, 3 mod 4, then d K =&4d and L C - 2 is still an integral lattice. It is d-modular but not necessarily even. It is the case if K=Q(i), where we get unimodular lattices. The study of the codes over the corresponding algebra F 2 +uF 2 reduces trivially to binary codes by the following transformation: , : F 2 +uF 2  F 2 _F 2 defined by ,(x+ yu)=(x+ y, y ) which preserves the weight.

4. MACWILLIAMS IDENTITIES AND INVARIANT THEORY In this section, we study the weight enumerator polynomials related to the codes over the algebras defined in Proposition 2.1. More generally, if A=[w 0 =0, w 1 , ..., w d&1 ] is a ring with an involution x  x satisfying xy=yx, the complete weight enumerator of a code C of length n over A is defined by ([MWS]): d&1 (u) , W cC (z 0 , z 1 , ..., z d&1 )= : z soo (u) z s11 (u) } } } z sd&1

u#C

where, for all i, 0id&1, s i (u) is the number of coordinates of u equal to w i . The MacWilliams identity is then: Theorem 4.1. Let /: (A, +)  (C*, _) be a character of the additive group of A whose restriction to any nonzero left ideal of A is nontrivial. Then W cC = (z 0 , z 1 , ..., z d&1 )=

1 W c (M(z 0 , z 1 , ..., z d&1 )), Card(C ) C

where M=(/(w i w j )) 0id&1, 0 j d&1 . (The matrix M operates on the d-tuples in the usual way ).

File: 582A 276308 . By:CV . Date:24:03:97 . Time:11:10 LOP8M. V8.0. Page 01:01 Codes: 2780 Signs: 1781 . Length: 45 pic 0 pts, 190 mm

100

CHRISTINE BACHOC

Proof. It is a consequence of [D, Chap. 6]. It also can be proved directly as in the classical case ([MWS, Chap. 5]) using the Poisson summation formula. Let us go back to the cases we are interested in. For most of them, the size of A is too large to allow us to handle the complete weight enumerator; in view of the weight defined in 3.1, it is natural to specialize it to the three variable polynomial, W C (X, Y, Z)= : X t 0 (u)Y t 1 (u)Z t 2 (u), u#C

where t 0(u) is the number of coordinates of u equal to zero, t 1(u) is the number of invertible coordinates of u, and t 2(u) is the number of nonzero, noninvertible coordinates of u. Moreover, in the cases of Proposition 3.4, the theta series of the lattice L C expresses through W C : Proposition 4.2. Let C be a code of length n over A. In the cases of Proposition 3.4, we have % L C =W C (% 0 , % 1 , % 2 ) where %0 = :

q xx p

x # pO K

%1 =

q xx p

: x # 1+pO K

%2 =

q xx p,

:

where : # O K ,

and

:: =p.

x # :+pO K

Proof. The theta series of a lattice L is defined by % L = x # L q x } x2 where q=e 2i?z. Since w=l K , for each u # A we can choose v # O K such that s K (v)=u and vv =w(u). Hence we have % L C = : q x } x2 = : x # LC

q h(x, x)

:

u # C x, s K (x)=u

=:

q 1 p  x i x i

:

u # C x # v+pO K n

=: ` u # C i=1

\

: x # v i + pO K

+

q x i x i p .

File: 582A 276309 . By:CV . Date:24:03:97 . Time:11:10 LOP8M. V8.0. Page 01:01 Codes: 2296 Signs: 1179 . Length: 45 pic 0 pts, 190 mm

101

CODES AND MODULAR LATTICES

In the cases of Proposition 3.4, it is easy to see that the sum  x # v i +pO K q x i x i p only depends on w(u i ) (see Example 2.3). With the notations of the proposition, % L C = : % t00 (u) % t11 (u) % t22 (u) =W C (% 0 , % 1 , % 2 ). K u#C

We forget about the case (5) which leads to the usual MacWilliams identity in two variables over a finite field ([MWS]). Then we get: Theorem 4.2. Let A be one of the algebras defined in Proposition 2.1. Let C be a code of length n over A. Then W C = (X, Y, Z)=

1 W C (M(X, Y, Z)) Card(C )

with (1)

If A=F q +uF q

\

1

M= 1 1 (2)

0 &q

q&1

+

&1 . q&1

If A=M2(F p ),

\

1

M= 1 1 (3)

q(q&1)

( p 2 &1)( p 2 &p)

( p 2 &1)( p+1)

p &p( p&1)

&( p+1) p( p&1)&1

+

.

If A=F p _F p

\

1

( p&1) 2

M= 1 1 1 &( p&1)

2( p&1) &2 p&2

+

.

Examples 4.3. The weight enumerator polynomial of the codes C n . The code C 1 =I does not contain any invertible element, so W C 1 (X, Y, Z)=X+(- |A| &1) Z. We recall that the Hamming weight enumerators of 1 and PC over F q are W 1(x, y )=x n +(q&1) y n and W PC (x, y)=(1q) W 1(x+(q&1) y, x& y)=(1q)((x+(q&1) y) n +(q&1)(x& y) n ).

File: 582A 276310 . By:CV . Date:24:03:97 . Time:11:10 LOP8M. V8.0. Page 01:01 Codes: 2370 Signs: 965 . Length: 45 pic 0 pts, 190 mm

102

CHRISTINE BACHOC

Let A=F q +uF q . We have C n =1+uPC. The words x=a+ub with a{0 give a Y n in the enumerator polynomial and those with a=0 give W PC (X, Z). We get 1 W C n =(q&1) q n&1Y n + ((X+(q&1) Z) n +(q&1)(X&Z) n ). q Let A=F p _F p . Following [MWS], let J A, B (a, b, c, d ) denote the joint weight enumerator of two codes A, B. Then, because C n =1_PC, W C n (X, Y, Z)=J 1 , PC (X, Z, Z, Y ) 1 = ((X+( p&1) Z) n +( p&1)(Z+( p&1) Y) n ) p p&1 ((X&Z) n +( p&1)(Z&Y) n ). + p Let A=M2(F p ). Let x=(x 1 , ..., x n ) be an element of C n with x i =( ac bd ii ),  b i = d i =0. If a=c=0, then the coordinates of x are never invertible, and the contribution is J PC, PC (X, Z, Z, Z). If a or c is nonzero, all the coordinates are nonzero. We fix such a couple (a, b). If we set det: C n  F np , defined by det(x)=(ad i &bc i ) 1in , then the kernel of det is of dimension n&1 and the image is the code PC. The contribution of x is Y wt(det(x))Z n&wt(det(x)). We get when (a, b) varies ( p 2 &1) p n&1W PC (Z, Y ). Finally, W C n (X, Y, Z)=

1 p 2 &1 2 n (X+( p &1) Z) + (X&Z) n p2 p2 +( p 2 &1) p n&2((Z+( p&1) Y ) n +( p&1)(Z&Y) n ).

We now assume that condition (*) holds for the algebra A. Let C be a self-dual code of length n. Then the weight of any element of C is a multiple of p; it is also congruent modulo p to t 1(u), which proves that the weight enumerator polynomial W C is invariant under the matrix 1 0 0 P= 0 ` p 0

\ + 0

0

,

1

where ` p is a root of unity of order p. One can compute the group G generated by (1- |A| ) M and P and its Molien series, which leads to the structure of the corresponding algebra of invariants IG (for more about invariant theory, see [MWS, S]). It turns out that it is always a polynomial ring.

File: 582A 276311 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 2668 Signs: 1570 . Length: 45 pic 0 pts, 190 mm

CODES AND MODULAR LATTICES

103

The results are summarized in the following proposition. Theorem 4.4. Assume A is one of the algebras given in Proposition 3.2, but not a field. The weight enumerator polynomial W C of a self-dual code C of length n is invariant under the group G generated by M and P, which has the following structure and Molien series 8 G (*): (1) If A=F 2_F 2 or if A=M2(F 2 ), G is a dihedral group of order 6; its Molien series is 8 G (*)=1(1&*)(1&* 2 )(1&* 3 ). The algebra of invariants is the polynomial ring generated by W C 1 , W C 2 , W C 3 , or equivalently by if A=F 2_F 2 , P 1 =X+Z P 2 =2XZ&(Y 2 +Z 2 ) P 3 =Z(X 2 &Y 2 ) if A=M2(F 2 ), P 1 =X+3Z P 2 =XZ&Y 2 P 3 =Z((X+Z) 2 &4Y 2 ). (2) If A=F q +uF q , G is respectively a dihedral group of order 6 if q=2, a group of order 18 isomorphic to (Z3Z_Z3Z) < Z2Z if q=3, a dihedral group of order 8 if q=4; in all cases, the Molien series is 8 G (*)=1(1&*)(1&* p )(1&* 2p ). The algebra of invariants is the polynomial ring generated by W C 1 , W C p , W C 2p , or equivalently by if q=2, Q 1 =X+Z Q 2 =XZ&Y 2 Q 4 =Y 2(X&Z) 2 if q=3, R 1 =X+2Z R 3 =3Y 3 &Z(X 2 +XZ+Z 2 ) R 6 =Y 3(X&Z) 3

File: 582A 276312 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 2164 Signs: 1043 . Length: 45 pic 0 pts, 190 mm

104

CHRISTINE BACHOC

if q=4, S 1 =X+3Z S 2 =2Y 2 &Z(X+Z) S 4 =Y 2(X&Z) 2. Proof. The Molien series, which is the generating series of the dimensions of the homogeneous components of IG is computed using the formula ([MWS, S]) 8 G (*)=

1 1 : . |G | M # G det(I&*M)

The polynomials given in the theorem belong to IG , are algebraically independent, and have the right degree. Hence they generate it, and IG is a ring of polynomials.

5. A BOUND FOR THE MINIMUM WEIGHT OF SELF-DUAL CODES Theorem 4.4 allows us to introduce the notion of an extremal self-dual code, as in the case of codes over F 2 , F 3 , F 4 . A self-dual code over A is said to be extremal if it has the best possible weight, under the constraint that its weight enumerator polynomial should belong to I G . Let us look at the first case, A=F 2 _F 2 . The others work the same way. If C is a self-dual code of length n over A, then WC =

:

* a, b P n&2a&3b P a2 P b3 . 1

2a+3bn

If we set y$=Y 2X and z=ZX, and develop this expression, we get : 2a+3bn

* a, b(1+z) n&2a&3b (2z& y$&z 2 ) a (z(1& y)) b = : # :, ; y$ :z ;. :, ;0

The code contains words of weight 2d if and only if one of the # :, ; with :+;=d is non zero. Each # :, ; is a linear combination of the * a, b with a+b:+; and b;. Moreover, if a+b=:+;=d, then the terms of weight d come from  a+b=d, b; * a, b(2z& y$) a z b, and the coefficient of * d&;, ; is (&1) d&;. Hence the linear system given by the equations # 0, 0 =1, # :, ; =0 for all 1:+;d is triangular in the unknowns * a, b arranged in the

File: 582A 276313 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 2417 Signs: 1423 . Length: 45 pic 0 pts, 190 mm

105

CODES AND MODULAR LATTICES

lexicographic order of (a+b, b) as long as a+bd O 2a+3bn. We can go up to d=[n3]. An extremal code is a code which enumerator polynomial is a solution of this system. Its weight is at least 2([n3]+1); but its weight enumerator is not uniquely determined in general. In order to prove that the weight of an extremal code is exactly equal to 2([n3]+1), we could go further and add the set of equations # :, ; =0 for all :+;=[n3]+1, ; n&2[n3]&2. Now the solution is unique and we would have to prove that one of its # :, ; with :+;=[n3]+1 is non zero. But the classical expression of such a coefficient using the Lagrange formula involves here series expansions with two variables; such formulas exist in several variables but are not so nice unless the new variables expansion are diagonal, which is not the case here. In order to avoid such heavy computations, we prefer to go through the theta series of the related lattice L C , which will allow us to stay in the one-variable case. We closely follow the proof of [MOS2]. Theorem 5.1.

Let C be a self-dual code of length n over A. Then

(1)

If A=F 2 _F 2 or A=M 2(F 2 ), w(C)2([n3]+1).

(2)

If A=F 3 +uF 3 , w(C)3([n6]+1)

(3)

If A=F 4 +uF 4 , w(C)2([n4]+1)

Proof. We will make use of the results proved in [Q4] on l-modular lattices. Let 4 be such a lattice, and let % 4 be its theta series. We assume that 1+l divides 24, and set k 1 =24(1+l ). Let 2=('(z) '(lz)) k 1 = q(> n1 (1&q n ) > n1 (1&q ln )) k 1 and let % be the theta series of a l-modular lattice of lowest dimension. We denote by k 0 the weight of %, which is respectively 4 if l=1, 2 if l=2 or l#1 mod 4, 1 if l#3 mod 4. Then ([Q4, Theorem 7]) % 4 belongs to C[2, %] (and an extremal lattice is a lattice having the highest minimum with respect to this property). Let C be a self-dual code of length n over A. We consider the lattice L C defined by lifting C to the field K of Proposition 3.4. The lattice L C is then l-modular, with the following values for the parameters k 1 , k 0 , k, the last one being the weight of % L C . Moreover, we set kk 1 =na, which is the number appearing in the integer part of the bound:

F 2_F 2 M2(F 2 ) F 3 +uF 3 F 4 +uF 4

l

k1

k0

k

a

7 3 3 2

3 6 6 8

1 1 1 2

n 2n n 2n

3 3 6 4

File: 582A 276314 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 2894 Signs: 2162 . Length: 45 pic 0 pts, 190 mm

106

CHRISTINE BACHOC

We set [kk 1 ]

% L C = : a + % kk 0 &+k 1 k 0 2 + = : : r q r. r0

+=0

Each : r is a linear combination of the a + with +r, and a r appears with the coefficient 1 because the term of lowest degree of 2 is q and that of % is 1. Let L 0 =( pO K ) n. It is a sublattice of L C , preimage of zero by the application s K defined in Section 3. Using the fact that w=l K , the minimal weight w(C) of C is the smallest integer such that L C contains a vector x not belonging to L 0 of norm x } x=2w(C)p . If we set %L 0 = : ;r q r r0

and % L C =% L 0 +

:

#r qr

rw(C)p

the highest weight is obtained if % L C is a solution of the linear system (: i =; i for all 0i[kk 1 ]). Since it is triangular with ones on the diagonal, this solution is unique, denoted by [kk 1 ]

%*= : a +* % kk 0 &+k 1 k 02 + =% L 0 +

r #* r q ;

: r[kk 1 ]+1

+=0

now w(C )p([kk 1 ]+1)  #*[kk 1 ]+1 {0. If ,=2% k 1 k 0, we have [kk 1 ]

: a*+ , + =% &kk 0 % L 0 +% &kk 0

r #* rq

: r[kk 1 ]+1

+=0

which shows that, if we develop % &kk 0 % L 0 in powers of ,, and set % &kk 0 % L 0 = s0 b s , s, then #*[kk 1 ]+1 =&b [kk 1 ]+1 . The Lagrange formula gives bs =

1 d s&1 d &kk 0 (% % L 0 )(q,) s s! dq s&1 dq

\

+

. [q=0]

File: 582A 276315 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 2238 Signs: 1045 . Length: 45 pic 0 pts, 190 mm

107

CODES AND MODULAR LATTICES

For any ideal A of K, we denote by % A the theta series of the lattice (A, Trace KQ(xy )). Hence % A = x # A q xx. Let P be a left ideal of K of norm p. It exists in every case since p is either split or ramified in K, and it is principal. We can take the ideal generated by 1+i in the quaternionic case, - &3 and (1+- &7)2 in the others. The lattice (P, Trace KQ (xy )) is isometric to ( pO K , 1p Trace KQ (xy )), so % L 0 =% nP . On the other hand, % O K =% in every case except for A=M2(F 2 ) where (O K , Trace KQ (xy )) is the orthogonal sum of two hexagonal lattices and hence % O K =% 2, see Remark 3.7. We obtain bs =

1 d s&1 d ((% O K % P ) &n )((q2) % aO K ) s s! dq s&1 dq s&1

=

1 d s! dq s&1

\ \&n \%

as&n&1 OK

\

% n&1 %P P

+

[q=0]

O

d% K d% P &% O K (q2) s dq dq

+

++

. [q=0]

Since q2 has strictly positive coefficients, since for s=[na]+1, as&n&10, and since % O K has positive coefficients, it is enough to show (% P ((d% O K dq)&% O K(d% Pdq)) has positive coefficients up to the that % n&1 P index [na]. In every case, the quotient O K P has representatives of reduced norm one, so % O K =% P +(N P&1) % 1+ P , where N P=[O K :P]. Now

\

%P % n&1 P

d% O K d% P &% O K dq dq

+

\

=(NP&1) % n&1 %P P =(NP&1) % n&1 P

d% 1+ P d% P &% 1+ P dq dq

:

+

( yy &xx ) q xx +yy &1

y # 1+P x#P

=(NP&1)

:

( yy &xx ) q xx +yy +x 1 x 1 + } } } +x n&1 x n&1 &1 .

y # 1+P x, x 1 , ..., x n&1 # P

If we fix an integer r and put together the terms for which xx +yy + x 1 x 1 + } } } +x n&1 x n&1 =r, the coefficient of q r&1 is a sum of expressions nyy &(xx +x 1 x 1 + } } } +x n&1 x n&1 )=(n+1) yy &r which is at least n+1&r since y # 1+P is nonzero, and hence positive up to the index n which is more than what is needed. K Remark 5.2. The same method should prove, as in the classical cases, that extremal codes do not exist when the dimension goes beyond a certain value by showing that the next coefficient is negative.

File: 582A 276316 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 3172 Signs: 1734 . Length: 45 pic 0 pts, 190 mm

108

CHRISTINE BACHOC

Examples 5.3. From the previous computations, we see that the codes C n are extremal codes in the split cases for n=2, 3, 4, 5; if A=F 3 +uF 3 for n=3, 6; if A=F 4 +uF 4 for n=2, 4, 6. The corresponding lattices L C n have minimum 4 and are extremal in the following level and dimension: in level l=2, dimensions 16 and 24, these are the BarnesWall lattice and the lattice named R 24 in [B]; in level 3, and dimension 12, this is the Coxeter Todd lattice, found once over Z[|] (it is the construction of [CS2]) and once over Q 3,  (it is the construction of [M1]). We find two more extremal lattices of minimum 4 over Q 3,  in dimensions 16 and 20. In level 7, we find three such lattices in dimensions 6, 8, 10.

6. CONSTRUCTIONS OF EXTREMAL SELF-DUAL CODES AND LATTICES In this section, we construct extremal codes over A for small length in the four cases (1)(4). The problem of the complete classification of these codes of a given length can be solved by hand in small length but is better handled using mass formulas and computer programs. Mass formulas are settled in the case A=F q +uF q in [G]. Next we study the lattices L C defined over the maximal orders of the fields of Proposition 3.4. For p=2, the minimum of the lattice L C cannot be better than 4 (Proposition 3.6). If C is an extremal code of weight greater than 4, we try to construct a lattice of minimum w(C) as a neighbour of L C . This is a standard technique in lattice theory going back to Kneser which extends easily to lattices over number fields or quaternion fields (see [B, SH]). For p=3, L C is extremal up to minimum 6. 6.1. The Case A=F 2_F 2 Let C be a code of length n over A. Let C 1 and C 2 be the two binary codes which are the projections of C on the two components of F 2 _F 2 . Since C is an A-module, (1, 0) C/C, and C=C 1 _C 2 . Moreover, it is easy to see from the definition of the scalar product that C is self-dual if and only if C 2 =C = 1 . For example, the codes C n =1_PC provide extremal codes of weight 4 in length 3, 4, 5. We now look for codes of weight 6. Lemma 6.1.

Let C=C 1 _C = 1 be a self-dual code over A=F 2_F 2 . Then

{

wt(C 1 )3

w(C )6  wt(C = 1 )3 wt(C 1 & C = 1 )6.

File: 582A 276317 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 2843 Signs: 2129 . Length: 45 pic 0 pts, 190 mm

CODES AND MODULAR LATTICES

109

Proof. Let x be an element of C 1 . Then (x, 0) is an element of C of weight 2wt(x). If x also belongs to C = 1 , then (x, x) is an element of C of weight wt(x). Hence the conditions of the right hand side of the equivalence are necessary. Conversely, since the weight of (x, y) is greater than the Hamming weight of each component, and since C is self-dual, the first two conditions imply that w(C)4. As an element of weight 4 can only be of the type (x, x) with wt(x)=4, the last condition suffices to show that w(C)6. K Theorem 6.2. There is no extremal code of length 6 and 7 over A=F 2_F 2 . There is at least one of length 8 which is C=C 1_C = 1 , where C 1 is the binary code of generating matrix

\

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

1 0 0 1

1 1 0 0

0 1 1 0

0 0 . 1 1

+

Its weight enumerator is W C (X, Y, Z)=X 8 +8X 3Y 4Z+4Z 2(2X 4Y 2 +5X 2Y 4 ) +8Z 3(X 5 +4X 3Y 2 +2XY 4 ) +2Z 4(5X 4 +28X 2Y 2 +2Y 4 )+8Z 5(X 3 +6XY 2 ) +4Z 6(3X 2 +4Y 2 )+8XZ 7 +Z 8. Proof. Let k be the dimension of C 1 . Since C = 1 has weight at least 3, the columns of a matrix of C 1 should be distinct and non zero; hence k=3. If n=6, the columns are all the elements of F 32 "[0] except one; we can extend C 1 to the orthogonal of the Hamming code. If n=7, it is equivalent to it. In both cases, this implies that C 1 & C = 1 contains words of weight 4. The code of length 8 given in the proposition is the first of a series of quasicyclic codes satisfying Lemma 6.1. Let D 2n be the code of length 2n with generating matrix [I n | A] where A is the circulant matrix of first line 1100 } } } 0. Then it is easy to see that D 2n is equivalent to its dual, that its weight is three since any line of its matrix has weight 3 and the sum of two lines has weight 4 or 6; moreover, D 2n & D = 2n is [0] if n is prime to 3 and is of dimension 2 and weight 4n3 if 3 divides n. K Now we look at the lengths 9, 10, where the bound for the weight is 8.

File: 582A 276318 . By:CV . Date:24:03:97 . Time:11:11 LOP8M. V8.0. Page 01:01 Codes: 2780 Signs: 1820 . Length: 45 pic 0 pts, 190 mm

110

CHRISTINE BACHOC

Theorem 6.3. There is no extremal code of length 9 over A=F 2_F 2 . There is at least one of length 10 which is C=C 1_C = 1 , where C 1 is the binary double circulant code of generating matrix

\

1 0

0 0 0

1 1

1 0 0

0 1 0 0

0 0 0 1 0 0

0 1 0 0

1 1 0 1 1 1

0 0 0 0

0 1 0 0 0 1

1 0 1 1

0 1 1 0 0 1

+

.

Its weight enumerator is W C (X, Y, Z)=X 10 +Y 10 +90X 4Y 4Z 2 +30Z 4(X 6 +6X 4Y 2 +X 2Y 4 +Y 6 ) +30Z 6(X 4 +12X 2Y 2 +Y 4 )+45Z 8(X 2 +Y 2 )+2Z 10. Proof. Let C 1 be a code of length 9 such that C 1 _C = 1 has weight 8. have Hamming weight at least 4. Hence we can Then both C 1 and C = 1 assume that the dimension of C 1 is 4. If a generating matrix of C 1 has the shape [I 4 | M], then the columns of M should be of weight 3 or 4 otherwise C = 1 would contain a word of weight 3. Up to equivalence, the only possibility is to take all of them, but C = 1 still contains words of weight 3 since the all-one column decomposes as the sum of a column of weight one and a column of weight 3. The binary code given in the proposition is a [10, 5, 4] double circulant code (see [MWS, Table 16.7]). It is equivalent to its dual and its intersection with its dual is the code 1. It is easy to check that C 1 _C = 1 has weight 8. K The norm of a modular lattice of level 7 and dimension m is bounded by 2([m6]+1). While up to dimension 10 a lattice reaching this bound exists (see Example 5.3), it is shown in [SH] that there is no lattice of minimum 6 and dimension 12 by a complete exploration of the genus. A lattice of level 7, dimension 20, minimum 8 connected to the Mathieu group M 22 is known from [A, NP]; we rediscover it here as a neighbour of the lattice L C constructed from the code of Proposition 6.3 (it is clearly the same lattice from the generators given in [A]). More precisely, let K=Q(- &7). We set :=(1+- &7)2 and have O K =Z[:]. This element generates one of the two ideals of K above 2; we set p=O K :. Since the all one word belongs to C, the vector e=(1, 1, ..., 1) belongs to L C . Let L eC =[ y # L C s.t. h( y, x) # p] and let 4=L eC +O K

:2 e. 2

File: 582A 276319 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 2878 Signs: 1940 . Length: 45 pic 0 pts, 190 mm

CODES AND MODULAR LATTICES

Theorem 6.4.

111

The lattice 4 has minimum 8.

Proof. From Propositions 3.6 and 6.3, the elements of L C have norm at least 8, apart from the norm 4 elements equal to (2, 0, 0, ..., 0), up to a permutation of the coordinates and a sign. These elements do not belong to L eC ; hence the minimum of L eC is 8. The hermitian dual of L eC is (L eC )*= L C +O K(:2) e; since Norm KQ(z+:2)12 for all z # O K , we have x } x5 for all x # (L eC )*. Let us show that this lattice does not contain any vector of norm 6. Such a vector would indeed have either eight coordinates of norm 12 and two of norm 1, or nine coordinates of norm 12 and one of norm 32. But it is easy to check that, if z belongs to O K , then Norm KQ(z+:2)=12 if and only if z=0, &:, Norm KQ(z+:2)=1 if and only if z=&1, 1&: and that Norm KQ(z+:2)=32 is impossible. Since the code C has weight 4, a vector of L C cannot have eight coordinates congruent to 0 modulo p and two coordinates congruent to 1 modulo p. Since 4 is O K -unimodular, it is even and contained in (L eC )*, and hence has minimum 8. K No extremal level 7 lattice is known in dimensions 14 and 18; in dimension 16, such a lattice exists and can be constructed from the real quadratic field Q(- 2) ([S]), but no hermitian construction is known for it. The lattice L C constructed from the extremal code of Proposition 6.2 has no 2-neighbour of minimum 6, since any sublattice of the form L eC contains vectors of norm 4. 6.2. The Case A=M2(F 2 ) Codes over M2(F 2 ) reduce to codes over F 4 in the following way: Let us call | an element of M2(F 2 ) of characteristic polynomial x 2 +x+1, for example |=( 01 11 ) and i=( 01 10 ) an element of order 2 satisfying i|=|i. Then F 2 [|] & F 4 and M2(F 2 )=F 2[|]+F 2[|] i. Let us call , the induced isomorphism of F 4 left vector spaces , : F 4 _F 4  M2(F 2 ). The non invertible elements of M2(F 2 ) correspond through , to the pairs (a, b) with a and b non zero. Hence , preserves the weight, if F 4 _F 4 is endowed with the Hamming weight wt. We extend , to n-tuples; if C is a code of length n over M2(F 2 ), then ,(C ) is a code of length 2n over F 4 . Lemma 6.5. The map , induces a bijection between the set of codes of length n over M2(F 2 ) and the set of couples (C 1 , _), where C 1 is a code of length 2n over F 4 and _ is a permutation of the 2n coordinates which is a product of n disjoint transpositions satisfying _(C 1 )=C 1 . Self-dual codes over M2 (F 2 ) correspond to self-dual codes over F 4 ( for the form  x i y i ). Moreover, we have w(C )=wt(,(C )).

File: 582A 276320 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 3362 Signs: 2484 . Length: 45 pic 0 pts, 190 mm

112

CHRISTINE BACHOC

Proof. If a, b belong to F 2[|] then i(a+bi )=b +ai. The left multiplication by i induces the permutation _ of the 2n coordinates with the prescribed properties. The reciprocal is evident. From (a+bi)(a$+b$i)=aa$+bb$+(ab$+ba$) i, we see that C/C = implies ,(C)/,(C ) =. Reciprocally, if ,(C )=C 1 , since _(C 1 )=C 1 , we have both C 1 } C 1 =0 and C 1 } _(C 1 )=0. K Different choices of the permutation _ associated to a code over F 4 may provide nonequivalent codes over M 2(F 2 ), unless they are conjugate by an element of the permutation group of the code. Self-dual codes over F 4 are classified up to length 16 in [CPS]. The smallest length, where a weight 6 code exists, is length 14 (there is no extremal code of length 12, as well as there is no extremal Z[|]unimodular lattice in dimension 24 by Feit's classification [F]), and it is an extended quadratic residue code. This family of codes provides self-dual codes over M2(F 2 ). If l is a prime, l#5 mod 8 and Ql+1 is the extended quadratic residue code over F 4 , then it is preserved by the group PSl 2(F l ) acting on the projective line identified with the l+1 coordinates, while the elements of PGl 2(F l ) of non square determinant exchange Ql+1 and Ql+1 [AM]. Such an element has order two if and only if its characteristic polynomial has the form T 2 &a, a  (F l*) 2, and has no eigenvector. Hence it induces a permutation which is a product of (l+1)2 disjoint transpositions. Moreover, two such elements of PGl 2(F l ) are conjugate by an element of PSl 2(F l ). The first examples are the codes Q6 , Q14 , Q30 which provide extremal codes of weight 4, 6, 12. An extremal code over A of length 8 is provided by the F 4 -code number 52 of [CPS] of minimal weight 6 where the existence of the permutation _ is noticed in [CPS, 9E ]. We denote this F 4 -code by C 16 . It is tempting to try the code S 18 of [MOS1] in length 9, but a computer search has shown the non existence of the permutation _. Now we study the corresponding lattices over the quaternion field ramified at 3 and  over Q. We keep the notations of Proposition 3.4 and fix the maximal order O K =Z[|]+iZ[|] where |=(&1+j)2. The three left ideals above 2 are p=O K (1+i), p|, p| 2. Theorem 6.6. The lattice L C constructed from the quaternary code Q6 is the CoxeterTodd lattice, while the lattices L C constructed from the quaternay codes Q14 and C 16 have neighbours of minimum 6 which are O K-unimodular lattices and hence extremal lattices of level 3 and dimension respectively 28 and 32. Proof. Since L Q6 is a O K-unimodular lattice of minimum 4, it is the CoxeterTodd lattice (it is easy to see that the neighbouring graph over O K

File: 582A 276321 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 3464 Signs: 2623 . Length: 45 pic 0 pts, 190 mm

CODES AND MODULAR LATTICES

113

has only two vertices. See [B] for an analogous argument over the Hurwitz order). The codes Q14 and C 16 contain the all-one word which lifts to the vector e=(1+i, ..., 1+i) of L C . We set L |e C =[ y # L C s.t. h( y, |e) # p]. The only elements of norm 4 of L C are, up to a permutation of the coordinates and the multiplication by a unit of O K , equal to y=(2, 0, ..., 0). Since h( y, |e)=(1&i) |  p, this lattice has minimum 6. If := (1+i) |(1+i )2, its hermitian dual is n |e (L |e C )*=[ y # K s.t. h( y, L C ) # O K ]=L C +O K (:, ..., :).

The lattice L C has two neighbours over O K containing L |e C which are both contained in its dual. We look at the vectors of norm 4 of L C +O K (:, ..., :). If such a vector is not in L C , then, up to the multiplication by a unit, we can assume that it has the form Z= y+(:, ..., :) with y # L C . If Norm KQ is the norm of K, it is easy to see that, for x # O K , Norm KQ (:&x) belongs to N2, is equal to 12 if and only if x=|, &|, and is equal to 1 if and only if x=0, &i, 1+2|, 1&i+2|, &|i, &|i, &|i+1+2|, &|i+1+2|; we notice that all these elements are distinct modulo 2. In the case of dimension 32, the rank over K is 8 and we have Z } Z82=4, with equality if and only if the coordinates of y are &| or |. The image of y modulo 2 is then a word of weight 8 of C 16 with zeros at the coordinates of even index. Since this code has weight 6, two words of weight 8 with the same support are proportional. Hence Z is unique up to a unit and at least one of the neighbours of L C has minimum 6. In the case of dimension 7, Z } Z=4 if and only if six of the seven coordinates of y is at distance 12 from : and the remaining one is at distance 1. Again the image of y modulo 2 is a word of weight 6 or 8 which is uniquely determined by the code Q14 . Modulo the units, we get 7 vectors of norm 4 which are congruent modulo L |e C and hence belong to the same neighbour. K 6.3. The Case A=F q +uF q , q=3, 4 As described in [B, G], a code C of length n over F q +uF q is a triple (C 1 , C 2 , f ) where C 1 and C 2 are codes of length n over F q such that C 1 /C 2 and f : C 1  F nq (C 2 is a morphism satisfying C=[x+uy | x # C 1 and y # f (x)]. C 1 is the image of C modulo u and C 2 is given by the elements of C annihilated by u. Moreover, C is self-dual if and only if C 2 =C = 1 and f is symmetric (relatively to the form  x i y i over F q , where x =x if q=3 and x =x 2 if q=4).

File: 582A 276322 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 3140 Signs: 2344 . Length: 45 pic 0 pts, 190 mm

114

CHRISTINE BACHOC

Since uC 2 /C, if wt is the Hamming weight over F q and p the characteristic of A, the weight of C satisfies min(wt(C 1 ), pwt(C 2 ))w(C )pwt(C 2 ) and a suitable choice of f can make w(C ) become strictly greater than wt(C 1 ), as in [B]. The case f=0 is the code C=C 1 +uC 2 ; for example the codes C n previously defined are of this form. Theorem 6.7. Extremal self-dual codes exist over A=F 3 +uF 3 in length n=3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 16, 17. The corresponding lattice L C is an extremal 3-modular lattice of dimension 2n. There is no extremal code in length 7 and 12. Extremal self-dual codes exist over A=F 4 +uF 4 in length n12. The corresponding lattice L C is an extremal 2-modular lattice of dimension 4n if n7; if 8n12, there exists an extremal 2-modular lattice 4 deduced from L C by at most two successive neighbourings. Proof. We start with p=3. Extremal codes have weight 6 in length 6 to 11. The code C=1+uPC provides such a code in length 6 and 9. In length 8, 10, 11, it is easy to find a code C 1 /C = 1 of dimension 2 and has weight 2. We can take respectively weight 6 such that C = 1 1 1 1

1 0 1 2 1 0

1 1 1 2

0 . 1

1 1

1 1 1 1 1 2

1 1 2 2

1 1 0 . 1 2 1

1 0

1 1 1 1 1 1

1 1 1 2

1 1 0 1 2 1

\0 1 C = \0 1 C = \0

C1=

1

1

+

+

0 . 1

+

Let us show that there is no extremal code in length 7. Since 7 is odd, the dimension of C 1 is at least 2, and C 1 contains at least one word x of weight 3. Let us show that C 1 contains necessarily another word of weight 3 disjoint from x. Let sup(x) be the support of the word x and let p x be the projection on the complementary set of sup(x): p x ( y )=( y i ) i  sup(x) . We need a morphism f such that, for all y # f (x), x+uy has weight at least 6, which means that p x ( y) is nonzero modulo p x (C = 1 ), if we go back to the 4 = definition of w. Hence we need p x (C = 1 ){F 3 . But, the dual of p x (C 1 ) being the set of words of C 1 disjoint from x, it is either [0] or F 3 x$ if C 1 contains a word x$ of weight 3 disjoint from x. Since the subcode F 3 x+F 3 x$ has one

File: 582A 276323 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 2757 Signs: 1914 . Length: 45 pic 0 pts, 190 mm

115

CODES AND MODULAR LATTICES

zero coordinate, the dimension of C 1 is at least 3; up to equivalence C 1 is generated by

\

1 1 1 0 0 0 0 0 1 2 1 0 0 0 0 0

0 0

1 1 1

+

.

But, for the four words of weight 3 generated by the first two lines, p x (C = 1 ) is of codimension 1, defined by x 5 +x 6 +x 7 =0, so, since f needs to be a morphism, any choice of f will leave words of weight 3 in the F 3 +uF 3 code. We know from Feit's classification [F] that there is no code of weight 9 over A in length 12; otherwise the lattice L C would be Z[|]-unimodular of minimum 6 and dimension 24. In [N1], Nebe has constructed a 3-modular lattice of minimum 6 in this dimension, which turns to be a nonintegral Z[|]-lattice. We will construct here extremal codes of weight 9 in length n=13, 14, 16, 17. The corresponding lattices L C are Z[|]unimodular and extremal of level 3 and minimum 6. In order to guess the code C 1 , we proceed has follows. If the Hamming 3 6 weight enumerators of C 1 and C 2 =C = 1 are: W C 1 (X )=A 0 +A 3 X +A 6 X 3[n3] 2 n + } } } +A 3[n3] X and W C 2(X)=B 0 +B 1 X+B 2 X + } } } +B n X , the linear conditions S=(B0 =1, B 1 =B 2 =0) lead through the MacWilliams identity ([MWS]) to three linear conditions on the A3i . Hence we can add to S the extra conditions A0 =1, A 3 = } } } =A 3([n3]&3) which has now a unique solution W depending on the dimension k of C 1 . For each length n we take the lowest value of k for which the coefficients of W are positive and integral and try to construct a code C 1 having such a weight enumerator. We find: * n=13, k=4, W=1+26X 9. We recognize the weight enumerator of the dual of the Hamming code H 3 of length (3 3 &1)(3&1)=13. Since its minimal weight is 9, the code C=H = 3 +uH 3 has weight 9. This construction was first communicated to me by H.-G. Quebbemann. * n=14, k=4, W=1+4X 6 +60X 9 +16X 12. The unknown code C 1 has modulo \1 two words of weight 6. We will then need a nontrivial morphism f. The same discussion as in length 7 about p x (C = 1 ) shows that this implies that the two words of weight 6 have disjoint supports. Then it is not difficult to show that, up to equivalence, the only code of weight enumerator W with, modulo \1, two words of weight 6 with disjoint supports is 1 0 C1= 0 0

\

1 0 0 1

1 0 1 1

1 0 1 2

1 0 2 0

1 0 2 2

0 1 0 0

0 1 0 2

0 1 1 2

0 1 1 1

0 1 2 0

0 1 2 2

File: 582A 276324 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 3257 Signs: 2185 . Length: 45 pic 0 pts, 190 mm

0 0 1 0

0 0 . 0 1

+

116

CHRISTINE BACHOC

Reciprocally, since p x 1 (C = 1 ) is the parity-check code, the symmetric morphism defined by f (1 60 8 )=0 610 7, f (0 61 60 2 )=10 13, and zero on the last two lines, is such that (C 1 , C = 1 , f ) is a code of weight 9 over A. * n=15, k=4, W=1+50X 9 +30X 12. Here the method does not work since one can show that W is not the weight enumerator of a code. * n=16, k=4, W=1+32X 9 +48X 12. We easily construct a code of weight enumerator W using the tetracode of generating matrix T=

\0

1 1 1

1 0 . 2 1

T T T

T 2T

+

We can take C1 =

\0

0 . T

+

Since the minimal weight of C 1 is 9, the code C 1 +uC = 1 has minimum weight 9. * n=17, k=4, W=1+18X 9 +58X 12 +4X 15. This code was obtained by shortening an extended Reed-Solomon code of length 9 over F 9 . Its weight enumerator is equal to W : 1 0 C1 = 0 0

\

0 1 0 1

1 0 1 0

0 1 2 1

1 1 1 2

0 0 1 1

1 2 0 0

0 1 1 2

1 2 1 0

0 2 0 1

1 0 2 1

0 2 1 0

1 2 2 1

0 0 2 0

1 1 0 0

0 2 2 0

1 1 . 2 2

+

Since the minimal weight of C 1 is 9, the code C 1 +uC = 1 has minimum weight 9. Now we consider the case of q=4. An extremal code over F 4 +uF 4 has weight 4 up to n=7. If n is even, C=1+uPC is convenient. For n=5 and 7, we can take respectively C1=

1 1 1 1

0

\0 1 | | 1+ .

and the dual of the Hamming code with parameters [7, 3, 4]; then C=C 1 +uC = 1 has weight 4. When the length n is greater than 7, we proceed as in characteristic 3 in order to guess the weight enumerator W of C 1 . We find

File: 582A 276325 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 2407 Signs: 1280 . Length: 45 pic 0 pts, 190 mm

117

CODES AND MODULAR LATTICES

* n=8, k=3, W=1+6X 4 +48X 6 +9X 8. A code C of weight 6 with C 1 having a weight enumerator equal to W and the related 2-modular (although not integral over the Hurwitz order) extremal lattice are constructed in [B]. * n=9, k=3, W=1+36X 6 +27X 8. We can take

\

1

1 0

1

1

0

1

1

0

C 1 = 0 1 1 0 | | 0 | | 1 0 1 | 0 | | 0 |

+

.

The code C=C 1 +uC = 1 has weight 6. The lattice L C over the Hurwitz order has vectors of norm 4 which are, up to a permutation of the coordinates and the multiplication by a unit, equal to (2, 0, 0, ..., 0). Moreover, since the length is odd, any vector of L C has at least one coordinate in P=O K (1+i) the ideal above 2 in the Hurwitz quaternions. Hence any sublattice of L C of index P contains vectors of norm 4. We construct a lattice 4 such that L C L C & 4 is isomorphic to O K P_O K P, or equivalently as the preimage of a self-dual code over O K 4O K , connected to the = sequence of codes C 0 /C 1 /C = 1 /C 0 where C 0 is the subcode of C 1 generated by the first two lines. Since this lattice is the result of a computer search, we simply give a set of generators. If we call e 1 , e 2 , e 3 , the lines of C 1 given above, - 2 4 is generated modulo 4 by f 1 =e 1 +(0, 0, 0, 0, 0, 0, u 2w, u 3|, u 3|), f 2 =e 2 +(0, 0, 0, 0, 0, 0, 0, u 3|, u 2 +u 3|), ue 3 , u 2C = 1 and u 3C = 0 . It is O K -unimodular and has minimum 6; this last statement was verified using PARI. The lattice - 2 4 & - 2 L C is generated modulo 4 by 3 = uf 1 , uf 2 , ue 3 , u 2 C = 1 and u C 0 . * n=10, k=3, W=1+15X 6 +45X 8 +3X 10. We can take 1 1 C1= 0 1

1 1 1 | | 0

1 0

0 1

| | 1

| 0

\

1 1 1 | 0

1 |

1 0

0

|

+

.

The code C=C 1 +uC = 1 has weight 6. Since the all-one word belongs to C 1 , the lattice L C contains e=(1, 1, ..., 1). The sublattice L eC has minimum 6 and its hermitian dual is L C +P &1e. Since min Norm KQ((1+i)2&x)=12,

x # OK

any vector z belonging to L C +P &1e but not to L C satisfies z } z102=5; hence a neighbour of L C containing L eC is of minimum 6.

File: 582A 276326 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 3070 Signs: 1826 . Length: 45 pic 0 pts, 190 mm

118

CHRISTINE BACHOC

* n=11, k=3, W=1+3X 6 +45X 8 +15X 10. We can take

\

1 1

1

1

1

C1= 0 0 0 1 1 0 1 | 0 1

1

1

1 | | 0

1

0 0

| 1 1 0 0 1

0

+

1 . |

The code C=C 1 +uC = 1 has weight 6. We proceed as in length 9 to construct 4, using the subcode generated by the two first lines e 1 and e 2 of C 1 . One can take the lattice 4 generated by e 1 +(0, 0, &2, 0, &2, 0, 0, 3 = 0, 0, 0, u 3 ), e 2 +(0, 0, 0, 0, 0, 0, 0, u 3, 0, &2, &2), ue 3 , u 2C = 1 and u C 0 . * n=12, k=4, W=1+6X 6 +135X 8 +90X 10 +24X 12. If we denote by e 6 a generating matrix of the hexacode,

\

1

0 0

1

| |

e6 = 0 1 0 | 1 | 0 0 1 | | 1

+

,

we can take for C 1 C1=

e6

\1 } } } 1

e6 . 0}}}0

+

Since this code has, modulo units, two words of weight 6 with disjoint supports, the morphism f defined by f (1 60 6 )=10 510 5 and f (x | x)=0 for all x # e 6 is symmetric and the code defined by (C 1 , C = 1 , f ) has weight 8. We can construct a lattice 4 of minimum 8 of the form L eC +P &1y which is 2-modular; but a more elegant construction, communicated to me by H.-G. Quebbemann, is the following: take the Leech lattice L with its structure over the Hurwitz order (see [Q1]), and take 4=[(x, y) # L_L s.t. x#y mod PL]. Then 4 is O K -unimodular of minimum 8. The explicit construction of the Leech lattice over the Hurwitz order, which makes use of the e 6 code, shows that 4 and L C share a sublattice of index P 2. K Remarks 6.8. The method developed in the previous proof fails to give an extremal code over F 3 +uF 3 in length 18 since one can show that any code (C 1 , C = 1 , f ) such that the weight enumerator polynomial of C 1 equals the candidate W has weight at most 9. We have constructed an extremal lattice of level 3 in all dimensions 262n34, except the dimension 30; such a lattice exists and is constructed in [N2, Theorem 9.1].

File: 582A 276327 . By:CV . Date:24:03:97 . Time:11:12 LOP8M. V8.0. Page 01:01 Codes: 2779 Signs: 1630 . Length: 45 pic 0 pts, 190 mm

CODES AND MODULAR LATTICES

119

REFERENCES [AM] [A] [B] [BQS] [CPS] [CS1] [CS2] [CS3] [D] [F] [G] [MOS1] [MOS2] [MWS] [Mar1]

[M2] [N1] [N2] [NP] [Q1] [Q2] [Q3] [Q4] [S] [SH] [V]

E. F. Assmus and H. F. Mattson, New 5-designs, J. Combin. Theory 6 (1969), 122151. J. H. Conway, R. T. Curtis, S. P. Norton, R. A. Parker, and R. A. Wilson, ``ATLAS of Finite Groups,'' Oxford Univ. Press, Oxford, 1985. C. Bachoc, Voisinages au sens de Kesner pour les reseaux quaternioniens, Comm. Math. Helvet. 70 (1995), 350374. C. Batut, H.-G. Quebbeman, and R. Scharlau, Computations of cyclotomic lattices, Exp. Math., a para@^ tre. J. H. Conway, V. 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), 312322. J. H. Conway and N. J. A. Sloane, ``Sphere Packings, Lattices and Groups,'' Springer-Verlag, Heidelberg, 1988. J. H. Conway and N. J. A. Sloane, The CoxeterTodd lattice, the Mitchell group, and related sphere packings, Math. Proc. Cambridge Phil. Soc. 93 (1983), 421440. J. H. Conway and N. J. A. Sloane, Self-dual codes over the integers modulo 4, J. Combin. Theory Ser. A 62 (1993), 3045. P. Delsarte, An algebraic approach to the association schemes of coding theory, Philips Res. Rep. Suppl. W. Feit, Some lattices over Q(- &3), J. Algebra 52 (1978), 248263. P. Gaborit, Mass formula for self-dual codes over Z 4 and F q +uF q rings, to appear. F. J. MacWilliams, A. M. Odlysko, and N. J. A. Sloane, Self-dual codes over F 4 , J. Combin. Theory Ser. A 25 (1978), 288318. C. L. Mallows, A. M. Odlysko, and N. J. A. Sloane, Upper bounds for modular forms, lattices and codes, J. Algebra 36 (1975), 6876. F. J. MacWilliams and N. J. A. Sloane, ``The Theory of Error-Correcting Codes,'' North-Holland, Amsterdam, 1977. J. Martinet, Structures algebriques sur les reseaux, in ``Number Theory'' (S. David, Ed.), Seminaire de Theorie des Nombres de Paris, 199293, pp. 167186, Cambridge Univ. Press, Cambridge, 1995. J. Martinet, Les reseaux parfaits des espaces euclidiens, en preparation. G. Nebe, ``Endliche rationale Matrixgruppen vom Grad 24, Aachener Beitrage zur Mathematik,'' Verlag der Augustinus Buchhandlung, 1995. G. Nebe, Finite subgroups of Gl n(Q) for 25n31, Comm. Algebra, a para@^ tre. G. Nebe and W. Plesken, Finite rational matrix groups, Mem. Am. Math. Soc. 116 (1995), 556. H.-G. Quebbemann, An application of Siegel's formula over quaternion orders, Mathematika 31 (1984), 1216. H.-G. Quebbemann, A construction of integral lattices, Mathematika 31 (1984), 138141. H.-G. Quebbemann, Lattices with theta-functions for G(- 2) and linear codes, J. Algebra 105 (1987), 443450. H.-G. Quebbemann, Modular lattices in Euclidean spaces, J. Number Theory 54 (1995), 190202. N. J. A. Sloane, Error-correcting codes and invariant theory: New applications of nineteenth century technique, Amer. Math. Monthly 84 (1977), 82107. R. Scharlau and B. Hemkemeier, Classification of integral lattices with large class number, to appear. M.-F. Vigneras, Arithmetique des algebres de quaternions, Lecture Notes in Mathematics, Vol. 800, Springer-Verlag, New YorkBerlin, 1980.

File: 582A 276328 . By:CV . Date:24:03:97 . Time:11:46 LOP8M. V8.0. Page 01:01 Codes: 4014 Signs: 3249 . Length: 45 pic 0 pts, 190 mm