1. Introduction
Mass formulas serve as important tools for classifying self-dual codes over finite fields [
1,
2,
3,
4,
5] and unitary rings [
6,
7,
8,
9,
10,
11]. When generating nonequivalent self-dual codes, mass formulas serve as terminating flags for the computing effort. Recently, this methodology was extended to the non-unitary ring I, in the terminology of [
12], where quasi self-dual codes, a special class of self-orthogonal codes, serve as the central objects for classification [
13,
14]. Even more recently, a satisfying definition of self-dual codes for non-unitary non commutative rings was introduced in [
15]. It is the intersection of the right dual with the left dual. Thus, a non-commutative ring leads to three types of self-dual codes: left self-dual, right self-dual and self-dual.
In the present note, we present mass formulas for self-orthogonal codes, self-dual codes, and left self-dual codes over the non-commutative non-unitary ring of order
for
p an odd prime, and type
E in the classification of Fine [
12]. This ring is henceforth denoted by
We apply them to the classification of these codes when
in short lengths. The proof techniques combine self-dual mass formula over finite field, and linear algebra over the ring
which is reminiscent of that on chain rings of depth 2 [
9,
10].
The content is organized in the following manner:
Section 2 introduces essential preliminary concepts and notations necessary for comprehending the remainder of the paper. In
Section 3, the framework of linear codes over
is established.
Section 4 elaborates on the mass formulas.
Section 5 is dedicated to the classification in short lengths for fixed types. Finally,
Section 6 serves as the conclusion of the article.
2. Preliminaries
2.1. Codes over
Let p be an odd prime number. A linear code of length n and dimension k over a finite field is an -subspace of the vector space of dimension Compactly, we call an -code. The elements of a code are called . Two codewords and are orthogonal if their standard inner product is zero, and the vector space consisting of all vectors in that are orthogonal to every codeword in is called the of , denoted by . is said to be self-orthogonal (resp. self-dual) if (resp. ).
2.2. Additive Codes over
Let be a primitive element in , so that has order and . Then . The , , is defined by . An of length n over is -additive subgroup of containing codewords for some integer k in the range .
2.3. The Ring
Following [
12], we define a ring on two distinct generators
by their relations
Thus,
consists of
elements and has characteristic
p. We also define a natural action of
on
by the rule
, for all
and for all
.
Lemma 1. The ring does not contain a unity element.
Proof. Assume, by contradiction, that there is a unique element
e in
such that
for every
. Since
is generated by
a and
b,
e can be written as
Choose
. By assumption,
which implies
. Also, choose
. Then
So
a is not the unity of
, which leads to an inconsistency. Therefore,
is a non-unital ring. □
From the ring representation of
and Lemma 1,
is a non-commutative ring without multiplicative identity. Moreover,
contains a unique maximal ideal
Thus, we can write
as
Define the reduction map modulo
as
by
where
. This map can be extended in the natural way from
to
.
3. Codes over
A
linear code of length
n over
, or simply an
-code, is a one-sided
-submodule of
. We denote the (Hamming) weight of
by
and adapt the notation
where
is the number of codewords of Hamming weight
i, for the weight distribution of a code over
as in Magma [
16]. The inner product between two vectors
is defined as
. For an
-code
C, the
right dual of
, defined as
is a right module of
, while the
left dual of
, defined as
is a left module of
. The two-sided dual of
is
. The code
is said to be
self-orthogonal if every a codeword in
is orthogonal to every codeword in
, that is,
. If
(resp.
) then
is
right self-dual (RSD) (resp.
left self-dual (LSD)). If
, then
is
self-dual (SD).
Using the map
defined as
we can attach to an
-code
an additive
-code
. It can be easily seen that
for all
.
Lemma 2. - (i)
For any positive integer n, there exist a self-orthogonal code over of length n.
- (ii)
For any odd prime p, there is a left self-orthogonal code over .
Proof. - (i)
Consider
as linear code over
of length 1. To prove the self-orthogonality of
, for all
,
, we have that
Since , , it follows that, and (mod p). Then, . Taking the direct sum of n copies of this code yields a self-orthogonal code of any length n.
- (ii)
Let p be a prime and let denote the all-one codeword of length p. The repetition code of length p is then defined by Clearly is a linear code over . Since has characteristic p, then we have that .
□
Let
be linear code over
. We define the
residue code of
as
and the
torsion code of
as
From Equation (
2), we have
and
is the subfield subcode of
defined by
Let
be the restriction of
to
. We have that
, and that
. Let
and
. We say that
is linear code of
type . It can be seen that
is
free as an
-module if and only if
. By the first isomorphism theorem applied to
we have
.
In Theorem 1, we will extend a few results from [
15,
17] by simply substituting codes over
for binary codes in the proofs.
Theorem 1. Suppose is a linear code over . Let be non-negative integers with . Then the following hold:
- (i)
Every linear code over of length n and type is equivalent to a code with generator matrix in standard formwhere is the identity matrix, the matrices A, B and Z have entries from . - (ii)
and .
- (iii)
- (iv)
- (v)
- (vi)
If G is a matrix over , we denote by the code of length n over with generator matrix G.
Next, we make a modification on the construction of self-orthogonal codes, (left or right) self-dual codes, and self-dual codes in [
15], to be suitable for an odd prime
p.
Theorem 2. If is a linear code over such that and be arbitrary linear codes over , then
- (i)
is a self-orthogonal code if and only if ;
- (ii)
is a self-dual if and only if ;
- (iii)
is a left self-dual if and only if ;
- (iv)
is a right self-dual if and only if .
Proof. First, we will prove that and . Observe that . Let . Then , so , thus, we have . Now, , so by definition of torsion code, is a subset of . Let . Since the zero vector is in , . Therefore, .
- (i)
Let
be a self-orthogonal code. Note that
. Suppose that
. Since
is self-orthogonal, for all
, we have
Hence
. Conversely, to prove the self-orthogonality of
, for all
and for all
we have
since
.
- (ii)
Let be a self-dual code. Then from the preceding case, . Now, let be arbitrary. From Theorem 1 (vi), we have . Hence, . It follows that . For the converse, suppose that . From the preceding case, we have . Since and , . It follows that .
- (iii)
is left self-dual code if and only if , by Theorem 1 (iii) and (v).
- (iv)
is right self-dual code if and only if (by Theorem 1 (iii) and (iv)). Equivalently, we have if and only if if and only if .
□
4. Computation of the Mass Formula
At the start, we define the notion of equivalence of codes. Two codes
and
over
are
if there is an
monomial matrix
M (with exactly one entry
in each row and column and all other entries are zero) such that
The
monomial automorphism group
of code
consists of all
M such that
. Let
be the signed symmetric group of order
. The number of codes equivalent to a code
of length
n is
The mass formula for self-orthogonal codes is given by
where the sum runs through all inequivalent self-orthogonal codes
over
of length
n.
We apply a similar approach to that used for the computation of a mass formula in [
7]. Let
be a code over
of length
n with dimension
and generator matrix
and
be a code over
of length
n with dimension
and generator matrix
where
, and
is of full row rank. Observe that
, and the code with generator matrix (
3) has residue code
and torsion code
.
We need the following lemmas to count the number free self-orthogonal -codes.
Lemma 3. If is a free -code of length n, then the matrix B in Theorem 1 (i) is unique.
Proof. Suppose
is a free code and there exist
such that
Then
=
. Hence,
=
. □
For the remainder of this section, assume that
. Then
and
It follows from (
7) that A is of full row rank.
Lemma 4. The map defined byis a surjective linear map. Proof. Note that
is a linear map by properties of matrix. To prove the surjective condition, choose an arbitrary matrix
G in
. Consider the matrix
in
. We have
□
Now, let us consider the sets
Lemma 5. If , then
Proof. By Theorem 1 (i),
has a generator matrix (
3). Consider the map
Clearly,
is well defined. Now, we will show that
is bijective. Suppose
such that
. Then
. Since
Z is of full row rank, we conclude
, which shows that
is injective. Now, suppose that
such that
. By Theorem 1 (i),
, for some matrix
F. The inclusion
implies that
for some matrix
M of size
. So
, which shows that
is surjective, and hence,
is bijective. Therefore,
□
Lemma 6. If , then there is a unique code , such that .
Proof. By Theorem 1 (i) and Lemma 3,
has a generator matrix
for some unique matrix
B. Then the code
with a generator matrix
satisfies
, and
Since
, (
8) implies that
is a self-orthogonal code, hence
. Now, suppose that
and
. By Theorem 1 (i), we have that
. This, together with
forces
. Since
, we have
. □
Let
be the number of self-orthogonal codes of length
n and dimension
over
, which is found in [
18,
19,
20].
In [
21], the number of subspaces of dimension
k contained in an
n-dimensional vector space over
is given by the Gaussian coefficient
for
, where
Let be the number of distinct self-orthogonal codes over of length n. Mass formulas are useful for finding all inequivalent codes of given length. Our goal now is to compute .
Theorem 3. For all codes of length n with type , the number of free self-orthogonal codes over is Proof. We may assume without loss of generality that
is a code with generator matrix (
4). If
is a self-orthogonal code of length
n over
of type
, then by setting
,
satisfies Theorem 2 (i). We have
codes
, which is the number of self-orthogonal codes over
. By Theorem 1 (i),
has generator matrix
. Finally, we have
so,
Since
, then
. Now, we have find the number of the matrix
B which satisfies
. Setting
in the linear map
in Lemma 4,
□
Example 1. We consider the case , and . In Table 1, we give the list of inequivalent self-orthogonal codes over the ring of type . Using the mass formula in Theorem 3, we have the following computations: In the next theorem, we give the number of self-orthogonal codes over .
Theorem 4. The number of self-orthogonal codes over of length n with type is given by Proof. We may assume without loss of generality that
and
are codes with generator matrices (
4) and (
5), respectively. Let
be a self-orthogonal code of length
n over
of type
. By setting
and
,
and
satisfy Theorem 2 (i). Then, there are
self-orthogonal codes
and we have
codes
such that
. Now, we have to compute
. By Lemmas 5 and 6, we have
From Theorem 3, we have that
. Therefore,
. □
Remark 1. Let be an -code of length n and of type , where . Then will be a self-orthogonal code. Furthermore, if , then will be self-dual.
The following results derive the mass formula for the SD codes and the LSD codes over , respectively.
Theorem 5. For a given integer we have the identitywhere runs over distinct representatives of equivalence classes under monomial action of SD -codes of length n and type . Proof. From Theorem 2 (ii), the number of SD -codes depends on the number of self-orthogonal codes over , and . □
Example 2. We consider the case , and . In Table 1, we give the list of inequivalent self-orthogonal codes over of type . Using the mass formula in Theorem 5, we make the following computations, Corollary 1. For a given even integer , we have the identitywhere runs over distinct representatives of equivalence classes under monomial action of left SD -codes of length n and type . Proof. From Theorem 2 (iii), the number of left self-dual -codes depends on the number of self-dual codes over , with . Thus, the result follows. □
Proposition 1. For all codes of length n, there is a unique right self-dual -code.
Proof. The result follows from Theorem 2 (iv), where is the unique code. □
5. Classification
We classify self-orthogonal codes and self-dual codes of length
with given residue of dimension
, where
. Also, we classify self-orthogonal codes and self-dual codes of length
with given residue of dimension
, where
using the building method discussed in Theorem 2. To carry out the the classification, we represent codes over
by their associated additive codes over
under the mapping
defined in (
2), and considered the action of the group of monomial matrices (with 1 and
as nonzero entries) to directly calculate the automorphism group. These calculations are performed using MAGMA [
16]. See
Table 1,
Table 2 and
Table 3 for a summary of our results for
, respectively.