Codes over the p-adic integers Steven T. Dougherty Department of Mathematics University of Scranton Scranton, PA 18510, USA Email: [email protected] and Young Ho Park Department of Mathematics University of Scranton Scranton, PA 18510, USA Email: [email protected] June 22, 2011 Abstract We study codes over the p-adic integers and correct errors in the existing literature. We show that MDS codes exist over the p-adics for all lengths, ranks and p. We show that self-dual codes exist over the 2-adics if and only if the length is a multiple of 8 and that self-dual codes exist over the p-adics with p odd if and only if the length is 0 (mod 4) for p ≡ 3 (mod 4) and 0 (mod 2) for p ≡ 1 (mod 4).

1

1

Introduction

Codes over rings have received a good deal of attention since the landmark paper [6]. Generally, the rings have been finite and have been either Zk or algebraic extensions of these rings. Interesting results have been obtained studying the relationship of these codes to codes over fields and to lattices. In [1], prompted by [9], codes over the p-adics were introduced and numerous interesting examples of codes were given. Specifically, they studied modular and cyclic codes over these rings. In this work we shall consider other codes over these infinite rings and study their relation to codes over the finite rings Zpe . Additionally, we shall correct some errors that exist in [1]. A different approach could be taken with respect to the results in the paper. Specifically, we would view the p-adic integers as the valuation ring of a field and consider the quadratic form x1 y1 + x2 y2 + . . . nn yn over the p-adics. Certainly more general versions of some of the theorems could be obtained using this technique. We follow the approach in the paper to be in line with the general techniques of coding theory and to produce proofs using only elementary techniques whenever possible. We begin with some necessary definitions. Each element in the finite ring Zpe can be written as the finite sum e−1 X

ai pi = a0 + a1 p + a2 p2 + a3 p3 + · · · + ae−1 pe−1

(1)

i=0

where 0 ≤ ai < p. Similarly a p-adic integer in the infinite ring Zp∞ can be written as the infinite sum ∞ X ai pi = a0 + a1 p + a2 p2 + a3 p3 + . . . (2) i=0

where 0 ≤ ai < p. The ring Zp∞ is an integral domain and the units in the ring are those elements with a0 6= 0. The ring is contained in the field of p-adic numbers which are contained in the field of complex numbers. We shall use the notation Zpe to mean either the finite ring or the infinite ring of padic integers. A code of length n over Zpe is a subset of Znpe and a code is linear if it is a submodule of the ambient space. It is assumed throughout that all codes are linear unless otherwise stated. The Hamming weight of a vector is the number of non-zero coordinates in that vector and the minimum weight of a code is the smallest weight of all non-zero vectors in the code. We attach the usual inner product to the space Znpe , specifically X [v, w] = vi wi . (3) The dual code C ⊥ = {v | [v, w] = 0 for all w ∈ C}. The dual code C ⊥ is always linear, and if C is linear and e is finite, then (C ⊥ )⊥ = C. The latter is not necessarily true when e is infinite as is shown later. 2

Define the following map Ψpe : Zp∞ → Zpe by ∞ e−1 X X Ψpe ( ai p i ) = ai p i . i=0

(4)

i=0

This function is the analog of the modulo map for the regular integers. Note that an element in Zpe is mapped to by infinitely many elements via this map. P P∞ i i Lemma 1.1. If a = ∞ i=0 ai p and b = i=0 bi p then Ψpe (a + b) = Ψpe (a) + Ψpe (b) and Ψpe (ab) = Ψpe (a)Ψpe (b) Proof. The proof follows from a straightforward computation. Since Zp∞ is not a field, some of the structural results which follow are similar to those for codes over finite rings. However, it is an integral domain so some of these results are quite different from codes over finite rings and resemble codes over finite fields. The following result and definition are given in [1]. Let {m0 , m1 , m2 , . . . , mr } be a set of integers arranged so that mi < mj for i < j. Any code over Zp∞ has a generator matrix of the form:  m0  p Ik0 pm0 A0,1 pm0 A0,2 pm0 A0,3 · · · ··· pm0 A0,r+1  0 pm1 Ik1 pm1 A1,2 pm1 A1,3 · · · ··· pm1 A1,r+1    (5)  , .. .. .. .. .. .. ..   . . . . . . . 0

0

0

···

0

pmr Ikr pmr Ar,r+1

where Iki is the identity matrix of size ki . A code of this form is said to be of type {(pm0 )k0 , (pm1 )k1 , (pm2 )k2 , . . . , (pmr )kr }.

(6)

If r = 0 then we drop the set notation. In [1], they state that if m0 = 0 then C = (C ⊥ )⊥ and that the type of C ⊥ is {1kr+1 , (pm1 )kr , . . . , (pmr−1 )k1 }. These statement are not correct. We shall correct them in the following propositions. Proposition 1.2. If C is a linear code then C ⊥ has type 1k for some k. Proof. If pm v ∈ C ⊥ then [pm v, w] = 0 for all w ∈ C. If pm [v, w] = 0 then [v, w] = 0 since the ring Zp∞ is an integral domain. This gives that if pm v ∈ C ⊥ then v ∈ C ⊥ . Proposition 1.3. The linear code satisfies C = (C ⊥ )⊥ if and only if C has type 1k for some k. 3

