Type II Self-Dual Codes over Finite Rings and Even Unimodular Lattices

advertisement
Journal of Algebraic Combinatorics 9 (1999), 233–250
c 1999 Kluwer Academic Publishers. Manufactured in The Netherlands.
°
Type II Self-Dual Codes over Finite Rings
and Even Unimodular Lattices
STEVEN T. DOUGHERTY
Department of Mathematics, University of Scranton, Scranton, PA 18510
doughertys1@tiger.uofs.edu
T. AARON GULLIVER
gulliver@elec.canterbury.ac.nz
Department of Electrical and Electronic Engineering, University of Canterbury, Private Bag 4800,
Christchurch, New Zealand
MASAAKI HARADA∗
mharada@sci.kj.yamagata-u.ac.jp
Department of Mathematical Sciences, Yamagata University, Yamagata 990, Japan
Received September 23, 1997
Abstract. In this paper, we investigate self-dual codes over finite rings, specifically the ring Z2m of integers
modulo 2m . Type II codes over Z2m are introduced as self-dual codes with Euclidean weights which are a multiple
of 2m+1 . We describe a relationship between Type II codes and even unimodular lattices. This relationship provides
much information on Type II codes. Double circulant Type II codes over Z2m are also studied.
Keywords: self-dual code over finite ring, Type II code, double circulant code, even unimodular lattice
1.
Introduction
In this paper, we consider self-dual codes over rings, specifically the ring Z2m where Zk
denotes the ring Z/kZ of integers modulo k. A code of length n over the ring Zk is a
subset of Znk , and if the code is an additive subgroup of Znk then it is a linear code.
Unless otherwise stated all codes will be linear. We define an inner product on Znk by
[x, y] = x1 y1 + · · · + xn yn (mod k), where x = (x1 , . . . , xn ) and y = (y1 , . . . , yn ). The orthogonal to a code is defined in the usual way, i.e., C ⊥ = {v ∈ Znk | [v, w] = 0 for all w ∈ C}.
MacWilliams relations for codes over any Frobenius ring are given in [17]. A code C is
self-orthogonal if C ⊆ C ⊥ and C is self-dual if C = C ⊥ . In this paper, two codes over Zk
are said to be equivalent if one can be obtained from the other by permuting the coordinates
and (if necessary) changing the signs of certain coordinates. Codes differing by only a
permutation of coordinates are called permutation-equivalent.
The paper is organized as follows. Section 2 examines the existence of self-dual codes
over Zk . Section 3 introduces Type II codes over Z2m as self-dual codes with Euclidean
weights which are a multiple of 2m+1 , and relates these codes with self-orthogonal codes
over Z2m+1 . In Section 4, we show a relationship between Type II codes over Z2m and
∗ Formerly
with the Department of Mathematics, Okayama University, Okayama 700, Japan.
234
DOUGHERTY, GULLIVER AND HARADA
even unimodular lattices. This is a natural generalization of the result in [2]. The above
relationship provides much information on Type II codes. In Section 5, we investigate
Type II double circulant codes over Z2m giving many examples of extremal Type II codes
over Z2m for m = 3, 4 and 5. Section 6 describes the existence of Type II codes of small
lengths over Z2m for all m.
We refer the reader to [6] and [17] for any elementary facts about codes over finite rings
that are used in this paper. For example, any code C over Zk has |C||C ⊥ | = k n .
2.
Self-dual codes over Zk
Self-dual codes over fields are a well studied subject, see [11] for an extensive bibliography.
Recently, self-dual codes over Z4 have been studied, see [1, 2, 6, 8–10, 14, 15]. Cyclic
codes over Zk have been discussed by a number of authors, see, e.g., [3] and the references
given therein. In this section, we examine the existence of self-dual codes over Zk .
Lemma 2.1 If k is a square then there exist self-dual codes over Zk for all lengths.
Proof:
If k = r 2 then the matrix (r ) generates a self-dual code of length 1.
2
Lemma 2.2 If C is a self-dual code of odd length over Zk then k is a square.
n
Proof: Let C be a self-dual code of odd length n over Zk so that |C|2 = k n . Then |C| = k 2 ,
and since n is odd, k must be a square.
2
Now consider self-dual codes over Z2m . If m is odd then 2m is not a square and by the
previous lemma there are no self-dual codes of odd length.
If m is odd then the following matrix
à m−1
m−1 !
2 2
2 2
,
m+1
0
2 2
m+1
m−1
generates a code that is self-orthogonal with 2 2 2 2 = 2m vectors and therefore is selfdual. Using the well-known direct product construction, self-dual codes can be constructed
for all even lengths.
If m is even then 2m is a square and self-dual codes exist over Z2m for all positive lengths.
Theorem 2.3 There exist self-dual codes over Z2m for all lengths if m is even. There exist
self-dual codes over Z2m , m odd, for all lengths n if and only if n is even.
It is not true that there are self-dual codes over Zk for all even lengths for all k. For
example, for k = 6 there are only two self-orthogonal vectors of length 2 and hence no
self-dual code of length 2.
Theorem 2.4 Let k be an integer that is not a square and assume k > 1. If there exists an
element γ ∈ Zk with γ 2 = −1 then there exist self-dual codes of length n over Zk if and only
235
SELF-DUAL CODES OVER FINITE RINGS
if n is even. If there exist x, y ∈ Zk with x 2 + y 2 + 1 = 0 then there exist self-dual codes
over Zk for all lengths n ≡ 0 (mod 4).
Proof: If there exists γ ∈ Zk with γ 2 = −1 then (1, γ ) generates a code with k vectors
which is self-orthogonal. Hence, there exist self-dual codes of all even lengths over Zk .
Since k is not a square then there are no self-dual codes of odd length by Theorem 2.2. If
there exists x, y ∈ Zk with x 2 + y 2 + 1 = 0 then the matrix
Ã
!
1
0
x
y
0
1
y
−x
,
generates a code with k 2 vectors which is self-orthogonal, and therefore is a self-dual code
of length 4.
2
3.
Type II codes over Z2m
Type II codes over Z4 have recently been introduced in [1]. In this section, we introduce
Type II codes over Z2m , and relate Type II codes over Z2m to self-orthogonal codes over
Z2m+1 . Cyclic codes over Z2m have been discussed in [3].
An application of codes over Z4 to unimodular lattices prompted the definition of the
Euclidean weight of a vector of Zn4 (cf. [2]). It is natural to define the Euclidean weights of
the elements 0, ±1, ±2, ±3, . . . , ±(2m−1 − 1), 2m−1 of Z2m as 0, 1, 4, 9, . . . , (2m−1 − 1)2 ,
(2m−1 )2 , respectively. The Euclidean weight of a vector is just the rational sum of the
Euclidean weights of its components. The Hamming weight of a vector is the number of
non-zero components in the vector. We define a Type II code over Z2m as a self-dual code
with all vectors having Euclidean weight a multiple of 2m+1 . For m = 1 this is the standard
definition of a Type II code. Note that for m = 2 the standard definition of a Type II code
requires that it contain the all-one vector as well.
Any code over Z2m is permutation-equivalent to a code with generator matrix of the form














