1.
Introduction
Mass formulas are combinatorial identities that count the number of equivalence classes of codes weighted by the size of their automorphism groups. They have been instrumental in classifying self-dual codes over finite fields [12,13,14,15] and unitary finite rings [3,6,10,11,17]. When many self-dual codes are generated, by any means whatsoever "not excluding divination" [7], these formulas serve as stopping criteria for the generating effort. Recently, a notion of quasi self-dual code, a subclass of self-orthogonal codes, was introduced over the ring Ip in the list of rings of [9,16] in the special case of order 4, that is to say,
Work on the classification of quasi self-dual codes over that ring was done by Alahmadi et al. [1], who classified quasi self-dual codes under coordinate permutation up to length 3, and derived a mass formula for these codes under coordinate permutation.
The present paper extends the latter work to the ring
where p is an odd prime. In particular, we classify self-orthogonal codes, and quasi self-dual codes of lengths at most three for p=3,5, and p=7. In addition, we also classify self-dual codes under monomial action over the same ring, building on the structural results of [2], which were not known at the time of writing [1]. With any linear code over this ring is attached an additive Fp2-code, a map which enables us to use the additive code package of Magma [4], and produce the numerical results in the Appendix. Although that package does not afford an automorphism subroutine in odd characteristic, the short length of the codes considered allowed us some simple algorithmic strategies. While additive codes were first introduced over F4 [5] from a quantum coding motivation, they can also be defined over Fp2, for p odd, with similar motivation and properties. For instance, additive self-dual codes over GF(9) were classified in [8].
The rest of the paper is arranged as follows. The next section consists of notations and notions needed for the other sections. Section 3 studies and constructs codes over Ip. Section 4 derives the three main mass formulas. Section 5 concludes the article. Numerical results are collected in the Appendix (Section 6).
2.
Preliminaries
2.1. Codes over Fp and Fp2
Let p be an {odd} prime number. A linear code of length n and dimension k over a finite field Fp is an Fp subspace of the vector space Fnp of dimension k. Compactly, we call it an [n,k]-code. The elements of such a code are called codewords. Two codewords x=(x1,x2,...,xn) and y=(y1,y2,...,yn) are orthogonal if their standard inner product (x,y)=n∑i=1xiyi is zero, and the vector space consisting of all vectors in Fnp, that are orthogonal to every codeword in C is called the dual of C, denoted by C⊥. A linear code is said to be self-orthogonal (resp. self-dual) if C⊆C⊥ (resp. C=C⊥).
Let ω be a primitive element in Fp2, and let r=p2−1. Then Fp2={0,1,ω,ω2,⋯,ωr−1}. The trace map, Tr:Fp2↦Fp, is defined by Tr(u)=u+up. An additive code of length n over Fp2 is an Fp− additive subgroup of Fnp2 containing pk codewords for some integer k in the range 0⩽k⩽2n. Denote by wt(x) the (Hamming) weight of x∈Fp2. We use the Magma [4] notation
for the weight distribution of a code over Fp2, where Ai is the number of codewords of Hamming weight i.
2.2. Rings
Following [9], we define a ring on two generators a,b by their relations
Thus, Ip consists of p2 elements, which can be written as cij=ia+jb where 0≤i,j<p. From the ring representation of Ip, we infer that Ip is commutative without multiplicative identity, and contains a unique maximal ideal Jp={jb:0⩽j<p}. Thus we can write Ip as
Define the reduction map modulo Jp as α:Ip↦Ip/Jp≅Fp by α(cij)=i where 0⩽i<p. This map is extended in the natural way into a map from Ipn to Fnp.
3.
Codes over Ip
A linear code over Ip or (Ip-code for short) of length n is any submodule C⊆Ipn. The inner product between two codewords in C⊆Ipn is defined by (x,y)=n∑i=1xiyi. The {dual} of C is a submodule of Ipn defined as
If C⊆C⊥ (resp. C=C⊥), then C is self-orthogonal (resp. self-dual (SD)). An Ip-code of length n is quasi self-dual (QSD) if it is self-orthogonal and of size pn.
With an Ip-code C can be attached an additive Fp2-code by the map ϕ:Ip↦Fp2
for y∈Fp2∖Fp such that (y)p≡−y mod p. One can easily see that Tr(ϕ(u))=α(u) for all u∈Ipn.
Lemma 1. (i) For any odd prime p, there is a self-orthogonal code over Ip.
(ii) For any positive integer n, there exists a QSD code over Ip of length n.
Proof. (i) Let 1p denote the all-one codeword of length n=p. The repetition code of length p is then defined by Rp={u(1p)| ∀u∈Ip}. Clearly Rp is a linear code over Ip. Since Ip has characteristic p with a2=b, bx∈Rp⊥ for all x∈Fnp we have Rp⊊Rp⊥.
(ii) Let C=bFnp, since uFnp⊂C⊥ for all u∈Ip, and then C⊊C⊥ of size pn.
□
Let C be a linear code over Ip. Two Fp-codes can be associated canonically with C. We define the residue code of C as
and the torsion code as
From Eq (1), we have that res(C)=Tr(ϕ(C)), and that tor(C) is the subfield subcode of ϕ(C) defined by ϕ(C)∩Fnp. Let αC be the restriction of α to C. We see that tor(C)b=Ker(αC), and that res(C)=Im(αC). By writing a(ax+by)=bx, in the definition of res(C), we observe that res(C)⊆tor(C). Let k1=dim(res(C)) and k2=dim(tor(C))−k1. We say that C is a linear code of type {k1,k2}. It can be seen that C is free as an Ip-module if and only if res(C)=tor(C). By the first isomorphism theorem applied to αC we have that |C|=p2k1+k2.
In the next theorem, we extend a few results from [1,2] and for its proof, not written here, we can simply substitute codes over Fp for binary codes.
Theorem 2. If k1,k2,n are integers with k1+k2≤n, then
(i) Every code C over Ip of length n and type {k1,k2} is equivalent to a code with generator matrix in standard form
where Ik1 and Ik2 are identity matrices, the matrix Y has entries in Ip, and X,Z are matrices with entries from Fp.
(ii) C⊥=a (res(C)⊥)+b Fnp.
The following theorem states that a self-orthogonal code can be created by combining a self-orthogonal [n,k1]-code over Fp with an arbitrary supercode of his of dimension k1+k2.
Theorem 3. If C=aC1+bC2 is an arbitrary Ip-code, with C1,C2 binary codes of the same length, then C is self-orthogonal if and only if the following two statements hold:
(i) C1 is a self-orthogonal [n,k1]-code over Fp.
(ii) C2 is an [n,k1+k2]-code over Fp such that C1⊆C2.
Proof. For all c,c′∈C with c=ax+by, and c′=ax′+by′.
The result follows by C1=res(C). For the second condition, since C2=tor(C), res(C)⊆tor(C).
Conversely, since C1 and C2 are linear codes, C is closed under addition. For the scalar multiplication condition, we assume cij∈Ip where 0⩽i,j⩽p−1.
Hence, C is a linear code over Ip, with |C|=|C1||C2|=pn. To prove the self orthogonality of C, for all x,x′∈C1 and for all y,y′∈C2 we have that
since C1 is self-orthogonal.
□
Corollary 4. If C=aC1+bC2 is an arbitrary Ip-code, then C is QSD if and only if the following hold:
(i) C1 is a self-orthogonal [n,k]-code over Fp.
(ii) C2 is an [n,n−k]-code over Fp such that C1⊆C2.
Proof. Setting k2=n−2k in the previous theorem yields the result. □
Corollary 5. If C=aC1+bC2 is an arbitrary Ip-code, then C is a free self-orthogonal if and only if C1 is a self-orthogonal [n,k]-code over Fp.
Unlike other rings of the same size [3,6,10], res(C)⊥ is not necessary to be tor(C). For example, see the classification section, when p=3,5 and n=3.
Proposition 6. Let C=ares(C)+btor(C) be Ip-code. If res(C) is a self-dual [n,k]- code over Fp, then one of the following hold:
(i) If tor(C)=Fnp, then C will be a SD code.
(ii) If tor(C)=res(C), then C will be a QSD code.
Proof. (i) From Theorem 2 (ii), C⊥=a (res(C)⊥)+b Fnp, since res(C) is a self dual and tor(C)=Fnp. Then we have C⊥=a (res(C)⊥)+b Fnp=ares(C)+btor(C)=C.
(ii) If tor(C)=res(C), then C is a free code with n=2k. From Theorem 3 we have that C is self-orthogonal of size p2k=pn.
□
We apply a similar approach to that used for the computation of a mass formula in [10]. We define a map F by
Thus, C={ax+by∣x∈res(C)andy∈F(x)}.
The map F is determined by the matrix Y in Theorem 2, and vice versa.
We see that the map F is Fp−linear, and the set of codes over Ip is in one to one correspondence with the set of triplets (res(C),tor(C),F).
4.
The mass formulas
The number of self-orthogonal Ip-codes to count depends on the number of self-orthogonal codes over Fp, found in [11], and on the number of tor(C), found in Lemma 2 in [1].
Let σp(n,k1) denote the number of self-orthogonal [n,k1]codes over Fp and σIp(n,k1,k2) denote the number of distinct self-orthogonal codes over Ip of length n of type {k1,k2}.
Next, we count self-orthogonal and quasi self-dual codes over Ip, a census which will be used in the mass formula.
Theorem 7. For all codes of lengths n of type {k1,k2}, the number of self-orthogonal codes over Ip is
where (ji)p denotes the p-binomial coefficient for integers i⩽j.
Proof. Observe that, by Theorem 4.7 in [11], the number of C1 is σp(n,k1), the number of self-orthogonal codes over Fp, and each one can be contained in (n−k1k2)p possible C2, by Lemma 2 in [1]. The Fp−linear map F is arbitrary from res(C) to Fnp/tor(C). By Theorem 2, we can write a generator of residue code as G1=[Ik1 X α(Y)], where Y=aA+bB, and A, B are matrices having entries in Fp. From the definition of F, we have that F(G1)=⟨B⟩. Since B is an arbitrary matrix, these two vector spaces have dimension k1 and n−(dim(tor(C))), respectively. □
Corollary 8. For all codes of lengths n of type {k,n−2k}, the number of quasi self-dual codes over Ip is
where (ji)p denotes the p-binomial coefficient for integers i⩽j.
Proof. The result follows immediately from the previous theorem upon setting k1=k and k2=n−2k. □
Proposition 9. For all codes of lengths n of type {k,0}, the number of free self-orthogonal codes over Ip is
Proof. Since k2=0, the residue code determines torsion code. There are, by definition, σp(n,k) such possible residue codes. The representation on a basis of res(C) determines the map F. Hence the number of map F will be pk(n−k). □
The special case of n=2k leads to a simpler formula.
Proposition 10. For all codes of lengths 2k of type {k,0}, then the number of quasi self-dual codes over Ip is
Proof. Note that a self-dual code res(C) determines the code tor(C) because tor(C)=res(C)⊥. There are, by definition, σp(2k,k) such possible residue codes. The representation on a basis of res(C) determines the map F. Hence the number of F will be pk2. □
The following theorem shows that the number of quasi self-dual codes over Ip in case a residue code is the zero code. For illustration, see Tables 1 and 2 when n=1,2.
Theorem 11. If there is no non zero self-orthogonal code over Fp of length n, then there is a unique QSD Ip code.
Proof. Let res(C) be a zero code of length n, and then C=bFnp⊂C⊥ of size pn. □
We now define the notion of equivalence of codes. Two codes C and C′ over Ip are monomially equivalent if there is an n×n monomial matrix M (with exactly one entry ∈{1,−1} in each row and column and all other entries zero) such that C′={cM:c∈C}. The monomial automorphism group Aut(C) of code C consists all M such that C=MC′.
The following lemma will be needed in the Appendix.
Lemma 12. (i) Two SD Ip-codes are monomially equivalent iff their residue codes are equivalent.
(ii) Two free Ip-codes are monomially equivalent iff their residue codes are equivalent.
Proof. (i) Let C and C′ be two SD Ip-codes such that C=MC′ for some M∈Aut(C), and then res(C)=α(C)=α(MC′)=Mres(C′). Conversely, suppose that res(C)=Mres(C′) for some M∈Aut(C). Since Fnp=MFnp, it follows that C=MC′.
(ii) Let C and C′ be two free Ip-codes such that C=MC′ for some M∈Aut(C), and then res(C)=α(C)=α(MC′)=Mres(C′). Conversely, suppose that res(C)=Mres(C′) for some M∈Aut(C). Since tor(C)=res(C), it follows that C=MC′.
□
Remark 13. If any two Ip-codes are monomially equivalent, then their residue and torsion codes are equivalent, but the converse is not necessarily true. For instance, from Table 3, when n=3 the codes Cu, with generator matrix (au2a00b), where u∈{b,2b,3b,4b}, all have the same residue and torsion codes, but are not pairwise equivalent.
We now have three mass formulas: the first and the second one for self-orthogonal codes and QSD codes under monomial equivalence, respectively, and the last one for SD codes.
Proposition 14. For given integers n,k1,k2 with 0≤k1,k2≤n, we have the identity
where C runs over distinct representatives of equivalence classes under monomial action of self-orthogonal Ip-codes of length n and type {k1,k2}.
Proof. By Theorem 6, and the fact that the number of codes in an equivalence class equals the size of the monomial group divided by the size of the common automorphism group the result follows. □
Proposition 15. For given integers n,k1,k2 with 0≤k1,k2≤n, we have the identity
where C runs over distinct representatives of equivalence classes under monomial action of self-orthogonal Ip-codes of length n and type {k1,k2}.
Example 16. We consider the case n=3, and p=3. In Table 1, we give the list of inequivalent self- orthogonal codes over I3 of Type {1,1}. Using the mass formula in Corollary 9, we make the following computations:
Theorem 17. For a given integer n≥2 we have the identity
where C runs over distinct representatives of equivalence classes under monomial action of SD Ip-codes of length n and type {n/2,0}.
Proof. From Proposition 5, the number of SD Ip-codes depends on the number of SD codes over Fp, and tor(C)=Fnp. □
We can use [12,14] to find σp(n,n/2), when p=3, and when p=5.
Example 18. We consider the case n=2, and p=5. In Table 3, we give the list of necessarily self-orthogonal codes over I5 of Type {1,0}. Using the mass formula in Theorem 11, we make the following computations:
5.
Conclusions
In this paper, we have given a mass formula to classify certain self-orthogonal codes over the non-unitary ring Ip, with p an odd prime. In particular we have considered the three main cases of classification, self-orthogonal codes, QSD codes, and SD codes under monomial action.
Concrete classifications in short lengths are given in the next section. Extension of these results to higher lengths would require more programming or more computing power. Similar theoretical and experimental questions remain open for other non-unitary rings in the Raghavendran list [9,16] in odd characteristic.
Appendix
We classify self-orthogonal codes and self-dual Ip-codes of length n<4 and residue dimension k=0,1, where p=3,5, and 7, using the building method discussed in Theorem 3, and its corollaries. With the aid of Magma [4], all computer calculations for this work were completed. To compute the automorphism groups of our codes, in lack of an automorphism program for additive codes in odd characteristic, we used two strategies:
● Reduction to the residue code in case of a self-dual and a free code by Lemma 10.
● Computation and enumeration of all equivalent codes images under the monomial group. The order of automorphism group of a code of length n is the number of monomial matrices 2nn! divided by the number of codes equivalent to that code.
See Tables 1–3 for a summary of our results for p=3,5,7, respectively.
Use of AI tools declaration
The authors declare they have not used Artificial Intelligence (AI) tools in the creation of this article.
Acknowledgments
The Deanship of Scientific Research (DSR) at King Abdulaziz University (KAU), Jeddah, Saudi Arabia has funded this project, under grant no. (KEP.-PhD: 99-130-1443).
Conflict of interest
Prof. Patrick Solé is the Guest Editor of special issue "Mathematical Coding Theory and its Applications" for AIMS Mathematics. Prof. Patrick Solé was not involved in the editorial review and the decision to publish this article. All authors declare no conflicts of interest in this paper.