Quasi Self-dual Codes over Non-Unital Rings of Order Six

There exist two semi-local rings of order 6 without identity for the multiplication. We classify up to coordinate permutation self-orthogonal codes of length n and size 6 n/ 2 over these rings (called here quasi self-dual codes or QSD) till the length n = 8 . To any such code is attached canonically a Z 6 -code, which, when self-dual, produces an unimodular lattice by Construction A.


Introduction
Codes over the ring of order six Z 6 have received some attention in the past due to their connection to euclidean lattices [10,11]. The main tool in this context is the Chinese Remainder Theorem (CRT) over the integers [7]. A classification technique for self-dual codes over this ring up to the permutation part of their monomial automorphism group was derived in [17], using the notion of double cosets in permutation groups. In a series of recent papers, the authors have studied self-orthogonal codes over non-unital rings of order 4 [1,2,3,4]. This is a major innovation in the domain of codes over rings, where only unital rings were used as alphabets till then [20,21].
In the present paper, we combine these two strands of thought in the following way. We study self-orthogonal codes over two non-unital rings of order 6, denoted here by H 32 and H 23 . Both rings are semilocal with two maximal ideals of size two and three. There is a non multiplicative analogue of the CRT that allows to attach to any code over such a ring the ordered pair of a binary code and a ternary code. If the code is quasi self-dual (QSD) that is self-orthogonal of length n and size 6 n/2 , it can be shown that one of the two codes is self-dual and the other is a rate one-half code. Forgetting their multiplicative structure, we can regard the codes over either of these two non-unital rings as additive codes over Z 6 , or, equivalently Z 6 -linear codes. This simple observation allows us to use the Magma package for codes over rings [15] to compute weight distributions, and complete weight enumerators. We use the same classification methodology as that in [17] for codes over Z 6 . We are able to classify QSD codes over these two rings up to length n = 8.
The material is layed out in the following way. The next section collects the notations and notions needed for the rest of the paper. Section 3 is an exposition of the classification technique that we used. Section 4 contains some numerical data pertaining to that classification in modest length.

Background material 2.1 Codes over fields
Let p be a prime. Denote by wt(x) the Hamming weight of x ∈ F n p . The dual of a linear code C over F p is denoted by C ⊥ and defined as where (x, y) = n i=1 x i y i , denotes the standard inner product. A code C is self-orthogonal if it is included in its dual, i.e. C ⊆ C ⊥ . A code is even if all its codewords have even weights. All binary self-orthogonal codes are even, but not all binary even codes are self-orthogonal. Two codes over F p are permutation equivalent if there is a permutation of coordinates that maps one to the other.

Rings
Let C p be the cyclic additive abelian group of order p and C p (0) be the ring with additive group C p and trivial multiplication. We know (see for example [8,Lemma 2]) that, up to isomorphism, there are exactly two rings of order p, namely Z p and C p (0) and, if p and q are distinct primes, there are exactly four rings of order pq. These are Z pq , C pq (0), H pq := Z p + C q (0), and H qp := C p (0) + Z q . The symbol + denotes the direct product of rings. Since the first two rings are well known, we consider in this paper the last two rings which are semi-local non-unital rings of order pq. In order to effectively construct codes, we restrict ourselves to the case p = 3 and q = 2. We denote these rings by We denote by c, d, e the remaining three elements, which we define as The multiplication tables for respectively H 32 and H 23 are as follows.
From these tables, we infer that these two rings are commutative, and without an identity element for the multiplication. They are semi-local with the two maximal ideals J a = {0, a}, and can be checked directly from the defining relations of c, d, e. This alphabet decomposition induces a code decomposition as follows. The code C over H z can be written as a direct sum (in the sense of modules) where C a is a binary code and C b is a ternary code. Denote by α a : H z → F 2 the map of reduction modulo J a , and denote by α b : H z → F 3 the map of reduction modulo J b , where J a , and J b are viewed as additive groups. Thus α a (a) = α b (b) = 0, and, by convention we choose α a (b) = α b (a) = 1. These maps are extended in the natural way into maps from H n z to F n 2 (resp. from H n z to F n 3 ). Thus, with these notations, we see that C a = α b (C) and C b = α a (C).
Remark 1 These maps are additive morphisms but not ring morphisms.
is a prime field and additive subgroups of F n 2 (resp. F n 3 ) coincide with vector spaces over F 2 (resp. F 3 ).

Weight Enumerators
A linear H z -code C of length n is an H z -submodule of H n z . It can be described as the H z -span of the rows of a generator matrix. Two H z -codes 4 are permutation equivalent if there is a permutation of coordinates that maps one to the other.
An additive code C of length n over Z 6 is an additive subgroup of Z n 6 . It is an Z 6 sub-module of Z n 6 . By the CRT over the integers we can attach two codes to C: a binary code C 2 , and a ternary code C 3 . We will write C = CRT (C 2 , C 3 ). Conversely, from every pair of a binary code B and a ternary code T of the same length a Z 6 -code C can be constructed by the formula C = CRT (B, T ). If C = aC a + bC b is an H z -code, we can identify it with an additive Z 6 -code given by C = CRT (C a , C b ). We use the Magma notation for the weight distribution of a senary code, where A i is the number of codewords of Hamming weight i. The first index i > 0 for which A i is nonzero is called the Hamming distance of the code. It is denoted by d H . We will also require the complete weight enumerator in six variables cwe C of a senary code C defined by where n i (c) denotes for i = 0, . . . , 5, the number of coordinates j for which c j = i. Thus, if n is the length of C, we have for all c ∈ C the relation 5 i=0 n i (c) = n.
We follow the notation of [14].
In view of the connection with lattices it makes sense to introduce Euclidean weight enumerator in one variable ewe C of a senary code C defined as where the Euclidean weight of x ∈ Z 6 is defined as w E (x) = 0, 1, 4, 9 if x = 0, ±1, ±2, ±3 respectively. This notation is extended to vectors in the obvious way. The following connection with the complete weight enumerator is immediate from the definitions. ewe C (y) = cwe(1, y, y 4 , y 9 , y 4 , y).
The first exponent i > 0 for which the coefficient of y i is nonzero is called the Euclidean distance of the code and is denoted by d E .
For the next theorem we require some familiarity with lattices in the sense of the geometry of numbers [6,10]. The following result is the so-called Construction A of lattices from codes over Z m when m = 6. For a proof see [6] for m = 2, and [13] for m = 4.
Theorem 1 If C is a Z 6 code of length n and size 6 n/2 , then the lattice A(C) given by has determinant 1 and norm min(6, d E /6). If, furthermore, the code C is self-dual, then A(C) is unimodular.
Remark 2 It is proved in [10,11] that C = CRT (B, T ) is self-dual iff both B and T are self-dual. Thus the Z 6 -codes produced in this paper, in view of Lemma 1, and Lemma 2 are not always self-dual.

