Abstract
The build-up method is a powerful class of propagation rules that generate self-dual codes over finite fields and unitary rings. Recently, it was extended to non-unitary rings of order 4, to generate quasi self-dual codes. In the present paper, we introduce three such propagation rules to generate self-orthogonal, self-dual and quasi self-dual codes over a special non-unitary ring of order 9. As an application, we classify the three categories of codes completely in length at most 3, and partially in lengths 4 and 5, up to monomial equivalence.
MSC:
94B05; 16D10
1. Introduction
A potent way for creating self-dual codes over finite fields and unitary rings is the build-up method [1,2,3]. By using a recursion on generator matrices, from a self-dual code of length n, it creates a self-dual code of length (with h small and fixed). This is sometimes called a propagation rule of order For concreteness, for binary codes [4] and codes over a certain ring of order 4 [1], and for ternary codes [2].
Recently, this technique was extended to certain non-unitary rings of order 4 [5,6], with self-dual codes replaced by self-orthogonal codes of length n and of order the so-called quasi self-dual (QSD) codes defined in [7].
In the present work, we modify this technique to produce self-orthogonal and self-dual codes, as well as QSD codes over the ring , a non-unital, commutative ring of order 9. This notation is consistent with the classification in [8] of rings of order , for a prime p. Following [7], QSD codes are defined over the ring as self-orthogonal codes of length n and size . We derive propagation rules of order 3 for self-orthogonal codes (Theorem 4) and of order 4 for self-dual and quasi self-dual codes (Theorems 7 and 9). As an upshot of these rules, we classify completely self-orthogonal, QSD and self-dual codes up to length and partially up to length The classification is made under monomial action. The mass formulas for the three types of codes considered are used as a stopping criteria for code generation.
The rest of the paper is set up as follows. The next section contains the preliminary notions and notations needed in the latter sections. The three propagation rules are derived in Section 3. Section 4 contains some classification results. Section 5 concludes the article and points out directions for further research.
2. Preliminaries
Let denote the finite field of order 3, and let be the vector space of n-tuples over . A ternary linear code of length n and dimension k, denoted simply as an code, is a k-dimensional subspace of . The dual of a ternary linear code is denoted by and is defined as
where denotes the standard inner product. A code is self-orthogonal if it is included in its dual, that is,
The number of nonzero coordinates of a vector is called its (Hamming) weight, denoted by . The Hamming distance between two vectors is defined by The minimum distance of a linear code is
A ternary linear code of length n, dimension k and minimum distance d is said to be an code. The weight distribution of a code is a sequence where denotes the number of codewords of weight i.
2.1. The Ring
Following [8], we define the ring of order 9 on two generators a and b by the relations
Thus, the ring has the characteristic 3, and consists of nine elements:
These definitions immediately lead to the addition and the multiplication tables given as follow (Table 1 and Table 2).
Table 1.
Addition table for the ring .
Table 2.
Multiplication table for the ring .
We can deduce from this table that this ring is commutative without unity and has a unique maximal ideal , with a residue field As a result, we have the following b-adic decomposition. It can be checked by inspection that any element can be expressed as
for unique scalars
We have defined a natural action of on the ring by the rule
Note that for all , , this action is “distributive” in the sense that , where ⊕ denotes the addition in When and , we will occasionally use the inner product notation to indicate
We define the reduction map modulo S as by
This map is extended in the natural way to a map from to
2.2. Codes over
A linear code of length n is defined as an submodule of It may be thought of as the span of the rows of a matrix called a generator matrix (we assume that these rows belong to ). There are two ternary codes of length n associated with the code . The residue code is just , and the torsion code is
It is easy to verify that [7]. We denote the dimension of the residue code by and the dimension of the torsion code by Such a code is said to be of type . A straightforward application of the first isomorphism theorem [7] shows that
Define the inner product of as . The dual code of the code is the module defined as
An code is self-dual (SD) if If for all , then is self-orthogonal (SO). Following the terminology introduced in [6], upon passing from characteristic 2 to 3, an code of length n that is self-orthogonal and of size is called a quasi self-dual (QSD) code.
Two codes are monomially equivalent if there is a monomial permutation that maps one to the other.
In the following, we give an example of a quasi self-dual (QSD) code.
Example 1.
The code with generator matrix is quasi self-dual, with residue code generated by and torsion code generated by The residue code is self-orthogonal.
Example 2.
Let , the repetition code of length 3, with weight distribution . Clearly, it is self-orthogonal but not quasi self-dual, as its size is
However, as an code of length 1, is of size and is, thus, quasi self-dual.
2.3. Codes over
An additive code of length n over is an additive subgroup of Thus, C contains codewords for some integer and is called an code. If, furthermore, has a minimum distance we write the parameters of as An additive code over can be represented by a generator matrix with entries from whose rows span , called a generator matrix. That is, is the span of its rows.
Let be such that The trace map, , is defined as .
Every linear code is attached with an additive code by the alphabet substitution
where , extended naturally to . The parameters of an code are identified with that of its image under It can be checked that for all , we have and, thus, . Similarly, we see that is the so-called subfield subcode of that is .
2.4. Mass Formulas
We recall the mass formulas for ternary codes [9,10,11].
Theorem 1.
Let be the number of self-orthogonal ternary codes having parameters . Then:
- (i)
- If is odd, then
- (ii)
- If is even, then
These formulas are valid for .
We define the Gaussian coefficient for as
which gives the number of subspaces of dimension k contained in an n-dimensional vector space over .
In what follows, we present a mass formula for SO codes, which is a characteristic 3-version of Theorem 7 in [12].
Theorem 2.
For all lengths and for the type , the number of self-orthogonal codes over is
The following follows from the usual counting technique under the group action.
Corollary 1.
For a given length n and type , with we have
where runs over distinct representatives of equivalence classes under monomial column permutations of SO codes of length n and type .
Corollary 2.
For a given length n and type , with , we have
where runs over distinct representatives of equivalence classes under monomial column permutations of QSD codes of length n and type .
Corollary 3.
For a given length n and type , with , we have
where runs over distinct representatives of equivalence classes under monomial column permutations of SD codes of length n and type .
3. Constructions
3.1. Construction of Self-Orthogonal Codes
In this section, we present the build-up construction method for self-orthogonal codes over . We begin by a result similar to Theorem 1 in [7]. The proof is omitted here.
Lemma 1.
Let be an linear code of type and length n. Then, a generator matrix of the code is of the form
where Y is a matrix with entries in , X and Z are matrices with entries in and , are identity matrices.
Before presenting the construction methods, we look first at a characterization of self-orthogonal codes over .
Theorem 3.
A linear code of length n over is self-orthogonal if and only if is a ternary self-orthogonal code.
Proof.
Using similar proof to Theorem 1 in [13], it can be shown that every codeword can be written as for some and , and if , then for some . If , then we can write and in b-adic decomposition form as and where and We compute as
By the relation between and , the result follows. □
The following theorem gives a propagation rule of order 3 for self-orthogonal codes.
Theorem 4.
Let be a self-orthogonal code over of length n with generator matrix where is the ith row of for . Let and not all zero, such that . Then the code , with the following generator matrix
is self-orthogonal of length if
- (i)
- , and , or
- (ii)
- and .
Proof.
It suffices to show that the rows of are orthogonal to one another. Let , the first row of , and let , the st row of , for .
- (i)
- If and , thenfor all .
- (ii)
- If and , thenfor all .
In both cases, we see that is a self-orthogonal code. □
Corollary 4.
Let be a quasi self-dual code over of length n with generator matrix , where is the ith row of for . Let and , not all zero, such that . Let , not all zero, such that . Then the code , with the following generator matrix
is quasi self-dual of length if
- 1.
- , and , or
- 2.
- , and .
Proof.
We first show that is self-orthogonal. Following the proof of Theorem 4, it suffices to show that is orthogonal to itself and every vector for . Indeed,
as . Therefore, is self-orthogonal. Since , is a quasi self-dual code of length . □
Example 3.
We construct self-orthogonal codes of length 7 from self-orthogonal codes of length 4. By Theorem 3, we have the self-orthogonal code with generator matrix
and weight distribution .
Using Theorem 4, from with , and , we obtain a self-orthogonal code with generator matrix
and weight distribution Also, if we use Theorem 4 with , , and , we obtain another self-orthogonal code with generator matrix
and weight distribution .
Example 4.
Using Corollary 4 with the same generator matrix , , , , , and , we obtain a self-orthogonal code over with generator matrix
and weight distribution
3.2. Construction of Quasi Self-Dual Codes
In this section, we discuss two kinds of build-up construction method for quasi self-dual codes over . We begin with the construction of codes from ternary codes, known traditionally as the multilevel construction.
Theorem 5.
Let be a self-orthogonal ternary code of length n, and let be a ternary code of length n such that . The code , defined by the relation
is self-orthogonal with residue code and torsion code Furthermore, if , then C is quasi self-dual.
This is a direct analogue of Theorem 4 in [7], upon passing from characteristic 2 to The proof is omitted here.
The following theorem is a propagation rule of order 3, which increases the number of generators by three.
Theorem 6.
Let be a quasi self-dual code of length n over with generator matrix , where is the i-th row of for . If and are nonzero elements, then the code , with the following generator matrix
is quasi self-dual of length .
Proof.
Let , and . We see that
because . Similar arguments show that , and are orthogonal to one another and to themselves, as .
Now, let for . Then
Similarly, and . Also, for ,
Thus, is a self-orthogonal code. Furthermore, since , is quasi self-dual. Hence, the code obtained from the quasi self-dual code by the build-up construction is also quasi self-dual. □
Denote by the span of the last m rows of and for every , write
The construction in Theorem 6 may be shown to be equivalent to , where denotes disjoint union.
Example 5.
Using Theorem 5, we construct quasi self-dual codes of lengths 6 and 9 from a code with generator matrix
and weight distribution .
Using as the base generator matrix and , we obtain a quasi self-dual code with generator matrix
and weight distribution
Using with , we obtain a quasi self-dual code with generator matrix
and weight distribution
The next propagation rule uses two more generators while still creating quas -self-dual codes over of length 4 more.
Theorem 7.
Let be a quasi self-dual code over of length n with generator matrix , where is the ith row of for . Let such that and for . For , define and . If , then the code , with the following generator matrix
is quasi self-dual of length .
Proof.
Let and . Then
Now, for , let . So for ,
Thus, is self-orthogonal and since , is quasi self-dual. □
Define to be the span of the last m rows of , and for every write
The construction in Theorem 7 maybe demonstrated to be equivalent to
Remark 1.
Vectors and satisfying the conditions of Theorem 7 is valid for .
Example 6.
We construct a quasi self-dual code of length 8 from a quasi self-dual with generator matrix
and weight distribution Using Theorem 7 with , and , we obtain a quasi self-dual code with generator matrix
and weight distribution
Remark 2.
If two quasi self-dual codes are monomially equivalent, then their residue codes are also equivalent. But the converse does not hold, as seen in the next example.
Example 7.
Let and be quasi self-dual codes with generator matrices and , respectively. Then, with generator matrix . However, and are not monomially equivalent, as their weight distributions are and , respectively.
3.3. Construction of Self-Dual Codes
In this section, we discuss the build-up construction method for self-dual codes over . We start with characterizations of self-dual codes.
Theorem 8.
A linear code of length n over is self-dual if and only if the following hold:
- (i)
- is self-dual ternary code,
- (ii)
- .
The code is defined by the relation
Moreover, .
Proof.
The proof is similar to Theorems 3, 4 and 5 in [13] upon passing from characteristic 2 to 3. Moreover, □
Corollary 5.
Self-dual codes over of length n occur if and only if n is a multiple of 4.
Proof.
We know that is a self-dual code over if and only if is a self-dual code over . Then, by Theorem 3 in [14], a self-dual code over of length n exists if and only if n is a multiple of 4. This completes the proof. □
Theorem 9.
Let n be a multiple of 4. Suppose is a self-dual code over of length n and generator matrix , where are the row vectors of for over . Let such that and for each . For , let and . Then the code , with the generator matrix
is self-dual of length .
Proof.
We can show that generates a self-orthogonal code in a similar way as in Theorem 7. Indeed, define to be the span of the last m generators. Furthermore, define D as the -span of , where , , , and It can be seen that the construction of in the theorem is equivalent to
As is self-dual, by Theorem 8 we can see that is equal to . Through this hypothesis, we have a ratio of on the sizes, because , and .
Now, it suffices to show that is a self-dual ternary code. Since is self-orthogonal, we can see that is also self-orthogonal and thus, .
Note that by Theorem 8 and because has four more generators, this shows that . Thus, and hence, is a self-dual ternary code.
Therefore, and the code obtained from the self-dual code by the build-up construction is also self-dual. □
Theorem 10.
Two self-dual codes and over are monomially equivalent if and only if their residue codes are equivalent.
Proof.
Let and be two monomially equivalent codes over . Then and are equivalent since and .
Conversely, if and are self-dual codes over , and and are monomially equivalent, then there is a monomial matrix M such that and Since and are self-dual, by Theorem 8 we have
From (1), we get , proving that and are monomially equivalent. □
4. Computational Results
In this section, we classify self-orthogonal, quasi self-dual and self-dual codes of length and residue dimensions using the multilevel constructions in Theorems 3, 5 and 8. All computations were done with the aid of MAGMA [15].
4.1. Length 1
There is one quasi self-dual code over of type , with generator matrix and weight distribution .
4.2. Length 2
There is one quasi self-dual code over of type , with generator matrix
and weight distribution .
4.3. Length 3
- For type , there is one quasi self-dual code over , with generator matrixand weight distribution
- For type , there are four distinct self-orthogonal codes over , with generator matrices in the following table:
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 12 4 4 6 For length 3 and type , we have - For type , there are five distinct quasi self-dual codes over , with generator matrices in the following table:
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 4 2 12 12 12 For length 3 and type , we have
4.4. Length 4
- For type , there is one quasi self-dual code over , with generator matrixand weight distribution
- For type , there are eight distinct self-orthogonal codes over , with generator matrices in the following table:
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 24 8 8 12 4 4 12 6 For length 4 and type , we have - For type , there are 23 distinct self-orthogonal codes over , with generator matrices in the following table:
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 24 8 8 12 4 2 2 2 4 4 24 24 24 24 12 4 4 6 8 4 8 4 2 For length 4 and type , we have - For type , there are 10 distinct quasi self-dual codes over , with generator matrices in the following table:
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 8 4 4 2 24 24 24 12 12 12 For length 4 and type , we havewhere the summation runs over the representatives of the equivalence classes of codes constructed by our propagation rules. - For type , there are nine quasi self-dual codes over , with generator matrices in the following table.
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 48 12 12 2 6 6 4 4 8 For length 4 and type , we have - For type , there is an unique self-dual code over , with generator matrix:
Generator Matrix Weight Distribution 48 For length 4 and type , we have
4.5. Length 5
- For type , there are five distinct self-orthogonal codes over , with generator matrices in the following table.
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 192 240 96 768 64 For length 5 and type , we have - For type , there is one quasi self-dual code over , with generator matrixand weight distribution
- For type , there are 12 distinct self-orthogonal codes over , with generator matrices in the following table:
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 96 32 32 48 24 8 8 12 24 8 12 8 For length 5 and type , we have - For type , there are 15 quasi self-dual codes over , with generator matrices in the following table:
Generator Weight Generator Weight Matrix Distribution Matrix Distribution 32 16 8 4 8 4 96 96 96 24 24 24 24 24 24 For length 5 and type , we havewhere the summation bears on representatives of the equivalence classes of codes constructed by our propagation rules.
Next, we use our build-up construction methods to obtain SO, QSD and SD codes over . The partial classification results are summarized in Table 3 below.
Table 3.
Classification of SO, QSD and SD codes using the building method in Section 3.
5. Conclusions
In this study, we have derived and used propagation rules over a non-unital ring of order 9 to generate self-orthogonal, self-dual and quasi self-dual codes. Combining this generating technique with mass formulas, we have classified the three categories of codes above completely in length at most and partially in length 4 and 5 up to monomial equivalence. Mass formula computations show that some codes in each category exist in lengths that cannot be constructed by the propagation rules we derived. It is a challenging open problem to complete the classification in these cases, either by deriving alternative propagation rules or by employing some other construction technique.
Author Contributions
Conceptualization, A.A. and P.S.; methodology, A.A. and P.S. validation, A.A., T.A., R.A.B., L.G. and P.S.; investigation, A.A., T.A., R.A.B., L.G. and P.S.; writing—original draft preparation, A.A., T.A. and P.S.; writing—review and editing, R.A.B. and L.G. All authors have read and agreed to the published version of the manuscript.
Funding
The Deanship of Scientific Research (DSR) at King Abdulaziz University (KAU), Jeddah, Saudi Arabia funded this project, under grant no. (KEP-PhD: 100-130-1443).
Data Availability Statement
Data are available upon request to the corresponding author.
Acknowledgments
The Deanship of Scientific Research (DSR) at King Abdulaziz University (KAU), Jeddah, Saudi Arabia funded this project, under grant no. (KEP-PhD: 100-130-1443). The authors acknowledge the anonymous reviewers for their comments and suggestions to improve the presentation of this manuscript.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- Han, S.; Lee, H.; Lee, Y. Construction of self-dual codes over . Bull. Korean Math. Soc. 2012, 49, 135–143. [Google Scholar] [CrossRef]
- Kim, J.-L.; Lee, Y. Euclidean and hermitian self-dual MDS codes over large finite fields. J. Comb. Theory Ser. 2004, 105, 79–95. [Google Scholar] [CrossRef]
- Kim, J.-L.; Lee, Y. An efficient construction of self-dual codes. Bull. Korean Math. Soc. 2015, 52, 915–923. [Google Scholar] [CrossRef]
- Aguilar-Melchor, C.; Gaborit, P.; Kim, J.; Sok, L.; Solé, P. Classification of extremal and s-extremal binary self-dual codes of length 38. IEEE Trans. Inf. Theory 2012, 58, 2253–2262. [Google Scholar] [CrossRef]
- Kim, J.-L.; Roe, Y.G. Construction of quasi self-dual codes over a commutative non-unital ring of order 4. In Applicable Algebra in Engineering, Communication and Computing; Springer: Berlin/Heidelberg, Germany, 2022. [Google Scholar] [CrossRef]
- Alahmadi, A.; Alkathiry, A.; Altassan, A.; Bonnecaze, A.; Shoaib, H.; Solé, P. The build-up construction over a commutative non-unital ring. Des. Codes Cryptogr. 2022, 90, 3003–3010. [Google Scholar] [CrossRef]
- Alahmadi, A.; Altassan, A.; Basaffar, W.; Bonnecaze, A.; Shoaib, H.; Solé, P. Quasi type IV codes over a non-unital ring. Appl. Algebra Eng. Commun. Comput. 2021, 32, 217–228. [Google Scholar] [CrossRef]
- Fine, B. Classification of finite rings of order p2. Math. Mag. 1993, 66, 248–252. [Google Scholar] [CrossRef]
- Kim, K.H.; Park, Y.H. The mass formula of self-orthogonal codes over GF(q). Korean J. Math. 2017, 25, 201–209. [Google Scholar]
- Pless, V. Number of isotropic subspaces in a finite geometry. In Atti della Accademia Nazionale dei Lincei Rendiconti-Classe di Scienze Fisiche-Matematiche & Naturali; Accad Nationale Lincei Ufficio Pubblicazioni: Via Della Lungara 10, Rome, Italy, 1965; Volume 39, pp. 418–421. [Google Scholar]
- Pless, V. On the uniqueness of the Golay codes. J. Comb. Theory 1968, 5, 215–228. [Google Scholar] [CrossRef]
- Alahmadi, A.; Alshuhail, A.; Solé, P. The mass formula for self-orthogonal and self-dual codes over a non-unitary commutative ring. AIMS Math. 2023, 8, 24367–24378. [Google Scholar] [CrossRef]
- Alahmadi, A.; Melaibari, A.; Solé, P. Duality of codes over non-unital rings of order four. IEEE Access 2023, 11, 53120–53133. [Google Scholar] [CrossRef]
- Mallows, C.; Pless, V.; Sloane, N.J. Self-dual codes over GF(3). Appl. Math. 1976, 31, 649–666. [Google Scholar] [CrossRef]
- Bosma, W.; Cannon, J.; Playoust, C. The Magma algebra system. I. The user language. J. Symb. Comput. 1997, 24, 235–265. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).