1. Introduction
Quasi-cyclic (QC) codes are an important type of linear codes, which is a generalization of cyclic codes. There are families of QC codes that are asymptotically good [
1,
2]. Many good codes have been constructed with a better minimum distance than any linear code of the same length and dimension previously constructed. Ling and Solé explored the algebraic structure of QC codes in-depth in a series of articles [
3,
4,
5,
6]. In [
7,
8], the algebraic structure of quasi-cyclic codes was discussed. A class of 1-generator quasi-cyclic codes and their properties were studied in [
9]. Some classes of quasi-cyclic codes of index 2 were considered in [
10,
11,
12]. Quasi-cyclic codes of index 2 were fully investigated in [
13,
14]. Lally [
15] presented lower bounds for quasi-cyclic codes. In [
16,
17], distance bounds for quasi-twisted codes were studied. Aydin et al. [
18] studied the structure of 1-generator quasi-twisted codes and constructed some new linear codes. In [
19], QC perfect codes in Doob graphs and special partitions of Galois rings were considered.
Dastbasteh and Shivji [
20] considered additive cyclic codes over
that can be considered as an interpretation of QC codes over
. They computed the symplectic dual of additive codes by decomposing them into components.
Lally [
15] presented lower bounds for the minimum distance of quasi-cyclic codes. Semenov and Trifonov [
21] introduced a spectral method for quasi-cyclic codes and obtained a BCH-like bound. This has led to several further works on distance bounds, known as spectral bounds, for quasi-cyclic and quasi-twisted codes, e.g., [
16,
17,
22,
23,
24]. Yet another approach, using the concatenated structure of quasi-cyclic codes, also yields a different type of distance lower bound for quasi-cyclic codes, e.g., [
25].
Hermitian duals of one-generator quasi-twisted codes of index 3 were considered in [
26]. Shi et al. [
27] considered additive cyclic codes over
under the condition
.
In this paper we consider QC codes of index 3 in full generality. Unlike other papers, where the condition
is assumed, we do not have restrictions on the characteristic of the ground field, except for the case of one-generator codes (Theorems 3 and 5). More importantly, this approach is simpler and more powerful. The paper is organized as follows. We recall first in
Section 2 definitions and notation concerning quasi-cyclic codes. In
Section 3 we give a classification of QC codes of index 3 over finite fields. A QC code of index 3 is generated by at most three elements. We give necessary and sufficient conditions for a QC code to be generated by one element. For this, we do not need extra assumptions such as decomposition of codes into component subcodes, and we only use generators of codes. We describe duals of QC codes with respect to the Euclidean and Hermitian inner products in
Section 4 and
Section 5, respectively. We study duals of QC codes in a systematic way involving the notion of adjoint maps. Moreover, we describe self-orthogonal and dual-containing QC codes. Finally, in
Section 6 we summarize our results.
3. Quasi-Cyclic Codes of Index 3
The next Theorem gives a description of QC codes over F of index 3.
Theorem 2. (1) Let C be a QC code of length and index 3. Then C is generated by three elements , and such that they satisfy the following conditions:Moreover, in this case (2) Let code C be generated by elements , and , and let be generated by elements , and , both satisfying Conditions . Let , , , , be monic polynomials. Then if and only if , , , , , .
Proof. (1) By [
8] (Theorem 2.1) we can assume that
C is generated by three elements
,
and
, satisfying the conditions
,
, and
. Existence of such generators is equivalent [
8] (Theorems 2.1 and 2.2) to the existence of a
polynomial matrix
such that
Then
Therefore,
Since
, the divisibility conditions from
follow.
(2) Consider the projection mappings
,
, and
,
. Then
Since
, we have that
Therefore,
Similar statements are true for , where . Hence, , , .
Further, if and , then is divisible by , thus . Similarly, if and , then is divisible by , thus . Likewise, . □
Remark 1. If then has no multiple roots, thus the condition is equivalent to the condition , and the condition is equivalent to the condition .
Theorem 3. Let . Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then C is generated by one element if and only if .
Proof. Assume that
C is generated by
. Then there exist
,
and
such that
Then
Therefore,
Further,
Hence,
W.L.G. we can assume that
. Then
Conversely, suppose that
. Consider QC code
of length
and index 2, generated by elements
and
. Since
, by [
13] we get that
can be generated by one element
. Therefore,
C is generated by three elements of the form
,
and
. By equality (3) we have that
, so
C is generated by two elements
and
.
Consider
Since
, by equality (2) we have
, where
. Since
, we have
. Then
Consider QC code
of length
and index 2, generated by elements
and
. Since
, by [
13] we get that
can be generated by one element
for some
. Therefore,
C is generated by one element
which completes the proof (note that
). □
Example 1. Let , . Then , where , , , . Let C be a code generated by three elements , and . Then they satisfy Conditions (*) and by Theorem 3 it is a one-generator code. Indeed, it is generated by .
In fact, one part of Theorem 3 is valid without restrictions on the characteristic of the ground field. The proof of Theorem 3 suggests the following:
Proposition 4. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . If C is generated by one element then .
Theorem 5. Let . Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . If C is generated by one element then .
Proof. As
, we can write
As
C is generated by one element, we have
Hence,
From (*) we obtain the following:
Therefore,
Note that
Now, divide both sides in (4) by (5). Applying (6) and (7), we have
As
, for some polynomial
we have
Hence,
which completes the proof. □
4. Euclidean Duals of Quasi-Cyclic Codes
Let
be a polynomial of degree
k. Then the
reciprocal polynomial of
is the polynomial
Let
, where
m is as before, i.e.,
. We define the
transpose polynomial of
as
Lemma 6. (1) If then (2) If then Proof. We have
which proves the lemma. □
We recall the standard inner product on the space
. Let
and
. Then the Euclidean inner product on
R is defined as
It is consistent with the standard dot product between vectors
and
.
Lemma 7 ([
10])
. Let , , be polynomials in R. Then Proof. It is sufficient to prove the statement for
. We have to show that
which is equivalent to the equality
where indices are considered modulo
m. □
Remark 2. Lemma 7 explains why is called the transpose polynomial for . Recall that if φ is an endomorphism of a vector space R, then the adjoint of φ is defined by the equation . For symmetric inner products, in the matrix presentation, the adjoint of a matrix is the transpose of the matrix. If we consider the multiplication by as an endomorphism of R, then its adjoint is the multiplication by .
Lemma 8. For , the following statements hold:
(1) If divides , then divides .
(2) If divides , then (3) If and divides , then (4) If , , and divides , then Proof. Let
. Then
and
Let
. Then
and
Thus the lemma follows. □
Remark 3. If , then . However, might not divide , but it divides . For example, let , . Then . Let . Then , , but .
The inner product (8) can be naturally extended to QC codes of length
and index 3:
If
C is a code in
, then its Euclidean dual code is
The code
C is called Euclidean self-orthogonal if
, and Euclidean dual-containing if
.
Theorem 9. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then its Euclidean dual code is generated by three elements Equivalently, Euclidean dual code is generated by three elements Proof. First of all, we show that two generator sets generate the same code:
Let
be a code generated by elements
,
, and
. We show that
. We need to show that
for all
and
. Let us show that
(other cases are similar). By Lemmas 7 and 8 we have
Thus
. We will show now that
. Note that
Generators
,
,
of the code
satisfy conditions of Theorem 2 (by interchanging coordinate positions 1 and 3 of codewords). Indeed,
,
, etc. Therefore, by Theorem 2
Hence,
, and theorem is proved. □
Example 2. Let , , Then , where , , , , . Let C be a code generated by three elements , and . By Theorem 9 the dual code is generated by three elements , and .
Now, we investigate conditions for C to be Euclidean self-orthogonal.
Theorem 10. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then C is Euclidean self-orthogonal if and only if the following conditions hold:
(1) ;
(2) ;
(3) ;
(4) ;
(5) ;
(6) .
Proof. Euclidean self-orthogonality of
C means that
for any
. This is equivalent to
for any
, which proves the theorem. □
Example 3. Let C be the code from Example 2. Then C is an Euclidean self-orthogonal -code (computed by Magma [28]. Its dual is a -code, which has the same parameters as Best Known Linear Code (BKLC) [29] (but the code in [29] has a complicated structure. Similarly, we can give description of Euclidean dual-containing codes.
Theorem 11. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then C is Euclidean dual-containing if and only if the following conditions hold:
(1) divides ;
(2) divides ;
(3) divides ;
(4) divides ;
(5) divides
;
(6) divides
Proof. C is Euclidean dual-containing if and only if
is Euclidean self-orthogonal. By Theorem 9 it means that
for any
. This is equivalent to
i.e.,
which proves the theorem. □
In terms of reciprocal polynomials Theorem 10 can be reformulated as follows.
Corollary 12. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then C is self-orthogonal if and only if the following conditions hold:
(1) ;
(2) ;
(3) ;
(4) ;
(5) ;
(6) .
Example 4. Let , , and let C be a code generated by , where , , . Then C is an Euclidean self-orthogonal -code, and its dual is a -code. The code is optimal [29]. Example 5. Let , . Then , where , , , . Let C be a code generated by , where , , . Then C is an Euclidean self-orthogonal -code, and its dual is a -code. Both codes are optimal [29]. Example 6. Let , . Then , where , , , . Let C be a code generated by , where , , . Then C is an Euclidean self-orthogonal code with the same parameters as BKLC, and its dual is a almost BKLC [29]. 5. Hermitian Duals of Quasi-Cyclic Codes
In this section we consider codes over the field
of
elements. Let
and
, where
,
for any
. For
we define
and
Then the Hermitian inner product on
R is defined as
If
C is a code in
, then its Hermitian dual is
The code
C is called Hermitian self-orthogonal if
, and Hermitian dual-containing if
. We investigate Hermitian codes following a similar pattern to that used for Euclidean codes.
Let
. We define the
conjugate transpose polynomial of
as
Lemma 13. If , and , then
(1) ;
(2) ;
(3) ;
(4) .
Proof. It is similar to the proof of Lemma 6. □
The next lemma is an analog of Lemma 7 and it can be proved in the same way.
Lemma 14. Let , , be polynomials in R. Then The inner product (9) can be naturally extended to QC codes of length
and index 3:
Lemma 15. (1) If divides , then divides .
(2) If divides , then(3) If and divides , then (4) If , , and divides , then Proof. It is similar to the proof of Lemma 8. □
Theorem 16. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then its Hermitian dual code is generated by three elements The next two theorems give characterizations of Hermitian self-orthogonal and Hermitian dual-containing codes.
Theorem 17. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then C is Hermitian self-orthogonal if and only if the following conditions hold:
(1) ;
(2) ;
(3) .
(4) ;
(5) ;
(6) .
Example 7. Let , , . Then , where , , . Let C be a code generated by , where , , . Then C is a Hermitian self-orthogonal -code, and its dual is a -code. Both codes are optimal [29]. Example 8. Let , , . Let C be a code generated by three elements , and . Then C is a -code, and its Hermitian dual is a -code. Code C is a BKLC and is optimal [29]. Theorem 18. Let C be a QC code of length and index 3, generated by elements , and , satisfying Conditions . Then C is Hermitian dual-containing if and only if the following conditions hold:
(1) divides ;
(2) divides ;
(3) divides .
(4) divides .
(5) divides
.
(6) divides