Constructions of Self-dual Codes over Chain Rings Steven T. Dougherty Department of Mathematics University of Scranton Scranton, PA 18510, USA Email: [email protected] Jon-Lark Kim Department of Mathematics University of Louisville Louisville, KY 40292, USA Email: [email protected] Hongwei Liu Department of Mathematics Central China Normal University Wuhan, Hubei 430079, China Email: h w [email protected] June 22, 2011 Abstract We study self-dual codes over chain rings. We define Type II codes over chain rings satisfying certain algebraic conditions. We define shadow codes for these same rings and determine the weight enumerator of the shadow from the weight enumerator of the code. We describe a technique for constructing new self-dual codes from existing codes and we prove that for certain rings all self-dual codes can be constructed by this technique. We use torsion codes to describe the structure of self-dual codes and to set bounds on their minimum Hamming weight.

Key Words: Chain ring, self-dual code.

1

1

Introduction

Self-dual codes are an important class of codes from many perspectives. They have interesting connections to design theory, combinatorics, lattices theory, invariant theory, modular forms and number theory. See [1], [12] and [14] for descriptions of these connections. In particular, self-dual codes over rings have proven to be important especially in connection with lattices, modular forms and number theory. Because of these interesting connections, self-dual codes are one of the most interesting classes of codes. As with any class of codes, constructions for this class are vital to their study. Recently, Kim and Lee gave a method to construct self-dual codes over Galois rings in their paper [9], and used this construction to study MDS self-dual codes over small Galois rings. In this paper, we will study the structure of self-dual codes over rings and we will generalize Kim and Lee’s work to finite chain rings. We begin with some definitions. Throughout we let R be a finite commutative ring with identity. A subset C ⊆ Rn , which is an R-submodule of Rn , is called a linear code of length n over R. We assume throughout that all codes are linear unless otherwise specified. For a code C, we define the rank of C, denoted by rank(C), to be the minimum number of generators of C and the free rank of C, denoted by f ree rank(C), to be the maximum of the ranks of free R-submodules of C. Codes where the rank is equal to the free rank are called free codes. For any vector over R, we define the Hamming weight to be the number of non-zero coordinates. We denote by dH (C) the minimum Hamming weight of the code, which is the smallest of all the Hamming weights of all non-zero vectors in the code. We attach to the ambient space the following innerproduct: for v = (v1 , · · · , vn ) and w = (w1 , · · · , wn ) ∈ Rn . Let X [v, w] = vi w i . (1) The orthogonal of the code, denoted by C ⊥ , is defined by C ⊥ = {w ∈ Rn | [w, v] = 0 for all v ∈ C}.

(2)

It is evident that C ⊥ is linear. We know from [17] that |C||C ⊥ | = |R|n if R is a Frobenius ring. We know also that any chain ring is Frobenius and this is exactly the class of rings that we intend to study. We say that a code C is self-orthogonal if C ⊆ C ⊥ and self-dual if C = C ⊥.

2

Notations and Finite Chain Rings

Let a be an ideal of a finite ring, then the chain a ⊇ a2 ⊇ a3 ⊇ · · · stabilizes. The smallest t ≥ 1 such that at = at+1 = · · · is called the stability index of a. If a is nilpotent, then the 2

smallest t ≥ 1 such that at = {0} is called the nilpotency index of a and it is then the same as the stability index of a. A finite ring is called a chain ring if its ideals are linearly ordered by inclusion. This means that it has a unique maximal ideal, i.e., that it is a local ring. Let R be a finite chain ring, m the unique maximal ideal of R, and let γ be the generator of the unique maximal ideal m. Then m = hγi = Rγ, where Rγ = hγi = {βγ | β ∈ R}. We have R = hγ 0 i ⊇ hγ 1 i ⊇ · · · ⊇ hγ i i ⊇ · · · . (3) The chain in (3) can not be infinite, since R is finite. Therefore, there exist numbers i such that hγ i i = {0}. Let e be the minimal number such that hγ e i = {0}. We call e the nilpotency index of γ. Let |R| denote the cardinality of R and R× the set of all units in R. We know that R× is a multiplicative group under the multiplicative operation of R. Let F = R/m = R/hγi be the residue field with characteristic p, where p is a prime number. This implies that there exist integers q and r such that |F| = q = pr , and F× = F − {0}. This implies that |F× | = pr − 1. The following two lemmas can be found in [13]. Lemma 2.1. Assume the notations given above. For any 0 6= a ∈ R there is a unique integer i, 0 ≤ i < e such that a = µγ i , with µ a unit. The unit µ is unique modulo γ e−i only. Lemma 2.2. Assume the notations given above. Let R be a finite chain ring with maximal ideal m = hγi, where γ is a generator of m with nilpotency index e. Then |hγ j i| = |F|e−j for 0 ≤ j ≤ e − 1. By Lemma 2.2, we can compute the cardinality of R as follows: |R| = |F| · |hγi| = |F| · |F|e−1 = |F|e = per .

(4)

Let Zpn be the residue ring of integers modulo pn . A monic polynomial f ∈ Zpn [x] is called a basic irreducible polynomial if its image in Zp [x] is irreducible. Let GR(pn , r) = Zpn [x]/(f ), where f is a basic irreducible polynomial of degree r, be a Galois ring. Then we know from [11] (see pp. 307-308, 339-349) that every finite chain ring R is of the following form R = GR(pn , r)[x]/(g, pn−1 xt ),

(5)

where g ∈ GR(pn , r)[x] is an Eisenstein polynomial of degree k, i.e., g = xk − p(ak−1 xk−1 + · · · + a0 ), ai ∈ GR(pn , r), a0 ∈ GR(pn , r)× ,