Ik1
A1,2
A1,3
A1,4
···
···
A1,m+1
0
2Ik2
2A2,3
2A2,4
···
···
2A2,m+1
0
0
4Ik3
4A3,4
···
···
4A3,m+1
..
.
..
.
0
..
.
..
.
..
.
..
.
..
.
..
.
..
.
0
0
0
···
0
..
.
..
..
.
.
2m−1 Ikm
2m−1 Am,m+1
where the matrices Ai, j are binary matrices for i > 1.







,






(1)
236
DOUGHERTY, GULLIVER AND HARADA
A code of this form is said to be of type {k1 , k2 , k3 , . . . , km } and it has
m
Y
(2m− j+1 )k j ,
j=1
vectors.
Define a map 8 : Zn2m+1 → Zn2m by
8(v1 , v2 , . . . , vn ) = (v1 (mod 2m ), v2 (mod 2m ), . . . , vn (mod 2m )).
For a code C of length n over Z2m+1 we denote its image under this map by 8(C).
Lemma 3.1 The image of a self-orthogonal vector is a vector whose Euclidean weight is
a multiple of 2m+1 .
Proof:
For vi in Z2m+1 we have that vi2 ≡ (vi (mod 2m ))2 (mod 2m+1 ).
Lemma 3.2
2
For C a code over Z2m+1 , 8(C ⊥ ) ⊆ 8(C)⊥ .
Proof: If v ∈ C ⊥ then [v, w] = 0 for all w in C. It is easy to see that 8(v) and 8(w) are
2
orthogonal in Zn2m . Hence 8(v) ∈ 8(C)⊥ .
Theorem 3.3 If C is a self-orthogonal code over Z2m+1 then 8(C) is a self-orthogonal
code over Z2m such that the Euclidean weights of all vectors are a multiple of 2m+1 .
Proof:
2
Follows from the previous lemmas.
Theorem 3.4 If C is a code of type {k1 , k2 , k3 , . . . , km } over Z2m , then 8(C) is a code of
type {k1 , k2 , . . . , km−1 } over Z2m−1 .
Proof: Any vector in C is a linear combination of the rows of a generator matrix of C.
Any vector in 8(C) is a linear combination of those rows read modulo 2m−1 . Hence a
generator matrix of 8(C) is














Ik1
A1,2
A1,3
A1,4
···
···
A1,m+1
0
2Ik2
2A2,3
2A2,4
···
···
2A2,m+1
0
0
4Ik3
4A3,4
···
···
4A3,m+1
..
.
..
.
0
..
.
..
.
..
.
..
.
..
.
..
.
..
.
0
0
0
···
0
..
.
..
.
2m−2 Ikm −1
which corresponds to a code of the required type.
..
.







,