Proof. If C is a linear code then C ⊥ is linear and has type 1n−k and then (C ⊥ )⊥ has type 1k . The example of codes given in [1] were all of the type 1k and hence these errors did not cause errors in further results. Any code over Zpe with e finite is permutation-equivalent to a code with generator matrix of the form   Ik0 A0,1 A0,2 A0,3 · · · ··· A0,e  0 pI  pA1,3 · · · ··· pA1,e   k1 pA1,2   . 2 2 2  ..  0 p I p A · · · · · · p A k2 2,3 2,e   (7)  .. , .. .. .. ..  .  . . . 0 .   .. .. ..   .. .. .. .. . . .  .  . . . e−1 e−1 0 0 0 ··· 0 p Ike−1 p Ae−1,e where the columns are grouped into blocks of sizes k0 , k1 , . . . , ke−1 , where each ki is a nonnegative integer. A code of this form is said to be of type {1k0 , pk1 , (p2 )k2 , . . . , (p(e−1) )ke−1 } and it has Qe pe k j P Q ki . A code with type 1k = ej=0 (pe−j )kj codewords. The rank of the code is j=0 ( pj ) for some k is said to be a free code. Often in coding theory a code is defined by its parity check matrix, namely for a given matrix H, we define a code C by C = {v | Hv T = 0}. Specifically, C contains precisely those vectors that have inner product 0 with every row of H. In this case, we see that C is defined as the orthogonal to the code generated by H and then has type 1k for some k. In this respect these codes are unlike codes over finite fields in that the form of H did not effect the type of the code C. Given a generator matrix M = (Mij ) for a code C over the p-adic integers we form a generator matrix Ψpe (M ) = (Ψ(Mij )) for a code over Zpe . Proposition 1.4. Let C be a code over the p-adic integers Zp∞ of type {pm0 k0 , pm1 k1 , pm2 k2 , . . . , pmr−1 kr−1 } with generator matrix M . Then the code generated by Ψpe (M ) is a code over Zpe of type {pm0 k0 , pm1 k1 , pm2 k2 , . . . , pms−1 ks−1 } where s is the largest mi that is less than e. Moreover, the code generated by Ψpe (M ) is equal to {(Ψpe (c1 ), Ψpe (c2 ), . . . , Ψpe (cn )) | (c1 , c2 , . . . , cn ) ∈ C}.

(8)

Proof. If mi > e − 1 then Ψpe sends pmi M 0 , where M 0 is a matrix, to 0 which gives the first statement. If v = αi vi where vi are the rows of M then Ψpe (v) = Ψpe (αi )Ψpe (vi ) by Lemma 1.1 where Ψpe (vi ) applies the map coordinatewise. This gives the second statement. 4

We shall denote by Ψpe (C) the code generated by Ψpe (M ). Note that this map may send a non-zero coordinate to 0. This means that the Hamming weight of a code may decrease by applying Ψe , i.e. the minimum weight of Ψe (C) may be less than the minimum weight of C. It is obvious that the minimum weight cannot increase with the application of this map.

2

MDS codes

In [1], the Singleton bound is generalized to codes over Zp∞ by showing that for a code of length n, rank k and minimum weight d we have d ≤ n − k + 1.

(9)

In [1], they define a Maximum Distance Separable (MDS) code over Zp∞ to be a code meeting the bound in (9) or, equivalently, a code where every k columns of the generator matrix are linearly independent. This definition is often given in the literature of MDS codes over finite fields as every n − k columns of the parity check matrix are linearly independent. We shall change this definition slightly. If the code has the property that every k columns of the generator matrix are linearly independent then we shall say that the code is Maximum Distance Separable with respect to Rank (MDR) and reserve the name MDS for codes that are MDR and of type 1k , see [4] for similar definition for codes over finite rings. The reason is that codes meeting this bound are not necessarily as large as they could be with a given minimum weight. By this we mean that there are vectors that can be added to the code and still maintain the minimum weight. Hence the codes are not necessarily maximal. This definition matches the definition for codes over finite rings. This means that if a code of rank k over a ring satisfies d = n − k + 1 then the code is said to be MDR. If the ring has cardinality r, then a code with d = n − logr (C) + 1 is said to be MDS. The next proposition illustrates the point. Proposition 2.1. Any ideal in Zp∞ is an MDR code of length 1. Proof. The minimum weight of an ideal is 1 and the rank is 1, and thus 1 = 1 − 1 + 1 and hence the code is MDR. Notice that even though the code is MDR, it is contained in the ring Zp∞ which itself is MDR (in fact it is MDS). So in this sense it is not maximal. As usual the ambient space is an MDS code, since the minimum weight is 1 and the rank is equal to the length. If C is an ideal in Zp∞ then C ⊥ = {0}, since Zp∞ is an integral domain. So unlike for finite rings the orthogonal of a rank 1 code of length 1 cannot have non-trivial rank. Proposition 2.2. Let α be an element in Zp∞ . The code generated by (α, α, . . . , α) is an MDR code and is MDS if and only if α is a unit in the ring Zp∞ .

