ISSN 2148-838Xhttp://dx.doi.org/10.13069/jacodesmath.284950 J. Algebra Comb. Discrete Appl. 4(2) • 141–154 Received: 16 June 2015 Accepted: 18 February 2016 Journal of Algebra Combinatorics Discrete Structures and Applications Codes and the Steenrod algebra Research Article Steven T. Dougherty, Tane Vergili Abstract: We study codes over the finite sub Hopf algebras of the Steenrod algebra. We define three dualities for codes over these rings, namely the Eulidean duality, the Hermitian duality and a duality based on the underlying additive group structure. We study self-dual codes, namely codes equal to their orthogonal, with respect to all three dualities. 2010 MSC: 11T71, 94B05 Keywords: Self-dual codes, Non-commutative rings, Steenrod algebra 1. Introduction Codes over commutative rings have received a great deal of attention since the discovery in the early 1990s that certain non-linear binary codes were in fact the images under a Gray map of codes over Z4. Very little work has been done yet on codes over non-commutative rings. In [11], J. Wood gave foundational results for codes over commutative and non-commutative rings. Specifically, he showed that Frobenius rings were the class of rings for which it was natural to study codes since both MacWilliams theorems hold in this case. In [4], Dougherty and Leroy described some general theorems about self-dual codes over non-commutative rings with respect to the Euclidean inner-product. In this work, we shall study codes over a family of non-commutative Frobenius rings that are of great importance in the study of algebraic topology. Namely, we study codes over the finite sub Hopf algebras of the Steenrod algebra. We take a broader approach to duality in that we consider both the Euclidean and Hermitian inner- products as well as duality based on the underlying additive group structure. We consider linear codes as well as additive codes. Namely, linear codes are when the code is a submodule of the ambient space and additive codes are when they are simply a subgroup of the ambient space in terms of the additive operation. Steven T. Dougherty (Corresponding Author); Department of Mathematics, University of Scranton, Scranton, PA 18510, USA (email: prof.steven.dougherty@gmail.com). Tane Vergili; Department of Mathematics, Ege University, 35100 Izmir, Turkey (email: tanevergili@gmail.com). 141 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 2. Definitions and notations 2.1. Steenrod algebra In this paper, we shall use as our coding alphabet, the Steenrod algebra at the prime 2. We assume throughout the paper that all computations in the Steenrod algebra and in the sub Hopf algebra are done with the assumption that the prime is 2. For a complete topological discussion about the Steenrod algebra see [10]. We shall now give an algebraic description of these algebras. We start our description by defining the Steenrod squaring operations Sqk. By convention we have that Sq0 = 1 and Sqk is assigned grading k. The Steenrod algebra A is the free associative graded algebra generated by Sqk over the field F2 subject to the following relations: SqkSqj = ∑ 0≤i≤bk 2 c ( j − i− 1 k − 2i ) Sqj+k−iSqi (1) for 0 < k < 2j. These relations are known as the Adem relations. The Steenrod squares Sqk are group homomorphisms Sqk : Hi(X; Z2) −→ Hi+k(X; Z2) between the cohomology groups of a topological space X, for k,i ≥ 0 satisfying the following (see [10] for a complete description): 1. The square Sq0 is an identity and if i < k, then Sqk = 0. 2. If k = i, then Sqkx = x2 for all x ∈ Hi(X; Z2). 3. The square Sqk(x ∪ y) = ∑ k=k1+k2 Sqk1 (x) ∪ Sqk2 (y), where the operation ∪ is the cup product of the cohomology ring H∗(X; Z2) := ⊕ n≥0 Hn(X; Z2) and x,y ∈ H∗(X; Z2). By utilizing Z2 as the coefficient group of the cohomology group, no sign problems occur. The grading of the Steenrod square Sqk is k and for the monomial formed as the composition of the Steenrod squares, Sqk1Sqk2 · · ·Sqki, is k1 + k2 + . . . + ki. Formally, the Steenrod algebra A is the graded associative algebra generated over the finite field F2 by the Steenrod squares subject to the Adem relations and the identity homomorphism Sq0. The operations Sq0 and Sq2 k , k ≥ 0, constitute a system of multiplicative generators for A, see [9] for a complete description. The Steenrod algebra has a Hopf algebraic structure (see [7]) and is the union of the finite sub Hopf algebras A(n), for n ≥ 0, where A(n) is generated by the squares Sq2 j for 0 ≤ j ≤ n and Sq0. Note that A(n) ⊆ A(n + 1) for all n ≥ 0. R. Wood [13] has defined the atomic squares which are of the form Sq2 s(2t−1) where s ≥ 0, t > 0 are integers such that s + t ≤ n + 1, to form a Z base system for the A(n) which can be extended to the whole algebra. The Z base system for A(n) is constructed as follows: Let Xn = Sq 1·2nSq3·2 n−1 Sq7·2 n−2 · · ·Sq2 n+1−1 and define Zn := XnXn−1 · · ·X1X0. For instance, 142 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 Z1 = Sq 2Sq3Sq1, Z2 = Sq 4Sq6Sq7Sq2Sq3Sq1, and Z3 = Sq8Sq12Sq14Sq15Sq4Sq6Sq7Sq2Sq3Sq1. The element Zn is the top element for A(n) in terms of the grading. The set of 2(n+1)(n+2)/2 monomials obtained by selecting all subsets of atomic factors in Zn, in the given order, is an additive basis for A(n) (see [13]). We note that the product of the top element in A(i) and the top element in A(j) is 0 in the Steenrod Algebra, that is ZiZj = 0, for all i,j, since it exceeds the maximum grading in A(n) where n = max{i,j}. See [T. Vergili, I. Karaca, A note on the new basis in the mod 2 Steenrod algebra, in preparation, 2016] for a description of the basis of the Steenrod algebra. All computations done in this paper for the Steenrod algebra where performed using the computational tool given in [6]. Throughout the paper, we shall denote SqaSqb by Sqa,b for convenience. 2.2. Codes and rings A code C of length m over a ring R is a subset of Rm. If the code is a left module then we say that C is left linear and if C is a right module then we say that C is right linear. Suppose R is a finite ring. Let M̂ denote the character module HomZ(M,C) where M is a module. The following are equivalent for finite rings, see [11]: • R is a Frobenius ring. • As a left module, R̂ ∼=R R. • As a right module R̂ ∼= RR. It is well known that A(n) is a Frobenius ring for all n, see [11] for example. Next, we shall define an involution of the Steenrod algebra which also applies to the sub Hopf Algebras. Define the map τ : A → A by τ(Sq0) = Sq0, and τ(Sqk) = k∑ i=1 Sqiτ(Sqk−i). (2) The map τ can be restricted to A(n) in a natural way as long as Sqk ∈ A(n). It is well known that τ is an anti-isomorphism, that is, τ is additive and τ(ab) = τ(b)τ(a) and that τ2 is the identity map. We note that τ is often written as χ in the literature, see [7], [14] and [10] for example, but we shall use χ as a generating character of the character module as is standard and use τ for this anti-isomorphism. 2.3. Orthogonals We shall now describe inner-products which can be used in A(n)m. In classical coding theory, the Euclidean inner-product is the standard inner-product. However, it is often the case that the Hermitian inner-product is used for specific applications. For example, it is used when self-dual codes over finite rings are used to construct Complex and Quaternionic lattices, see [3] and [2] for example. Define the two following inner-products. The Euclidean inner-product is defined as [v,w] = ∑ viwi. (3) The Hermitian inner-product is defined as [v,w]H = ∑ viτ(wi). (4) 143 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 Let C be a code then the left Euclidean orthogonal is L(C) = {v | [v,w] = 0, ∀w ∈ C} (5) and the right Euclidean orthogonal is R(C) = {v | [w,v] = 0, ∀w ∈ C}. (6) Let C be a code then left Hermitian orthogonal is LH (C) = {v | [v,w]H = 0, ∀w ∈ C} (7) and the right Hermitian orthogonal is RH (C) = {v | [w,v]H = 0, ∀w ∈ C}. (8) In [4], is shown that L(C) is a left linear code and R(C) is a right linear code. Of course, left linearity does not imply right linearity nor does right linearity imply left linearity. We note that the notion of Hermitian and Euclidean duality are not identical. For example, let a1 = a2 = Sq 2,1. Then a1a2 = Sq2,3,1 but a1τ(a2) = Sq2,1Sq3 = 0. So a2 ∈ RH (A(1)[a1]) but a2 6∈R(A(1)[a1]). Theorem 2.1. Let C be a code over A(n) then LH (C) is a left linear code. Proof. Let C be a code over A(n). Let v,w ∈LH (C). Then [av + cw,u]H = ∑ (avi + cwi)τ(ui) = a ∑ viτ(ui) + c ∑ wiτ(ui) = 0 + 0 = 0. Hence av + cw ∈LH (C) and it is a left linear code. Unlike in the Euclidean case, R(C) is not necessarily right linear, since [u,va + wc]H = ∑ ui(τ(via + wic)) = ∑ uiτ(a)τ(vi) + ∑ uiτ(c)τ(wi) which may or may not be 0. However, we do have the following theorem, which again is unlike the Euclidean case. Theorem 2.2. Let C be a code over A(n). Then LH (C) = RH (C). Proof. Let w ∈LH (C). Then [w,v]H = 0 for all v ∈ C. This implies that ∑ wiτ(vi) = 0 which gives τ( ∑ wiτ(vi)) = τ(0) = 0. Then, we have ∑ τ(τ(vi))τ(wi) = 0 and finally ∑ viτ(wi) = 0. This gives that w ∈RH (C). Let w ∈ RH (C). Then [v,w]H = 0 for all v ∈ C. This implies that ∑ viτ(wi) = 0 which gives τ( ∑ viτ(wi)) = τ(0) = 0. Then we have ∑ τ(τ(wi))τ(vi) = 0 and finally ∑ wiτ(vi) = 0. This gives that w ∈LH (C). Example 2.3. Consider the two sided ideal A(1)[Sq3,1] = 〈Sq3,1,Sq2,3,1〉 in A(1). Then we have that RH (A(1)[Sq3,1]) = 〈Sq1,Sq3,Sq2,1,Sq2,3,Sq3,1,Sq2,3,1〉 = LH (A(1)[Sq3,1]) is also a two sided ideal in A(1). Since the left and right Hermitian orthogonals are equal this gives that RH (C) is left linear but it may not be right linear. Example 2.4. Let C be the code of length 1 over A(1) defined by A = A(1)[Sq2 + Sq3,1]. Then C = 〈Sq2+Sq3,1,Sq3,Sq2,3,Sq3,1+Sq2,3,1,Sq2,3,1〉. Then RH (C) = 〈Sq3,Sq2,3,Sq2,3,1〉. We have that RH (C) is not right linear since Sq3Sq1 6∈RH (C). 144 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 For any ring R let J(R) denote the Jacobson radical of R, which is defined as the intersection of all maximal left ideals in R. Theorem 2.5. Let A(n) be the sub Hopf algebra and let b1,b2, . . . ,bt be the basis elements with b1 = Sq0 and bt = Zn. The ring A(n) is a left and right local ring with unique two sided maximal ideal M(n) = A(n)[b2,b3, . . . ,bt] = J(A(n)). We have that L(M(n)) = R(M(n)) = Soc(A(n)) = A(n)[bt] = {0,Zn}. Proof. We know that btbi = bibt = 0 for all i, 1 < i ≤ t. Therefore A(n)[bt] = [bt]A(n) = {0,Zn} and bt ∈ L(I) for all left and right ideals I ⊂ A(n),I 6= A(n). Therefore R(L(I)) = I ⊆ R(A(n)[bt]) and L(R(I)) = I ⊆L(A(n)[bt]). Then we have that R(A(n)[bt]) = L(A(n)[bt]) = A(n)[b2,b3, . . . ,bt] = [b2,b3, . . . ,bt]A(n) = M(n). Hence A(n)[bt] is the unique minimal ideal and its left and right dual is the unique maximal ideal. Therefore Soc(A(n)) = A(n)[bt] = {0,Zn} and J(A(n)) = A(n)[b2,b3, . . . ,bt]. This leads naturally to the following corollary. Corollary 2.6. The two sided ideal {0,Zn} is contained in all non-trivial ideals of A(n). 3. MacWilliams relations The MacWilliams relations are one of the foundational results of algebraic coding theory. They relate the weight enumerator of a linear code with the weight enumerator of its dual. The critical part of finding specific MacWilliams relations for a code over a ring R is to find a generating character for R̂. Namely, if φ : R → R̂ is a right R-module isomorphism then the generating character is φ(1). A generating character was given for A(1) in [12]. Theorem 3.1. Let b1, . . . ,bt be a basis for A(n) with bt = Zn. Define χ : A(n) → C∗ by χ( t∑ i=1 aibi) = (−1)at, (9) where the ai ∈ F2. Then χ is a generating character of Â(n). Proof. It is immediate that χ is a homomorphism and hence a character of A(n). We know from Corollary 2.6 that bt ∈ I for all non-zero left ideals I in A(n). Also we have that χ(bt) = −1 so χ contains no non-zero ideals in its kernel. By Lemma 3.1 in [11], which states that a character is both a left generating and right generating character if it contains no non-trivial ideals in its kernel, we have that χ is a generating character for Â(n). Notice that the generating character for A(n + 1) is not an extension of the generating character for A(n). We are not claiming that there is a unique generating character. To the contrary, any character whose kernel contains no non-trivial ideal is a generating character. We are simply identifying a useful generating character. We know that A(n) and Â(n) are isomorphic (although not canonically). Let χa be the character associated with the element a, then we have that χa(c) = χ(ac), where χ is the generating character for Â(n). Definition 3.2. For a code over an alphabet A = {a0,a1, . . . ,as−1}, the complete weight enumerator is defined as: cweC (xa0,xa1, . . . ,xas−1 ) = ∑ c∈C s−1∏ i=0 xni(c)ai (10) 145 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 where there are ni(c) occurrences of ai in the vector c. Let T be the |A(n)| by |A(n)| matrix defined by Ta,c = χ(ac). For a matrix M and vector v we let M · v = (Mvt)t so that the result is a row vector. In [11], Wood establishes the MacWilliams relations for codes over Frobenius rings. Theorem 3.3. If C is a left submodule of A(n)m, then cweC (x0,x1, . . . ,xk) = 1 |R(C)| cweR(C)(T t · (x0,x1, . . . ,xk)). If C is a right submodule of A(n)m, then cweC (x0,x1, . . . ,xk) = 1 |L(C)| cweL(C)(T · (x0,x1, . . . ,xk)). Let TH be the |A(n)| by |A(n)| matrix with (TH )a,c = χ(aτ(c)). We notice that (TH )a,c is not identical to Ta,c. Let a = Sq3, c = Sq3. Then ac = Sq2,3,1 = Z1 and aτ(c) = 0. Thus χ(ac) = −1 but χ(aτ(c)) = 1. While T 6= Tt in general, we do have the following for TH. Theorem 3.4. Let (TH )a,c = χ(aτ(c)) where χ is the generating character for Â(n). Then TH = TtH. Proof. We note that the anti-isomorphism τ preserves the grading of A(n), so χ defined as (−1)at for the element ∑ aibi with bi the basis of A(n), satisfies χ(a) = χ(τ(a)). Then (TH )a,c = χ(aτ(c)) = χ(τ(aτ(c)) = χ(cτ(a)) = (TH )c,a. A similar proof to Theorem 3.3 applies to the Hermitian dual although it is not stated in [11]. Namely we have the following. Theorem 3.5. If C is a left submodule of A(n)m, then cweC (x0,x1, . . . ,xk) = 1 |RH(C)| cweR(C)(T t H · (x0,x1, . . . ,xk)). If C is a right submodule of A(n)m, then cweC (x0,x1, . . . ,xk) = 1 |LH(C)| cweL(C)(TH · (x0,x1, . . . ,xk)). The standard proof, setting xi = 1, gives the following corollary. Corollary 3.6. If C is a left linear code over A(n) then |C||RH (C)| = |A(n)|m and if C is a right linear code over A(n) then |C||LH (C)| = |A(n)|m. Example 3.7. We continue with Example 2.4. Let C be the code of length 1 over A(1) defined by A = A(1)[Sq2 + Sq3,1]. Then C = 〈Sq2 + Sq3,1,Sq3,Sq2,3,Sq3,1 + Sq2,3,1,Sq2,3,1〉. Then RH (C) = 〈Sq3,Sq2,3,Sq2,3,1〉. Then |C| = 25 and |RH (C)| = 23 and 2523 = |A(1)|. 146 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 4. Self-dual and Hermitian self-dual codes Self-dual codes are one of the most widely studied families of codes, for both codes over rings and fields. They have interesting applications to designs, lattices and invariant theory. In a recent text [8] a very broad view of self-dual codes have been given with respect to various dualities and interesting connections to invariant theory have been given. In this section, we shall study self-dual codes over the finite ring A(n). We begin with the definition for a self-dual code over a non-commutative ring. Definition 4.1. A linear code C is said to be Euclidean self-dual if C = L(C). It is shown in [4] that a code C that is equal to L(C) must also be equal to R(C). This implies that C is both left linear and right linear when it is self-dual. This implies that a self-dual code must be a bimodule. Definition 4.2. A linear code C is said to be Hermitian self-dual if C = LH (C). We know that LH (C) = RH (C) so a Hermitian self-dual code satisfies C = LH (C) = RH (C). We now investigate some results about self-orthogonality and self-duality. In [4] it is shown that if v1,v2, . . . ,vs are vectors over A(n) such that [vi,vj] = 0 for all i and j, then [v1,v2, . . . ,vs]A(n) ⊆R(A(n)[v1,v2, . . . ,vs]). (11) Notice that we do not necessarily have that A(n)[v1,v2, . . . ,vs] ⊆ R(A(n)[v1,v2, . . . ,vs]) as we would have for commutative rings. For example, if a = Sq1 and c = Sq2 then a2 = 0 but (ca)2 = (ca)(ca) = Sq2,3,1 6= 0. So the code A(1)[a] 6⊆R(A(1)[a]). This means that more must be considered when generating a self-orthogonal code. Specifically, it is shown in [4] that if v1,v2, . . . ,vs are vectors in Rn, where R is any Frobenius ring, then [vi,αvj] = 0 for all i,j and α ∈ R if and only if 〈v1,v2, . . . ,vs〉L is a self-orthogonal code. Theorem 4.3. There exists Euclidean and Hermitian self-dual codes of length 2 over A(n) for all n. Proof. Consider the code C = A(n)[(Sq0,Sq0)]. Then v ∈ C implies that v = (a,a) which gives [(a,a), (c,c)] = ac+ac = 0. Hence it is both left and right self-orthogonal. Then |C| = |A(n)| = √ |A(n)|2 and so the code is Euclidean self-dual. For the Hermitian dual of C, we have [(a,a), (c,c)]H = aτ(c) + aτ(c) = 0 and the remainder of the proof is identical. Using the standard techniques we have the following corollary. Corollary 4.4. There exist Euclidean and Hermitian self-dual codes for all even lengths over A(n) for all n. Proof. If C and D are self-dual codes (Euclidean or Hermitian) of length m and m′ respectively then C ×D is a self-dual code of length m + m′. This gives the result. Theorem 4.5. Let C be a binary self-dual code of length m, then reading 1 as Sq0, we have A(n)[C] is a Euclidean and Hermitian self-dual code. Proof. The code C has a basis of vectors vi over F2. We note that m must be even for a binary self-dual code to exist. Then |A(n)[v1,v2, . . . ,v m 2 ]| = |A(n)| m 2 . Then [ ∑ aivi, ∑ cjvj] = [ ∑ aivi, ∑ vjcj] = ∑ i,j ai[vi,vj]cj = 0, (12) since the elements in the coordinates of vi commute with all of the elements of A(n). Therefore the code is Euclidean self-dual. 147 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 Next consider [ ∑ aivi, ∑ cjvj]H = [ ∑ aivi, ∑ vjcj]H ∑ i,j ai[vi,vj]Hcj = 0, (13) since the Hermitian inner-product and the Euclidean inner-product are identical for vectors with coordi- nates containing only 0 and Sq0. The key to this result was that 0 and Sq0 are in the center of the ring. If we take a self-orthogonal code over a subring which is not in the center the proof would not apply and the code over the larger ring generated by the code over the subring may not be self-orthogonal. Theorem 4.6. Let C be a non-trivial code of length 1 over A(n). Then Zn ∈ R(C),Zn ∈ L(C) and Zn ∈RH (C) = LH (C), Proof. The codes L(C), R(C), and LH (C) = RH (C) are left linear or right linear regardless if C is linear. Therefore, as non-trivial ideals, {0,Zn} is a subset of all of them by Corollary 2.6. Theorem 4.7. 1. Let C = A(n)[v1,v2, . . . ,vs] and C′ = A(n + t)[v1,v2, . . . ,vs], t > 0. Then R(C) ⊆R(C′) and RH (C) ⊆RH (C′). 2. Let C = [v1,v2, . . . ,vs]A(n) and C′ = [v1,v2, . . . ,vs]A(n + t), t > 0. Then L(C) ⊆ L(C′) and LH (C) ⊆LH (C′). Proof. We prove only the first item, the second follows similarly. Let w ∈R(C). Consider the following inner-product: [a1v1 + a2v2 + · · · + asvs,w] = a1[v1,w] + a2[v2,w] + · · · + as[vs,w] = 0. (14) Therefore w ∈R(C′). For the second part of the statement, let w ∈RH (C). Consider the following inner-product: [a1v1 + a2v2 + · · · + asvs,w]H = a1[v1,w]H + a2[v2,w]H + · · · + as[vs,w]H = 0. (15) Therefore w ∈RH (C′). 5. Code over A(n) and binary codes Recall that A(n) has a canonical basis with 2 (n+1)(n+2) 2 elements. Then |A(n)| = 22 ( (n+1)(n+2) 2 ) . For example, A(1) has 8 basis elements and 28 elements. For A(2), the algebra has 26 basis elements and 264 elements. We now fix a basis b1,b2, . . . ,bt for A(n) with t = 2( (n+1)(n+2) 2 ). Let a ∈ A(n) = ∑ aibi. Define the map Ψ : A(n) → Ft2 by Ψ(a) = Ψ( ∑ aibi) = (a1,a2, . . . ,at). (16) Note that the map Ψ is dependent on the basis b1,b2, . . . ,bt for A(n) and so we keep this ordering of the basis elements throughout the remainder of the paper. By the definition of addition in A(n) we have that Ψ is an additive map. We extend C to A(n)m by allowing it to act on each coordinate. Definition 5.1. A code C over A(n) is an additive code if for all v,w ∈ C, v + w ∈ C. 148 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 We see that an additive code is a subgroup of (A(n))m but it may not be a submodule. That is, a linear code is necessarily additive, but an additive code may not be linear. Theorem 5.2. Let C be an additive code over A(n) of length m. Then Ψ(C) is a linear binary code of length 2( (n+1)(n+2) 2 )m. Proof. We already have that Ψ is an additive map. Then the theorem follows by noting that an additive code over F2 is linear over F2. Example 5.3. Let C be the code of length 1 over A(1) defined as C = A(1)[Sq2,1 + Sq3]. Then Ψ(C) is the linear binary code generated by   0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1   . The following theorem has a proof similar to the one of Theorem 5.2. Theorem 5.4. Let C be a linear code over F2 of length 2( (n+1)(n+2) 2 )m. Then Ψ−1(C) is an additive code of length m over A(n). Example 5.5. Let C be the binary Hamming code of length 8. Then Ψ−1(C) is a subgroup of A(1) but not a submodule. For example, the elements Sq0 + Sq1 + Sq2 + Sq2,3,1 and Sq2 + Sq3 + Sq2,3 + Sq2,3,1 are both elements of Ψ−1(C) but their product Sq2 + Sq3,1 is not. It is easy to see that this element is not in the code since its corresponding vector in F82 would have Hamming weight 2 whereas the minimum Hamming weight of the length 8 Hamming code is 4. We can define an orthogonality relation for additive codes that will correspond to the orthogonality for binary codes. Let G(n) be the additive group of A(n). Order the elements of G(n) by g1,g2, . . . ,gs, where s = 2(2 (n+1)(n+2) 2 ). Fix a character table TG for Ĝ defined by TGg1,g2 = −1 [Ψ(g1),Ψ(g2)], (17) where [Ψ(g1), Ψ(g2)] indicates the usual binary inner-product. Then χgi corresponds to the row of TG given by χ(gigj) where j goes from 1 to s. Definition 5.6. Let v,w ∈ A(n)m. Define [v,w]G = ∏ χvi (wi). We note that the result of this inner-product is either 1 or −1. If C is an additive code over A(n) define the orthogonal to be C∗ = {(c1,c2, . . . ,cm) | ∏ χci (vi) = 1, for all (v1,v2, . . . ,vm) ∈ C}. (18) Theorem 5.7. If C is an additive code in A(n)m, then cweC (x0,x1, . . . ,xk) = 1 |C∗| cweC∗ (TG · (x0,x1, . . . ,xk)). (19) Proof. It follows from the standard MacWilliams relations for codes over groups. Namely, the matrix TG serves as a duality for the underlying additive group of the ring. Theorem 5.8. Let C be a code over A(n) then Ψ(C∗) = Ψ(C)⊥. Proof. Let v,w ∈ A(n)m. The following are equivalent statements: 149 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 1. [v,w]G = 1 2. ∏ χvi (wi) = 1 3. ∏ (−1)[Ψ(vi),Ψ(wi)] = 1 4. [Ψ(v), Ψ(w)] = 0. This gives that [v,w]G = 1 if and only if [Ψ(v), Ψ(w)] = 0. The next corollary follows immediately from Theorem 5.8. Corollary 5.9. A code C in (A(n))m is self-dual with respect to the duality TG if and only if Ψ(C) is a binary self-dual code. Corollary 5.10. Self-dual codes exists for all lengths over A(n) with respect to the duality TG. Proof. Since 2 (n+1)(n+2) 2 is even, for all n ≥ 0, there exists binary self-dual codes of all lengths 2 (n+1)(n+2) 2 m. Then apply Corollary 5.9. Note that we can replace the duality TG with a different duality for the group, which may or may not correspond directly to the binary orthogonality. 6. Codes over the Steenrod algebra Just as we described codes over A(n) we can extend these ideas to the infinite ring A. This was done in a similar way for codes over the p-adics in [1] and [5]. A code here is a subset of Am and it is left linear or right linear if it is a left submodule or right submodule of Am. Similarly, we can define L(C), R(C), LH (C) and RH (C) as in the finite case. We cannot define the group orthogonality since the underlying additive group is infinite and the technique no longer applies. Notice that in this infinite case, we have that LH (C) = RH (C) as it is in the finite case. We can now define a projection to A(n). Let C be a code over A, then let Cn = C ∩ (A(n))m. (20) Theorem 6.1. Let C be a left (right) linear code over A then Cn is a left (right) linear code for all n. Proof. Assume C is left linear. Let v,w ∈ C and a,c ∈ A(n). Then av + cw ∈ C since C is left linear. Each coordinate of v and w is an element of A(n) so av + cw ∈ (A(n))m since the ring A(n) is closed under addition and multiplication. Then av + cw ∈ C ∩ (A(n))m = Cn and Cn is left linear. The proof in the right linear case is similar. In general we have C0 ⊆ C1 ⊆ ···⊆ C. Theorem 6.2. Let C be a code over A. • If C ⊆L(C) then Cn ⊆L(Cn). • If C ⊆R(C) then Cn ⊆R(Cn). • If C ⊆LH (C) = RH (C) then Cn ⊆LH (Cn) = RH (C). Proof. We prove the first case and the rest are similar. If C ⊆ L(C) then Cn ⊆ C ⊆ L(C) and Cn ⊆L(C) ∩ (A(n))m ⊆L(Cn). 150 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 In this sense self-orthogonality projects down but self-duality may not. For example, let C1 = A(1)(Sq2,1 + Sq3), which is self-dual. But C0 ∩A(0) = {0} is not self-dual. Lemma 6.3. Let G be a binary matrix in standard form (I |M) and let C = A[G]. Then Cn = A(n)[G]. Proof. If v ∈ C ∩ (A(n))m then the coefficients of the rows in the linear combination resulting in v must all be from A(n) since the first part of the matrix is the identity. Theorem 6.4. Let G be a matrix in standard form that generates a self-dual binary code, then A[G] is a self-dual code over A. Proof. The proof of Theorem 4.5 shows that the code must be self-orthogonal. However, it does not show self-duality since it uses a cardinality argument. Assume there exists v ∈L(C) with v 6∈ C. Then for some n, we have that v ∈ A(n)m. This implies that Cn = A(n)[G], by Lemma 6.3, has an element v ∈ L(Cn),v 6∈ Cn which contradicts Theorem 4.5. Therefore the code is self-dual. Let G generate a binary self-dual code of length m and let C = A[G]. Then C is self-dual and Cn is self-dual for all n. This gives infinite families of self-dual codes for all even lengths. We shall now investigate some codes over A which we can then project down. Lemma 6.5. For all α ∈ A we have that Z1αZ1 = 0. Proof. Any α in A can be written as a sum of atomic squares so it is sufficient to prove the result for atomic squares. • If α is one of the atomic squares in A(1) then the claim is true since Z1 is the top element of A(1). • Next, we consider the case for atomic squares with an odd power. Let α = Sq2 t−1 for t ≥ 3 then Sq1Sq2 t−1 = 0 (21) since 2t − 1 is an odd number and the result follows from the Adem relations. Hence Z1αZ1 = 0. • Next, we consider the case for atomic squares where the power of the atomic square is a power of 2. Let α = Sq2 s for s ≥ 2. First we multiply Z1 and α. Note that if k is an even integer then from the Adem relations we have that Sq1Sqk = Sqk+1. (22) Then we have Z1α = Sq 2Sq3Sq1Sq2 s = Sq2Sq3Sq2 s+1. (23) For s ≥ 2, 3 < 2(2s + 1), we then apply the Adem relations to Sq3Sq2 s+1 which gives Sq2Sq3Sq2 s+1 = Sq2[ 1∑ k=0 ( 2s −k 3 − 2k ) Sq2 s+4−kSqk] = Sq2[ ( 2s 3 ) Sq2 s+4 + ( 2s − 1 1 ) Sq2 s+3Sq1]. 151 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 The first term will be 0 since the binomial coefficient is an even number. Hence Z1α = Sq2Sq3Sq2 s+1 = Sq2Sq2 s+3Sq1. Since 2 < 2(2s + 3) for s ≥ 2, we can apply the Adem rela- tions to Sq2Sq2 s+3, which gives Sq2Sq2 s+3Sq1 = [ 1∑ k=0 ( 2s + 2 −k 2 − 2k ) Sq2 s+5−kSqk]Sq1 = [ ( 2s + 2 2 ) Sq2 s+5 + ( 2s + 1 0 ) Sq2 s+4Sq1]Sq1 = Sq2 s+5Sq1 + Sq2 s+4Sq1Sq1 = Sq2 s+5Sq1. Now we have Z1α = Sq2 s+5Sq1. If we multiply these with Z1 from the right we have Z1αZ1 = Sq 2s+5Sq1Sq2Sq3Sq1 = Sq2 s+5(Sq3Sq3Sq1) = Sq2 s+50 = 0. (24) • Next we consider the remaining two cases of atomic squares. Let α = Sq2(2 t−1) where t ≥ 2. From the Adem relations we have that Sq2Sq3Sq1 = Sq5Sq1. Then Z1α = Sq 2Sq3Sq1Sq2(2 t−1) = Sq5Sq1Sq2(2 t−1) = Sq5Sq2 t+1−1. (25) Since 5 < 2(2t+1 − 1) for t ≥ 2, we can apply the Adem relations to Sq5Sq2 t+1−1 which gives Sq5Sq2 t+1−1 = 2∑ k=0 ( 2t+1 −k − 2 5 − 2k ) Sq2 t+1+4−kSqk = ( 2t+1 − 2 5 ) Sq2 t+1+4 + ( 2t+1 − 3 3 ) Sq2 t+1+3Sq1 + ( 2t+1 − 4 1 ) Sq2 t+1+2Sq2 = 0, since the binomial coefficients are always even numbers. Hence we get Z1α = 0 so Z1αZ1 = 0. • We now consider the final case. Let α = Sq2 s(2t−1) where s,t ≥ 2. We have that Z1α = Sq 2Sq3Sq1Sq2 s(2t−1) = Sq5Sq1Sq2 s(2t−1) = Sq5Sq2 s(2t−1)+1. (26) Since 5 < 2(2s(2t − 1) + 1) for s,t ≥ 0, we can apply the Adem relations to Sq5Sq2 s(2t−1)+1 which gives Sq5Sq2 s(2t−1)+1 = 2∑ k=0 ( 2s(2t − 1) −k 5 − 2k ) Sq2 s(2t−1)+6−kSqk = ( 2s(2t − 1) 5 ) Sq2 s(2t−1)+6 + ( 2s(2t − 1) − 1 3 ) Sq2 s(2t−1)+5Sq1 + ( 2s(2t − 1) − 2 1 ) Sq2 s(2t−1)+4Sq2. The first and the last term are zero since the binomial coefficients are even. For the second term if the binomial coefficient is 0 then Z1α = 0 and Z1αZ1 = 0. Otherwise it will be 1 and then Z1α = Sq 2s(2t−1)+5Sq1 and then Z1αZ1 will again be 0 as in the third case when the powers of the atomic squares were a power of 2. 152 S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 This does not say that αZi is necessarily 0 for all α. For example, Z1Sq4 = Sq9,1 and Sq4Z1 = Sq7,2,1 + Sq9,1 but Z1Sq4Z1 = 0. Theorem 6.6. Let C = A[Z1,Z2, . . . ] and D = [Z1,Z2, . . . ]A. Then C and D are Hermitian self- orthogonal codes. Proof. For the left linear code C, we need to show that [aZi,cZj]H = 0 for all integer i,j ≥ 1. We have that [aZi,cZj]H = aZiτ(cZj) = aZiτ(Zj)τ(c) = aZiZjτ(c) = a(0)τ(c) = 0. This gives that C is Hermitian self-orthogonal. We note that Zi = γZ1 and Zj = δZ1 for some γ,δ ∈ A(n), n = max{i,j}. For the right linear code D, we need to show that [Zia,Zjc]H = 0 for all integers i,j ≥ 1. We have that [Zia,Zjc]H = Ziaτ(Zjc) = Zi(aτ(c))Zj = γ(Z1(aτ(c)δ)Z1) = 0 by Lemma 6.5. This gives that D is Hermitian self-orthogonal. Similarly, we have the following theorem. Theorem 6.7. Let C = A[Z1,Z2, . . . ] and D = [Z1,Z2, . . . ]A. Then C and D are Euclidean self- orthogonal codes. Proof. As in the previous proof, we let Zi = γZ1 and Zj = δZ1 for some γ,δ ∈ A(n), n = max{i,j}. For the left linear code C we need to show that [aZi,cZj] = 0 for all integers i,j ≥ 1. We have that [aZi,cZj] = aZi(cZj) = aγZ1βδZ1 = aγ(Z1(βδ)Z1) = 0 by Lemma 6.5. This gives that C is Euclidean self-orthogonal. For the right linear code D, we need to show that [Zia,Zjc] = 0 for all integers i,j ≥ 1. We have that [Zia,Zjc] = γZ1aδZ1c = γ(Z1(aδ)Z1)c = 0 by Lemma 6.5. This gives that D is Euclidean self-orthogonal. This leads naturally to the following corollary. Corollary 6.8. Let C = A[Z1,Z2, . . . ], D = [Z1,Z2, . . . ]A, Cn = C ∩ (A(n))m and Dn = D ∩ (A(n))m then Cn and Dn are both Euclidean and Hermitian self-orthogonal codes for all n. Proof. The results follow directly from Theorem 6.6, Theorem 6.7 and Theorem 6.2. The code C = A[Z1,Z2, . . . ] is not self-dual. If it were then L(C) would be equal to R(C). However, Sq1Sq6Z1 = Sq 9,3,1 6= 0 but Zn = γZ1 = γSq2Sq3Sq1 is ZnSq1 = 0 and Sq1 6∈ L(C) but Sq1 ∈ R(C). In terms of the Hermitian inner-product, Sq1 is in both duals but Sq1 is not in C, hence the code is not Hermitian self-dual. Similar results hold for D = [Z1,Z2, . . . ]A. References [1] A. R. Calderbank, N. J. A. Sloane, Modular and p−adic cyclic codes, Des. Codes Cryptog. 6(1) (1995) 21–35. [2] Y. J. Choie, S. T. Dougherty, Codes over Σ2m and Jacobi forms over the quaternions, Appl. Algebra Engrg. Comm. Comput. 15(2) (2004) 129–147. [3] Y. J. Choie, S. T. Dougherty, Codes over rings, complex lattices and Hermitian modular forms, European J. Combin. 26(2) (2005) 145–165. [4] S. T. Dougherty, A. Leroy, Euclidean self–dual codes over non–commuatative Frobenius rings, Appl. Alg. Engrg. Comm. Comp. 27 (3) (2016) 185–203. [5] S. T. Dougherty, Y. H. Park, Codes over the p−adic integers, Des. Codes Cryptog. 39(1) (2006) 65–80. 153 http://dx.doi.org/10.1007/BF01390768 http://dx.doi.org/10.1007/BF01390768 http://dx.doi.org/10.1007/s00200-004-0153-9 http://dx.doi.org/10.1007/s00200-004-0153-9 http://dx.doi.org/10.1016/j.ejc.2004.04.002 http://dx.doi.org/10.1016/j.ejc.2004.04.002 http://dx.doi.org/10.1007/s00200-015-0277-0 http://dx.doi.org/10.1007/s00200-015-0277-0 http://dx.doi.org/10.1007/s10623-005-2542-x http://dx.doi.org/10.1007/s10623-005-2542-x S.T. Dougherty, T. Vergili / J. Algebra Comb. Discrete Appl. 4(2) (2017) 141–154 [6] A. Kruckman, https://math.berkeley.edu/∼kruckman/adem/. [7] J. Milnor, The Steenrod algebra and its dual, Ann. Math. 67(1) (1958) 150–171. [8] G. Nebe, E. M. Rains, N. J. A. Sloane, Self–Dual Codes and Invariant Theory, Vol. 17, Algorithms and Computation in Mathematics, Springer–Verlag, Berlin, 2006. [9] J. P. Serre, Cohomologie modulo 2 des complexes d’Eilenberg–Mac–Lane, Comment. Math. Helv. 27(1) (1953) 198–232. [10] N. E. Steenrod, D. B. A. Epstein, Cohomology Operations, Ann. of Math. Studies, no.50, Princeton University Press, 1962. [11] J. A. Wood, Duality for modules over finite rings and applications to coding theory, Amer. J. Math. 121(3) (1999) 555–575. [12] J. A. Wood, Anti–isomorphisms, character modules, and self–dual codes over non–commutative rings, Int. J. Inf. Coding Theory 1(4) (2010) 429–444. [13] R. M. W. Wood, A note on bases and relations in the Steenrod algebra, Bull. Lond. Math. Soc. 27(4) (1995) 380–386. [14] R. M. W. Wood, Problems in the Steenrod algebra, Bull. Lond. Math. Soc. 30(5) (1998) 449–517. 154 https://math.berkeley.edu/~kruckman/adem/ http://dx.doi.org/10.2307/1969932 http://dx.doi.org/10.1007/3-540-30731-1 http://dx.doi.org/10.1007/3-540-30731-1 http://dx.doi.org/10.1007/BF02564562 http://dx.doi.org/10.1007/BF02564562 http://doi.org/10.1353/ajm.1999.0024 http://doi.org/10.1353/ajm.1999.0024 http://dx.doi.org/10.1504/IJICOT.2010.032867 http://dx.doi.org/10.1504/IJICOT.2010.032867 http://dx.doi.org/10.1112/blms/27.4.380 http://dx.doi.org/10.1112/blms/27.4.380 http://dx.doi.org/10.1112/S002460939800486X Introduction Definitions and notations MacWilliams relations Self-dual and Hermitian self-dual codes Code over A(n) and binary codes Codes over the Steenrod algebra References