2m−2 Am−1,m
2
SELF-DUAL CODES OVER FINITE RINGS
237
Note that a generator matrix of a self-orthogonal code over Z2m−1 does not necessarily
generate a self-orthogonal code over Z2m since the vectors may not be orthogonal.
Corollary 3.5 If C is a self-orthogonal code of type {k1 , k2 , k3 , . . . , km , km+1 } over Z2m+1
n
of length n with (2m+1 )k1 (2m )k2 · · · (2)km = (2m ) 2 then 8(C) is a Type II code over Z2m .
Proof: The code 8(C) is self-orthogonal by Theorem 3.3 and has type {k1 , k2 , k3 , . . . , km }
n
by Theorem 3.4, with (2m+1 )k1 (2m )k2 · · · (2)km = (2m ) 2 . Therefore, 8(C) is self-dual. 2
4.
Type II codes over Z2m and even unimodular lattices
A relationship between Type II codes over Z4 and even unimodular lattices was given in
[1] and [2]. In this section, we consider a relationship between Type II codes over Z2m and
even unimodular lattices. This is a natural generalization of the above result.
Recall that a Type II code over Z2m is a self-dual code which has all Euclidean weights
divisible by 2m+1 . The minimum Euclidean weight d E of C is the smallest Euclidean weight
among all non-zero codewords of C. For m = 1 and 2, an upper bound on d E was given in
[12] and [1], respectively.
An n-dimensional lattice 3 in Rn is the set of integer linear combinations of n linearly
independent vectors v1 , . . . , vn . An n × n matrix whose rows are the n linearly independent vectors is called a generator matrix of the lattice. The dual lattice 3∗ is given by
3∗ = {x ∈ Rn | [x, a] ∈ Z for all a ∈ 3}. A lattice 3 is integral if the inner product of any
two lattice points is integral, or equivalently, if 3 ⊆ 3∗ . An integral lattice with det 3 = 1
(or 3 = 3∗ ) is called unimodular. If the norm [x, x] is an even integer for all x ∈ 3, then
3 is called even. The minimum norm of 3 is the smallest norm among all nonzero lattice
points of 3.
Applying Construction A in [7] to self-dual codes over Z2m , we have the following
construction of even unimodular lattices.
Theorem 4.1 If C is a self-dual code of length n over Z2m , then the lattice
1
32m (C) = √ {C + 2m Zn },
2m
is an n-dimensional unimodular lattice. The minimum norm is min{2m , d E /2m } where d E
is the minimum Euclidean weight of C. Moreover, if C is Type II then the lattice 32m (C)
is even unimodular.
√
Proof: If a1 , a2 ∈ 32m (C) then ai = (ci + 2m z i )/ 2m where ci ∈ C and z i ∈ Zn for i = 1, 2.
Since C is self-dual, the inner product of a1 and a2 is
[a1 , a2 ] =
1
{[c1 , c2 ] + 2m [z 1 , c2 ] + 2m [c1 , z 2 ] + 22m [z 1 , z 2 ]} ∈ Z,
2m
238
DOUGHERTY, GULLIVER AND HARADA
thus 32m (C) is integral. If C has a generator matrix of the form (1), then the generator
matrix of the lattice can be written as


A1,4 · · ·
···
A1,m+1
Ik1 A1,2 A1,3


 0 2Ik2 2A2,3 2A2,4 · · ·
···
2A2,m+1 




0
4Ik3 4A3,4 · · ·
···
4A3,m+1 
 0



..
..
..
..
1 
 ..

.
.
.
0
.
(2)
√  .
,
m


2 

..
..
..
..
..
..
 ...

.
.
.
.
.
.




 0

m−1
m−1
I
2
A
0
0
·
·
·
0
2
k
m,m+1


m
0
0
0
···
0
0
2m In−k
of √
the matrix (2) is 1 and 32m (C)
where k = k1 + · · · + km . Thus the determinant
√
√ is
unimodular. It is easy see that [ai , ai ] ≥ [ci / 2m , ci / 2m ] where ai = (ci + 2m z i )/ 2m .
Thus the minimum norm is min{2m , d E /2m }.
In addition, if C is Type II then since the Euclidean weights are divisible by 2m+1 , we
have
[a1 , a1 ] =
1
{[c1 , c1 ] + 22m [z 1 , z 1 ] + 2m+1 [c1 , z 1 ]} ∈ 2Z,
2m
so that the lattice is even.
2
Remark It was suggested in [1] that a construction similar to Theorem 4.1 be considered
in order to construct unimodular lattices with minimum norm µ > 4.
Theorem 4.1 provides much information on Type II codes over Z2m . For example,
the following corollary characterizes divisible self-dual codes over Z2m in terms of their
Euclidean weights.
Corollary 4.2 Suppose that C is a self-dual code over Z2m . The greatest common divisor c
of Euclidean weights of all codewords of C is either 2m or 2m+1 .
Proof: If a unimodular lattice has the property that every norm is a multiple of some
positive integer d, then d is either 1 or 2 (cf. [13]). If C is self-dual then 32m (C) is uni2
modular. Thus c must be either 2m or 2m+1 .
Moreover, Theorem 4.1 gives the following restriction on the length of a Type II code.
Corollary 4.3 If there exists a Type II code C of length n over Z2m , then n is a multiple
of eight.
Proof: An even unimodular lattice of dimension n can be constructed from C by
Theorem 4.1. Even unimodular lattices exist if and only if the dimension is a multiple
of eight. Thus n must be a multiple of eight.
2
SELF-DUAL CODES OVER FINITE RINGS
239
Now let us consider the converse assertion. Calderbank and Sloane [3] investigated cyclic
codes of length n over the ring Z pa and over the p-adic numbers, where p is a prime not
dividing n. In particular, they constructed remarkable cyclic codes over Z2m of length 7 for
any m. By appending a 1 to the generator vectors of the above codes, Hamming codes H2m
over Z2m of length 8 are constructed. It was shown in [3] that the codes H2m are self-dual
codes. Moreover, it can easily be seen that all their Euclidean weights are divisible by
2m+1 . Thus there exists a Type II code of length 8 over Z2m , which gives the following
proposition.
Proposition 4.4
There exists a Type II code over Z2m of length n if and only if n ≡ 0 (mod 8).
We now investigate the minimum Euclidean weight of Type II codes over Z2m . The
n
c+2
minimum norm µ of an n-dimensional even unimodular lattice is bounded by µ ≤ 2b 24
n
and even unimodular lattices with µ = 2b 24 c + 2 are called extremal (cf. [7]). The minimum
norm of the lattices constructed from Type II codes C gives directly an upper bound on the
minimum Euclidean weight of C.
Proposition 4.5 Let d E be the minimum Euclidean weight of a Type II code of length 8n
over Z2m . If b n3 c ≤ 2m−1 − 2, then
d E ≤ 2m+1
¶
µ¹ º
n
+1 .
3
(3)
Proof: Suppose that there exists a Type II code C with minimum Euclidean weight
d E = 2m+1 (b n3 c + 2). The minimum norm µ of the even unimodular lattice 32m (C) constructed from C is min{2m , 2b n3 c + 4}. From the assumption, µ = 2b n3 c + 4, which is a
contradiction.
2
When m = 1 and 2, the above bound (3) holds without the assumption b n3 c ≤ 2m−1 − 2.
For m = 1, (3) is the well-known bound on binary doubly-even self-dual codes, given by
Mallows and Sloane [12]. The bound with m = 2 was presented in [1]. We conjecture
that d E ≤ 2m+1 (b n3 c + 1) for all m ≥ 1 without the assumption.
A Type II code meeting this bound with equality is called extremal. Extremal codes have
the largest minimum Euclidean weight among all Type II codes of that length. All Type II
codes of lengths 8 and 16 are extremal.
The minimum Hamming weight of a Hamming code H2m is always 4 and for the first
few values of m, the minimum Lee weights were determined in [3]. By Proposition 4.5,
the minimum Euclidean weight of H2m is always 2m+1 .
5.
Double circulant codes
We begin by characterizing the generator matrices of double circulant codes. A pure double
circulant code of length 2n has a generator matrix of the form (I, R) where I is the identity
240
DOUGHERTY, GULLIVER AND HARADA
matrix of order n and R is an n × n circulant matrix