5

Proof. The minimum distance is n which is the length and the rank is 1 and hence meets the bound in (9). If the ideal generated by α is the ring then the generator can be written as (1, 1, 1, . . . , 1). The MDS codes given in [1] are all of the type 1k so that they satisfy the modified definition. Theorem 2.3. If C is an MDR or MDS code then C ⊥ is an MDS code. Proof. Assume C of length n, rank k, with d = n − k + 1. We know from Proposition 1.2 that if C is of rank k then C ⊥ is of type 1n−k . Hence the standard proof applies since Zp∞ is an integral domain. That is any n − k columns of the generator matrix of C ⊥ are linearly independent giving that the minimum weight is n − (n − k) + 1 = k + 1 as desired. Notice that for codes over finite rings we can only prove that the orthogonal is MDR. In the case for the p-adics we have that the orthogonal is actually MDS. Notice that we are using the fact that the ring sits inside a field when we assert that the rank must be n − k. Corollary 2.4. If C is an MDR code then (C ⊥ )⊥ is an MDS code. Proof. Follows from the above noticing that the type of (C ⊥ )⊥ is 1k . The following example shows the existence of MDR and MDS codes for any n similar to those for codes over fields. The code generated by   α −α 0 . . . 0  0 α −α . . . 0    (10)  .. .. .. .. ..  ,  . . . .  . 0

0

0

α

−α

has length n, rank n − 1 and minimum weight 2 for any α and hence is MDR. If α is a unit then it is MDS. The orthogonal to this code is generated by the all 1 vector and is MDS. Definition 1. Let e1 ≥ e2 ≥ 1 be integers. A code C1 over Zpe1 is a lift of a code C2 over Zpe2 if 1. the rank of C1 is equal to the rank of C2 , 2. C1 has a generator matrix G1 such that Ψpe2 (G1 ) is a generator matrix of C2 . In [1], they show that the lifted length 7 Hamming code with a parity check is an [8, 4, 5] code and thus MDS. So there can exist MDS codes over the 2-adics for parameters where they do not exist for the binary field. We notice that if C is an MDS code over Zpe then any lift of this code over Zpk with k > e (including k = ∞) is also an MDS code. If C is an MDR code then Ψe (C) is not necessarily an MDR code since some of the coordinates may be sent to 0. However if the code C is MDS over Zpe then Ψk (C) with k < e is an MDS code. But it is not true for MDS 6

codes over Zp∞ . For example, the Hamming [8, 4, 5] code over the 2-adics is MDS but its projections to Z2k are not since they all have minimum weight 4. We shall see that MDS codes are abundant for the p-adics which of course does not mean they are abundant over finite rings. For example, there are no non-trivial MDS binary codes, yet there are MDS 2-adic codes for all lengths and ranks. Lemma 2.5. For any n and k there exists an (n − k) by n matrix over Zp∞ such that all (n − k) by (n − k) submatrices have non-zero determinants. Proof. Take the standard Vandermonde matrix  1 1 1 ...  1 2 3 ...   2 2 1 2 3 ...   . . . .. .. .. ..  . n−k−1 n−k−1 n−k−1 1 2 3 ...

1 n n2 .. .

    .  

(11)

nn−k−1

Since the p-adics sit inside a field we know that the determinant of any (n − k) by (n − k) submatrix is not 0. For finite fields this matrix must have n less than the size of the field. But in the p-adic case the ring is infinite and so n is unbounded. Theorem 2.6. MDS codes exist over the p-adics for all n and k with k ≤ n. Proof. Take the matrix in (11) as the parity-check matrix for C. Then C has length n and rank k and the minimum weight must be at least n − k + 1 which is optimal by (9). Moreover the code C has type 1k since it is described as the orthogonal to the code generated by H. Of course, there are MDS codes other than those formed in the previous theorem. Most of these codes however are lifts of codes that are not MDS over finite rings.

3

Self-dual codes

Self-dual codes have been widely studied over finite rings, see [8] and the references therein for a complete description. In this section we shall examine which parameters allow for self-dual codes. A code over Zpe is said to be self-dual if C = C ⊥ and is said to be self-orthogonal if C ⊆ C ⊥. Unlike Zp2 there are no self-dual codes of length 1 over Zp∞ since Zp∞ is an integral domain and hence there is no vector v of length 1 with [v, v] = v1 v1 = 0. Lemma 3.1. Let C be a self-orthogonal code over Zp∞ . The code Ψpe (C) is a self-orthogonal code over Zpe . 7

P P Proof. If [v, w] = 0 for all v, w ∈ C then vi w i ≡ Ψpe (vi )Ψpe (wi ) (mod pe ) ≡ 0 (mod pe ). Unlike the case for finite rings the type of self-dual codes is very restricted. We illustrate it in the following theorem. n