(6)

where t = k when n = 1, and 1 ≤ t ≤ k when n ≥ 2. The integers p, n, r, k, t are called the invariants of the chain ring in (5), see [4]. 3

For a code C, we define the complete weight enumerator as follows: WC (Xa ) =

n XY

xci ,

(7)

c∈C i=1

where Xa = (xa )a∈R . A finite chain ring R is necessarily a Frobenius ring and hence it has a generating character χR (see [17]). Let TR be the |R| by |R| matrix indexed by the elements of R in the same order as the complete weight enumerator with (TR )a,b = χR (ab). It is shown in [17] that the MacWilliams relations are given by WC ⊥ (Xa ) =

3

1 WC (TR · Xa ). |C|

(8)

Self-dual Codes over Finite Chain Rings

Let R be a finite chain ring. We know from [13] that the generator matrix for a code C over R is permutation equivalent to a matrix of the following form:   Ik0 A0,1 A0,2 A0,3 · · · ··· A0,e    0 γIk1 γA1,2 γA1,3 · · ·  ··· γA1,e   2 2 2  0 0 γ Ik2 γ A2,3 · · · ··· γ A2,e    (9)  .. . .. .. ... ...  .  . 0 .   . .. .. .. .. .. ..  .  . . . . . .  .  e−1 e−1 0 0 0 ··· 0 γ Ike−1 γ Ae−1,e A code with generator matrix of this form is said to have type {k0 , k1 , . . . , ke−1 }. It is immediate that a code C with this generator matrix has Pe−1

|C| = |R/m| We define ke = n −

Pe−1 i=0

i=0 (e−i)ki

Pe−1

= |F|

i=0 (e−i)ki

.

(10)

ki . The following lemma is immediate.

Lemma 3.1. Let C be a code of type {k0 , k1 , . . . , ke−1 }. Then C ⊥ is a code of type {ke , ke−1 , ke−2 , . . . , k1 }. Theorem 3.2. If C is a self-dual code of type {k0 , k1 , . . . , ke−1 } then ki = ke−i for 0 ≤ i ≤ e. Proof. Since C = C ⊥ their types must be equal. Theorem 3.3. Let R be a finite chain ring, where m is the maximal ideal with nilpotency index e. If e is odd and C is a self-dual code over R then n is even. 4

Proof. If the type of the code is {k0 , k1 , . . . , ke−1 } then by the previous theorem we have ki = ke−i . Then the type of the code is {k0 , k1 , k2 , . . . , k e−1 , k e−1 , . . . , k1 } and ke = k0 . 2 2 This gives e−1 2 X 2ki = n, (11) i=0

