ISSN 2148-838Xhttp://dx.doi.org/10.13069/jacodesmath.514339 J. Algebra Comb. Discrete Appl. 6(1) • 39–51 Received: 1 April 2017 Accepted: 9 December 2018 Journal of Algebra Combinatorics Discrete Structures and Applications Codes over Zp[u]/〈ur〉×Zp[u]/〈us〉 Research Article Ismail Aydogdu Abstract: In this paper we generalize Z2Z2[u]-linear codes to codes over Zp[u]/〈ur〉× Zp[u]/〈us〉 where p is a prime number and ur = 0 = us. We will call these family of codes as Zp[ur, us]-linear codes which are actually special submodules. We determine the standard forms of the generator and parity-check matrices of these codes. Furthermore, for the special case p = 2, we define a Gray map to explore the binary images of Z2[ur, us]-linear codes. Finally, we study the structure of self-dual Z2[u2, u3]-linear codes and present some examples. 2010 MSC: 94B05, 94B60 Keywords: Linear codes, Self-dual codes, Z2Z2[u]-linear codes, Zp[ur, us]-linear codes 1. Introduction Linear codes are the most important family of codes in coding theory. Because they have some advantages compared to the non-linear codes. For example, linear codes have an easier encoding and decoding process than non-linear arbitrary codes. In the beginning, studies on linear codes were mainly over fields, especially binary fields. Later, codes over extension fields and, in general, finite fields were studied by many researchers. In 1994, a remarkable paper written by Hammons et al.[8] brought a new direction to researches on coding theory. In this paper, they showed that some well known non-linear codes are actually binary images of some linear codes over the ring of integers modulo 4, i.e., Z4. After this work a lot of research has been directed towards codes over rings. The structure of binary linear codes and quaternary linear codes have been studied in details for the last sixty years. However, in 2010, Borges et al. have introduced a new class of error correcting codes, actually mixed alphabet codes, over Z2 × Z4 called Z2Z4-additive codes in [7]. These family of codes generalizes the class of binary linear codes and the class of quaternary linear codes. For positive integers α,β, a Z2Z4-additive code C is defined as a subgroup of Zα2 × Z β 4 with α + 2β = n. Another important ring with four elements which is not isomorphic to Z4 is the ring R = Z2 + uZ2 = {0, 1,u, 1 + u} where u2 = 0. There are many studies related to codes over the ring R = Z2 + uZ2 in the literature, the reader Ismail Aydogdu; Department of Mathematics, Yildiz Technical University, Istanbul, Turkey (email: iay- dogdu@yildiz.edu.tr). 39 https://orcid.org/0000-0001-9308-4829 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 may see some of them in [1, 2, 6]. Recently, Aydogdu et al. have introduced Z2Z2[u]-linear codes in [3] where Z2[u] = {0, 1,u, 1 + u} = R. Even though the structures of these codes and the structures of Z2Z4-additive codes are similar Z2Z2[u]-linear codes have some advantages compared to Z2Z4-additive codes. One of these advantages is that, the Gray (binary) images of Z2Z2[u]-linear codes are always linear, but this is not always the case for codes over Zα2 × Z β 4 . Another advantage of working with such linear codes is that the factorization of polynomials in Z2[x] is also valid since Z2 is a subring of R (see [6]) and Hensel’s lift is not necessary. The generalizations of Z2Z4-additive codes are considered in the literature. For instance, Aydogdu and Siap introduced Z2Z2s and Zpr Zps additive codes in [4] and [5] respectively. This paper attempts to study a further generalization. An important reason motivating us to study these families of additive codes is that they can be mapped to codes over finite fields via Gray maps and moreover they offer some interesting algebraic structures. In this paper, we generalize Z2Z2[u]-linear codes to codes over Zp[u]/〈ur〉×Zp[u]/〈us〉 = Zp[ur,us] where p is a prime number and ur = 0 = us. We also determine the structure of these codes by giving the standard forms of generator and parity-check matrices. Finally, we present binary images of these codes for the special case p = 2 and illustrate some examples. Throughout the paper we assume that r ≤ s. Let Rr = Zp + uZp + u2Zp + · · ·+ ur−1Zp = Zp[u]/〈ur〉 and Rs = Zp + uZp + u2Zp + · · ·+ us−1Zp = Zp[u]/〈us〉 be the finite rings with ur = 0 = us. Let us define the Zp[u]-module Zp[ur,us] = {(a,b) | a ∈Rr and b ∈Rs} . Being inspired by the definition of Z2Z2[u]-linear codes, we give the following definition. Definition 1.1. Let C be the non-empty subset of Zαp [u]/〈ur〉×Zβp [u]/〈us〉. If C is a Rr-submodule of Zαp [u]/〈ur〉×Zβp [u]/〈us〉 then C is called a Zp[ur,us]-linear code. We understand from the definition of Zp[ur,us]-linear codes that the first α coordinates of the Zp[ur,us]-linear code C are elements from Rr and the remaining β coordinates are elements from Rs. Also, it can be easily concluded that this code is isomorphic to an abelian group Z kr−1 p × Z2kr−2p × ··· × Zrk0p × Zsl0p × Z (s−1)l1 p × ··· × Z ls−1 p . Considering all these parameters we will say C is of type (α,β; k0,k1, . . . ,kr−1; l0, l1, . . . , ls−1). Further, the number of the codewords of the C is |C| = prk0p(r−1)k1 · · ·pkr−1 · · ·psl0p(s−1)l1 · · ·pls−1. Definition 1.2. Let C be a Zp[ur,us]-linear code. Let us define Cα(respectively Cβ) as the punctured code of C by deleting the coordinates outside α(respectively β). If C = Cα ×Cβ then C is called separable. We also note that for a Z2Z2[u]-linear code C of type (α,β; k0; k1,k2), the standard forms of the generator and the parity-check matrices are given by G =   Ik0 A1 0 0 uT0 S Ik1 A B1 + uB2 0 0 0 uIk2 uD   , (1) H =   −A t 1 Iα−k0 −uSt 0 0 −Tt 0 −(B1 + uB2)t + DtAt −Dt Iβ−k1−k2 0 0 −uAt uIk2 0   (2) where A, A1, B1, B2, D, S and T are matrices over Z2. 40 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 2. Standard form of the generator matrices of Zp[ur, us]-linear codes In this section of the paper, we give standard form of the generator matrix of a Zp[ur,us]-linear code C. A generator matrix G for a linear code C is the matrix such that the rows are basis vectors of C. We can put this generator matrix in a special form by elementary row operations, and we say this matrix is the standard form of the generator matrix. Generator matrices give us information about the structure of a linear code. If we know the standard form, we can easily read the type of a code and then find the number of elements. Further, we say any two codes are permutation equivalent or only equivalent if one can be obtained from the other by permutation of their coordinates or (if necessary) changing the coordinates by their unit multiples. The below theorem determines the generator matrix of a Zp[ur,us]-linear code C. Theorem 2.1. Let C be a Zp[ur,us]-linear code then C is permutation equivalent to a Zp[ur,us]-linear code which has the following standard generator matrix of the form. G = [ R A B S ] (3) where R =   Ik0 R01 R02 R03 · · · R0,r−2 R0,r−1 R0,r 0 uIk1 uR12 uR13 · · · uR1,r−2 uR1,r−1 uR1,r 0 0 u2Ik2 u 2R23 · · · u2R2,r−2 u2R2,r−1 u2R2,r ... ... ... ... ... ... ... ... 0 0 0 0 · · · ur−2Ikr−2 ur−2Rr−2,r−1 ur−2Rr−2,r 0 0 0 0 · · · 0 ur−1Ikr−1 ur−1Rr−1,r   , A =   0 0 · · · us−rA01 us−rA02 · · · us−rA0,r−2 us−rA0,r−1 us−rA0,r 0 0 · · · 0 us−r+1A12 · · · us−r+1A1,r−2 us−r+1A1,r−1 us−r+1A1,r 0 0 · · · 0 0 · · · us−r+2A2,r−2 us−r+2A2,r−1 us−r+2A2,r ... ... ... ... ... ... ... ... ... 0 0 · · · 0 0 · · · 0 us−2Ar−2,r−1 us−2Ar−2,r 0 0 · · · 0 0 · · · 0 0 us−1Ar−1,r   , B =   0 B01 B02 B03 · · · B0,r−2 B0,r−1 B0,r 0 B11 B12 B13 · · · B1,r−2 B1,r−1 B1,r ... ... ... ... ... ... ... ... 0 Bs−r−1,1 Bs−r−1,2 Bs−r−1,3 · · · Bs−r−1,r−2 Bs−r−1,r−1 Bs−r−1,r 0 0 uBs−r,2 uBs−r,3 · · · uBs−r,r−2 uBs−r,r−1 uBs−r,r 0 0 0 u2Bs−r+1,3 · · · u2Bs−r+1,r−2 u2Bs−r+1,r−1 u2Bs−r+1,r ... ... ... ... ... ... ... ... 0 0 0 0 · · · 0 0 ur−1Bs−2,r 0 0 0 0 · · · 0 0 0   , 41 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 S =   Il0 S01 S02 S03 · · · S0,s−2 S0,s−1 S0,s 0 uIl1 uS12 uS13 · · · uS1,s−2 uS1,s−1 uS1,s 0 0 u2Il2 u 2S23 · · · u2S2,s−2 u2S2,s−1 u2S2,s ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 0 0 0 0 · · · us−3Ss−3,s−2 us−3Ss−3,s−1 us−3Ss−3,s 0 0 0 0 · · · us−2Ils−2 us−2Ss−2,s−1 us−2Ss−2,s 0 0 0 0 · · · 0 us−1Ils−1 us−1Ss−1,s   . In this standard form of the generator matrix, Rij’s are matrices over Rr and Aij’s are matrices over Rs for 0 ≤ i < j ≤ r. And for 0 ≤ t < s− 1, 0 ≤ p < q ≤ s,Btj’s are matrices over Rr and Spq’s are matrices over Rs. Further, Ik’s and Il’s are identity matrices with given sizes. Proof. Let C ⊆Rαr ×Rβs be a Zp[ur,us]-linear code of type (α,β; k0,k1, . . . ,kr−1; l0, l1, . . . , ls−1). Since the first α coordinates of C is a submodule of Rr and the last β coordinates of C is a submodule of Rs then from [9] we can write the generator matrix for C as follows:  R̄ 1 2 S̄   where R̄ =   Ik0 R̄01 R̄02 R̄03 · · · R̄0,r−2 R̄0,r−1 R̄0,r 0 uIk1 uR̄12 uR̄13 · · · uR̄1,r−2 uR̄1,r−1 uR̄1,r 0 0 u2Ik2 u 2R̄23 · · · u2R̄2,r−2 u2R̄2,r−1 u2R̄2,r ... ... ... ... ... ... ... ... 0 0 0 0 · · · ur−2Ikr−2 ur−2R̄r−2,r−1 ur−2R̄r−2,r 0 0 0 0 · · · 0 ur−1Ikr−1 ur−1R̄r−1,r   and S̄ =   Il0 S̄01 S̄02 S̄03 · · · S̄0,s−2 S̄0,s−1 S̄0,s 0 uIl1 uS̄12 uS̄13 · · · uS̄1,s−2 uS̄1,s−1 uS̄1,s 0 0 u2Il2 u 2S̄23 · · · u2S̄2,s−2 u2S̄2,s−1 u2S̄2,s ... ... ... ... ... ... ... ... 0 0 0 0 · · · us−2Ils−2 us−2S̄s−2,s−1 us−2S̄s−2,s 0 0 0 0 · · · 0 us−1Ils−1 us−1S̄s−1,s   . Now, we have to determine the forms of the matrices in 1 and 2. We will put codewords to 1 such that they do not change the form of the matrix R̄. So we have 42 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51   us−rĀ01 u s−rĀ02 · · · us−rĀ0,s+1 us−r+1Ā11 u s−r+1Ā12 · · · us−r+1Ā1,s+1 R̄1 ... ... ... ... us−2Ār−2,1 u s−2Ār−2,2 · · · us−2Ār−2,s+1 us−1Ār−1,1 u s−1Ār−1,2 · · · us−1Ār−1,s+1 2 S̄1   . Similarly, putting codewords to 2 by protecting the form of the matrix S̄ we get   us−rĀ01 u s−rĀ02 · · · us−rĀ0,s+1 us−r+1Ā11 u s−r+1Ā12 · · · us−r+1Ā1,s+1 R̄2 ... ... ... ... us−2Ār−2,1 u s−2Ār−2,2 · · · us−2Ār−2,s+1 us−1Ār−1,1 u s−1Ār−1,2 · · · us−1Ār−1,s+1 B̄01 B̄02 · · · B̄0,r+1 B̄11 B̄12 · · · B̄1,r+1 ... ... ... ... B̄s−r−1,1 B̄s−r−1,2 · · · B̄s−r−1,r+1 uB̄s−r,1 uB̄s−r,2 · · · uB̄s−r,r+1 S̄2 u2B̄s−r+1,1 u 2B̄s−r+1,2 · · · u2B̄s−r+1,r+1 ... ... ... ... ur−1B̄s−2,1 u r−1B̄s−2,2 · · · ur−1B̄s−2,r+1 0 0 · · · 0   . Finally, by applying necessary elementary row operations to above matrix, we have the standard form in (3). Example 2.2. Let C be a Z2[u2,u3]-linear code with the following generator matrix  1 u 1 + u 1 + u + u2 0 u u 0 u u u + u2 u 1 + u u 1 1 + u2 1 u + u2 1 0 u u u + u2 0 1 + u u u u2 u2 u2   . (4) Then, by applying elementary row operations we have the standard form of this generator matrix as,  1 0 0 0 0 0 0 u u 0 0 0 0 0 1 + u 1 0 0 0 0 0 0 1 0 0 0 0 0 0 u   . Therefore, • C is of type (3, 3; 1, 1; 2, 1, 0). 43 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 • C has 22·1 · 21 · 23·2 · 22·1 · 20 = 211 = 2048 codewords. Example 2.3. Now, we consider any Zp[u2,u3]- linear code of type (α,β; k0,k1; l0, l1, l2). So, r = 2 and s = 3. Then the generator matrix of C is permutation equivalent to a matrix of the form G =   Ik0 R01 R02 0 0 uA01 uA02 0 uIk1 uR12 0 0 0 u 2A12 0 B01 B02 Il0 S01 S02 S03 0 0 uB12 0 uIl1 uS12 uS13 0 0 0 0 0 u2Il2 u 2S23   . (5) Corollary 2.4. Taking p = 2, r = 1 and s = 2 we have Z2[u,u2]-linear code which is equal to a Z2Z2[u]- linear code introduced in [3]. Then if C is a Z2[u,u2]-linear code of type (α,β; k0; l0, l1), its generator matrix is G =  Ik0 R01 0 0 uA010 B01 Il0 S01 S02 0 0 0 uIl1 uS12   (6) which is permutation equivalent to a matrix of the form (1). 3. Duality on Zp[ur, us]-linear codes and parity-check matrices We have well known concept of duality over finite fields and rings. In this part, we define an inner product for codes over Rαr ×Rβs and we determine the structure of the dual space of a Zp[ur,us]-linear code C using this inner product. The inner product for any two vectors v,w ∈Rαr ×Rβs is defined by v ·w = us−r ( α∑ i=1 viwi ) + α+β∑ j=α+1 vjwj. Moreover, we can easily define the dual code C⊥ of Zp[ur,us]-linear code C in the following standard way: C⊥ = { w ∈Rαr ×R β s | v ·w = 0 for all v ∈C } . It is also clear that C⊥ is an Rr-submodule of Rαr ×Rβs . So, C⊥ is also a Zp[ur,us]-linear code. We know that the dual space of any linear code is generated by a parity-check matrix of C or equivalently generator matrix of C⊥. To establish the parity-check matrix of a Zp[ur,us]-linear code C we first give the following definitions. Let k(R) and l(S) be the number of rows of the matrices R and S, respectively. For i = 0, 1, ..., r− 1(s− 1), let ki(R) (li(S)) denote the number of rows of R (S) that are divisible by ui but not by ui+1. Then, k(R) = r−1∑ i=0 ki(R) and l(S) = s−1∑ i=0 li(S). Therefore, we give the following theorem that determines the standard form of the parity-check matrix of a Zp[ur,us]-linear code C. Theorem 3.1. The parity-check matrix for a Zp[ur,us]-linear code C of type (α,β; k0,k1, . . . ,kr−1; l0, l1, . . . , ls−1) with generator matrix in (3) is given by the following standard form matrix. H = [ R̄ + F M N S̄ + E ] 44 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 where R̄, F, M, N, S̄ and E are matrices of the following forms. R̄ =   R̄0,r R̄0,r−1 R̄0,r−2 · · · R̄0,3 R̄0,2 R̄0,1 Iα−k(R) uR̄1,r uR̄1,r−1 uR̄1,r−2 · · · uR̄1,3 uR̄1,2 uIkr−1(R) 0 ... ... ... ... ... ... ... ... ur−2R̄r−2,r u r−2R̄r−2,r−1 u r−2Ik2(R) · · · 0 0 0 0 ur−1R̄r−1,r u r−1Ik1(R) 0 · · · 0 0 0 0   , F =   F0,r−2 F0,r−3 · · · F0,2 F0,1 0 0 0 uF1,r−2 uF1,r−3 · · · uF1,2 0 0 0 0 ... ... ... ... ... ... ... ... ur−4Fr−4,r−2 u r−4Fr−4,r−3 · · · 0 0 0 0 0 ur−3Fr−3,r−2 0 · · · 0 0 0 0 0 0 0 · · · 0 0 0 0 0 0 0 · · · 0 0 0 0 0   , M =   M0,s−1 M0,s−2 · · · M0,3 M0,2 M0,1 0 0 uM1,s−1 uM1,s−2 · · · uM1,3 uM1,2 0 0 0 ... ... ... ... ... ... ... ... ur−2Mr−2,s−1 u r−2Mr−2,s−2 · · · 0 0 0 0 0 ur−1Mr−1,s−1 u r−1Mr−1,s−2 · · · 0 0 0 0 0   , N =   N0,r N0,r−1 N0,r−2 · · · N0,3 N0,2 N0,1 0 uN1,r uN1,r−1 uN1,r−2 · · · uN1,3 uN1,2 0 0 ... ... ... ... ... ... ... ... ur−1Nr−1,r 0 0 · · · 0 0 0 0 0 0 0 · · · 0 0 0 0 ... ... ... ... ... ... ... ... 0 0 0 · · · 0 0 0 0   , S̄ =   S̄0,s S̄0,s−1 S̄0,s−2 · · · S̄0,3 S̄0,2 S̄0,1 Iβ−l(S) uS̄1,s uS̄1,s−1 uS̄1,s−2 · · · uS̄1,3 uS̄1,2 uIls−1(S) 0 ... ... ... ... ... ... ... ... us−2S̄s−2,s u s−2S̄s−2,s−1 u s−2Il2(S) · · · 0 0 0 0 us−1S̄s−1,s u s−1Il1(S) 0 · · · 0 0 0 0   , E =   E0,s−2 E0,s−3 E0,s−4 · · · E0,2 E0,1 0 0 0 uE1,s−2 uE1,s−3 uE1,s−4 · · · uE1,2 0 0 0 0 ... ... ... ... ... ... ... ... ... ur−2Er−2,s−2 u r−2Er−2,s−3 u r−2Er−2,s−4 · · · 0 0 0 0 0 0 0 0 · · · 0 0 0 0 0 ... ... ... ... ... ... ... ... ... 0 0 0 · · · 0 0 0 0 0   . 45 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 Also, R̄i,j = − j−1∑ k=i+1 R̄i,kR t r−j,r−k −R t r−j,r−i, for 0 ≤ i < j ≤ r, S̄i,j = − j−1∑ k=i+1 S̄i,kS t s−j,s−k −S t s−j,s−i, for 0 ≤ i < j ≤ s, Mi,j = − j−1∑ k=i+1 Mi,kS t s−j−1,s−k−1 −q1 ( j−1∑ l=i+1 R̄i,lB t s−j−1,r−l + j−3∑ m=i+1 Fi,mB t s−j−1,r−m−2 + B t s−j−1,r−i ) , l ≤ r − 1, m ≤ r − 3 and q1 = { u, j < r uj−r+1, j ≥ r } , Ni,j = − j−1∑ k=i+1 Ni,kR t r−j,r−k − j−1∑ k=i+1 S̄i,kA t r−j,r−k − j−3∑ k=i+1 Ei,i+j−k−2A t r−j,r+k−i−j −A t r−j,r−i , Ei,j = − j−1∑ k=i+1 Ei,kS t s−j−2,s−k−2 −q2 j∑ l=i+1 Ni,lB t s−j−2,r−l , l ≤ r − 1 and q2 = { u, j < r uj−r+2, j ≥ r } , Fi,j = − j−1∑ k=i+1 Fi,kR t r−j−2,r−k−2 − j∑ k=i+1 Mi,kA t r−j−2,r−k−1. Proof. Firstly, we can check that GHt = 0. So, 〈H〉⊆C⊥. Further, |C| = prk0p(r−1)k1 · · ·pkr−1 · · ·psl0p(s−1)l1 · · ·pls−1. Since k(R) = r−1∑ i=0 ki(R) and ki(R) = ki, then |C⊥| = pr(α−(k0+k1+···+kr−1))p(r−1)kr−1 · · ·pk1ps(β−(l0+l1+···+ls−1))p(s−1)ls−1 · · ·pl1. Let |C||C⊥| = pn, hence n = rk0 + (r − 1)k1 + · · · + (r − (r − 1))kr−1 + sl0 + (s− 1)l1 + · · · + (s− (s− 1))ls−1 +rα−rk0 −···−rkr−1 + (r − 1)kr−1 + · · · + k1 + sβ −sl0 −···−sls−1 +(s− 1)ls−1 + · · · + l1 = rα + sβ. Consequently, |C||C⊥| = prα+sβ. Therefore, the rows of the matrix H are not only orthogonal to C but also they generate all dual space. So, the proof is completed. 46 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 Example 3.2. Let C be a Zp[u2,u3]-linear code of type (α,β; k0,k1; l0, l1, l2) with the standard form of the generator matrix in (5). We calculate the parity-check matrix of this code step by step as follows. H = [ R̄ + F M N S̄ + E ] . Since r = 2, then F = 0. Now, R̄ = [ R̄02 R̄01 Iα−k0−k1 uR̄12 uIk1 0 ] where R̄01 = −Rt12, R̄02 = −R̄01R t 01 −R t 02, R̄12 = −R t 01. N =   N02 N01 0uN12 0 0 0 0 0   where N01 = −At12, N02 = −N01Rt01 − S̄01At01 −At02, N12 = −At01. M =   M02 M01 0 0uM12 0 0 0 0 0 0 0   where M01 = −uBt12, M02 = −M01St01 −u(R̄01Bt01 + Bt02), M12 = −uBt01. E =  E01 0 0 00 0 0 0 0 0 0 0   where E01 = −uNt01Bt01, and S̄ =   S̄03 S̄02 S̄01 Iβ−l0−l1−l2uS̄13 uS̄12 uIl2 0 u2S̄23 u 2Il1 0 0   where S̄01 = −St23, S̄02 = −S̄01S t 12 −S t 13, S̄03 = −(S̄01St02 + S̄02S t 01) −S t 03, S̄12 = −St12, S̄13 = −S̄12S t 01 −S t 02, S̄23 = −St01. So, H =   R̄02 R̄01 Iα−k0−k1 M02 M01 0 0 uR̄12 uIk1 0 uM12 0 0 0 N02 N01 0 S̄03 + E01 S̄02 S̄01 Iβ−l0−l1−l2 uN12 0 0 uS̄13 uS̄12 uIl2 0 0 0 0 u2S̄23 u 2Il1 0 0   . We can easily determine the type of C⊥ from the above matrix as (α,β; α−k0−k1,k1; β−l0−l1−l2, l2, l1). Example 3.3. Now, let C be a Z2[u2,u3]-linear code with the generator matrix in (4). We have found the standard form of this generator matrix before in Example 2.2. Therefore, G =   1 0 0 0 0 0 0 u u 0 0 0 0 0 1 + u 1 0 0 0 0 0 0 1 0 0 0 0 0 0 u   =   Ik0 R01 R02 0 0 0 uIk1 uR12 0 0 0 B01 B02 Il0 S01 0 0 uB12 0 uIl1   . 47 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 Hence, with the help of previous example we have the parity-check matrix of C as  0 1 1 u + u 2 0 0 0 u 0 0 0 0 0 0 0 0 0 u2   . So, C⊥ is of type (3, 3; 1, 1; 0, 0, 1) and has |C⊥| = 22·12121 = 16 codewords. Corollary 3.4. Let C be a Z2[u,u2]-linear code of type (α,β; k0; l0, l1) with generator matrix in (6) then the parity-check matrix of C is −R t 01 Iα−k0 −uBt01 0 0 −At01 0 −St02 + St12St01 −St12 Iβ−l0−l1 0 0 −uSt01 uIl1 0   . Note that this matrix is permutation equivalent to a matrix in (2). 4. Binary images of Z2[ur, us]-linear codes Binary linear codes are the most important member of the family of linear codes. So, taking p = 2 we have Z2[ur,us]-linear codes. Then we can look at Z2[ur,us]-linear codes as a binary codes under the special Gray map, defined as follows. Definition 4.1. Let Rs = Z2 + uZ2 + u2Z2 + · · · + us−1Z2 with us = 0. Define the mapping Φs : Rs −→ Z2 s−1 2( a0 + ua1 + · · · + us−1as−1 ) −→ (as−1,a0 ⊕as−1,a1 ⊕as−1, . . . ,as−2 ⊕as−1, a0 ⊕a1 ⊕as−1, . . . ,a0 ⊕as−2 ⊕as−1, . . . , a0 ⊕a1 ⊕···⊕as−1) where ai ⊕aj = ai + aj mod 2. This is a linear Gray map from Rs to Z2 s−1 2 . As an example, let us consider Φ3 : R3 −→ Z42 0 −→ (0000) 1 −→ (0101) u −→ (0011) 1 + u −→ (0110) u2 −→ (1111) 1 + u2 −→ (1010) u + u2 −→ (1100) 1 + u + u2 −→ (1001). This map can be extended to Rαr ×Rβs as follows. Definition 4.2. Let x = (x0,x1, . . . ,xα−1) ∈ Rαr and y = (y0,y1, . . . ,yβ−1) ∈ Rβs and let Φ : Rαr × Rβs −→ Zn2 be the map defined by Φ(x,y) = (Φr(x0), . . . , Φr(xα−1), Φs(y0), . . . , Φs(yβ−1)). We called the binary image Φ(C) = C as a Z2[ur,us]−linear code of length n = 2r−1α + 2s−1β. 48 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 Example 4.3. Let C be a Z2[u,u3]-linear code of type (7, 7; 0; 0, 1, 3) with the following generator matrix  0 1 0 1 1 0 0 u + u2 u u + u2 u + u2 u u u 0 1 1 1 0 1 0 u2 u2 u2 0 u2 0 0 0 0 1 1 1 0 1 0 u2 u2 u2 0 u2 0 1 0 0 1 1 1 0 0 0 u2 u2 u2 0 u2   . Using the Gray map that we defined above, we have the Gray image Φ(C) = C is a binary linear code with the parameters [35, 5, 16]. It is worth mentioning that C with this parameters is an optimal code, that is, C has the best minimum distance d = 16 compared to the existing and known bounds for n = 35 and k = 5. 5. Self-dual Z2[u2, u3]-linear codes We know that if C = C⊥ then C is called a self-dual code. In this section, we investigate the structure of self-dual codes over Z2[u]/〈u2〉×Z2[u]/〈u3〉. We give some conditions for a Z2[u2,u3]-linear code C to be a self-dual. Further, we present some examples of self-dual codes. Lemma 5.1. Let C be a self-dual Z2[u2,u3]-linear code. Then C is of type (2k0 + k1, 2(l0 + l1); k0,k1; l0, l1, l2) . Proof. Since C is self-dual then the dual code C⊥ has the same type with C. Therefore, we have (α,β; k0,k1; l0, l1, l2) = (α,β; α−k0 −k1,k1; β − l0 − l1 − l2, l2, l1) α−k0 −k1 = k0, β − l0 − l1 − l2 = l0, l1 = l2 α = 2k0 + k1, β = 2l0 + 2l1. Corollary 5.2. If C is a self-dual code of type (α,β; k0,k1; l0, l1, l2), then β is even. Corollary 5.3. If C is a separable Z2[u2,u3]-linear code of type (α,β; k0,k1; l0, l1, l2), then it has the standard form of the following generator matrix G =   Ik0 R01 R02 0 0 0 0 0 uIk1 uR12 0 0 0 0 0 0 0 Il0 S01 S02 S03 0 0 0 0 uIl1 uS12 uS13 0 0 0 0 0 u2Il2 u 2S23   . Theorem 5.4. Let C be a self-dual Z2[u2,u3]-linear code of type (2k0 + k1, 2(l0 + l1); k0,k1; l0, l1, l2). Then the following statements are equivalent. i) Cα is a self-dual code over Z2[u]/〈u2〉. ii) Cβ is a self-dual code over Z2[u]/〈u3〉. iii) C is separable and |Cα| = 22k0+k1, |Cβ| = 23(l0+l1). Corollary 5.5. Let C1 be a self-dual code of length α over Z2[u]/〈u2〉 and C2 be a self-dual code of length β over Z2[u]/〈u3〉. Then, C1 ×C2 is a self-dual Z2[u2,u3]-linear code of length α + β. 49 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 Example 5.6 (Separable). Let C be a Z2[u2,u3]-linear code of type (3, 4; 1, 1; 1, 1, 1) with the following generator matrix   1 0 1 0 0 0 0 0 u 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 u 0 u 0 0 0 0 0 u2 u2   . Hence, C is a separable self-dual code. Example 5.7 (Non-separable). A Z2[u2,u3]-linear code C with the below generator matrix is a non- separable self-dual code of type (4, 4; 1, 2; 1, 1, 1).   1 1 1 1 + u 0 0 u + u2 u 0 u 0 u 0 0 0 u2 0 0 u u 0 0 0 0 0 0 1 1 1 1 1 1 + u2 0 0 u u 0 u 0 u 0 0 0 0 0 0 u2 u2   . 6. Conclusion This paper generalizes Z2Z2[u]-linear codes to Zp[ur,us]-linear codes. The original study was intro- duced for the special case p = 2, r = 1 and s = 2. We give the standard forms of the generator and parity-check matrices of these codes. Further, we study Z2[ur,us]-linear codes, for the special case p = 2 and relate these codes to binary codes by using a special Gray map. Also, we investigate self-dual codes over Z2[u]/〈u2〉× Z2[u]/〈u3〉. Since this family of linear codes has been introduced recently many more properties of these families of codes await explorations, such as cyclicity. References [1] T. Abualrub, I. Siap, Cyclic codes over the rings Z2 +uZ2 and Z2 +uZ2 +u2Z2, Des. Codes Cryptogr. 42(3) (2007) 273–287. [2] M. Al–Ashker, M. Hamoudeh, Cyclic codes over Z2 + uZ2 + u2Z2 + . . . + uk−1Z2, Turk J. Math. 35 (2011) 737–749. [3] I. Aydogdu, T. Abualrub, I. Siap, On Z2Z2[u]–additive codes, Int. J. Comput. Math. 92(9) (2015) 1806–1814. [4] I. Aydogdu, I. Siap, The structure of Z2Z2s–additive codes: Bounds on the minimum distance, Appl. Math. Inform. Sci. 7(6) (2013) 2271–2278. [5] I. Aydogdu, I. Siap, On Zpr Zps-additive codes, Linear Multilinear Algebra 63(10) (2015) 2089–2102. [6] A. Bonnecaze, P. Udaya, Cyclic codes and self–dual codes over F2 +uF2, IEEE Trans. Inform. Theory 45(4) (1999) 1250–1255. [7] J. Borges, C. Fernández-Córdoba, J. Pujol, J. Rifà, M. Villanueva, Z2Z4–linear codes: Generator matrices and duality, Des. Codes Cryptogr. 54(2) (2010) 167–179. 50 https://doi.org/10.1007/s10623-006-9034-5 https://doi.org/10.1007/s10623-006-9034-5 https://doi.org/10.3906/mat-1001-71 https://doi.org/10.3906/mat-1001-71 https://doi.org/10.1080/00207160.2013.859854 https://doi.org/10.1080/00207160.2013.859854 http://dx.doi.org/10.12785/amis/070617 http://dx.doi.org/10.12785/amis/070617 https://doi.org/10.1080/03081087.2014.952728 https://doi.org/10.1109/18.761278 https://doi.org/10.1109/18.761278 https://doi.org/10.1007/s10623-009-9316-9 https://doi.org/10.1007/s10623-009-9316-9 I. Aydogdu / J. Algebra Comb. Discrete Appl. 6(1) (2019) 39–51 [8] A. R. Hammons, P. V. Kumar, A. R. Calderbank, N. J. A. Sloane, P. Sole, The Z4-linearity of Kerdock, Preparata, Goethals, and related codes, IEEE Trans. Inform. Theory 40(2) (1994) 301–319. [9] G. H. Norton, A. Sălăgean, On the structure of linear and cyclic codes over a finite chain ring, Appl. Algebra Engrg. Comm. Comput. 10(6) (2000) 489–506. 51 https://doi.org/10.1109/18.312154 https://doi.org/10.1109/18.312154 https://doi.org/10.1007/PL00012382 https://doi.org/10.1007/PL00012382 Introduction Standard form of the generator matrices of Zp[ur,us]-linear codes Duality on Zp[ur,us]-linear codes and parity-check matrices Binary images of Z2[ur,us]-linear codes Self-dual Z2[u2,u3]-linear codes Conclusion References