Theorem 3.2. If C is a self-dual code of length n over Zp∞ then C has type 1 2 . Proof. By Proposition 1.2, we have that C = (C ⊥ )⊥ only when the code is of type 1k for some k. If C is a self-dual code then C = C ⊥ and so by taking orthogonals we have C ⊥ = (C ⊥ )⊥ . Then using that C = C ⊥ we have C = (C ⊥ )⊥ giving that the code has type n 1k from some k. Since k = n − k we have that the code is of type 1 2 . n There are codes, however, with the property that C has rank n2 , type unequal to 1 2 with C ⊆ C ⊥ . We shall call these codes Maximal Self-Orthogonal codes. Theorem 3.3. If C is a self-dual code of length n over Zp∞ then Ψpe (C) is a self-dual code of length n for all finite e. n

Proof. We know that C has type 1 2 by Theorem 3.2. By Proposition 1.4 the n code Ψpe (C) has free rank n2 and so has (pe ) 2 elements and by Lemma 3.1 Ψpe (C) is selforthogonal. These facts give that the code is self-dual. Of course, a maximal self-orthogonal code can have its image under Ψpe which is not self-dual since it may send part of the code C to 0. A similar thing can happen for the finite case. For example the code {0, 2} is a self-dual code of length 1 over Z4 , however reading its elements (mod 2) we only have {0} which is not self-dual. Corollary 3.4. Let C be a self-dual code of length n over Zp∞ . If p ≡ 1 (mod 4) then n ≡ 0 (mod 2) and if p ≡ 3 (mod 4) then n ≡ 0 (mod 4). Proof. From Theorem 3.3 we have that Ψp (C) is a self-dual code over the field Zp and it is well known self-dual codes exists over Zp only for even lengths when p ≡ 1 (mod 4) and for lengths that are 0 (mod 4) when p ≡ 3 (mod 4) (see [8] for proofs of these statements.) n

Theorem 3.5. A maximal self-orthogonal code of rank 1 2 and length n exists over Zp∞ if and only if a self-dual code of length n exists over Zp∞ . Proof. If           

Ik0 A0,1 A0,2 A0,3 · · · ··· A0,e 0 pIk1 pA1,2 pA1,3 · · · ··· pA1,e .. . 0 p2 Ik2 p2 A2,3 · · · ··· p2 A2,e .. .. .. ... ... . . 0 . .. .. .. . ... ... ... .. . . . 0 0 0 ··· 0 pe−1 Ike−1 pe−1 Ae−1,e 8

          

(12)

is the generator of a maximal  Ik0  0   .  ..   ..  .   ..  . 0

self-orthogonal code then A0,1 A0,2 A0,3 · · · Ik1 A1,2 A1,3 · · · 0 .. . .. . 0

Ik2 0 .. . 0

··· ···

A2,3 · · · · · · .. .. . . .. .. .. . . . ··· 0 Ike−1

 A0,e A1,e    A2,e    ..  .  ..   . Ae−1,e

(13)

generates a self-dual code since [ps v, pr w] = 0 ⇐⇒ ps pr [v, w] = 0 because Zp∞ is an integral domain. For the other direction simply multiply any row of the generator matrix of a self-dual code by some pe .

3.1

Constructions of self-dual codes

We shall show constructions of self-dual codes for odd primes. We require two technical lemmas first. P i 2 Lemma 3.6. Let p be an odd prime. If there exists x = e−1 i=0 ai p ∈ Zpe with x = −1 then P there exists x0 = ei=0 bi pi ∈ Zpe+1 with (x0 )2 = −1 and ai = bi for i with 0 ≤ i ≤ e − 1. Pe−1 i ai p ∈ Zpe with x2 = −1. Consider the element x0 = x + ae pe in Proof. Let x = i=0 Zpe+1 . Take (x + ae pe )2 ≡ x2 + 2ae xpe + a2e p2e ≡ x2 + 2ae (a0 )pe

(mod pe+1 )

(mod pe+1 )

≡ rpe − 1 + 2ae a0 pe

(mod pe+1 )

since x2 ≡ −1 (mod pe ). Now setting this expression equal to −1 we get rpe − 1 + 2ae a0 pe ≡ −1

(mod pe+1 )

rpe + 2ae a0 pe ≡ 0

(mod pe+1 )

pe (r + 2ae a0 ) ≡ 0

(mod pe+1 )

This implies that 2ae a0 ≡ −r

(mod p).

Since p is odd then 2 is relatively prime to p and is a unit. Also x2 ≡ a20 ≡ −1 (mod p) and hence a0 is a unit in Zp . −r Set ae = 2a . Then 0 ≤ ae ≤ p − 1 and (x + ae pe )2 ≡ −1 (mod pe+1 ) and we have a 0 square root of −1 in Zpe+1 . Note that this proof fails for p = 2, in fact 12 = −1 in Z2 , yet there is no square root of −1 in Z4 . 9