which gives that n ≡ 0 (mod 2). Theorem 3.4. Let R be a finite chain ring, where m is the maximal ideal with nilpotency index e. If e is even and C is a self-dual code over R then k 2e ≡ n (mod 2). Proof. If the type of the code is {k0 , k1 , . . . , ke−1 } then the type of the code is {k0 , k1 , k2 , . . . , k 2e −1 , k 2e , k 2e −1 , . . . , k1 } and ke = k0 . Then we have e−1 2 X 2ki ) + k 2e = n (

i=0

and the result follows. Theorem 3.5. Let G be a generator matrix for a self-dual code of length n over R in the form given in (9). Then we have for all i X (12) γ 2i Ai,j ATi,j = −γ 2i Iki j

and for i < i0 we have e X

0

0

γ i+i Ai,j ATi0 ,j = −γ i+i Ai,i0 ,

(13)

j=i0 +1

where AT denotes the transpose of the matrix A. Proof. The result follows from the fact that the code is self-orthogonal which gives that GGT = 0.

4

Constructions of Self-dual Codes over Finite Chain Rings

In this section, we will focus on the existence of self-dual codes over finite chain rings. We study constructions of self-dual codes over finite chain rings and generalize the main results in [9] to a finite chain ring, since Galois rings are a subclass of chain rings. The following is a concrete example which is a finite chain ring but not a Galois ring.

5

Example 1. Let GR(32 , 2) = Z32 [x]/(f ) be a Galois ring, where f = x2 + 2x + 2 is a basic irreducible polynomial of degree 2 over Z32 . Let R = GR(32 , 2)[x]/(x2 − 3, 3x2 ).

(14)

We know from [11] that R is a chain ring, and it can be obtained that R is not a Galois ring.

4.1

Existence of Self-dual Codes over Finite Chain Rings

Let R be a finite chain ring with a ∈ R. If there exists a c ∈ R such that c2 = a, then a is called a square element in R. We will give a sufficient and necessary condition such that −1 is a square in R in this subsection. This will be used in the following construction of self-dual codes over R. Let ρ be the natural homomorphism from R to its residue field F. That is ρ : R → F, a 7→ a + hγi. It induces a surjective homomorphism ρ˜ : R× → F× .

(15)

In fact, suppose b ∈ F× , then there exist a ∈ R such that ρ(a) = b. If a 6∈ R× , then a ∈ hγi, and this implies that b = ρ(a) = hγi = 0 ∈ F× , which is a contradiction. This gives that ρ˜(R× ) = F× , and we get that |˜ ρ(R× )| = |F× |. Let p be a prime. A finite group G is called a p-group if its cardinality is a power of p. Lemma 4.1. Assume the notations given above. Then the following hold. (i) Ker(˜ ρ) is a p-group. (ii) There exists a cyclic subgroup H of R× with order pr − 1 such that R× is the product T of H and Ker(˜ ρ). Namely, R× = H · Ker(˜ ρ), H Ker(˜ ρ) = ∅ and H ∼ = F× . Proof. (i) Using Lemma 2.2 and Equation 4, we have |R× | = |R| − |hγi| = per − pr(e−1) = pr(e−1) (pr − 1).

(16)

Then by the surjective homomorphism in (15), we get that |Ker(˜ ρ)| = |R× |/|F× | = (pr(e−1) (pr − 1))/(pr − 1) = pr(e−1) .

(17)

Hence Ker(˜ ρ) is a p-group. (ii) Since gcd(pr(e−1) , pr − 1) = 1, this means that there exist unique integers s and t such that spr(e−1) + t(pr − 1) = 1. Let a ∈ R× , then a = asp

r(e−1) +t(pr −1)

r(e−1)

= asp

6

· at(p

r −1)

= bc,

(18)

where b = asp R× . We have

r(e−1)

and c = at(p

r −1)

. Let H = {asp

ρ˜(c) = ρ˜(at(p

r −1)

r(e−1)

) = (˜ ρ(a)t )p

a ∈ R× }, then H is a subgroup of r −1

= 1.

This means that c ∈ Ker(˜ ρ), and we get R× = H · Ker(˜ ρ). If a ∈ H spr(e−1) × and a ∈ Ker(˜ ρ). Let a = d for some d ∈ R , then we have ap

r −1

= (dsp

r(e−1)

)p

r −1

= (dp

r(e−1) (pr −1)

(19) T

Ker(˜ ρ), then a ∈ H

)s = 1s = 1.

(20)

r(e−1)

= 1, since a ∈ Ker(˜ ρ) and |Ker(˜ ρ)| = pr(e−1) . This gives that |a| On the other hand, ap is a divisor of gcd(pr(e−1) , pr − 1), which means that |a| = 1. It follows that a = 1. Hence R× is a product of H and Ker(˜ ρ). It is easy to see that H ∼ = F× , and this gives that H is a cyclic group. Lemma 4.2. Assume the notations given above. Suppose the characteristic p of the residue field F is an odd prime. Then -1 is a square in R if and only if pr ≡ 1 ( mod 4). Proof. We note that if −1 is a square in R, than −1 is a unit, this means that −1 ∈ R× . We first prove that −1 is a square in R if and only if −1 is a square in F × . Suppose −1 is a square in R, then there exists a ∈ R such that a2 = −1. This identity also holds in F× . This means that −1 is a square in F× . Now Let −1 be a square in F× . This implies that (−1)(a2 )−1 ∈ Ker(˜ ρ) for some a ∈ R× . We show in the following that there exists b ∈ Ker(˜ ρ) such that (−1)(a2 )−1 = b2 , and hence −1 = (ab)2 = d2 , where d = ab ∈ R. This implies that −1 is a square in R. This means that we need to prove that the following map is an automorphism: Ker(˜ ρ) → Ker(˜ ρ), x 7→ x2 . (21) Suppose x, y ∈ Ker(˜ ρ) such that x2 = y 2 , then (xy −1 )2 = 1. We have that Ker(˜ ρ) is a p-group by Lemma 4.1. Since p is an odd prime, we have that gcd(2, p) = 1. Therefore we obtain that xy −1 = 1, and hence x = y. This implies that the map in (21) is a bijection, and it is easy to check it is a homomorphism, and so an automorphism. pr −1 We know −1 is a square in F× if and only if (−1) 2 = 1 in F × . This implies that -1 is a square in R if and only if pr ≡ 1 (mod 4). Lemma 4.3. Assume the notations given above. Suppose the characteristic p of the residue field F is 2, and that R has characteristic 2n . Then −1 is a square in R if and only if n = 1. Proof. If n = 1 then −1 = 1 = 12 . Suppose n > 1, we prove that −1 is not a square in R by contradiction. Assume that there exists an element c ∈ R such that c2 = −1, then c2 + 1 = 0. By the residue homomorphism ρ : R → F, we have that 0 = ρ(c2 + 1) = ρ(c)2 + ρ(1) = (ρ(c) + ρ(1))2 = (ρ(c + 1))2 .

7

This gives that ρ(c + 1) = 0, and we obtain that c + 1 ∈ hγi. Since n > 1, we get that c + 1 6= 0. By Lemma 2.1, we get c + 1 = µγ i , where µ is a unit and 0 < i < e. Then 0 = c2 + 1 = (−1 + µγ i )2 + 1 = 2 − 2µγ i + µ2 γ 2i .

(22)

Note that 2 ∈ hγi and 2 is not zero in R since n > 1. By Lemma 2.1 we can suppose 2 = λγ j , where λ is a unit and 0 < j < e. Then the identity in (22) can be written as follows: 0 = λγ j − λµγ i+j + µ2 γ 2i . If j ≤ 2i then γ j (λ − λµγ i + µ2 γ 2i−j ) = 0. Since λ − λµγ i + µ2 γ 2i−j is a unit in R, this implies that γ j = 0. This is a contradiction since j < e. If j > 2i then γ 2i (µ2 + λγ j−2i − λµγ j−i ) = 0. This means that γ 2i = 0 since µ2 + λγ j−2i − λµγ j−i is a unit. But 2i < j < e, this is a contradiction. So −1 is not a square. Lemma 4.4. Let C be a self-orthogonal code over R of length n. Then C is self-dual if and n ern only if |C| = |R| 2 = p 2 . Proof. If C is self-dual, then C = C ⊥ , by the identity |C||C ⊥ | = |R|n and (4), we have |C|2 = |C||C ⊥ | = |R|n = (per )n = pern . This implies that |C| = p ern If |C| = p 2 , then

ern 2

. |C ⊥ | =

ern |R|n =p 2 . |C|

Since the code is self-orthogonal, we have C ⊆ C ⊥ , so C = C ⊥ , and C is self-dual. The following gives the existence of self-dual codes over a finite chain ring. Theorem 4.5. Assume the notations given above. Then (i) If there exists c ∈ R such that c2 = −1 in R, then there exist self-dual codes over R for all even lengths. (ii) If e is even, then there exist self-dual codes over R for all lengths. (iii) If e is odd and |F| has characteristic 1 (mod 4), then there exist self-dual codes of all lengths a multiple of 2. (iv) If e is odd and |F| has characteristic 3 (mod 4), then there exist self-dual codes of all lengths a multiple of 4. (v) If both e and r are odd and there exists c ∈ R with c2 = −1, then there exist self-dual codes of length n over R if and only if n is even. Proof. and (v).

The proof of (ii), (iii), (iv) can be found from [6]. We only need to prove (i)

8

(i) If there exists c ∈ R such that c2 = −1 in R, then (1, c) generates a self-dual code of length 2, since 1 + c2 = 0. Therefore, there exist self-dual codes over R for all even lengths by the direct sum construction. (v) If n is odd we prove that there does not exist self-dual codes of length n over R. We prove this statement by contradiction. Assume that there exists a self-dual code C of odd ern length n over R, then |C| = p 2 by Lemma 4.4. This implies that 2 er, since n is odd. The number 2 is a prime, this implies that 2 either divides e or divide r. This gives that either e or r is an even number, this is a contradiction, since e and r are both odd. If n is even, by (i), the inverse direction in (v) holds.

4.2

Constructions of Self-dual Codes over Finite Chain Rings

Let C be a code over R of length n, and suppose it has a generating matrix with k rows. Theorem 4.6. Let R be a finite chain ring, and assume that there exists c ∈ R such that c2 = −1. Let G = (gi ) be a generator matrix of a self-dual code C over R of even length n, where gi are the row vectors of the matrix G respectively for 1 ≤ i ≤ k. Let x = (x1 , · · · , xn ) be a vector in Rn such that [x, x] = −1 in R. Suppose yi = [x, gi ] for 1 ≤ i ≤ k. Then the following matrix   1 0 x1 · · · xi · · · xn    −y1 cy1  ˜= .  G .  .  . . . G   −yk cyk generates a self-dual code C˜ over R of length n + 2. Proof. For convenience, let  1 0 x1 · · ·   −y cy ˜ =  . 1 .1 G  . ..  . −yk cyk

xi · · · G

xn





    =    

g ˜0 g ˜1 .. . g ˜k+1

   .  

˜ is orthogonal to itself, It is easy to get that the first row vector of the generating matrix G since [˜ g0 , g ˜0 ] = [(1, 0, x1 , · · · , xn ), (1, 0, x1 , · · · , xn )] = 1 + [x, x] = 0. (23) ˜ is orthogonal to any other row of G, ˜ since Furthermore, the first row of G [˜ g0 , g ˜i ] = [(1, 0, x1 , · · · , xn ), (−yi , cyi , gi1 , · · · , gin )] = −yi + x1 gi1 + · · · + xn gin = −yi + [x, gi ] = −yi + yi = 0. 9

˜ are orthogonal for The last thing we need to do is to prove the ith and jth rows in G 2 ≤ i, j ≤ k. For 2 ≤ i, j ≤ k, we take the ith and jth rows. We have [˜ gi , g ˜j ] = [(−yi , cyi , gi1 , · · · , gin ), (−yj , cyj , gj1 , · · · , gjn )] = −yi yj + c2 yi yj + gi1 gj1 + · · · + gin gjn = −yi yj (1 + c2 ) + [gi , gj ]. Since C is self-dual code, we have that [gi , gj ] = 0. Then since c2 + 1 = 0, we have that any two distinct rows are orthogonal, so C˜ is self-orthogonal. ern ˜ For any By Lemma 4.4, we get that |C| = p 2 . Now we compute the cardinality of C. ˜ there exist a0 , a1 , · · · , ak ∈ R, such that codeword c˜ of C, ˜ c˜ = (a0 , a1 , · · · , ak )G. That is c˜ = a0 (1, 0, x1 , · · · , xn ) + a1 (−y1 , cy1 , g11 , · · · , g1n ) + · · · + ak (−yk , cyk , gk1 , · · · , gkn ) = (a0 − · · · − ak yk , a1 cy1 , · · · , ak cyk ) + a0 (0, 0, x) + a1 (0, 0, g1 ) + · · · + ak (0, 0, gk ). This gives that ˜ = |R| · |C| = per · p |C|

ern 2

=p

er(n+2) 2

.

By Lemma 4.4, C˜ is a self-dual code over R of length n + 2. Theorem 4.7. Let R be a finite chain ring. If there is a c ∈ R such that c2 +1 = 0, then any ˜ ≥ 2, even length n ≥ 4 and minimum Hamming self-dual code C˜ over R with free rank (C) weight d > 2, can be constructed from some self-dual code C over R of length n − 2 by the construction method in Theorem 4.6. Proof. Let C˜ be a self-dual code over R of length n. Since R is a chain ring, we have that it has a generating matrix of the form given in (9). We can suppose a generating matrix ˜ of C˜ has the following form: G   1 0 a1  0 1 a2      ˜ G= 0 0 a3  ,    ··· ··· ···  0

0

ak

where ai = (ai1 , ai2 , · · · , ai, n−2 ) are vectors of length n − 2. Notice that C˜ is self-dual. Therefore, for 1 ≤ i 6= j ≤ k, we have [ai , aj ] = 0 and [a1 , a1 ] = [a2 , a2 ] = −1.

10

Let c ∈ R such that c2 = −1. This implies that c is a unit in R. By using elementary ˜ 0: row operations, C˜ has the following generating matrix form G   1 −c a1 − ca2  0 −c −ca2     ˜0 =  G 0 a3  0 .    ··· ···  ··· 0 0 ak ˜ 0 , we obtain the following Deleting the first two columns and then deleting the second row of G matrix   a1 − ca2   a3   G= .   ··· ak Now we prove that any two rows of G are orthogonal to each other. In fact, we have [a1 − ca2 , a1 − ca2 ] = [a1 , a1 ] − c[a1 , a2 ] − c[a2 , a1 ] + c2 [a2 , a2 ] = −1 − c2 = 0,

(24)

and [a1 − ca2 , aj ] = [a1 , aj ] − c[a2 , aj ] = 0, [ai , aj ] = 0 for j ≥ 3. This implies that G is a generator matrix of some self-orthogonal code C of length n − 2. To prove C is a self-dual er(n−2) code, we need to show |C| = p 2 by Lemma 4.4. Let x = a1 , then [x, x] = [a1 , a1 ] = −1. We construct a code C 00 such that C 00 has the following generator matrix:   1 0 a1  1 −c a − ca  1 2    ˜ 00 =  G 0 a3  0 .    ··· ···  ··· 0

0

ak

˜ since G ˜ can be obtained by using elementary operation on G ˜ 00 . This It is equivalent to G, ern ˜ = p 2 . Then we means that C 00 is self-dual. Since C˜ is self-orthogonal this implies that |C| have that ˜ ˜ er(n−2) |C| |C| |C| = = er = p 2 . |R| p Finally, we have that C is self-dual by Lemma 4.4. Example 2. We construct a self-dual code over finite chain ring by using example 1. We know that GR(32 , 2) can be viewed as Z32 [ω] = {a + bω | a, b ∈ Z32 }, where ω 2 = 7ω + 7. Since gcd(x2 − 3, 3x2 ) = x2 − 3, we have that R = GR(32 , 2)[x]/(x2 − 3). Suppose θ2 = 3 for some θ ∈ R. Then R can be viewed as R = {a0 + a1 ω + a2 θ + a3 ωθ | ai ∈ Z32 }. 11

(25)

Since 32 ≡ 1 (mod 4), then there exists c ∈ R such that c2 = −1 by Lemma 4.2. We can take c = 1 + ω as c2 = −1. The generating matrix [1, c] is a self-dual code C2 of length 2 over R. If we choose x = (1, 5), then by the construction methods given in Theorem 4.6, we can get y1 = 5ω + 6, and cy1 = ω + 5. Then we obtain a generating matrix for a self-dual code C4 of length 4 as follows: ! 1 0 1 5 G4 = . 4ω + 3 ω + 5 1 1 + ω

5

Type II Codes and Shadows

Type II codes are an important class of self-dual codes because of their connection to unimodular lattices and designs. Originally they were defined over binary codes. Namely a Type II binary code is a self-dual code with the property that all vectors have Hamming weight congruent to 0 (mod 4). The notion of Type II was expanded to a variety of rings, see [15] and [12] for a complete description. Throughout this section we let R be a finite chain ring with nilpotency index e such that R/hγi = F2 . Every element of R can be written as a0 + a1 γ + a2 γ 2 + · · · + ae−1 γ e−1 ,

(26)

with ai ∈ F2 . Let S be the ring of elements S = {a0 + a1 γ + a2 γ 2 + · · · + ae−1 γ e−1 + ae γ e }

(27)

with ai ∈ F2 . The addition and the multiplication are the natural ones corresponding to R except that γ e is no longer 0. For example, if R = Z2r then S = Z2r+1 and if R = GR(2m , f ) then S = GR(2m+1 , f ), see [2] and [3]. Then in S, we have that γ e is not 0 but 2γ e = 0 and |S| = 2|R| with the property that S/hγ e i is R. For an element α of R define the Euclidean weight of α, Euc(α), to be α2 where the computation is done in S. For a vector v ∈ Rn P the Euclidean weight of v is Euc(v) = ni=1 Euc(vi ). The Euclidean weight of a vector is an element of S and if the vector v is self-orthogonal then Euc(v) ≡ 0 (mod γ e ). If C is a self-dual code over R such that every vector has Euclidean weight 0 in S then the code is said to be Type II, otherwise it is said to be Type I. A self-orthogonal vector with Euclidean weight γ e is said to be even. A vector whose Euclidean weight is 0 is called doubly-even. P We let v·w denote vi wi where the computation is done in S rather than R to distinguish it from the inner-product done over R. It is immediate that v · v = Euc(v). For rings R embedded in a ring S with |S| = 2|R| it is not always true that the sum of two orthogonal with inner-product 0 in S has inner-product 0 in S. For example, let R = Z3 and S = Z6 , and consider the self-orthogonal vector (112). The Euclidean weight of this vector is 0, but 12

the sum of the vector with itself is (221) which has Euclidean weight 3. In general what we need is the following: [((a + b)

(mod γ e ))2 ≡ (a + b)2 ]

(mod 2γ e ).

(28)

To determine when this occurs we set a = a0 γ e + a1 and b = b0 γ e + b1 . Then computing the left hand side we get ((a + b)

(mod γ e ))2 = (a1 + b1 )2 .

(29)

Computing the right hand side we get (a + b)2 = (a0 + b0 )2 (γ e )2 + (a0 + b0 )2γ e + (a1 + b1 )2 ≡ (a0 + b0 )2 (γ e )2 + (a1 + b1 )2

(mod 2γ e ).

Then we need (a1 + b1 )2 to be equal to (a0 + b0 )2 (γ e )2 + (a1 + b1 )2 . That is we need (γ e )2 ≡ 0

(mod 2γ e ).

(30)

A ring R embedded in a ring S that satisfies Equation 30 shall be called an even ring. We have designed S so that 2γ e = 0 in S. Hence we have the following lemma. Lemma 5.1. Assume the notations given above. Let v and w be doubly-even orthogonal vectors over an even ring R. Then v + w is doubly-even. Proof. We have Euc(v + w) =

(v + w) · (v + w)

= v · v + 2(v · w) + w · w = 0, since both v · v and w · w are 0 and v · w is 0 in R. This lemma implies that a generator matrix of a self-dual code produces a Type II code if all of the rows are doubly-even. Shadow codes were introduced in [5], however their first appearance without being explicitly named occured in Ward’s paper [16]. They were generalized in [2] and in a variety of papers, see [15] for a complete list. Let C be a Type I code over an even ring R embedded in a ring S as defined above. Let C0 be the subcode of C consisting of all of the doubly-even vectors in C. Then we have that [C : C0 ] = 2. Set C2 = C − C0 . It follows that [C0⊥ : C] = 2. Define the shadow of the code to be S = C0⊥ − C. Let χR denote the character of R and χS denote the generating character of S. We know S is a chain ring and so it is Frobenius and has a generating character, see [17]. 13

Lemma 5.2. Let R be an even ring with S as defined above. Let C be a Type I code over R. Then 1 WC0 (Xa ) = (WC (Xa ) + WC (Ya )), (31) 2 where Ya has the xai in Xa replaced by χS (a2i ). P Proof. If (a1 , a2 , . . . , an ) is doubly-even then a2i = 0 in S and hence χS (a21 )+χS (a22 )+ · · · + χS (a2n ) = χS (a21 + a22 + · · · + a2n ) = χS (0) = 1. If the vector is self-orthogonal but not doubly-even then χS (a21 ) + χS (a22 ) + . . . χS (a2n ) = χS (a21 + a22 + · · · + a2n ) = χS (γ e ) = −1. Hence the doubly-even vectors are counted in (WC (Xa ) + WC (Ya )) whereas the remaining vectors have related monomials with a positive coefficient in WC (Xa ) and the negative of this coefficient in WC (Ya ). Recall that (TR )a,b = χR (ab) and let TR · Xa describe the action of letting TR act on the variables of Xa . Then we have the following. Theorem 5.3. Let R be an even ring with S as defined above. Let C be a Type I code over R. Then 1 WS (Xa ) = WC (TR · Ya ). (32) |C| Proof. The usual argument gives WS (Xa ) = WC0⊥ (Xa ) − WC (Xa ) 1 = WC0 (TR · Xa ) − WC (Xa ) |C0 | 1 1 = (WC (TR · (Xa )) + WC (TR · (Ya ))) − WC (Xa ) |C0 | 2 1 = (WC (TR · (Xa )) + WC (TR · (Ya ))) − WC (Xa ) |C| 1 = WC (TR · (Ya )). |C|

6

Torsion Codes

We let R be a chain ring with maximal ideal m = Rγ and e its nilpotency index. The following definition was given in [6]. The codes are defined over the field R/Rγ. For 1 ≤ i < e define the torsion codes to be T ori (C) = {v | γ i v ∈ C},

(33)

Res(C) = T or0 (C) = {v | there exists u with v + γu ∈ C}.

(34)

and the residue code to be

14

Given the generator matrix found in Equation (9) the torsion code T ori (C) has a generator matrix of the form:   Ik0 A0,1 A0,2 A0,3 · · · · · · A0,e    0 Ik1 A1,2 A1,3 · · · · · · A1,e     0 0 Ik2 A2,3 · · · · · · A2,e    (35)  .. . .. .. ... ...  .  . 0 .   . .. .. .. .. .. ..  .  . . . . . .  .  0 0 0 ··· 0 Iki Ae−1,e It is immediate that T or0 (C) ⊆ T or1 (C) ⊆ T or2 (C) ⊆ · · · ⊆ T ore−1 (C). In [6] it is proven that if C is a code over R then min{dH (T ori (C))} ≥ dH (C) and if C is a code over Q R then |C| = e−1 i=0 |T ori (C)|. Lemma 6.1. Let C be a self-orthogonal code over a ring R with nilpotency index e. Then c is self-orthogonal. T ori (C), 0 ≤ i ≤ b e−1 2 Proof. Let v, w be vectors over R/m then [γ i v, γ j w] = 0

(mod m) =⇒ γ i+j [v, w] = 0

(mod m).

(36)

This gives that [v, w] = 0 (mod m) if i + j < e. Theorem 6.2. Let C be a self-dual code over a ring R with nilpotency index e, with e odd. Then T or e−1 (C) is a self-dual code over the ring R/m. 2

Proof.

By Lemma 6.1 we have that T or e−1 is self-orthogonal. In the proof of The2 P e−1 P e−1 2 2 orem 3.3 in Equation 11 we have that i=0 2ki = n which gives i=0 ki = n2 and so the dimension of T or e−1 (C) is n2 and the code is self-dual. 2

Theorem 6.3. Let C be a self-orthogonal code over a ring R with nilpotency index e, then T ori (C) ⊆ T or0 (C)⊥ . Proof. Let v ∈ T or0 (C) and w ∈ T ori (C). Then we have that [γ i w, v] = 0 which gives that γ i [w, v] = 0 and then that [w, v] = 0 for all v ∈ T or0 (C). Hence T ori (C) ⊆ T or0 (C)⊥ . Combining this result with previous results we get that for a self-orthogonal code over a ring R with nilpotency index e: T or0 (C) ⊆ T or1 (C) ⊆ T or2 (C) ⊆ · · · ⊆ T ore−1 (C) ⊆ T or0 (C)⊥ .

(37)

In this special case when e = 2 we obtain a construction for self-dual codes from the following theorem. 15

Theorem 6.4. Let C be a self-dual code over ring R with nilpotency index 2. Then T or0 (C) is a self-orthogonal code with T or1 (C) = T or0 (C)⊥ . Proof. We know that T or0 (C)⊥ is self-orthogonal and that T or1 (C) ⊆ T or0 (C)⊥ . If the code has type {k0 , k1 } with k2 = n − k0 − k1 , then we know that k2 = k0 which gives that 2k0 + k1 = n. The code T or0 (C) has dimension k0 and the code T or1 (C) has dimension k0 +k1 . The code T or0 (C)⊥ has dimension n−k0 which is k0 +k1 and we have the result. We now consider the minimum distance dH of a self-dual code over a chain ring R. The following lemma shows that dH of a self-dual code C over R is related to the minimum distance of a certain code over the finite field R/m. Theorem 6.5. ([13, Theorem 4.2]) Let C be a linear code over R with nilpotency index e. Then the minimum distance dH (C) = d(T ore−1 (C)). Since the minimum distance of a linear code of length n with dimension k over a finite field GF (q) is at most n − k + 1 (the Singleton bound). Corollary 6.6. Let C be a linear code of length n over R with nilpotency index e and type P {k0 , k1 , . . . , ke−1 }. Then the minimum distance dH (C) is at most n + 1 − e−1 i=0 ki . Theorem 6.7. Let C be a self-dual code of length n over R with odd nilpotency index e and type {k0 , k1 , . . . , ke−1 }. Then dH (C) ≤ bn/2c + 1. Proof. By Theorem 6.2, T or e−1 (C) is a self-dual code of length n over R/m. Further2 more, since T or e−1 (C) ⊂ T ore−1 (C) and by Theorem 6.5, we have dH (C) = d(T ore−1 (C)) ≤ 2 d(T or e−1 (C)) ≤ bn/2c + 1. 2

References [1] Assmus Jr., E.F., Key J.D., Designs and their Codes. Cambridge: Cambridge University Press, 1992. [2] Bannai E., Dougherty S.T., Harada M., Oura M., Type II Codes, Even Unimodular Lattices, and Invariant Rings, IEEE-IT, Vol. 45(4), 1194-1205, 1999. [3] Betsumia K. and Choie Y.J., Jacobi forms over totally real fields and Type II codes over Galois rings GR(2m , f ), European Journal of Combinatorics, Vol. 25, 475-486, 2004. [4] Clark W.E., Liang J.J., Enumeration of finite commutative chain rings, J. Algebra, Vol. 27, 445-453, 1973. [5] Conway J.H., Sloane N.J.A., A new upper bound on the minimal distance of self-dual codes, IEEE Trans. Inform. Theory, Vol. IT-36, 1319-1333, 1990. 16

[6] Dougherty S.T., Kim J.-L., Kulosman H., MDS codes over finite principal ideal rings, submitted. [7] Hammons A. R. , Jr., Kumar P. V., Calderbank A. R., Sloane N. J. A., Sol´e P., The Z4 linearity of Kerdock, Preparata, Goethals and related codes, IEEE-IT, Vol. 40, 301-319, 1994. [8] Hou X., Finite commutative chain rings, Finite Fields Appl., Vol. 7, 382-396, 2001. [9] Kim J.-L., Lee Y., Construction of MDS self-dual codes over Galois Rings, Designs, Codes, and Crypto., Vol. 45, 247-258, 2007. [10] MacWilliams F. J., Sloane N. J. A., The Theory of Error-Correcting Codes. NorthHolland, Amstterdam, 1977. [11] McDonald B. R., Finite Rings with Identity, Marcel Dekker, Inc., New York, 1974. [12] Nebe G., Rains E. M., Sloane N. J. A., Self-Dual Codes and Invariant Theory, Springer, Berlin, 2006. [13] Norton G. H., S˘al˘agean A., On the Hamming distance of linear codes over a finite chain ring, IEEE-IT, Vol. 46(3), 1060-1067, 2000. [14] Pless V.S., Huffman W.C., eds., Handbook of Coding Theory, Elsevier, Amsterdam, 1998. [15] Rains E. and Sloane N.J.A. Self-dual codes in Handbook of Coding Theory, Elsevier, Amsterdam, 1998. [16] Ward H.N., A restriction on the weight enumerator of a self-dual code, J. Combinatorial Theory Ser. A, Vol. 21(2), 253-255, 1976. [17] Wood J., Duality for modules over finite rings and applications to coding theory, Amer. J. Math., Vol. 121(3), 555-575, 1999.

17

Constructions of Self-dual Codes over Chain Rings

Jun 22, 2011 - i ,j = −γi+i Ai,i ,. (13) where AT denotes the transpose of the matrix A. Proof. The result follows from the fact that the code is self-orthogonal which ...

274KB Sizes 3 Downloads 221 Views

Recommend Documents

Counting Codes over Rings
Sep 3, 2012 - [x,y] = x1y1 + ททท + xnyn. For any code C over R, we define the orthogonal to be. C⊥ = {x ∈ Rn ∣. ∣[x,c]=0, ∀c ∈ C}. Throughout the paper we assume that the rings are all Frobenius, see [8] for a definition of this cla

Lifted Codes over Finite Chain Rings
Jun 22, 2011 - (ii) If i = 1 then R1 = F, and the result follows directly. Now suppose i > 1, let a = a0 + a1γ + ททท + ai−1γi−1 ∈ Ri. We define ρ to be a map from ...

Shadows of codes over rings of order 4
Steven T. Dougherty. Department of Mathematics. University of Scranton. Scranton, PA 18510. USA. Email: [email protected]. June 22, 2011. Abstract. We describe different ways of defining shadows for self-dual codes over rings of order 4. We

Generalized Shadows of Codes over Rings
Jun 22, 2011 - Let R be finite commutative ring. A code over R is a subset of Rn and a linear code is a submodule of this space. To the ambient space Rn ...

Maximum Distance Codes over Rings of Order 4
Maximum Distance Codes over Rings of. Order 4. Steven T. Dougherty. Department of Mathematics. University of Scranton. Scranton, PA 18510. USA. Email: ...

Independence of Vectors in Codes over Rings
Jun 22, 2011 - to that of codes over finite local Frobenius rings. Remark 1. The following is an example of a ring that is a local Frobenius ring but not a chain ring. We shall use this ring to exhibit several of the results of the paper. Example 1.

On Codes over Local Frobenius Rings: Generator ...
Jul 30, 2014 - of order 16 for illustration. ... It is well known, see [7], that the class of finite rings for which it makes ... codes is the class of finite Frobenius rings.

Cyclic Codes over Formal Power Series Rings
Jun 22, 2011 - Let i be an arbitrary positive integer. The rings Ri are defined as follows: Ri = {a0 + a1γ + ··· + ai−1γi−1 |ai ∈ F} where γi−1 = 0, but γi = 0 in Ri.

Type IV Self-Dual Codes over Rings
Jun 22, 2011 - If C is self-dual then C(1) is doubly-even and C(2) = C(1)⊥ [9]. Lemma 2.2 If C is a Type IV code over Z4 then the residue code C(1) contains ...

Symmetric Designs and Self-Dual Codes over Rings
Jun 22, 2011 - and the minimum Hamming weight of a code is the smallest of all non-zero weights in the code. The Hamming weight enumerator of a code C is defined by WC(x, y) = ∑ c∈C ywt(c) where wt(c) is the Hamming weight of the vector c. 2 Cons

Type II codes over finite rings
Jun 23, 2011 - II codes over Galois rings GR(2m,r) = Zpm [x]/(g(x)), where r is the degree of the basic irreducible polynomial g(x) in Zpm [x], see [3]. They also discussed interesting connections to unimodular lattices. In this paper, we shall first

Self-Dual Codes over Non-Commutative Frobenius Rings
25 Jun 2014 - For commutative rings, self-dual codes are constructed via the Chinese Remainder The- orem. Namely, any Frobenius ring is the product of local rings and any principal ideal ring is the product of chain rings. Then self-dual codes are co

Self-Dual Codes over Commutative Frobenius Rings
Jun 22, 2011 - Email: [email protected]. Hongwei Liu. Department of Mathematics. Huazhong Normal University. Wuhan, Hubei 430079, P. R. China.

Higher Weights for Codes over Rings
Jun 22, 2011 - number of basis elements for a code over this class of rings is just the rank of this code. 1.3 Higher Weights. Let R be a finite ...... (c1,ททท ,cg)∈C1ืทททืCg. ∏ a∈Rg j. Xna(c1,ททท ,cg) a. , where cl = (cl1

MDS Codes over Finite Principal Ideal Rings
A finite family (ai)n i=1 of ideals of R, such that the canonical homomorphism of R to. ∏n i=1. (R/ai) is an isomorphism is called a direct decomposition of R.

Codes over Rings and Hermitian Lattices
Apr 14, 2014 - where the Ai,j are matrices with elements in the ring. The code C is said to have type. (k0,k1,k2,...,ke−1). A code C with type (k0,k1,k2,...,ke−1) ...

Self-Dual Codes over Rings and the Chinese ...
where Ai,j are binary matrices for i > 1. Notice 2 is a unit in Z3 hence this code generates a ternary code of dimension k1 + k2 = n. 2 . We now consider self-dual ...

Codes over Rings, Complex Lattices and Hermitian ...
Email: [email protected]. June 22, 2011 ... Key Words: Self-dual codes, unimodular lattices, Hermitian modular forms. ∗This work was partially ...

Codes Over a Family of Local Frobenius Rings, Gray ...
Sep 10, 2016 - If a code C satisfies WC(x, y) = WC⊥ (x, y) then we say that the code is formally self-dual with respect to that weight enumerator. For binary codes, there is only the Hamming weight, so a binary formally self-dual code is formally s

Self-Dual Codes over a Family of Local Rings
Jul 22, 2016 - (v0,...,vn−1) → v0+v1x+···+vn−1xn−1. By using this operation, as in any commutative ring we can identify cyclic codes with ideals in Rq,∆[x]/〈xn−1〉. Notice that if gcd(q, n) = 1 then the factorization of xn − 1 is

Constructions of Self-Dual Codes and Formally Self ...
Abstract. We shall describe several families of X-rings and construct self-dual and formally self-dual codes over these rings. We then use a Gray map to construct binary formally self-dual codes from these codes. In several cases, we produce binary f

Cyclic Codes over Local Frobenius Rings of Order 16
Then there exist non-negative integers s0 = 0,s1,s2 ...,st+1 with s0 + s1 + ··· + st+1 = r and a permutation. {f1,f2,...,fr} of ...... E-mail address: [email protected].

Type II Self-Dual Codes over Finite Rings and Even ...
Jun 22, 2011 - 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

Optimal Linear Codes over Zm
Jun 22, 2011 - where Ai,j are matrices in Zpe−i+1 . Note that this has appeared in incorrect forms often in the literature. Here the rank is simply the number of ...