ISSN 2148-838Xhttp://dx.doi.org/10.13069/jacodesmath.645026 J. Algebra Comb. Discrete Appl. 7(1) • 55–71 Received: 17 May 2019 Accepted: 14 October 2019 Journal of Algebra Combinatorics Discrete Structures and Applications G-codes over formal power series rings and finite chain rings Research Article Steven T. Dougherty, Joe Gildea, Adrian Korban Abstract: In this work, we define G-codes over the infinite ring R∞ as ideals in the group ring R∞G. We show that the dual of a G-code is again a G-code in this setting. We study the projections and lifts of G-codes over the finite chain rings and over the formal power series rings respectively. We extend known results of constructing γ-adic codes over R∞ to γ-adic G-codes over the same ring. We also study G-codes over principal ideal rings. 2010 MSC: 94B05, 16S34 Keywords: G-codes, Finite chain rings, Formal power series rings, γ-adic codes 1. Introduction One of the most widely studied families of codes is the family of cyclic codes. One reason for this, is that cyclic codes over a Frobenius ring R have an algebraic description as ideals in the polynomial ring R[x]/〈xn − 1〉 where n is the length of the code. To classify cyclic codes, it is simply a matter of finding ideals in this ring via a factorization of xn−1 over R. Another very important reason is that cyclic codes are held invariant by the action of the cyclic shift. This, in turn, means that their automorphism group must contain the cyclic group of order n as a subgroup. This gives a structure to these codes which is highly useful in applications both in and out of mathematics. Cyclic codes were first studied over finite fields and later were studied over Frobenius rings, especially for chain rings and principal ideal rings. In [1], Calderbank and Sloane made a more unified approach to studying cyclic codes over the rings Zpe by studying cyclic codes over over the p-adic numbers. This approach implied results for cyclic codes over Zpe for all e > 0 by considering these rings as projections Steven T. Dougherty; Department of Mathematics, University of Scranton, Scranton, PA 18510, USA (email: prof.steven.dougherty@gmail.com). Joe Gildea, Adrian Korban (Corresponding Author); Department of Mathematical and Physical Sciences, Uni- versity of Chester, Thornton Science Park, Pool Ln, Chester CH2 4NU, England (email: j.gildea@chester.ac.uk, adrian3@windowslive.com). 55 https://orcid.org/0000-0003-4877-1923 https://orcid.org/0000-0001-7242-779X https://orcid.org/0000-0001-5206-6480 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 of the p-adic ring. This work has been generalized to study codes over arbitrary chain rings by S.T. Dougherty and Y.H. Park in [6]. In [4], γ-adic codes are defined over a formal power series ring which are then used to study codes over finite chain rings. Also, cyclic codes over formal power series rings are studied in [5]. Recently, G-codes have been defined as codes that are ideals in the group ring RG, where R is a finite commutative Frobenius ring and G is a finite group of order n. This gives an alternative view of cyclic codes as ideals in the group ring RCn where Cn is the cyclic group of order n. Moreover, it generalizes the notion of cyclic codes by considering codes whose automorphism group contains the arbitrary group G as a subgroup. In [3], parallels between cyclic codes and G-codes are drawn. For example, it is shown that the dual of a G-code is also a G-code, as in the case of cyclic codes, namely that the dual of a cyclic codes is also a cyclic code. Moreover, constructions of these codes are given as well as algebraic properties of their structure. In this work, we generalize these ideas to study G-codes in a very broad sense. Namely, we study G-codes over formal power series rings and use that canonical projection to study G-codes over finite chain rings. This allows for a construction of infinite families of G-codes from a single code and helps to determine their minimum weight and structural properties. 2. Preliminaries We begin by recalling some standard definitions from the theory of rings and the theory of codes. 2.1. Codes We shall give the definitions for codes over rings. For a complete description of algebraic coding theory in this setting, see [2]. Let R be a commutative ring. Note that we are not necessarily assuming that the ring is finite. A code of length n over R is a subset of Rn and a code is linear if it is a submodule of the ambient space Rn. We assume that all finite rings we use as alphabets are Frobenius, where a Frobenius ring is characterized by the following. Let R̂ be the character module of the ring R. For a finite ring R the following are equivalent: • R is a Frobenius ring. • As a left module, R̂ ∼= RR. • As a right module, R̂ ∼= RR. 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 define the standard inner-product on the ambient space, namely [v,w] = ∑ viwi. We define the orthogonal with respect to this inner-product as: C⊥ = {v ∈ Rn | [v,w] = 0,∀ w ∈C}. The code C⊥ is linear, whether or not C is. If R is a finite Frobenius ring, then we have that (C⊥)⊥ = C for all linear codes C over R. However, if R is infinite this is not always true, which prompts the following definition. Definition 2.1. A linear code C over an infinite ring R is called basic if C = (C⊥)⊥. 56 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 Not all linear codes are basic. For example, consider the code over the p-adic integers of length 2 given by C = 〈(p,p)〉. Here C⊥ = 〈(1,−1)〉. However, 〈(1,−1)〉⊥ = 〈(1, 1)〉 which strictly contains the code C. Therefore, this code is not basic. 2.2. Finite chain rings and formal power series rings We recall the definitions and properties of a finite chain ring R and the formal power series ring R∞. We refer the reader to [4] and [5] for details and further explanations. In this paper, we assume that all rings have a multiplicative identity and that all rings are commutative. A ring is called a chain ring if its ideals are linearly ordered by inclusion. In particular, this means that any finite chain ring has a unique maximal ideal. Let R be a finite chain ring. Denote the unique maximal ideal of R by m, and let γ̃ be the generator of the unique maximal ideal m. This gives that m = 〈γ̃〉 = Rγ̃, where Rγ̃ = 〈γ̃〉 = {βγ̃ | β ∈ R}. We have the following chain of ideals: R = 〈γ̃0〉⊇ 〈γ̃1〉⊇ ·· · ⊇ 〈γ̃i〉⊇ ·· · . (1) The chain in (1) can not be infinite, since R is finite. Therefore, there exists i such that 〈γ̃i〉 = {0}. Let e be the minimal number such that 〈γ̃e〉 = {0}. The number e is called the nilpotency index of γ̃. This gives that for a finite chain ring we have the following: R = 〈γ̃0〉⊇ 〈γ̃1〉⊇ ·· · ⊇ 〈γ̃e〉. (2) If the ring R is infinite then the chain in Equation 1 is also infinite. Consider, for example, the infinite chain in the p-adic integers: 〈1〉⊇ 〈p〉⊇ 〈p2〉⊇ 〈p3〉 · · · . (3) Let R× denote the multiplicative group of all units in the ring R. Let F = R/m = R/〈γ̃〉 be the residue field with characteristic p, where p is a prime number, then |F| = q = pr for some integers q and r. We know that |F×| = pr −1. We now state two well-known lemmas for which the proofs can be found in [10]. Lemma 2.2. For any 0 6= r ∈ R there is a unique integer i, 0 ≤ i < e such that r = µγ̃i, with µ a unit. The unit µ is unique modulo γ̃e−i. Lemma 2.3. Let R be a finite chain ring with maximal ideal m = 〈γ̃〉, where γ̃ is a generator of m with nilpotency index e. Let V ⊆ R be a set of representatives for the equivalence classes of R under congruence modulo γ̃. Then (i) for all r ∈ R there are unique r0, · · · ,re−1 ∈ V such that r = ∑e−1 i=0 riγ̃ i; (ii) |V | = |F|; (iii) |〈γ̃j〉| = |F|r−j for 0 ≤ j ≤ e− 1. From Lemma 2.3, we know that any element ã of R can be written uniquely as ã = a0 + a1γ̃ + · · · + ae−1γ̃e−1, where the ai can be viewed as elements in the field F. In the next definitions, which can be found in [4], γ will indicate the generator of the ideal of a chain ring, not necessarily the maximal ideal. Definition 2.4. The ring R∞ is defined as a formal power series ring: R∞ = F[[γ]] = { ∞∑ l=0 alγ l|al ∈ F}. 57 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 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 6= 0, but γi = 0 in Ri. If i is finite or infinite then the operations over Ri are defined as follows: i−1∑ l=0 alγ l + i−1∑ l=0 blγ l = i−1∑ l=0 (al + bl)γ l (4) i−1∑ l=0 alγ l · i−1∑ l′=0 bl′γ l = i−1∑ s=0 ( ∑ l+l′=s albl′)γ s. (5) We note that if i = 1 then R1 = F and if i = e then Re ∼= R. The following results can be found in [4]. 1. The ring Ri is a chain ring with the maximal ideal 〈γ〉 for all i < ∞. 2. The multiplicative group R×∞ = { ∑∞ j=0 ajγ j|a0 6= 0}. 3. The ring R∞ is a principal ideal domain. We note that the ring R∞ is an infinite ring whereas each Ri is a finite ring. The fact that the ring R∞ is a principal ideal domain makes the situation quite different than it is for codes over finite rings Ri. For example, assume i > 1 so that Ri is not a field. Then the ideal in Ri generated by γ is a non-trivial code C of length 1, where C⊥ = 〈γi−1〉. Note here that (C⊥)⊥ = C. However, the ideal in R∞ generated by γ is a non-trivial code C of length 1, and its orthogonal is {0} as the ring is a domain. But, {0}⊥ = R∞. In other words, while there are non-trivial codes of length 1 corresponding to ideals in the rings, their orthogonals act quite differently than they do in the finite ring since there are no zero divisors. It is well-known that the generator matrix for a code C over a finite chain ring Ri, where i < ∞ is permutation equivalent to a matrix of the following form: G =   Ik0 A0,1 A0,2 A0,3 A0,e γIk1 γA1,2 γA1,3 γA1,e γ2Ik2 γ 2A2,3 γ 2A2,e ... ... ... ... γe−1Ike−1 γ e−1Ae−1,e   , (6) where e is the nilpotency index of γ. This matrix G is called the standard generator matrix of the code C. In this case, the code C is said to have type 1k0γk1 (γ2)k2 . . . (γe−1)ke−1. (7) For linear codes over R∞, the situation is a little different. Let C be a finitely generated linear code over R∞. Then the generator matrix of code C is permutation equivalent to the following standard form generator matrix (see [4] for more details). 58 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 Let C be a finitely generated, nonzero linear code over R∞ of length n, then any generator matrix of C is permutation equivalent to a matrix of the following form: G =   γm0Ik0 γ m0A0,1 γ m0A0,2 γ m0A0,3 γ m0A0,r γm1Ik1 γ m1A1,2 γ m1A1,3 γ m1A1,r γm2Ik2 γ m2A2,3 γ m2A2,r ... ... ... ... γmr−1Ikr−1 γ mr−1Ar−1,r   , (8) where 0 ≤ m0 < m1 < · · · < mr−1 for some integer r. The column blocks have sizes k0,k1, . . . ,kr and ki are nonnegative integers adding to n. Definition 2.5. A code C with generator matrix of the form given in Equation 8 is said to be of type (γm0 )k0 (γm1 )k1 . . . (γmr−1 )kr−1, where k = k0 + k1 + · · · + kr−1 is called its rank and kr = n−k. A code C of length n with rank k over R∞ is called a γ-adic [n,k] code. We call k the dimension of C and denote the dimension by dim C = k. Let i,j be two integers with i ≤ j, we define a map Ψ j i : Rj → Ri, (9) j−1∑ l=0 alγ l 7→ i−1∑ l=0 alγ l. (10) If we replace Rj with R∞ then we obtain a map Ψ∞i . For convenience, we denote it by Ψi. Since both, Ψji and Ψi are projection maps, it is easy to show that Ψ j i and Ψi are ring homomorphisms. Let a,b be two arbitrary elements in Rj. It is easy to get that Ψ j i (a + b) = Ψ j i (a) + Ψ j i (b), Ψ j i (ab) = Ψ j i (a)Ψ j i (b). (11) If a,b ∈ R∞, we have that Ψi(a + b) = Ψi(a) + Ψi(b), Ψi(ab) = Ψi(a)Ψi(b). (12) Note that the map Ψji and Ψi can be extended naturally from R n j to R n i and R n ∞ to R n i . The construction method above gives a chain of rings where Ri is a finite ring for all finite i and R∞ is an infinite principal ideal domain. This gives the following diagram: R F ‖ ‖ R∞ → ··· → Re → Re−1 → ··· → R1 59 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 We note that in the above diagram, R is a finite chain ring with maximal ideal m = 〈γ̃〉, where γ̃ is a generator of m with nilpotency index e. 2.3. G-codes We begin by defining a circulant matrix, a reverse circulant matrix and a block circulant matrix before we introduce group rings. Definition 2.6. 1. A circulant matrix over a ring R is a square n×n matrix, which takes the form circ(a1,a2, . . . ,an) =   a1 a2 a3 . . . an an a1 a2 . . . an−1 an−1 an a1 . . . an−2 ... ... ... ... ... a2 a3 a4 . . . a1   where ai ∈ R. 2. A reverse circulant matrix over a ring R is a square n×n matrix, which takes the form rcirc(a1,a2, . . . ,an) =   a1 a2 a3 . . . an a2 a3 a4 . . . a1 a3 a4 a5 . . . a2 ... ... ... ... ... an a1 a2 . . . an−1   where ai ∈ R. 3. A block circulant matrix over a ring R is a square kn×kn matrix, which takes the form CIRC(A1,A2, . . . ,An) =   A1 A2 A3 . . . An An A1 A2 . . . An−1 An−1 An A1 . . . An−2 ... ... ... ... ... A2 A3 A4 . . . A1   where each Ai is a k ×k matrix over R. We shall now give the necessary definitions for group rings. Let G be a finite group of order n and let R be a ring, then the group ring RG consists of ∑n i=1 αigi, αi ∈ R, gi ∈ G. Addition in the group ring is done by coordinate addition, namely n∑ i=1 αigi + n∑ i=1 βigi = n∑ i=1 (αi + βi)gi. (13) The product of two elements in a group ring is given by ( n∑ i=1 αigi)( n∑ j=1 βjgj) = ∑ i,j αiβjgigj. (14) It follows that the coefficient of gk in the product is ∑ gigj=gk αiβj. 60 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 The following construction, first given by Hurly in [8], produces codes in Rn from elements in the group ring RG. Let R be a ring and let G = {g1,g2, . . . ,gn} be a group of order n. Let v = αg1g1 + αg2g2 + · · · + αgngn ∈ RG. Define the matrix σ(v) ∈ Mn(R) to be σ(v) =   αg−11 g1 αg−11 g2 αg−11 g3 · · · αg−11 gn αg−12 g1 αg−12 g2 αg−12 g3 · · · αg−12 gn ... ... ... ... ... αg−1n g1 αg−1n g2 αg−1n g3 · · · αg−1n gn   . (15) We note that the elements g−11 ,g −1 2 , . . . ,g −1 n are simply the elements of the group G in a given order. For a given v ∈ RG, the code C(v) is defined as follows: C(v) = 〈σ(v)〉. (16) Therefore, the code is formed by taking the row space of σ(v) over the ring R. In [3], it is shown that such codes are ideals in the group ring RG, and are held invariant by the action of the elements of G. Such codes are referred to as G-codes. We note that these codes necessarily have the group G as a subgroup of their automorphism group. Namely, there may be other automorphism of the code but the code must be held invariant by the actions of the group G on the coordinates of the code. It is precisely this property that makes these codes interesting. For example, many classical constructions of codes force the code to have a certain automorphism group simply by the form of their generator matrix. Consider how many self-dual codes are generated by matrices of the form (I | M) where M is a circulant matrix. This construction means that self-dual codes formed in this manner will have a certain form to its automorphism group, see [3] for a complete description. Then constructing self-dual codes by the group ring construction can give self-dual codes with different automorphism groups thus enabling the discovery of self-dual codes that would not be found using the classical techniques. Hence, part of the motivation for using this technique is to discover codes which the usual techniques fail to produce. In previous work relating group rings and codes, it has always been assumed that the ring is finite. We shall consider here group rings with the infinite ring R∞. Of course, the theory of group rings always allowed for the study of infinite rings. 3. G-codes and ideals in the group ring R∞G We shall extend the results from [3], where it is shown that the G-codes are ideals in RG and that the dual of a G-code is also a G-code in RG when R was a finite Frobenius ring. Here, we extend the results to R∞G, where G is an arbitrary finite group. The proofs are very similar to the ones in [3], with the difference that each nonzero element in R∞ is an infinite sum, rather than a finite sum. For simplicity, we write each non zero element in R∞ in the form γia where a = a0 + a1γ + · · ·+ · · · with a0 6= 0 and i ≥ 0, which means that a is a unit in R∞. We note that if v = γl1ag1g1 + γ l2ag2g2 + · · · + γlnagngn ∈ R∞G, then the rows of σ(v) consist precisely of the vectors that correspond to the elements hv in R∞G where h is any element of the group G. Then we take the row space of the matrix σ(v) over R∞ to get the corresponding G-code, namely C(v). Theorem 3.1. Let R∞ be the formal power series ring and G a finite group of order n. Let v ∈ R∞G and let C(v) be the corresponding code in Rn∞. Let I(v) be the set of elements of R∞G such that ∑ γliaigi ∈ I(v) if and only if (γl1a1,γl2a2, . . . ,γlnan) ∈C(v). Then I(v) is a left ideal in R∞G. Proof. The rows of σ(v) consist precisely of the vectors that correspond to the elements hv in R∞G where h is any element of G. Let a = ∑ γliaigi and b = ∑ γljbjgi be two elements in I(v), then a + b = ∑ (γliai + γ ljbj)gi, which corresponds to the sum of the corresponding elements in C(v). This implies that I(v) is closed under addition. 61 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 Let w1 = ∑ γlibigi ∈ R∞G. Then if w2 corresponds to a vector in C(v), it is of the form ∑ (γljαj)hjv. Then w1w2 = ∑ γlibigi ∑ (γljαj)hjv = ∑ γlibiγ ljαjgihjv which corresponds to an element in C(v) and gives that the element is in I(v). Therefore I(v) is a left ideal of R∞G. It is well known that cyclic codes can be viewed as ideals in the ring R[X]/〈Xn − 1〉, and that the reciprocal polynomial of the check polynomial h(x), is used to generate the ideal in R[X]/〈Xn − 1〉 corresponding to the dual code. In [3], the authors apply a similar approach to show that the dual of a G-code is also a G-code over a commutative Frobenius ring. They define an element in the group ring RG which is an ideal in that group ring, and also corresponds to the dual code. We now extend this result to G-codes over R∞. Let I be an ideal in a group ring R∞G. Define R(C) = {w | vw = 0, ∀v ∈ I}. It is immediate that R(I) is an ideal of R∞G. Let v = γl1ag1g1 + γ l2ag2g2 + · · · + γlnagngn ∈ R∞G and C(v) be the corresponding code. Let Ω : R∞G → Rn∞ be the canonical map that sends γl1ag1g1 + γl2ag2g2 + · · · + γlnagngn to (γl1ag1,γ l2ag2, · · · ,γlnagn ). Let I be the ideal Ω−1(C). Let w = (w1,w2, . . . ,wn) ∈C⊥. Then any row of the matrix σ(v) dot product w should equal zero: [(γl1ag−1 j g1 ,γl2ag−1 j g2 , . . . ,γlnag−1 j gn ), (w1,w2, . . . ,wn)] = 0, ∀j. (17) Which gives n∑ i=1 γliag−1 j gi wi = 0, ∀j. (18) Let w = Ω−1(w) = ∑ γkiwgigi and define w ∈ R∞G to be w = γk1bg1g1 +γk2bg2g2 +· · ·+γknbgngn, where γkibgi = γ kiwg−1 i . (19) Then n∑ i=1 γliag−1 j gi wi = 0 =⇒ n∑ i=1 γliag−1 j gi γkibg−1 i = 0. (20) Here, g−1j gig −1 i = g −1 j , thus this is the coefficient of g −1 j in the product of w and g −1 j v, where g −1 j v is a row of the matrix σ(v). This gives that w ∈R(I) if and only if w ∈C⊥. Let φ : Rn∞ → R∞G by φ(w) = w, then this map is a bijection between C⊥ and R(Ω−1(C)) = R(I). Now we have the following result. Theorem 3.2. Let C = C(v) be a code in R∞G formed from the vector v ∈ R∞G. Then Ω−1(C⊥) is an ideal of R∞G. Proof. The composite mapping Ω(φ(C⊥)) is permutation equivalent to C⊥ and φ(C⊥) is an ideal of R∞G. We know that φ is a bijection between C⊥ and R(Ω−1(C)), and we also know that Ω−1(C) is an ideal of R∞G as well. This proves that the dual of a G-code is also a G-code, over the formal power series ring. In cyclic codes, the coefficients of the reciprocal polynomial are those of the check polynomial but in reverse order. In w above, the elements wg−1 i correspond to the elements wgi in w, but in different order, and this order will depend on the choice of the group. Therefore, we have used the permutation equivalence property in the proof. 62 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 4. Projections and lifts of G-codes We begin by showing that if v ∈ R∞G then σ(v) is permutation equivalent to the matrix defined in Equation 8. For simplicity, we write each non-zero element in R∞ in the form γia where a = a0 + a1γ + · · · + · · · with a0 6= 0 and i ≥ 0, which means that a is a unit in R∞. Theorem 4.1. Let v = γl1ag1g1 + γ l2ag2g2 + · · · + γlnagngn ∈ R∞G, where agi are units in R∞. Let C = σ(v) be a finitely generated code over R∞. Then σ(v) =   γl1ag−11 g1 γl1ag−11 g2 γl1ag−11 g3 . . . γl1ag−11 gn γl2ag−12 g1 γl2ag−12 g2 γl2ag−12 g3 . . . γlnag−12 gn ... ... ... ... ... γlnag−1n g1 γ lnag−1n g2 γ lnag−1n g3 . . . γ lnag−1n gn   , is permutation equivalent to the standard generator given in (8). Proof. First, we take one non-zero element with form γm0agi, where m0 is the minimal nonnegative integer. By applying column and row permutations and by dividing a row by a unit, the element that corresponds to the first row and column of σ(v) can be replaced by γm0. The elements in the first column of matrix σ(v) have the form γljagj with lj ≥ m0 and agj a unit, thus, these can be replaced by zero when they are added to the first row multiplied by −γlj−m0 (agj )−1. Continuing the process using elementary operations, we obtain the standard generator matrix of the code C given in Equation 8. Example 4.2. Let v = γ2 + γ2(1 + γ)yx + γ2(1 + γ + γ2)yx2 + γ2yx3 ∈ R∞D8 where 〈x,y〉∼= D8. Then σ(v) = ( A B B A ) , where A = circ(γ2, 0, 0, 0),B = rcirc(0,γ2(1 + γ),γ2(1 + γ + γ2),γ2). Then σ(v) is equivalent to G =   γ2 0 0 0 0 γ2(1 + γ) γ2(1 + γ + γ2) γ2 0 γ2 0 0 γ2(1 + γ) γ2(1 + γ + γ2) γ2 0 0 0 γ2 0 γ2(1 + γ + γ2) γ2 0 γ2(1 + γ) 0 0 0 γ2 γ2 0 γ2(1 + γ) γ2(1 + γ + γ2)   . Clearly, G = C(v) = 〈σ(v)〉 is the [8, 4, 4] extended Hamming code. Let v1 = γ2 +γ2(1 +γ)yx+γ2(1 +γ + γ2)yx2 + γ2yx3 ∈ R∞D8, v2 = γ2 + γ2(1 + γ)y + γ2(1 + γ + γ2)yx + γ2yx2 ∈ R∞D8, v3 = γ2 + γ2(1 + γ + γ2)y +γ2yx+γ2(1 +γ)yx3 ∈ R∞D8 and v4 = γ2 +γ2y +γ2(1 +γ)yx2 +γ2(1 +γ +γ2)yx3 ∈ R∞D8 where vi are the group ring elements corresponding to the rows of G. Let I(v) = { ∑4 i=1 γ l1aivi|γl1ai ∈ R∞}. Then I(v) is a left ideal of R∞D8. We now examine the projection of codes with a given type. Proposition 4.3. Let C be a G-code over R∞ of type {(γm0 )k0, (γm1 )k1, . . . , (γmr−1 )kr−1} with generator matrix σ(v). Then the code generated by Ψi(σ(v)) is a code over Ri of type {(γm0 )k0, (γm1 )k1, . . . , (γms−1 )ks−1} where s is the largest mj that is less than i. Moreover, the code generated by Ψi(σ(v)) is equal to {(Ψi(c1), Ψi(c2), . . . , Ψi(cn)) | (c1,c2, . . . ,cn) ∈C}. (21) 63 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 Proof. If mj > i − 1 then Ψi sends γm1M′, where M′ is a matrix, to a zero matrix which gives the first statement. The code C is formed by taking the row space of σ(v) over the ring R∞, i.e. γl1a1v1 +γl2a2v2 +· · ·+ γlnanvn where γliai ∈ R∞ and vj are the rows of σ(v). If w = γljajvj, then Ψi(w) = Ψi(γljaj)Ψi(vj) by the equation given in (12) where Ψi(vj) applies the map coordinate-wise. This gives the second statement. Example 4.4. Let v = ∑3 j=0 γ lj+1aj+1x j +γlj+5aj+5x jy ∈ R∞(C2×C4) where (C2×C4) = 〈x1,x2 | x4 = y2 = 1,xy = yx〉. Then, σ(v) = ( A B B A ) , where A = circ(γl1a1,γl2a2,γl3a3,γl4a4),B = circ(γl5a5,γl6a6,γl7a7,γl8a8) and γljaj ∈ R∞. Let σ(v) be a generator matrix of a (C2 × C4)-code C. We know from Theorem 4.1 that C is a type {(γm0 )k0, (γm1 )k1, . . . , (γmr−1 )kr−1} code, since it is permutation equivalent to the standard generator matrix. Each row of σ(v) has the elements γl1a1,γl2a2, . . . ,γl8a8 in some specific order. Now, Ψi(σ(v)) = ( A B B A ) , where A = circ(Ψi(γl1a1), Ψi(γl2a2), Ψi(γl3a3), Ψi(γl4a4)),B = circ(Ψi(γl5a5), Ψi(γl6a6), Ψi(γ l7a7), Ψi(γ l8a8)) and Ψi(γljagj ) ∈ Ri. It follows that Ψi(σ(v)) is a code over Ri of type {(γm0 )k0, (γm1 )k1, . . . , (γms−1 )ks−1} where s is the largest mj that is less than i. We note that Ψi may send a non-zero coordinate to 0. This means that the Hamming weight of a code may decrease by applying Ψi, i.e. the minimum weight of Ψ(C) may be less than the minimum weight of C. The minimum weight cannot increase with the application of this map. Lemma 4.5. If C is a G-code over R∞, then C⊥ has type 1m for some m. Proof. First we notice that C is a linear code. From the matrix σ(v), and the fact that it is permutation equivalent to the standard generator matrix in Equation 8, we know that all the codewords in C⊥ are of the form γlv for some nonnegative integer l. This gives that [γlv,w] = 0 ∀ w ∈ C⊥, Hence, [γlv,w] = γl ∑n l=1 vlwl = γ l[v,w] = 0, which gives that [v,w] = 0, since 0 6= γl ∈ R∞ and R∞ is a domain. So if γlv ∈C⊥ then v ∈C⊥. Therefore the code C⊥ has the type 1m for some m. Proposition 4.6. Let C be a G-code over R∞. Then C = (C⊥)⊥ if and only if C has type 1k for some k. Proof. First we note that C is linear. Secondly, we note that (C⊥)⊥ ⊆C. Since C is a linear code then by Lemma 4.5, the code C⊥ is a linear code with type 1k for some k. This gives that (C⊥)⊥ has type 1n−(n−k) = 1k. The above two are extensions of the results from [4]. The following result, which can also be found in [4], is very useful when it comes to finding the generator matrix of the dual code C⊥ of C, given that C has a standard generator matrix G as in Equation 8. We extend this result to G-codes over R∞ but omit the proof as it is exactly the same as in [4]. Theorem 4.7. Let C be a G-code of length n over R∞. If C has a standard generator matrix G as in equation (8), then we have (i) the dual code C⊥ of C has a generator matrix H = ( B0,r B0,r−1 . . . B0,2 B0,1 Ikr ) , (22) where B0,j = − ∑j−1 l=1 B0,lA T r−j,r−l −A T r−j,r for all 1 ≤ j ≤ r; 64 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 (ii) rank(C)+rank(C⊥)=n. Example 4.8. If we take the generator matrix G of a code C from Example 4.2, we can see that G =  γ2   1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1   γ2   0 1 + γ 1 + γ + γ2 1 1 + γ 1 + γ + γ2 1 0 1 + γ + γ2 1 0 1 + γ 1 0 1 + γ 1 + γ + γ2     , which is the standard generator matrix- here, A0,1 =   0 1 + γ 1 + γ + γ2 1 1 + γ 1 + γ + γ2 1 0 1 + γ + γ2 1 0 1 + γ 1 0 1 + γ 1 + γ + γ2   . In this case the generator matrix of the dual code C⊥ of C has the form: H = ( B0,1 Ik1 ) . Now, from Theorem 4.7 B0,1 = −AT0,1, thus H =   0 −(1 + γ) −(1 + γ + γ2) −1 1 0 0 0 −(1 + γ) −(1 + γ + γ2) −1 0 0 1 0 0 −(1 + γ + γ2) −1 0 −(1 + γ) 0 0 1 0 −1 0 −(1 + γ) −(1 + γ + γ2) 0 0 0 1   . We also have rank(C) + rank(C⊥) = 4 + 4 = 8 = n. Proposition 4.9. Let C be a self-orthogonal G-code over R∞. Then the code Ψi(C) is a self-orthogonal G-code over Ri for all i < ∞. Proof. We first show that Ψi(C) is self-orthogonal. Let v ∈ R∞G and 〈σ(v)〉 = C(v) be the corre- sponding self-orthogonal G-code. This implies that [v,w] = 0 for all v,w ∈ 〈σ(v)〉 = C(v). This gives that n∑ l=1 vlwl ≡ n∑ l=1 Ψi(vl)Ψi(wl)(mod γi) ≡ Ψi([v,w])(mod γi) ≡ 0 (mod γi). Hence Ψi(C) is a self-orthogonal code over Ri. To show that Ψi(C) is also a G-code, we notice that when taking Ψi(C) = Ψi(〈σ(v)〉), it corresponds to Ψi(v) = Ψi(γliagi )g1 + Ψi(γl2ag2 )g2 + · · · + Ψi(γlnagn )gn, then Ψi(C) ∈ RiG. Thus Ψi(C) is also a G-code. Definition 4.10. Let i,j be two integers such that 1 ≤ i ≤ j < ∞. We say that an [n,k] code C1 over Ri lifts to an [n,k] code C2 over Rj, denoted by C1 �C2, if C2 has a generator matrix G2 such that Ψ j i (G2) is a generator matrix of C1. We also denote C1 by Ψ j i (C2). If C is a [n,k] γ-adic code, then for any i < ∞, we call Ψi(C) a projection of C. We denote Ψi(C) by Ci. Lemma 4.11. Let C be a G-code over R∞ with type 1k. If σ(v) is a standard form of C, then for any positive integer, i, Ψi(σ(v)) is a standard form of Ψi(C). 65 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 Proof. We know from Theorem 4.1 that σ(v) is permutation equivalent to a standard form matrix defined in Equation 8. We also have that C has type 1k, hence Ψi(C) has type 1k. The rest of the proof is the same as in [4]. In the following, to avoid confusion, we let v∞ and v be elements of the group rings R∞G and RiG respectively. Let v∞ = γl1ag1g1 + γ l2ag2g2 + · · · + γlnagngn ∈ R∞G, and C(v∞) = 〈σ(v∞)〉 be the corresponding G-code. We now define the following map: σ1 : R∞G →C(v∞), (γl1ag1g1 + γ l2ag2g2 + · · · + γ lnagngn) 7→ M(R∞G,v∞). We define a projection of G-codes from R∞G to RiG. Let Ψi : R∞G → RiG (23) γia 7→ Ψ(γia). (24) The projection is a homomorphism which means that if I is an ideal of R∞G, then Ψi(I) is an ideal of RiG. We have the following commutative diagram: R∞G σ1−→ C(v∞) Ψi ↓ ↓ Ψi RiG −→σ1 C(v) . This gives that Ψiσ1 = σ1Ψi, which gives the following theorem. Theorem 4.12. If C is a G-code over R∞, then Ψi(C) is a G-code over Ri for all i < ∞. Proof. Let v∞ ∈ R∞G and C(v∞) be the corresponding G-code over R∞. Then σ1(v∞) = C(v∞) is an ideal of R∞G. By the homomorphism in Equation 23 and the commutative diagram above, we know that Ψi(σ1(v∞)) = σ1(Ψi(v∞)) is an ideal of the group ring RiG. This implies that Ψi(C) is a G-code over Ri for all i < ∞. This gives that if we take any element v ∈ R∞G, for a finite group G, and form σ(v), then we get a family of infinitely many G-code by taking Ψi(C(v)) for all i. In the same way, if we take any element v ∈ R1G, then we get a family of infinitely many G-code by taking the lifts of the code C(v). Hence, each G code over a finite chain ring is part of an infinite family of G-codes. Theorem 4.13. Let C be a G-code over Ri, then the lift of C, C̃ over Rj, where j > i, is also a G-code. Proof. Let v1 = αg1g1 + αg2g2 + · · · + αgngn ∈ RiG and C = 〈σ(v1)〉 be the corresponding G-code. Let v2 = βg1g1 + βg2g2 + · · · + βgngn ∈ RjG and C̃ = 〈σ(v2)〉 be the corresponding G-code. We can say that v1 and v2 act as generators of C and C̃ respectively. We can clearly see that Ψ j i (v2) = Ψ j i (βg1 )g1 + Ψ j i (βg2 )g2 + · · ·+ Ψ j i (βgn )gn = αg1g1 + αg2g2 + · · ·+ αgngn ∈ RiG, thus Ψ j i (v2) is a generator matrix of C. This implies that the G-code C(v1) over Ri lifts to a G-code over Rj, for all j > i. Example 4.14. Here we construct an infinite family of a G-code. If we take v∞ = γ2+γ2(1+γ)yx+γ2(1+ γ +γ2)yx2 +γ2yx3 ∈ R∞D8 where 〈x,y〉∼= D8, then we saw in Example 4.2 that C(v∞) = 〈σ(v∞)〉 is the 66 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 [8, 4, 4] extended Hamming code. If we take Ψ1(C(v∞)) so that the elements {γ2,γ2(1+γ),γ2(1+γ+γ2)}∈ R∞ all get mapped to 1 ∈ R1 = F2, we get the [8, 4, 4] extended binary Hamming code, i.e., v∞ = γ 2 + γ2(1 + γ)yx + γ2(1 + γ + γ2)yx2 + γ2yx3 ∈ R∞D8 σ1−→ C(v∞) Ψ1 ↓ ↓ Ψ1 v = 1 + yx + yx2 + yx3 ∈ R1D8 = F2D8 −→σ1 C(v) . If we now take v = 1 + yx + yx2 + yx3 ∈ R1D8 = F2D8 then C(v) = 〈σ(v)〉 is equivalent to the [8, 4, 4] extended binary Hamming code. Next we take v∞ = γ2 +γ2(1 +γ)yx+γ2(1 +γ +γ2)yx2 +γ2yx3 ∈ R∞D8 where C(v∞) = 〈σ(v∞)〉 is also the [8, 4, 4] extended Hamming code. We can then have Ψ1(v∞) = Ψ1(γ 2)1 + Ψ1(γ 2(1 + γ)yx + Ψ1(γ 2(1 + γ + γ2)yx2 + Ψ1(γ 2)yx3 = 1 + yx + yx2 + yx3 ∈ R1D8 = F2D8. Thus, Ψ1(v∞) is a generator matrix of C(v). This implies that the G-code C(v) over R1 = F2 lifts to a G-code over R∞. Hence we have constructed an infinite family of G-codes. The following is an extension of codes over chain rings that are projections of γ-adic codes (see [4] for details), to G-codes. By Lemma 4.11 and Theorem 4.12, we know that for an [n,k] G-code C over R∞ of type 1k, Ci = Ψi(C) is an [n,k] G-code of type 1k over Ri. We also have Ci � Ci+1 for all i. Thus if a G-code C over R∞ of type 1k is given, then we obtain a series of lifts of G-codes as follows: Ci �C2 � ···� Ci � . . . Conversely, let C be an [n,k] G-code over F = Re/〈γ〉 = R1, and let G = G1 be its generator matrix. It is clear that we can define a series of generator matrices, Gi ∈ Mk×n(Ri) such that Ψi+1i (Gi+1) = Gi, where Mk×n(Ri) denotes all the matrices with k rows and n columns over Ri. This defines a series of lifts Ci of C to Ri for all i. Then this series of lifts determines a unique code C that Ci = Ci. Let C be an [n,k] G-code of type 1k, and G,H be a generator and parity-check matrices of C. Let Gi = Ψi(G) and Hi = Ψi(H). Then Gi and Hi are generator and parity check matrices of Ci respectively. The following results are well known and can be applied to G-codes over R∞ since these are also γ-adic codes. Proofs can be found in [4]. Lemma 4.15. Let i < j < ∞ be two positive integers, then (i) γj−iGi ≡ γj−iGj (mod γj); (ii) γj−iHi ≡ γj−iHj (mod γj). (iii) γj−1Ci ⊆Cj; (iv) v = γiv0 ∈Cj if and only if v0 ∈Cj−i; (v) Ker(Ψji )=γ iCj−i. Lemma 4.15 (v) shows that the Hamming weight enumerator of the kernel Ker(Ψji ) is equal to the Hamming weight enumerator of Cj−i. In [4], the authors study the weights of codewords in lifts of a code. We state the result with an extension to G-codes over R∞. We omit the proof since it is the same as in [4] as G-codes over R∞ are just a special type of γ-adic codes. Theorem 4.16. Let C be a G-code over R∞. Then the following two results hold. (i) the minimum Hamming distance dH (Ci) of Ci is equal to d = dH (C1) for all i < ∞; (ii) the minimum Hamming distance d∞ = dH (C) of C is at least d = dH (C1). 67 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 In the remainder of this section, we extend the two results from [4] on MDS and MDR codes over R∞ to the same type of codes which are also G-codes over the same ring. It is known (see [9]) that for codes C of length n over any alphabet of size m dH (C) ≤ n− logm(|C|) + 1 (25) Codes meeting this bound are called MDS (Maximal Distance Separable) codes. For a code C of length n over an finite Quasi-Frobenius ring R, we have (see [7]) rC = min{l | there exists a monomorphism C → Rl as R−modules}. If C is linear, then we have (see [7]) dH (C) ≤ n−rC + 1. (26) Codes meeting this bound are called MDR (Maximal Distance with respect to Rank) codes. A linear code C over R is called free if C is isomorphic as a module to Rt for some t. This implies that if C is free then rC = rank(C). Theorem 4.17. Let C be a G-code over R∞. If C is an MDR or MDS code then C⊥ is an MDS code. Proof. We know that C is linear. Assume that C is of length n, rank k, with dH (C) = n − k + 1. We know from Lemma 4.5 that if C is of rank k then C⊥ is of type 1n−k. Since R∞ is a domain, any n−k columns of the generator matrix (equivalently a parity check matrix) of C⊥ are linearly independent giving that the minimum Hamming weight of C⊥ is n− (n−k) + 1 = k + 1. Theorem 4.18. Let C be a G-code over Ri, and C̃ be a lift G-code of C over Rj, where j > i. If C is an MDS code over Ri then the code C̃ is an MDS code over Rj. Proof. Since C is a linear code, the proof is the same as in [4]. 5. Self-dual γ-adic G-codes One of the most significant uses of G-codes so far has been their use in constructing good self-dual codes. In this section, we extend some results for self-dual γ-adic codes to G-codes over R∞. We therefore fix the ring R∞ with R∞ →···→ Ri →···→ R2 → R1 and R1 = Fq where q = pr for some prime p and nonnegative integer r. The field Fq is said to be the underlying field of the rings. We now state two very well known results for self-dual codes over Fq and self-dual codes over R∞. These can be found in [11] and [4] respectively. Theorem 5.1. (i) If p = 2 or p ≡ 1 (mod 4), then a self-dual code of length n exists over Fq if and only if n ≡ 0 (mod 2); (ii) If p ≡ 3 (mod 4), then a self-dual code of length n exists over Fq if and only if n ≡ 0 (mod 4). Corollary 5.2. Let C be a self-dual code of length n over R∞. Recall that p is the characteristic of the underlying field F. We have (i) If p = 2 or p ≡ 1 (mod 4), then n ≡ 0 (mod 2); (ii) If p ≡ 3 (mod 4), then n ≡ 0 (mod 4). 68 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 In [4], the authors also prove that if i is even, then self-dual codes of length n exist over Ri for all n. This can be easily extended to self-dual G-codes as these are a special type of self-dual codes over Ri. We now look at two theorems from [4] where one considers self-dual codes over Ri with a specific type and one considers projections of self-dual codes over R∞. We extend these to self-dual G-codes over Ri and R∞ respectively. Theorem 5.3. Let i be odd and C be a G-code over Ri with type 1k0 (γ)k1 (γ2)k2 . . . (γi−1)ki−1. Then C is a self-dual code if and only if C is self-orthogonal and kj = ki−j for all j. Proof. It is enough to show that σ(v) where v ∈ RiG and G is a finite group, is permutation equivalent to the matrix (6). The rest of the proof is the same as in [4]. Theorem 5.4. If C is a self-dual G-code of length n over R∞ then Ψi(C) is a self-dual G-code of length n and type 1k over Ri for all i < ∞. Proof. We first show that Ψi(C) is self-dual. Since C is self-dual, C = C⊥ which gives that C = C⊥ = (C⊥)⊥. We also know from Proposition 4.6 that the code C has type 1k for some k. Hence, k = n − k, which implies that k = n 2 . Then Ψi(C) also has type 1k, with k = n2 giving the desired size condition. We also know from Proposition 4.9 that Ψi(C) is self-orthogonal. Therefore Ψi(C) is a self-dual code. To show that Ψi(C) is also a G-code, we notice that when taking Ψi(C) = Ψi(〈σ(v)〉), it corresponds to Ψi(v) = Ψi(γliagi )g1 + Ψi(γ l2ag2 )g2 + · · · + Ψi(γlnagn )gn, then Ψi(C) ∈ RiG. Thus Ψi(C) is also a G-code. In the remainder of this section, we extend two more results from [4]. The first one describes a method to construct a self-dual code over F from a self-dual code over Ri. We extend this to self-dual G-codes. Theorem 5.5. Let i be odd. A self-dual G-code of length n over Ri induces a self-dual G-code of length n over Fq. Proof. The proof is similar to the one in [4] but with two extra things added. First, we notice that σ(v) where v ∈ RiG which generates the self-dual code C(v), is permutation equivalent to a standard generator matrix G of the form: G =   Ik0 A0,1 A0,2 A0,3 A0,i γIk1 γA1,2 γA1,3 γA1,i γ2Ik2 γ 2A2,3 γ 2A2,i ... ... ... ... γi−1Iki−1 γ i−1Ai−1,i   . Then the code C over Ri is of type 1k0 (γ)k1 (γ2)k2 . . . (γi−1)ki−1. Secondly, when the map Ψi1(G̃) is used in [4], we notice that in our case the map will correspond to Ψi1(G̃) = Ψ i 1(v) = Ψ i 1(γ liagi )g1 + Ψ i 1(γ l2ag2 )g2 + · · · + Ψi1(γlnagn )gn, assuming that G̃ is the generator matrix of a G-code and v ∈ RiG. Then Ψi1(G̃) is the generator matrix of a G-code over Fq. The last result from [4] which we extend to G-codes is the one which considers lifts of self-dual codes over F to self-dual codes over R∞. The authors prove the result by starting with a generator matrix of the code C over R1(= F) which has the form G1 = (I | A1), and then using the induction to show that there exist matrices Gi = (I | Ai) such that Ψi+1i (Gi+1) = Gi. To extend this to self-dual G-codes, we can define the matrix G1 by taking the row space of σ(v) over F and perform row or column permutations to get a self-dual code of the form (I | A1) where A1 is a matrix over F = R1. A similar approach can be found in [3], where examples of the [16, 5, 8] Reed-Muller code, the [8, 4, 4] extended Hamming code or [24, 12, 8] Golay code over F2 are constructed from group rings and σ(v). 69 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 Theorem 5.6. Let R = Re be a finite chain ring, F = R/〈γ〉, where |F| = q = pr, 2 6= p is a prime. Then any self-dual G-code C over F can be lifted to a self-dual G-code over R∞. Proof. We know by Theorem 4.13 that a G-code over Ri can be lifted to a G-code over Rj, where j > i. To show that a self-dual G-code over F lifts to a self-dual G-code over R∞, it is enough to follow the proof in [4], but with the generator matrix G1 being defined as above. 6. G-codes over principal ideal rings Let R1e1,R 2 e2 , . . . ,Rses be chain rings, where R j ej has unique maximal ideal 〈γj〉 and the nilpotency index of γj is ej. Let Fj = Rjej/〈γj〉. Let A = CRT(R1e1, . . . ,R j ej , . . . ,Rses ). We know that A is a principal ideal ring. For any 1 ≤ i < ∞, let A j i = CRT(R 1 e1 , . . . ,R j i , . . . ,R s es ). This gives that all the rings Aji are principal ideal rings. In particular, A j ej = A. We denote CRT(R1e1 . . . ,R j ∞, . . . ,R s es ) by Aj∞. For 1 ≤ i < ∞, let Cji be a code over R j i . Let Cji = CRT(C 1 e1 , . . . ,Cji , . . . ,C s es ) be the associated code over Aji. Let Cj∞ = CRT(C 1 e1 , . . . ,Cj∞, . . . ,C s es ) be associated code over Aj∞. We can now prove the following. Theorem 6.1. Let Cjej be a G-code over the chain ring R j ej . Then Cj∞ =CRT(C1e1, . . . ,C j ∞, . . . ,Cses ) is a G-code over Aj∞. Proof. Let g ∈ G and vi ∈ Cjej. Each row of C j ej is of the form gvi, for all i. Now, if v = CRT(v1,v2, . . . ,vs), then gv = CRT(gv1,gv2, . . . ,gvs) and so gv ∈ Cj∞, giving that Cj∞ is an ideal in Aj∞G. 7. Conclusion In this work, we studied G-codes over the formal power series rings and finite chain rings. We generalized many known results of codes over these rings to G-codes. We showed that the dual of a G- code is also a G-code and we studied projections and lifts of G-codes with a given type in this setting. We also extended known methods of constructing a self-dual code over F from a self-dual code over Ri and a self-dual code over F to a self-dual code over R∞, to self-dual G-codes. We lastly considered G-codes over principal ideal rings. Throughout the paper, we constructed examples in which the codes have generator matrices that consist of blocks which are either circulant or reverse circulant matrices. We do not know if this is a general feature for any finite group ring, we therefore suggest that this is studied in the future work. 70 S.T. Dougherty et al. / J. Algebra Comb. Discrete Appl. 7(1) (2020) 55–71 References [1] A. R. Calderbank, N. J. A. Sloane, Modular and p–adic cyclic codes, Des. Codes Cryptogr. 6(1) (1995) 21–35. [2] S. T. Dougherty, Algebraic Coding Theory over Finite Commutative Rings, Springer Briefs in Math- ematics, Springer, 2017. [3] S. T. Dougherty, J. Gildea, R. Taylor, A. Tylshchak, Group rings, G–codes and constructions of self–dual and formally self–dual codes, Des. Codes Cryptogr. 86(9) (2018) 2115–2138. [4] S. T. Dougherty, L. Hongwei, Y. H. Park, Lifted codes over finite chain rings, Math. J. Okayama Univ. 53 (2011) 39–53. [5] S. T. Dougherty, L. Hongwei, Cyclic codes over formal power series rings, Acta Mathematica Scientia 31(1) (2011) 331–343. [6] S. T. Dougherty, Y. H. Park, Codes over the p–adic integers, Des. Codes and Cryptog. 39(1) (2006) 65–80. [7] H. Horimoto, K. Shiromoto, A Singleton bound for linear codes over quasi–Frobenius rings, Proceed- ings of the 13th International Symposium on Applied Algebra, Algebraic Algorithms, and Error– Correcting Codes (1999) 51–52. [8] T. Hurley, Group rings and rings of matrices, Int. Jour. Pure and Appl. Math 31(3) (2006) 319–335. [9] F. J. MacWilliams, N. J. A. Sloane, The Theory of Error–Correcting Codes, North–Holland, Ams- terdam, 1977. [10] B. R. McDonald, Finite Rings with Identity , New York: Marcel Dekker, Inc, 1974. [11] E. Rains, N. J. A. Sloane, Self–dual codes, in the Handbook of Coding Theory , Pless V.S. and Huffman W.C., eds., Elsevier, Amsterdam, 177–294, 1998. 71 https://doi.org/10.1007/BF01390768 https://doi.org/10.1007/BF01390768 https://doi.org/10.1007/s10623-017-0440-7 https://doi.org/10.1007/s10623-017-0440-7 https://doi.org/10.1016/S0252-9602(11)60233-6 https://doi.org/10.1016/S0252-9602(11)60233-6 https://doi.org/10.1007/s10623-005-2542-x https://doi.org/10.1007/s10623-005-2542-x Introduction Preliminaries G-codes and ideals in the group ring RG Projections and lifts of G-codes Self-dual -adic G-codes G-codes over principal ideal rings Conclusion References