Lemma 3.7. If p ≡ 1 (mod 4) then there exists an α ∈ Zp∞ with α2 = −1. Proof. The result in Lemma 3.7 can be obtained by a lemma of Hensel [5]. The lemma states that if f (x) ∈ Zp [x], with f (α1 ) ≡ 0 (mod p) and f 0 (α1 ) 6≡ 0 (mod p) then there exists α ∈ Zp∞ such that α ≡ α1 (mod p) and f (α) ≡ 0. However, we retain the following constructive proof to show the generator matrix of the code and the generator matrix of the entire family of self-dual codes. Specifically, if αpe is the square root of −1 in Zpe for 1 ≤ e ≤ ∞ then (1, αpe ) generates the self-dual code of length 2 over Zpe in this infinite family of codes. Note also that the lemma of Hensel does not apply to the binary case since the derivative is 2x which is 0 in Z2 [x]. The constructive proof is as follows. It is well known that if p ≡ 1 (mod 4) then there P Pe−1 i i 2 exists a square root of −1 in Zp . Let x = ∞ i=0 ai p where i=0 ai p is the solution to x = −1 in Zpe . We know from Lemma 3.6 that such solutions exist and that there is a sequence of such solutions with identical ai with small enough indices. This x satisfies x2 = −1 in Zp∞ . Theorem 3.8. If p ≡ 1 (mod 4) then there exist self-dual codes for all even lengths over Zp∞ . Proof. Let α be the solution to x2 = −1 in Lemma 3.7. Then the code generated by (1, α) is a self-dual code of length 2. The direct product of this code with itself gives self-dual codes of all even lengths. These codes produce an infinite family of self-dual codes over Zpe . That is, for each e > 1 Ψpe (⊗ki=1 (1, α)) generates a self-dual code of length 2k over Zpe . P P i ai pi ∈ Zpe and y = e−1 Lemma 3.9. Let p be an odd prime. If there exists x = e−1 i=0 bi p ∈ i=0 P P e e Zpe with x2 + y 2 = −1 then there exists x0 = i=0 ci pi ∈ Zpe+1 and y 0 = i=0 di pi ∈ Zpe+1 with (x0 )2 + (y 0 )2 = −1 and ai = ci , bi = di for i with 0 ≤ i ≤ e − 1. Pe−1 i P 2 2 i Proof. Let x = e−1 i=0 bi p ∈ Zpe with x + y = −1. Consider i=0 ai p ∈ Zpe and y = the elements x0 = x + ae pe and y 0 = y + 0pe . Then take (x + ae pe )2 + (y + 0pe )2 ≡ x2 + 2xae pe + a2e p2e + y 2

(mod pe+1 )

≡ x2 + y 2 + 2a0 ae pe

(mod pe+1 )

≡ rpe − 1 + 2a0 ae pe

(mod pe+1 )

since x2 + y 2 = −1 in Zpe . Now setting this expression equal to −1 we get rpe − 1 + 2a0 ae pe ≡ −1

(mod pe+1 )

rpe + 2a0 ae pe ≡ 0

(mod pe+1 )

pe (r + 2a0 ae ) ≡ 0

(mod pe+1 ).

This implies that r + 2a0 ae ≡ 0 Then ae =

−r 2a0

as before. 10

(mod p).

Lemma 3.10. If p ≡ 3 (mod 4) then there exist α, β ∈ Zp∞ with α2 + β 2 = −1. Proof. Lemma 3.6.

Identical to the proof of Lemma 3.7 except we use Lemma 3.9 instead of

Theorem 3.11. If p ≡ 3 (mod 4) then there exist self-dual codes for all lengths congruent to 0 (mod 4) over Zp∞ . Proof. Let α, β be the solution to x2 + y 2 = −1 in Lemma 3.10. Then the code generated by   1 0 α β 0 1 −β α is a self-dual code of length 4. The direct product of this code with itself gives self-dual codes of all lengths congruent to 0 (mod 4). Again the codes formed in this theorem all generate an infinite family of self-dual codes. These results give the following. Theorem 3.12. Self-dual codes exist over Zp∞ if and only if n ≡ 0 (mod 4) for p ≡ 3 (mod 4) and n ≡ 0 (mod 2) for p ≡ 1 (mod 4). Proof. Follows from Theorem 3.4, Theorem 3.8 and Theorem 3.11.

3.2

Self-dual codes for p = 2

The case for p = 2 is significantly different from the case where the prime is odd. We now examine this case. We first need to define Euclidean weight. For any element α ∈ Z2r its Euclidean weight is Euc(α) = min{α2 , (2r − α)2 }. The Euclidean weight of a vector is simply the sum of the Euclidean weights of its coordinates. If r = 1 then the Euclidean weight coincides with the Hamming weight. Recall that a Type II code over Z2r is a self-dual code with the property that the Euclidean weight of any vector in the code is 0 mod 2r+1 . Specifically, this means that if v P is in a Type II code then reading the coordinates as elements in Z we have Euc(vi ) ≡ 0 r+1 (mod 2 ). A vector with this property is said to be a doubly-even vector. Notice that for binary codes this means that the Hamming weight of any vector is 0 mod 4, which explains why such vectors bear this name. A Type II code over Z2r produces a Type II unimodular lattice via Construction A, see [8] for a complete description. It is well known that Type II unimodular lattices exist only when the length of the lattice is a multiple of 8. This gives the following well known lemma. Lemma 3.13. If there exists a Type II code of length n over Z2r then n ≡ 0 (mod 8). Lemma 3.14. If v = (vi ) is a self-orthogonal vector in Zn2∞ , then Ψ2r (v) is a doubly-even vector in Zn2r . 11