Duality
Define an inner product on H n z as (x, y) = n i=1 x i y i . The dual C ⊥ of C is the module defined by C ⊥ = {y ∈ H n z | ∀x ∈ C, (x, y) = 0}. Thus the dual of a module is a module. A code is self-dual if it is equal to its dual.
A code C is said to be self-orthogonal if ∀x, y ∈ C, (x, y) = 0.
Remark 3 Let the alphabet be H 32 . The repetition code of length 2 is defined by R 2 := {00, aa, bb, cc, dd, ee}. We see that R 2 is self-orthogonal. Its dual contains also bc, cb, ed, de. (Note that the rows of c and b (resp. d and e) are the same).Thus R 2 is not self-dual. A code of length n is said to be quasi self-dual (QSD) if it is self-orthogonal and of size 2 n . Example: The code R 2 over either H 32 or H 23 is self-orthogonal of cardinality 6, hence it is QSD.

Classification
The following characterization result is easy but essential to understand the classification technique.
Lemma 1 Every QSD code C of length n over H 23 is of the form aC a ⊕ bC b where 1. C a is a self-dual binary code, 2. C b is an [n, n/2] ternary code.
In particular n must be even.

Proof.
The code C is self-orthogonal iff C a is a self-orthogonal binary code because of the following identity (ax + by, ax + by ) = a(x, x ), where x, x (resp. y, y ) are arbitrary binary (resp. ternary) vectors of length n. Since by the QSD hypothesis C = |C a ||C b | = 6 n/2 , we see that both C a and C b have dimension n/2. Lemma 2 Every QSD code C of length n over H 32 is of the form aC a ⊕ bC b where 1. C b is a self-dual ternary code, 2. C a is an [n, n/2] binary code.
In particular n must be doubly even.
Proof. The proof of the first statement is analogous to the proof of Lemma 1, and is not written. To prove the second statement we use the fact that ternary self-dual codes only exist in doubly even lengths [14].
To classify QSD codes, we thus have to find all codes that are permutation equivalent to aC a +bC b for a given pair (C a , C b ). This is a similar situation to the classification of self-dual codes over Z pq in [17], and we follow the method there. Here SDR stands for System of Distinct Representatives.
Theorem 2 Let (C a , C b ) be a pair of codes as defined in Lemma 1 or Lemma 2, with respective permutation groups A and B. Then, the set S Ca,C b := {aC a + bσ(C b ) | σ runs over an SDR of A\S n /B} forms a set of inequivalent codes. In particular |S Ca,C b | = |A\S n /B|. The next corollaries are immediate.
Corollary 1 Let L a be the set of all inequivalent self-dual binary codes of length n. Let L b be the set of all inequivalent [n, n/2] ternary codes. Then, the set of all QSD codes of length n over H 23 is, up to coordinate permutation, the disjoint union Corollary 2 Let L b be the set of all inequivalent self-dual ternary codes of length n. Let L a be the set of all inequivalent [n, n/2] binary codes. Then, the set of all QSD codes of length n over H 32 is, up to coordinate permutation, the disjoint union To apply Corollary 1 effectively to classify QSD H 23 -codes, we thus need to know two lists of codes, for a given length n.
To apply Corollary 2 effectively to classify QSD H 32 -codes, we thus need to know two lists of codes, for a given length n.
The first type of list can be found in [16]. The second type of list can be established by using the method in [5,9].
The classification algorithm for QSD H 23 -codes can be described as follows. Given an even length n ≥ 1, do the following steps.

Length 4 (13 codes)
The main properties are summarized in the following table.
This is consistent with [17, Table 2]. Construction A yields the lattice Z 4 .

Length 8 (11 615 codes)
The Hamming distance distribution is summarized in the following There are seventeen self-dual codes, eleven of Hamming weight 2 and Euclidean weight 6, and six of Hamming weight 3 and Euclidean weight 12. The six codes of Euclidean distance 12 yield the lattice E 8 by Theorem 1, the unique Type II lattice in dimension 8 [6].

Length 4 (fourteen codes)
The metric properties are summarized in the following table.

Length 6 (162 codes)
The metric properties are summarized in the following Like for codes over H 32 , there are 17 self-dual codes, 11 of Hamming weight 2 and Euclidean weight 6, and 6 of Hamming weight 3 and Euclidean weight 12. The 6 codes of Euclidean distance 12 yield the lattice E 8 by Theorem 1, the unique Type II lattice in dimension 8 [6].