r0

 rn−1

 .

R =  ..

 .
 ..

r1
···
···
r0
···
···
..
.
..
.
..
.
..
.
..
.
..
.
r2
r1
· · · rn−1
rn−1


rn−2 

.. 

. .

.. 
. 

r0
A code with generator matrix of the form






I
α
β
··· β
γ
..
.
R0




,


(4)
γ
where R 0 is an (n − 1) × (n − 1) circulant matrix, is called a bordered double circulant code
of length 2n. These two families of codes are collectively called double circulant codes.
5.1.
Preliminaries
We first prove the non-existence of pure double circulant self-dual codes.
Theorem 5.1 There exists no pure double circulant self-dual code over Z2m for m ≥ 2.
Proof: Suppose that there exists a pure double circulant self-dual code C with generator
matrix of the form (I, R). Since C is self-dual, R R T = −I over Z2m , so then
X
X
ri2 = −1 and
ri r j = 0.
0≤i≤n−1
i6= j
Thus we have
2
(r0 + r1 + · · · + rn−1 )2 = r02 + r12 + · · · + rn−1
= −1.
Therefore, −1 must be a quadratic residue in Z2m . However, −1 is not a quadratic residue
2
in Z2m for m ≥ 2, which is a contradiction.
Remark Similarly, if −1 is not a quadratic residue in a finite ring then there is no pure
double circulant self-dual code over this ring.
241
SELF-DUAL CODES OVER FINITE RINGS
Remark Conditions for the existence of double circulant self-dual codes over a finite field
GF( p) were given in [16]. It is known that pure double circulant self-dual codes exist for
m = 1 (cf., e.g., [11]).
We now present two lemmas which are useful in checking the equivalences of bordered
double circulant self-dual codes. These lemmas can easily be proven.
Lemma 5.2 Let C, C 0 , C 00 and C 000 be codes with generator matrices of the form (I, A),
(I, A0 ), (I, A00 ) and (I, A000 ), respectively, where

α

γ

A = .
.
.
β
··· β
R





,



 −γ

A = .
 .
 .



A00 = 


−α
−β
··· β
R




,


−γ
···
γ
..
.
β
0
γ

−α
R
−β








and
α

 −γ

A000 =  .
 .
 .
γ
−β
· · · −β
R




,


−γ
and R is a square matrix. Then C, C 0 , C 00 and C 000 are equivalent.
Lemma 5.3 If the matrix (I, A) generates a self-dual code C, then the matrices (I, −A),
(I, A T ) and (I, −A T ) generate self-dual codes which are equivalent to C, where A T denotes
the transpose of the matrix A.
5.2.
An infinite family of double circulant Type II codes
We discuss lengths for which there exist Type II double circulant codes over Z2m . First, we
provide a result required for a subsequent construction, namely if p ≡ 7 (mod 8) then
1 + px 2 ≡ 0 (mod 2m ),
has solutions for all m > 0, and if p ≡ 3 (mod 8) then
5 + px 2 ≡ 0 (mod 2m ),
has solutions for all m > 0.
Although the following lemma can be obtained from Hensel’s Lemma, we give an elementary proof to emphasize the forms of solutions.
242
DOUGHERTY, GULLIVER AND HARADA
Lemma 5.4 Suppose that p and q are odd. If a is a solution to q + px 2 ≡ 0 (mod 2m ),
with m ≥ 3 then either a or a + 2m−1 is a solution to q + px 2 ≡ 0 (mod 2m+1 ).
Proof: Let a be a positive integer such that q + pa 2 ≡ 0 (mod 2m ), or q + pa 2 = r 2m for
some integer r . If r is even, say r = 2k, then
q + pa 2 = k2m+1 ≡ 0 (mod 2m+1 ),
If r is odd, say r = 2 j + 1, then
q + p(a + 2m−1 )2 = q + p(a 2 + a2m + 22m−2 )
= 2m (2 j + 1 + pa + p2m−2 )
≡ 0 (mod 2m+1 ),
2
since a is odd.
Proposition 5.5
If p ≡ 7 (mod 8), then there exists a solution for
1 + px 2 ≡ 0 (mod 2m ),
for all m > 0. If p ≡ 3 (mod 8), then there exists a solution for
5 + px 2 ≡ 0 (mod 2m ),
for all m > 0.
Proof: It is easily verified that x = 1 is a solution for m = 1, 2 and 3 in both cases. The
previous lemma shows that if there is a solution for m ≥ 3, there is one for m + 1. Hence
by induction there is a solution for all m > 0.
2
We now consider certain weighing matrices of order n and weight n − 1. A weighing
T
matrix Wn,k of order n and weight k is an n by n (0, 1, −1)-matrix such that Wn,k Wn,k
=kI,
T
where Wn,k is the transpose of Wn,k .
The following is a well-known method for constructing bordered circulant weighing
matrices. Suppose that n = p + 1 is a multiple of 4 where p is a prime. Let P 0 = ( pi j ) be
a p × p matrix where