Proof. Let a = a0 + a1 2 + a2 22 + a3 23 + a4 24 + · · · ∈ Z2∞ and consider a2 . If a = x + 2r y with x = Ψ2r (a), then a2 = x2 + xy2r+1 + 22r y 2 ≡ x2

(mod 2r+1 )

= Ψ2r (a2 ) (mod 2r+1 ). P 2 Since v is self-orthogonal we know vi = 0 in Z2∞ . Each coordinate has vi = (vi )0 + P 2 (vi )1 2 + (vi )2 2 + . . . as its 2-adic expansion. We see that Ψ2r (vi2 ) = 0 in Z2r . However, by the above discussion, we see that since the 2-adic vector is also self-orthogonal we must P have that Ψ2r (vi2 ) ≡ 0 (mod 2r+1 ). Theorem 3.15. If there exists a self-dual code of length n over Z2∞ then n ≡ 0 (mod 8). Proof. By Theorem 3.3 we know that Ψ2 (C) is a self-dual code. By Lemma 3.14 we known that each vector is doubly-even and so it is a Type II code. Hence we have that the length must be a multiple of 8. In [1], they show that the code formed by lifting the [7, 4, 3] Hamming code to the 2-adics and adding a parity check is a self-dual code of length 8. This give the following: Theorem 3.16. Self-dual codes exist for all n ≡ 0 (mod 8) over Z2∞ . We summarize the case for self-dual codes over Z2∞ in the following corollary. Corollary 3.17. Self-dual codes exist over Z2∞ if and only if the length is a multiple of 8. Proof. Follows from Theorem 3.15 and Theorem 3.16. This case is significantly different from the case for odd primes since for odd primes if a self-dual code exists over Fp then it exists over the p-adics. However, for p = 2 self-dual codes exists for all even lengths but only for lengths a multiple of 8 over the 2-adics. Theorem 3.18. If C is a Maximal Self-Orthogonal code then Ψk (C) is a Type II code for infinitely many k. Proof. Take the generator matrix given in (7). Then for all k with k > e we have that Ψk (C) is a Type II code.

3.3

Lifts of Self-dual codes

In this subsection we shall investigate which self-dual codes lift to self-dual codes over larger rings and to self-dual codes over the p-adics. The weight enumerators of lifts of the length 8 Hamming code, the length 24 Binary Golay code and the length 12 ternary Golay code were described in [3]. It is shown in [8] that a binary self-dual code lifts to a self-dual code over Z4 if and only if it is Type II. It further shows that these codes can be chosen to be Type II as well. They 12

further assert that this lifting can be extended to the 2-adics. The proof given in Theorem 3 of [8] is easily generalized by simply replacing 2 with 2e and 4 with 2e+1 so that a Type II code over Z2e can be lifted to a Type II code over Z2e+1 . This gives us the following result. Theorem 3.19. A self-dual code over Z2e lifts to a code over Z2r for all r > e (including ∞) if and only if C is Type II. Proof. If a code C e over Z2e has a lift to a code C e+1 over Z2e+1 then by Lemma 3.14 we know that the code must be a Type II code. The discussion before the theorem gives the other direction. We next examine the case for odd primes. Theorem 3.20. For p 6= 2, any self-dual code C over Zp lifts to a self-dual code over p-adics. Proof. Let G1 = (I | A1 ) be a generator matrix of C. We will abuse notations and regard G1 as a matrix over Z. The self-orthogonality condition is equivalent to I + A1 At1 ≡ 0

(mod p),

where At denotes the transpose of A. We will find integral matrices Ge = (I | Ae ) such that Ψpe (Ge+1 ) = Ge and I + Ae Ate ≡ 0 (mod pe ) for all e. We use induction on e and write I + Ae Ate = pe Se . We want matrices Ae+1 = Ae + pk M such that I + Ae+1 Ate+1 ≡ 0

(mod pe+1 ).

(14)

Since I + Ae+1 Ate+1 = I + Ae Ate + pe (Ae M t + M Ate ) = pe (Se + Ae M t + M Ate ), (14) is equivalent to Se + Ae M t + M Ate ≡ 0

(mod p).

(15)

To find all solutions to this equation, consider the map T : Mn (Zp ) → Mn (Zp ) defined by T (M ) = Ae M t + M Ate . T is certainly linear and the kernel of T is given by {KAe | K is skew-symmetric} since Ae M t + M Ate = 0 if and only if (M Ae )t + M Ate = 0 if and only if M Ate = K is skew-symmetric if and only if M = K(Ate )−1 = −KAe . Note that Ae Ate = −I over Zp and hence 1 1 1 T ( Se Ae ) = (Ae Ate Set + Se Ae Ate ) = (−2)Se = −Se . 2 2 2 Therefore the solutions to (14) exist and they are given by Ae+1 = Ae + pe M, where M ≡ 12 (Se + K)A1 (mod p) with any skew-symmetric K. 13

