Formally Self-Dual Codes Related to Type II Codes
Koichi Betsumiya
Graduate School of Mathematics
Nagoya University
Nagoya 464–8602, Japan
and
Masaaki Harada∗
Department of Mathematical Sciences
Yamagata University
Yamagata 990–8560, Japan
March 17, 2000
Abstract
It is known that shadows play an important role in the study of self-dual codes.
In this note, we give constructions of formally self-dual codes using self-dual codes
and their shadows. We introduce a class of binary formally self-dual codes related to
extremal Type II codes. A binary formally self-dual [24, 12, 7] code is obtained from
the extended Golay code. It is shown that there is a unique binary [24, 12, 7] code with
dual distance 7, up to equivalence.
Keywords: Formally self-dual codes, Type II codes and codes over Z2k .
1
Introduction
Shadows play an important role in the study of self-dual codes. Shadows of binary Type I
codes were introduced by Conway and Sloane [3]. They are used to determine upper bounds
on the minimum weights of binary Type I codes. Brualdi and Pless [2] gave constructions
∗
This work was partially supported by the Grant-in-Aid for Scientific Research (No. 10740044), the
Ministry of Education, Science, Sports and Culture, Japan, and the Sumitomo Foundation (No. 990645),
Japan.
1
of binary self-dual codes of lengths n + 2 and n + 4 from Type I codes of length n and their
shadows by investigating orthogonality relations between the four cosets of the doubly-even
subcode C0 of a given Type I code C into C0⊥ .
Recently Type II codes codes over the ring Z2k of integers modulo 2k have been introduced in [1] together with shadows for Type I codes over Z2k . Shadows of Type I codes over
Z2k are widely studied in [5]. For example, shadows are used in [5] in order to construct
larger self-dual codes as a generalization of the constructions in [2].
In this note, we study formally self-dual codes over Z2k constructed from Type I codes
with shadows. In Section 3, we give constructions of formally self-dual codes using self-dual
codes and their shadows. In Section 4, we introduce a class of binary formally self-dual
codes related to extremal Type II codes. In particular, we give the weight enumerator of
a formally self-dual code related to an extremal Type II [72, 36, 16] code. The existence of
an extremal Type II [72, 36, 16] code is a long-standing open problem. A binary formally
self-dual [24, 12, 7] code is obtained from the extended Golay code. In Section 5, it is shown
that there is a unique binary [24, 12, 7] code with dual distance 7, up to equivalence.
2
Self-Dual Codes and Shadows
We give definitions for self-dual codes over Z2k (see [1] for a complete description). The case
k = 1 is usual binary codes. A code C of length n over Z2k (or a Z2k -code of length n) is a
Z2k -submodule of Zn2k where Z2k is the ring of the integers modulo 2k. The Hamming weight
wtH (x) of a vector x in Zn2k is the number of non-zero components. The Euclidean weight
P
wtE (x) of a vector x = (x1 , x2 , . . . , xn ) is ni=1 min{x2i , (2k − xi )2 }. The symmetrized weight
enumerator of C is defined as
sweC (x0 , x1 , . . . , xk ) =
X
n (c) n (c)
x0 0 x1 1
n
(c) n (c)
k−1
· · · xk−1
xk k ,
c∈C
where n0 (c), n1 (c), . . . , nk−1 (c), nk (c) are the numbers of 0, ±1, . . . , ±(k − 1), k components
of c, respectively.
For x = (x1 , . . . , xn ) and y = (y1 , . . . , yn ), we define the inner-product of x and y in Zn2k
by x · y = x1 y1 + · · · + xn yn . The dual code C ⊥ of C is defined as C ⊥ = {x ∈ Zn2k | x · y =
0 for all y ∈ C}. C is self-dual if C = C ⊥ . Self-dual Z2k -codes with the property that
all Euclidean weights are divisible by 4k are called Type II [1]. A self-dual code which
is not Type II is called Type I. A code C is a formally self-dual code with respect to the
symmetrized weight enumerator if sweC (x1 , x2 , . . . , xk ) = sweC ⊥ (x1 , x2 , . . . , xk ). A self-dual
code is formally self-dual.
Let C be a Type I Z2k -code of length n. Let C0 be the subcode of codewords whose
Euclidean weights are a multiple of 4k. C0 is a subcode of index 2 in C. Let C2 be the
unique nontrivial coset of C0 into C. Then C0⊥ can be written as a union of cosets of C0 :
2
C0⊥ = C0 ∪ C2 ∪ C1 ∪ C3 . The shadow of C is defined to be S = C1 ∪ C3 (see [1], [5] for the
details). Throughout this note, Ci ’s (i = 0, 1, 2, 3) denote the cosets for C.
3
Construction of Formally Self-Dual Codes
In this section, we give constructions of formally self-dual codes over Z2k using self-dual
codes and their shadows.
Lemma 3.1 (Dougherty et al. [5]) Suppose that C is a Type I code over Z2k of length
n. If n ≡ 2 (mod 4) then Table 1 holds where the symbol ⊥ in position (i, j) means that
x · y = 0 and the symbol 6⊥ means that x · y = k for any vector x ∈ Ci and any vector y ∈ Cj .
Table 1: Orthogonality Relations
C0
C1
C2
C3
C0
⊥
⊥
⊥
⊥
C1
⊥
6⊥
6⊥
⊥
C2
⊥
6⊥
⊥
6⊥
C3
⊥
⊥
6⊥
6⊥
Proposition 3.2 Suppose that there are Type I Z2k -codes C and D of lengths n and m,
respectively where n ≡ m ≡ 2 (mod 4). If sweC1 (x1 , x2 , . . . , xk ) = sweC3 (x1 , x2 , . . . , xk )
and sweD1 (x1 , x2 , . . . , xk ) = sweD3 (x1 , x2 , . . . , xk ) then the code
E = (C0 , D0 ) ∪ (C1 , D1 ) ∪ (C3 , D2 ) ∪ (C2 , D3 ),
is a formally self-dual code with respect to the symmetrized weight enumerator, that is,
sweE (x1 , x2 , . . . , xk ) = sweE ⊥ (x1 , x2 , . . . , xk ).
Proof. It follows from Lemma 3.1 that the dual code of E is
(C0 , D0 ) ∪ (C2 , D1 ) ∪ (C1 , D2 ) ∪ (C3 , D3 ).
E has symmetrized weight enumerator
sweE (x0 , x1 , . . . , xk ) = sweC0 (x0 , x1 , . . . , xk ) × sweD0 (x0 , x1 , . . . , xk )
+sweC1 (x0 , x1 , . . . , xk ) × sweD1 (x0 , x1 , . . . , xk )
+sweC3 (x0 , x1 , . . . , xk ) × sweD2 (x0 , x1 , . . . , xk )
+sweC2 (x0 , x1 , . . . , xk ) × sweD3 (x0 , x1 , . . . , xk ).
3
From the assumption on the symmetrized weight enumerators, E is formally self-dual.
2
Remark. Since (x1 , y1 ) ∈ (C1 , D1 ) is not orthogonal to (x3 , y2 ) ∈ (C3 , D2 ), the code E is not
self-dual.
We consider some Type I codes over Z4 as an example of the above construction. Examples of binary codes are given in the next section. Let A1 be the self-dual Z4 -code
of length 1 with generator matrix (2). Let C and D be the direct sums of two and six
copies of A1 . It turns out that C0 = {(00), (22)}, C2 = (20) + C0 , C1 = (11) + C0
P
and C3 = (31) + C0 . Similarly, D0 = {2(a1 , a2 , a3 , a4 , a5 , a6 ) | ai ∈ {0, 1}, 6i=1 ai ≡ 0
(mod 2)}, D2 = (200000) + D0 , D1 = (111111) + D0 and D3 = (311111) + D0 . Hence
we have sweC1 (x0 , x1 , x2 ) = sweC3 (x0 , x1 , x2 ) and sweD1 (x0 , x1 , x2 ) = sweD3 (x0 , x1 , x2 ). By
the above proposition, a formally self-dual code of length 8 with respect to the symmetrized
weight enumerator is constructed. The formally self-dual code has the following symmetrized
weight enumerator
x82 + 64x81 + 12x0 x21 x52 + 64x0 x61 x2 + 16x20 x62 + 40x30 x21 x32 + 30x40 x42 + 12x50 x21 x2 + 16x60 x22 + x80 .
Let C and D be codes over Z2k such that the symmetrized weight enumerators of C and
D are the same. The two lattices from C and D by Construction A (see [1] for the details)
have the identical theta series. Thus the lattice from a formally self-dual code over Z2k with
respect to the symmetrized weight enumerator has the same theta series as the dual lattice.
The lattice constructed from the above formally self-dual code over Z4 has the following
theta series
1 + 24q 3/2 + 128q 2 + 128q 5/2 + 368q 7/2 + 1008q 4 + · · · ,
which is the same as the dual lattice.
4
Binary Formally Self-Dual Codes
In this section, we give constructions of binary formally self-dual codes. From now on, all
codes are binary. These give a class of such codes related to extremal Type II codes.
Proposition 4.1 Let C be a binary Type I code of length n with the shadow S = C1 ∪ C3
where C0 is the subcode of doubly-even vectors of C.
(1) Suppose that n ≡ 2
C0⊥ as follows:
(mod 4). Let C ∗ be the code of length n + 2 obtained by extending
(0, 0, C0 ), (1, 0, C2 ), (0, 1, C1 ), (1, 1, C3 ).
If WC1 (y) = WC3 (y) then C ∗ is a formally self-dual code with weight enumerator
WC0 (y) + y(WC1 (y) + WC2 (y)) + y 2 WC3 (y),
4
where WD (y) denotes the (Hamming) weight enumerator of D.
(2) Suppose that n ≡ 0 (mod 4). Let C 0 be the code of length n + 4 generated by
(1, 0, 1, 1, 0, . . . , 0) and the following extension of C0⊥ :
(0, 0, 0, 0, C0 ), (1, 1, 0, 0, C2 ), (1, 1, 1, 0, C1 ), (0, 0, 1, 0, C3 ).
Then C 0 is a formally self-dual code with weight enumerator
(1 + y 3 )WC0 (y) + (y 2 + y 3 )(WC1 (y) + WC2 (y)) + (y + y 2 )WC3 (y).
Proof. (1) is a special case of Proposition 3.2. The orthogonality relations between the cosets
C0 , C1 , C2 and C3 were determined in [2, Tables I and II] (see also Table 1). It follows from
the relation that D∗ is the dual code of C ∗ . Since WC1 (y) = WC3 (y), C ∗ is formally self-dual.
Similarly, the dual code of C 0 is the code generated by (1, 1, 0, 1, 0, . . . , 0) and the following extension of C0⊥ :
(0, 0, 0, 0, C0 ), (0, 0, 1, 1, C2 ), (0, 1, 1, 1, C1 ), (0, 1, 0, 0, C3 ).
2
Thus C 0 is formally self-dual.
By the above construction, we give a class of formally self-dual codes related to extremal
Type II codes.
Corollary 4.2 If there is an extremal Type II [8k, 4k, 4[k/3]+4] code then there is a formally
self-dual [8k, 4k, d ≥ 4[k/3] + 3] code.
Proof. Let B be an extremal Type II [8k, 4k, 4[k/3] + 4] code. Let C be a Type I child of B,
that is C is constructed from B by subtracting. Then C is a Type I [8k −2, 4k −1, 4[k/3]+2]
code and the shadow has minimum weight ≥ 4[k/3] + 3. It follows from [6, Theorem 3.5]
that WC1 (y) = WC3 (y). By Proposition 4.1, C ∗ is a formally self-dual code of length 8k.
The minimum weight of C ∗ is min{d(C2 ) + 1, d(C3 ) + 1} where d(D) denotes the minimum
weight of D. Since d(C2 ) = 4[k/3] + 2 and d(C3 ) ≥ 4[k/3] + 3, the minimum weight of C ∗
is greater than or equal to 4[k/3] + 3.
2
If the above Type II code has generator matrix of the form ( I4k | A ) then the above
formally self-dual code has the following generator matrix
11 0 · · · 0
01 0 · · · 0
00
..
.
I4k−2
00
5
A
.
Recently Rains [7] shows that the minimum weight of a self-dual code of length n is
bounded by
h i
4 n + 6,
h 24 i
d ≤
4 n + 4,
24
if n ≡ 22 (mod 24),
otherwise,
and that any self-dual [24l, 12l, 4l + 4] code is Type II. By Theorem 3.6 in [6], the child
D of an extremal Type II [24l, 12l, 4l + 4] code has the shadow of minimum weight 4l + 3
exactly. Thus the formally self-dual code has smaller minimum weight than an extremal
Type II code of the same length, but it has larger minimum weight than any Type I code
of the same length. These cases are investigated.
• l = 1: The weight enumerators of a Type I code and its shadow are given in [3] for
lengths up to 64 and length 72. Let C be the unique Type I [22, 11, 6] code, then
WC (y) = 1 + 77y 6 + 330y 8 + 616y 10 + · · · ,
WC1 (y) = 176y 7 + 672y 11 + · · · .
Then C ∗ is a formally self-dual [24, 12, 7] code with weight enumerator 1 + 77y 7 +
506y 8 + 176y 9 + · · ·.
• l = 2: Let C be a Type I [48, 24, 10] code, then
WC (y) = 1 + 1012y 10 + 9660y 12 + 56925y 14 + · · ·
WC1 (y) = 3312y 11 + 121440y 15 + · · · .
The extended quadratic residue code QR48 of length 48 is only one known extremal
Type II code of length 48. By the above corollary, a formally self-dual [48, 24, 11]
code C48 is constructed from QR48 . The weight enumerator of C48 is 1 + 1012y 11 +
12972y 12 +9660y 13 +· · ·. Note that only formally self-dual codes with minimum weight
≤ 10 which are not self-dual are previously known.
• l = 3: Let C be a Type I [70, 35, 14] code. The existence of such a code is not known.
The next case is length 72 and related to an extremal Type II [72, 36, 16] code. The
existence of an extremal Type II [72, 36, 16] code is a long-standing open problem. A
formally self-dual code F72 of length 72 is constructed from a Type I [70, 35, 14] code
C by Proposition 4.1. The weight distribution of F72 is listed in Table 2. Note that the
weight distributions of C and its shadow are given in [4]. Thus we have the following:
Corollary 4.3 If there is no linear [72, 36, 15] code with weight distribution given in
Table 2, then there is no extremal Type II [72, 36, 16] code.
6
Table 2: The weight distribution of F72
Weight
0
15
16
17
19
20
21
23
24
25
27
28
29
31
32
33
35
36
5
Frequency
1
11730
194327
43792
1345960
13077064
3683680
49991305
308641970
104329680
650311200
2687264800
1059766400
3221810284
9223731055
4157174560
6348487600
12878360560
Weight
37
39
40
41
43
44
45
47
48
49
51
52
53
55
56
57
71
Frequency
6529872960
5066556495
7378984844
4157174560
1627498400
1710077600
1059766400
204312290
154320985
104329680
9393384
5029640
3683680
150535
55522
43792
1
[24, 12, 7] Codes with Dual Distance 7
In the previous section, a formally self-dual [24, 12, 7] code is constructed from the extended
Golay code. In this section, it is shown that up to equivalence there is a unique [24, 12, 7]
code with dual distance 7, that is, the minimum weight of the dual code is 7.
We describe how [24, 12, 7] codes with dual distance 7 were classified. We say that a
(1, 0)-matrix M is bi-sorted if the rows and columns of M are sorted as binary integers.
Lemma 5.1 Any code is equivalent to a code with a generator matrix of the form ( I , A )
where A is bi-sorted.
Proof. It is sufficient to show that we obtain a bi-sorted matrix from a given matrix X, by
permuting the rows and columns.
First we fix some notations used in this proof. Let X be an m × n (1, 0)-matrix, xi and
i
x be the i-th row and column vector of X, respectively. Moreover let z = (z1 , z2 , . . . , zn )
be a (1, 0)-vector of length n. We may suppose without loss of generality that X =
(xp1 · · · xp1 +q1 xp2 · · · xp2 +q2 · · · xpt · · · xpt +qt ) such that xpk +i = xpk +i+1 for 0 ≤ i ≤ qk − 1,
1 ≤ k ≤ t, and xpk 6= xpk+1 for 1 ≤ k ≤ t − 1. Let wX (z)k denote the number of non-zero
7
components of (zpk , zpk +1 , . . . , zpk +qk ), and wX (z) denote (wX (z)1 , wX (z)2 , . . . , wX (z)t ). Let
Rk = {pk , pk + 1, . . . , pk + qk } and RX = {R1 , R2 , . . . , Rt }. Let X(k) be the k × n sub-matrix
obtained from the first k rows of X.
Suppose that X(k) is bi-sorted and wX(k) (x1 ) ≤ wX(k) (x2 ) ≤ · · · ≤ wX(k) (xn ) on the lexicographic order for a fixed k. By permuting columns fixing X(k) , X implies X 0 where the each
0
block of x0k+1 in RX(k) is (0, . . . , 0, 1, . . . , 1). Then it is easy to see that X(k+1)
is bi-sorted.
0
Finally, by permuting the rows {k + 2, k + 3, . . . , n} of X , we obtain a matrix satisfying the
assumption for k + 1 from X 0 . By induction, the result follows.
2
Every [24, 12] code is equivalent to a code with generator matrix of the form ( I , A )
where A is a 12 × 12 bi-sorted (1, 0)-matrix. Thus we only need to consider the set of
12 × 12 bi-sorted (1, 0)-matrices A, rather than the set of generator matrices. The set of
bi-sorted matrices A was constructed, row by row, using a back-tracking algorithm under
the condition that the first row is (000000111111) since the minimum weight is 7.
Then our computer search shows that there are distinct 602 [24, 12, 7] codes under the
condition the dual distance is 7. The C program, which generates the corresponding matrices, is available at http://www.math.nagoya-u.ac.jp/~koichi/data/. Note that the
codes have the same weight enumerator as the formally self-dual code of length 24 given in
the previous section. Finally, we verified that all the codes are equivalent by Magma.
Proposition 5.2 There is a unique [24, 12, 7] code C24 with dual distance 7, up to equivalence.
Remark. Since C24 is equivalent to the formally self-dual [24, 12, 7] code given in the previous
section, the automorphism group is the Mathieu group M22 .
Finally we remark that [24, 12, 7] codes are not unique without the assumption that the
dual distance is 7. Let B be a matrix obtained by changing a column of A to the all-zero
column vector where ( I , A ) is a generator matrix of the extended Golay code. Then
( I , B ) generates a [24, 12, 7] code with dual distance 1.
References
[1] E. Bannai, S.T. Dougherty, M. Harada and M. Oura, Type II codes, even unimodular
lattices, invariant rings, IEEE Trans. Inform. Theory 45 (1999) pp. 1194–1205.
[2] R.A. Brualdi and V.S. Pless, Weight enumerators of self-dual codes, IEEE Trans. Inform. Theory 37 (1991) pp. 1222–1225.
[3] J.H. Conway and N.J.A. Sloane, A new upper bound on the minimal distance of selfdual codes, IEEE Trans. Inform. Theory 36 (1990) pp. 1319–1333.
8
[4] S.T. Dougherty and M. Harada, New extremal self-dual codes of length 68, IEEE Trans.
Inform. Theory 45 (1999) pp. 2133–2136.
[5] S.T. Dougherty, M. Harada and P. Solé, Shadow lattices and shadow codes, Discrete
Math., (to appear).
[6] G.T. Kennedy and V.S. Pless, A coding theoretic approach to extending designs, Discrete Math. 142 (1995) pp. 155–168.
[7] E. Rains, Shadow bounds for self-dual codes, IEEE Trans. Inform. Theory 44 (1998)
pp. 134–139.
9
© Copyright 2026 Paperzz