0


pi j = 1


−1
if i = j,
if j − i is a nonzero square (mod p),
otherwise.
SELF-DUAL CODES OVER FINITE RINGS
243
The matrix P 0 is called a Jacobsthal matrix (cf. [11]). Now consider the bordered circulant
matrix

0

 −1

Pn =  .
 .
 .
1 ··· 1
P0




.


−1
Clearly Pn PnT = p I over the integers and Pn = −PnT , so that Pn is a weighing matrix of
order n = p + 1 and weight p.
(1) The case p ≡ 7 (mod 8): Consider a bordered double circulant code of length 2n over
Z2m with generator matrix of the form (I, x Pn ). We denote this code by D22nm (x). Since
all distinct rows of x Pn are orthogonal over Z, if 1 + px 2 ≡ 0 (mod 2m ) then D22nm (x)
is self-dual. Moreover, if 1 + px 2 ≡ 0 (mod 2m+1 ) then D22nm (x) is a Type II code. It
follows from Proposition 5.5 that if p ≡ 7 (mod 8) then there is an integer a satisfying
1 + pa 2 ≡ 0 (mod 2m+1 ) for m > 0. Thus the generator matrices (I, a Pn ) generate
Type II bordered double circulant codes for all m > 0.
(2) The case p ≡ 3 (mod 8): Consider the matrix G = (I, 2I + x Pn ). Since Pn = −PnT , it
must be that GG T = (5 + px 2 )I . By Proposition 5.5, G generates a Type II bordered
double circulant code D22nm (x).
Thus we have an infinite family of Type II bordered double circulant codes.
Theorem 5.6 Suppose that p is a prime number with p ≡ 3 (mod 4), and let n = p + 1.
Then there exists a Type II bordered double circulant code of length 2n over Z2m for all
m > 0.
Remark When m = 2, the above double circulant codes were given in [9].
Corollary 5.7 Suppose that there exists a weighing matrix W of order n ≡ 0 (mod 4) and
weight k ≡ 3 (mod 4).
(1) If k ≡ 7 (mod 8), then there exists an integer xm such that the matrix (I, xm W ) generates
a Type II code over Z2m for every m > 0.
(2) If k ≡ 3 (mod 8). If W = −W T , then there exists an integer x m such that the matrix
(I, 2I + xm W ) generates a Type II code over Z2m for every m > 0.
5.3.
Double circulant codes of length 8 over Z8
Here we classify Type II bordered double circulant codes of length 8 over Z8 . By exhaustive
search, we have found all distinct double circulant Type II codes of length 8. For these codes,
the first rows of R 0 and the values of α, β and γ of the generator matrices (4) are given
244
Table 1.
Table 2.
DOUGHERTY, GULLIVER AND HARADA
Double circulant Type II codes of length 8.
Code
First row of R 0
α
β
γ
Code
First row of R 0
α
β
γ
C8,1
761
2
3
3
C8,17
721
6
3
3
C8,2
761
2
5
5
C8,18
721
6
5
5
C8,3
761
6
3
5
C8,19
721
2
3
5
C8,4
761
6
5
3
C8,20
721
2
5
3
C8,5
671
2
3
3
C8,21
271
6
3
3
C8,6
671
2
5
5
C8,22
271
6
5
5
C8,7
671
6
3
5
C8,23
271
2
3
5
C8,8
671
6
5
3
C8,24
271
2
5
3
C8,9
653
2
3
3
C8,25
532
6
3
3
C8,10
653
2
5
5
C8,26
532
6
5
5
C8,11
653
6
3
5
C8,27
532
2
3
5
C8,12
653
6
5
3
C8,28
532
2
5
3
C8,13
563
2
3
3
C8,29
352
6
3
3
C8,14
563
2
5
5
C8,30
352
6
5
5
C8,15
563
6
3
5
C8,31
352
2
3
5
C8,16
563
6
5
3
C8,32
352
2
5
3
Weight distributions of length 8 double circulant codes.
Weight
WH
Frequency
Weight
WE
Frequency
0
1
0
1
4
14
16
240
5
336
32
1472
6
672
48
1568
7
1680
64
702
8
1393
80
112
128
1
in Table 1. These codes have identical Hamming weight distributions W H and identical
Euclidean weight distributions W E . W H and W E are listed in Table 2.
From Lemma 5.2, the four codes C8,4i+1 , C8,4i+2 , C8,4i+3 and C8,4i+4 are equivalent for
0 ≤ i ≤ 7. In addition, it follows from Lemma 5.3 that the four codes C8,1 , C8,5 , C8,18 and
C8,22 are equivalent, and the four codes C8,9 , C8,13 , C8,30 and C8,26 are equivalent. Thus
the equivalence of only two codes, C8,1 and C8,9 , needs to be checked further. Using the
following method, we have determined the inequivalence of these codes. Let di (ε) be the
number of pairs (x, y) of codewords x and y, of HammingP
weight i, such that the Euclidean
weight of a vector x − y is ε. Note that di (0) = Ai and ε di (ε) = Ai2 where Ai denotes
245
SELF-DUAL CODES OVER FINITE RINGS
Table 3.
Classification of double circulant codes of length 8.
Code
d5 (0)
d5 (16)
d5 (32)
d5 (48)
d5 (64)
d5 (80)
d5 (96)
d5 (112)
d5 (128)
C8,1
336
12032
58208
31168
11152
0
0
0
0
C8,9
336
11648
59360
30016
11536
0
0
0
0
the number of codewords of Hamming weight i. Since the Euclidean weights of codewords
x − y and y − x are the same, the numbers di (ε) are invariant under the equivalence of
codes over Z8 for each i and ε.
For codes C8,1 and C8,9 , we have obtained the numbers d5 (ε) for ε = 0, 16, . . . , 128,
and the results are given in Table 3. This table establishes that there exists exactly two
inequivalent double circulant self-dual codes of length 8 over Z8 .
5.4.
Double circulant codes of length 16 over Z8
By exhaustive search, we have found all distinct double circulant Type II codes of length
16 over Z8 . The only values of α for which there exist bordered double circulant Type II
codes are 0 and 4.
We first consider only double circulant codes with α = 0. Due to space limitations,
we list in Table 4 only those codes which must be checked further for equivalences. The
corresponding Euclidean weight distributions, W j , are given in Table 5. Note that the
borders for these codes are (α, β, γ ) = (0, 3, 3). The distinct codes can be determined
using Lemmas 5.2 and 5.3.
We now classify the double circulant codes with weight distributions Wi for 1 ≤ i ≤ 6.
Obviously, there exists a unique double circulant code, up to equivalence, for W3 and W6 .
Let R1 and R2 be circulant matrices with first rows (3731110) and (3171310), respectively.
Table 4.
Length 16 double circulant Type II codes with α = 0.
Code
First row of R 0
W
Code
First row of R 0
W
C16,1
3731110
W1
C16,11
7353510
W5
C16,2
3171310
W1
C16,12
5571330
W5
C16,3
7113310
W1
C16,13
5135730
W5
C16,4
7753110
W2
C16,14
5535330
W6
C16,5
7317510
W2
C16,15
3775110
W7
C16,6
5171730
W2
C16,16
7157310
W7
C16,7
7717110
W3
C16,17
3375510
W7
C16,8
3135310
W4
C16,18
3571710
W7
C16,9
3331510
W4
C16,19
3535710
W7
C16,10
5331130
W4
C16,20
5375130
W7
246
DOUGHERTY, GULLIVER AND HARADA
Table 5.
Weight
Weight distributions of length 16 double circulant codes with α = 0.
W1
Frequency
W2
Frequency
W3
Frequency
W4
Frequency
W5
Frequency
W6
Frequency
W7
Frequency
0
1
1
1
1
1
1
1
16
480
480
480
480
480
480
480
32
58976
59368
59368
58976
58976
58976
58976
48
732152
729072
728904
732320
732152
732320
732152
64
2866004
2876196
2877148
2865052
2866004
2865052
2866396
80
4972248
4954272
4952256
4974264
4972416
4974432
4970120
96
4641960
4659376
4660944
4640392
4641344
4639776
4646552
112
2480520
2472512
2473296
2479736
2481136
2480352
2475704
128
831326
831606
829254
833678
831606
833958
833566
144
168872
169600
171168
167304
168032
166464
168760
160
22936
23272
23048
23160
23328
23552
22824
176
1568
1232
1064
1736
1624
1792
1456
192
172
228
284
116
116
60
228
256
1
1
1
1
1
1
1
Since R1 and R2 are R 0 of the generator matrices of C16,1 and C16,2 , these codes are equivalent
if there exist permutation matrices P and Q such that R1 = PR2 Q. The following matrices