A little computation shows that integral matrices Ae can be chosen inductively as   p+3 p+1 t e Ae+1 = I+ Ae Ae + p Ke Ae , 2 2 where Ke are skew-symmetric matrices modulo p. As an example, we present two 3-adic self-dual liftings of ternary Golay code of length 12. As in [1], we can lift the ternary Golay code using the irreducible factor g∞ (x) = x5 + ax4 − x3 + x2 + (a − 1)x − 1 of x11 − 1 over Z3∞ , where a is a 3-adic number satisfying a2 − a + 3 = 0 and Ψ3 (a) = 0, and then append 1 to each generator to obtain a self-dual 3-adic code T∞ . T∞ has type 16 , minimal distance 7, and is an MDS code. We give another simple lift of the ternary Golay code. The code P∞ over Z3∞ is defined by the generator matrix   0 b b b b b  b 0 b −b −b b      b 0 b −b −b   b (16) I6   b −b b 0 b −b    b −b −b  b 0 b  b b −b −b b 0 where b is a 3-adic number satisfying 5b2 + 1 = 0 and Ψ3 (b) = 1. Such a b exists by Hensel’s Lemma since 2 is an integral solution to 5b2 + 1 ≡ 0 (mod 3) and 10b 6≡ 0 (mod 3). Then Ψ3 (T∞ ) and Ψ3 (P∞ ) are both the extended ternary Golay code. (See page 33 of [7] for the generator matrix of the ternary [12, 6] Golay code.) On the other hand, the weight enumerators of the projections to Z9 are given as follows. WΨ9 (T∞ ) = x12 + 264x6 y 6 + 4752x5 y 7 + 11880x4 y 8 + 59840x3 y 9 + 130680x2 y 10 + 194832xy 11 + 129192y 12 , and WΨ9 (P∞ ) = x12 + 696x6 y 6 + 2160x5 y 7 + 18360x4 y 8 + 51200x3 y 9 + 137160x2 y 10 + 192240xy 11 + 129624y 12 . Therefore P∞ is not equivalent to T∞ .

3.4

Lifts of codes over Zk for arbitrary k

We shall examine lifts of self-dual codes over Zk where k is not a power of a prime. Q ji In [2], it is shown that any self-dual code over Zk with k = pi with distinct pi is formed by applying the Chinese Remainder Theorem coordinatewise to self-dual codes Ci over Zpji . This is denoted by C = CRT (C1 , C2 , . . . , Cs ). Additionally, it is shown that any i

14

self-dual code over Zk forms a self-dual code over Zpji by reading each coordinate modulo i

pji i . Notice that reading a self-dual code modulo pji i produces a self-dual code, but reading it modulo psi i with si < ji may not produce a self-dual code. For example, most self-dual codes over Z4 read modulo 2 will not produce a binary self-dual code. Q Assume C is a self-dual code over Zk with k = pji i and C = CRT (C1 , C2 , . . . , Cs ). If D is a self-dual code over Zk2 and is a lift of C then Di = D (mod pji i ) is a self-dual code over Z(pji )2 . Moreover we can see that Di is a lift of Ci . Therefore if C lifts then so does Ci . i Let Ci be a self-dual code over Zpji . If each Ci lifts to a code Di over Z(pji )2 then i i D = CRT (D1 , d2 , . . . , Ds ) and is a lift of C. Hence we have proven the following. Q Lemma 3.21. Let C be a self-dual code over Zk with k = pji i and C = CRT (C1 , C2 , . . . , Cs ). The code C lifts to a self-dual over Zk2 if and only if each Ci lifts to a code over Z(pji )2 . i

Since we have already proven when a code over Zpi lifts we have the following theorem. Theorem 3.22. If k is odd then a self-dual code C over Zk lifts to a self-dual code over Zk2 . If k is even, with 2e the largest power of 2 dividing k, then a self-dual code C over Zk lifts to a self-dual code over Zk2 if and only if C (mod 2e ) is a Type II code. Proof. Follows from the previous lemma and the fact that all self-dual codes over Zpi lift when p is odd and only Type II codes lift over Z2e .

References [1] A.R. Calderbank and N.J.A. Sloane, Modular and p-adic cyclic codes, Designs, Codes and Cryptography, 6, 1995, 21-35. [2] S.T. Dougherty, M. Harada, and P. Sol´e, Self-dual codes over rings and the Chinese remainder theorem, Hokkaido Math. J. 28, 1999, 253-283. [3] S.T. Dougherty, S.Y. Kim, and Y.H. Park, Lifted Codes and their Weight Enumerators, submitted. [4] S.T. Dougherty and K. Shiromoto, MDR Codes over Zk , IEEE Transactions on Information Theory, Volume 46, Number 1, 2000, 265-269. [5] F.Q. Gouvˆea, P -adic numbers: an introduction, Springer-Verlag, Berlin, New York, 1993. [6] A.R. Hammons, Jr., P.V. Kumar, A.R. Calderbank, N.J.A. Sloane and P. Sol´e, “The Z4 -linearity of Kerdock, Preparata, Goethals and related codes,” IEEE Trans. Inform. Theory, vol. IT-40, 1994, 301-319.