1000000




 0000010 




 0001000 




P =  0100000 


 0000001 




 0000100 


0010000
and
0010000



 0000010 




 0100000 




Q =  0000100  ,


 1000000 




 0001000 


0000001
satisfy the equality R1 = PR2 Q, and so establish the equivalence of C16,1 and C16,2 . In this
way, it can be determined that C16,i , C16,i+1 and C16,i+2 are equivalent when i = 1, 4, 8 and
11. Therefore, we obtain a complete classification of the Type II double circulant codes
with weight distributions Wi for 1 ≤ i ≤ 6.
We now investigate the six codes with weight distribution W7 . Since there exist permutation matrices P and Q such that R16 = PR17 Q, where R16 and R17 are R 0 of codes C16
and C17 , respectively, the two codes are equivalent. Similarly, C19 and C20 can be shown
to be equivalent. For codes C16,15 , C16,16 C16,18 and C16,19 , we have calculated d7 (ε). The
values of d7 (16) for these four codes are 2520, 2520, 2184 and 2184, respectively. Thus
there are at least two inequivalent codes. Since the two codes C16,i and C16,i+1 , for both
247
SELF-DUAL CODES OVER FINITE RINGS
i = 15 and 18, have identical values of d7 (ε), additional values were calculated for d j (ε)
for 4 ≤ j ≤ 9. However, these were also found to be identical. If two codes are equivalent
then there is an equivalent map from one to the other. We have tested several maps, but
have been unable to determine the equivalence or inequivalence of these codes.
Next we consider double circulant codes with (α, β, γ ) = (4, 3, 3). Twenty codes need
to be checked for equivalences, and these codes can be obtained from those in Table 4 by
0
.
replacing 0 in the first row of R 0 with 4. We denote the code obtained from C16,i by C16,i
The Euclidean weight distributions are listed in Table 6, and the codes corresponding to
these distributions are given in Table 7.
The above arguments for codes with α = 0 show that there exists a unique Type II double
circulant code with Wi (i = 8, 9, 12 and 13). Moreover, codes in the following groups are
0
0
0
0
0
0
0
0
0
0
, C16,5
, C16,6
), (C16,11
, C16,12
, C16,13
), (C16,16
, C16,17
) and (C16,19
, C16,20
).
equivalent: (C16,4
Table 6.
Weight
Weight distributions of length 16 double circulant codes with α = 4.
W8
Frequency
W9
Frequency
W10
Frequency
W11
Frequency
W12
Frequency
W13
Frequency
0
1
1
1
1
1
1
16
480
480
480
480
480
480
32
58752
59144
58752
58752
58752
58752
48
733888
730808
733552
733888
733888
733216
64
2860344
2870536
2862444
2860736
2860540
2864348
80
4982136
4963992
4976928
4980008
4980960
4972896
96
4632440
4650472
4638880
4637032
4635744
4642016
112
2484664
2476040
2480576
2479848
2479008
2482144
128
831830
831830
833286
834070
837990
828582
144
167752
169320
166912
167640
163776
170048
160
23048
22992
23776
22936
24224
23328
176
1768
1376
1488
1656
1824
1152
192
112
224
140
168
28
252
256
1
1
1
1
1
1
Table 7.
Length 16 double circulant codes with α = 4.
W
Codes
W8
0
0
0
C16,1
, C16,2
, C16,3
W9
0
0
0
C16,8
, C16,9
, C16,10
W10
0
0
0
0
0
0
C16,4
, C16,5
, C16,6
, C16,11
, C16,12
, C16,13
W11
0
0
0
0
0
0
C16,15
, C16,16
, C16,17
, C16,18
, C16,19
, C16,20
W12
0
C16,7
W13
0
C16,14
248
DOUGHERTY, GULLIVER AND HARADA
Table 8. di (ε) for length 16 double circulant codes with α = 4.
Code
d7 (0)
d7 (16)
d7 (32)
d7 (48)
d7 (64)
d7 (80)
d7 (96)
d7 (112)
d7 (128)
0
C16,4
1344
2800
65184
207648
646800
286720
488208
12208
95424
1344
2744
64960
208096
646912
286328
488320
12208
95424
1400
1568
58856
226072
639352
412776
474712
69552
75712
1400
1568
58856
226072
639352
412776
474712
69552
75712
1400
2016
61992
218848
643608
406616
483448
67704
74368
1400
2016
61992
218848
643608
406616
483448
67704
74368
0
C16,11
0
C16,15
0
C16,16
0
C16,18
0
C16,19
0
0
0
0
Further, Table 8 gives the values d7 (ε) (ε = 0, 16, . . . , 128) for C16,4
, C16,11
, C16,15
, C16,16
,
0
0
C16,18 and C16,19 . This table establishes that there exists at least 8 inequivalent Type II
bordered double circulant codes with α = 4.
5.5.
Extremal Type II codes of other lengths
The most remarkable length for extremal Type II codes is 24, because of the connection
with the Leech lattice (cf. Lemma 6.1).
Proposition 5.8 There is no extremal double circulant Type II code over Z8 of length 24.
Proof: The possible borders (α, β, γ ) of length 24 are only (±2, ±1, ±1) since the first
row of the generator matrix must be self-orthogonal. Thus the Euclidean weight of the first
row of the generator matrix (4) is only 16, so the code cannot be extremal.
2
It seems infeasible to construct all distinct Type II double circulant codes over Z8 of
larger lengths. For length 2n = 48, we have determined that D848 (3) contains vectors of
Euclidean weight 32 and so is not extremal.
5.6.
Examples of Type II codes over Z 16 and Z 32
Here we give examples of Type II double circulant codes over Z16 and Z32 . First, some
examples of Type II bordered double circulant codes over Z16 of length 8 are given in
Table 9. This table also contains the Euclidean weight distributions of the six codes, and
establishes that these codes are inequivalent.
We now present Type II codes over Z32 of the same length. For borders (α, β, γ ) =
(6, 3, 3), the eight codes with first row (18 7 1), (15 9 2), (31 25 2), (29 26 3), (11 10 5),
(27 21 10), (26 19 13), (23 18 17) are Type II codes. Moreover, we have verified that these
codes have different Euclidean weight distributions and so are inequivalent.
249
SELF-DUAL CODES OVER FINITE RINGS
Table 9.
Type II double circulant codes of length 8 over Z16 .
(α, β, γ )
(2, 3, 3)
(2, 3, 3)
(2, 3, 3)
(6, 3, 3)
(6, 3, 3)
(6, 3, 3)
First row
761
14 13 3
14 11 5
721
15 9 2
11 10 5
Frequency
Frequency
Frequency
Frequency
Frequency
Frequency
Weight
0
1
1
1
1
1
1
32
240
240
240
240
240
240
64
2160
2160
2160
2160
2160
2160
96
6272
6272
6272
6272
6272
6272
128
12560
12560
12560
12560
12560
12560
160
14024
14000
14096
13968
14016
13992
192
14464
14560
14176
14688
14496
14592
224
8188
8080
8560
7904
8144
8024
256
5130
5070
5070
5150
5150
5150
288
1776
2016
1536
2016
1776
1896
320
552
336
720
368
560
464
352
156
240
144
192
144
168
384
12
0
0
16
16
16
512
1
1
1
1
1
1
6.
Type II codes over Z2m of small lengths and related even unimodular lattices
In this section, we consider Type II codes over Z2m of small lengths.
In Section 4, we described the Hamming codes H2m as Type II codes of length 8. Theorem
5.6 describes the existence of Type II bordered double circulant codes of length 8. Thus we
obtain two infinite families of Type II codes of length 8. Applying Theorem 4.1 to the above
codes, we obtain an infinite number of alternative constructions of the unique 8-dimensional
even unimodular lattice, which is called the Gosset lattice E 8 .
Now consider Type II codes of length 16. H2m ⊕ H2m is a Type II code over Z2m of length
16. There exist Type II bordered double circulant codes D16
2m (x) over Z2m for any m. For
m
every code C over Z2 , there is an associated binary code C (1) = {c (mod 2) | c ∈ C}. It is
easy to see that the binary codes associated with H2m ⊕ H2m and D16
2m (x) are doubly-even
+
in [5], respectively. Thus H2m ⊕ H2m and
self-dual codes. Moreover, they are e82 and d16
D16
2m (x) are inequivalent for each m. The lattice 32m (H2m ⊕ H2m ) is the even unimodular
lattice E 8 ⊕ E 8 , which is one of the two even unimodular lattices of dimension 16.
For the Leech lattice, we have the following lemma.
Lemma 6.1 Suppose that there exists an extremal Type II code C of length 24 over Z2m .
Then the Leech lattice can be constructed from C by Theorem 4.1 for m ≥ 2.
Proof: The lattice constructed from C by Theorem 4.1 is an even unimodular lattice of
dimension 24 with minimum norm 4, which must be the Leech lattice.
2
250
DOUGHERTY, GULLIVER AND HARADA
For m = 2, several extremal Type II codes of length 24 were constructed in [2] and [4].
These codes gave simple alternative constructions of the Leech lattice.
The lifted Golay codes of length 24 over Z2m were constructed from the binary Golay
code by Hensel lifting (cf. [3]). The lifted Golay codes are Type II codes; however, we
have verified that the lifted Golay code over Z8 is not extremal by computer. In addition,
it is shown in Proposition 5.8 that there is no extremal Type II double circulant code over
Z8 of length 24. For m = 1 and 2, there are extremal Type II double circulant codes over
Z2m of length 24 and the Hensel lifted Golay code over Z4 is extremal. Thus it would be
worthwhile to construct extremal Type II codes over Z8 of length 24.
Acknowledgments
The authors would like to thank Eiichi Bannai, Akihiro Munemasa and Takashi Tasaka for
helpful comments. This work was supported in part by a grant from the Japan Society for
the Promotion of Science.
References
1. A. Bonnecaze, P. Solé, C. Bachoc, and B. Mourrain, “Type II codes over Z4 ,” IEEE Trans. Inform. Theory 43
(1997), 969–976.
2. A. Bonnecaze, P. Solé, and A.R. Calderbank, “Quaternary quadratic residue codes and unimodular lattices,”
IEEE Trans. Inform. Theory 41 (1995), 366–377.
3. A.R. Calderbank and N.J.A. Sloane, “Modular and p-adic cyclic codes,” Designs, Codes and Cryptogr. 6
(1995), 21–35.
4. A.R. Calderbank and N.J.A. Sloane, “Double circulant codes over Z4 and even unimodular lattices,” J. Alg.
Combin. 6 (1997), 119–131.
5. J.H. Conway, V. Pless, and N.J.A. Sloane, “The binary self-dual codes of length up to 32: A revised enumeration,” J. Combin. Theory Ser. A 60 (1992), 183–195.
6. J.H. Conway and N.J.A. Sloane, “Self-dual codes over the integers modulo 4,” J. Combin. Theory Ser. A 62
(1993), 30–45.
7. J.H. Conway and N.J.A. Sloane, Sphere Packing, Lattices and Groups, 2nd edition, Springer-Verlag, New
York, 1993.
8. A.R. Hammons, Jr., P.V. Kumar, A.R. Calderbank, N.J.A. Sloane, and P. Solé, “The Z4 -linearity of Kerdock,
Preparata, Goethals and related codes,” IEEE Trans. Inform. Theory 40 (1994), 301–319.
9. M. Harada, “New extremal Type II codes over Z4 ,” Designs, Codes and Cryptogr. 13 (1998), 271–284.
10. M. Klemm, “Selbstduale codes über dem Ring der ganzen Zahlen modulo 4,” Arch. Math. 53 (1989), 201–207.
11. F.J. MacWilliams and N.J.A. Sloane, The Theory of Error-Correcting Codes, North-Holland, Amsterdam
1977.
12. C.L. Mallows and N.J.A. Sloane, “An upper bound for self-dual codes,” Inform. Control 22 (1973), 188–200.
13. O.T.O. O’Meara, Introduction to Quadratic Forms, Springer-Verlag, New York, 1971.
14. V. Pless and Z. Qian, “Cyclic codes and quadratic residue codes over Z 4 ,” IEEE Trans. Inform. Theory 42
(1996), 1594–1600.
15. V. Pless, P. Solé, and Z. Qian, “Cyclic self-dual Z 4 -codes,” Finite Fields and Their Appl. 3 (1997), 48–69.
16. M. Ventou and C. Rigoni, “Self-dual doubly circulant codes,” Discrete Math. 56 (1985), 291–298.
17. J.A. Wood, “Duality for modules over finite rings and applications to coding theory,” submitted.
Download