15

[7] V. Pless, Introduction to the Theory of Error-Correcting Codes, 2nd ed., Wiley, New York, 1989. [8] E.Rains and N.J.A. Sloane, Self-dual codes, in the Handbook of Coding Theory, V.S. Pless and W.C. Huffman, eds., Elsevier, Amsterdam, 1998, 177-294. [9] P. Sol´e, Open problems 2: cyclic codes over rings and p-adic fields, in G. Cohen and J. Wolfmann (eds.), Coding Theory and Applications, Lect. Notes Comp. Sci, 338, Springer-Verlag, New York, 1988, 329.

16

Codes over the p-adic integers

Jun 22, 2011 - a self-dual code by some pe. 3.1 Constructions of self-dual codes. We shall show constructions of self-dual codes for odd primes. We require two technical lemmas first. Lemma 3.6. Let p be an odd prime. If there exists x = ∑ e−1 i=0 aipi ∈ Zpe with x2 = −1 then there exists x = ∑ e i=0 bipi ∈ Zpe+1 with (x ) ...

247KB Sizes 2 Downloads 118 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

Minimizing Cubic and Homogeneous Polynomials over Integers in the ...
Furthermore, we show that the problem of minimizing a homogeneous polynomial of any fixed degree over the integer points in a ... Del Pia, Hildebrand, Weismantel, Zemmer: Minimizing Cubic and Homogeneous Polynomials over Integers in the Plane ..... I

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 ...

Cyclic codes over Ak
Lemma 1. [1] If C is a cyclic code over Ak then the image of C under the. Gray map is a quasi-cyclic binary code of length 2kn of index 2k. In the usual correspondence, cyclic codes over Ak are in a bijective corre- spondence with the ideals of Ak[x]

Cyclic codes over Rk
Jun 22, 2011 - e-mail: [email protected] e-mail: [email protected] ...... [8] S.T. Dougherty and S. Ling, Cyclic codes over Z4 of even length , Designs, ...

Shadow Codes over Z4
Shadow Codes over Z4. Steven T. Dougherty. Department of Mathematics. University of Scranton. Scranton, PA 18510. USA. Email: [email protected].

Self-dual Codes over F3 + vF
A code over R3 is an R3−submodule of Rn. 3 . The euclidean scalar product is. ∑ i xiyi. The Gray map φ from Rn. 3 to F2n. 3 is defined as φ(x + vy)=(x, y) for all x, y ∈ Fn. 3 . The Lee weight of x + vy is the Hamming weight of its Gray image

MDR Codes over Zk
corresponds to the code word c = (c0,c1,c2,···,cn−1). Moreover multiplication by x corresponds to a cyclic shift. So, we can define a cyclic code of length n over Zk as an ideal of Zk[x]/(xn − 1). For generalizations of some standard results o

on the degree of univariate polynomials over the integers
differences, between the primes in each pair, are the same. This enables us. 204 to combine the different linear recurrences obtained from each prime in a. 205 .... We will usually apply the theorem above to claim, for some integer n, that. 281 there

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 ...

Dividing Integers - Somerset Canyons
Aug 27, 2015 - A high school athletic department bought 40 soccer uniforms at a cost of $3,000. ... A commuter has $245 in his commuter savings account. a.

Factorization of Integers
They built a small quantum computer and used the following algorithm due to Peter Shor. Assume N is composite. Choose a

Codes over Σ2m and Jacobi forms over the Quaternions
Jun 22, 2011 - Setting vi = ai + biα + ciβ + diγ and vi = ai + biα + ciβ + diγ then performing a straightforward computation gives that. [Ψ2m(v),Ψ2m(v )] = ∑ bibi + ...

Quasi-Cyclic Codes as Cyclic Codes over a Family of ...
Oct 23, 2015 - reduction µ from R∆[x] to F2[x] where µ(f) = µ(∑aixi) = ∑µ(ai)xi. A monic polynomial f over R∆[x] is said to be a basic irreducible poly- nomial if ...

Self-Dual Codes over Rk and Binary Self-Dual Codes
Apr 19, 2012 - Additionally, ai does not contain any of the u1,u2,... .... (a1,a2), where the ai are units, must be generated by that vector and hence be a one-.

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.

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 ...

ΘS−cyclic codes over Ak
Jul 6, 2015 - It is clear that for all x ∈ Ak we have that. ΣA,k(Φk(x)) = Φk(ΘS(x)). (2). 3. ΘS−cyclic codes over Ak. We can now define skew cyclic codes using this family of rings and family of automorphisms. Definition 2. A subset C of An

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

Codes over Z2k, Gray map and Self-Dual Codes
4 Oct 2011 - If the code is a submodule then we say that the code is a linear code (over Z2k ). If C is a code over Z2k , then. 〈C〉 is the code over Z2k spanned by the vectors in C. If v, w ∈ Zn. 2k , v = (v1,...,vn), w = (w1,...,wn), we define

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 ...

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.