1 Introduction

Let \({\mathbb {Z}}_2\) be the ring of integers modulo 2. Let \({\mathbb {Z}}_2^n\) denote the set of all binary vectors of length n. A non-empty subset of \({\mathbb {Z}}_2^n\) is a binary code and a subgroup of \({\mathbb {Z}}_2^n\) is called a binary linear code. In this paper we introduce a subfamily of binary linear codes, called \({\mathbb {Z}}_2\)-double cyclic codes, with the property that the set of coordinates can be partitioned into two subsets, the first r coordinates and the last s coordinates, such that any cyclic shift of the coordinates of both subsets of a codeword is also a codeword.

Note that if one of these sets of coordinates is empty, for example \(r=0\), then we obtain a binary cyclic code of length s. Therefore, binary cyclic codes are a special class of \({\mathbb {Z}}_2\)-double cyclic codes. Another special case is when \(r=s\), where a \({\mathbb {Z}}_2\)-double cyclic code is permutation equivalent to a quasi-cyclic code of index 2 and even length. Theory of binary cyclic codes and quasi-cyclic codes of index 2 can be found in [11].

Recently, \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive codes have been studied (see [4, 7]). For \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive codes, the set of coordinates is partitioned into two subsets, the first one of binary coordinates and the second one of quaternary coordinates. The simultaneous cyclic shift of the subsets of coordinates of a codeword has been defined in [1], where the authors study \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic codes and identify these codes as \({\mathbb {Z}}_4[x]\)-modules of a certain ring. Furthermore \({\mathbb {Z}}_2{\mathbb {Z}}_2[u]\)-additive codes and \({\mathbb {Z}}_2{\mathbb {Z}}_2[u]\)-additive cyclic and constacylic codes have been studied in [2] and [3] respectively, where these codes are another special classes of mixed type codes.

Since [9], a lot of variants of linear and cyclic codes over different rings are studied. Obviously, these codes have a theoretical interest, from a mathematical point of view, since they are related to algebraic structures such as rings, ideals or modules. But the interest for such codes is not purely mathematical because some of them have binary images with better parameters than classical binary linear codes. Here, we present a new variant of cyclic codes, the \({\mathbb {Z}}_2\)-double cyclic codes, closely related to generalized quasi-cyclic codes of index 2 [13]. We give examples of \({\mathbb {Z}}_2\)-double cyclic codes that are optimal with respect to the minimum distance. The aim of this paper is to study the algebraic structure of \({\mathbb {Z}}_2\)-double cyclic codes and their dual codes. The paper is organized as follows. In Sect. 2, we give the definition of \({\mathbb {Z}}_2\)-double cyclic codes, we find the relation between some canonical projections of these codes and binary cyclic codes. Also we present the \({\mathbb {Z}}_2[x]\)-module \({\mathbb {Z}}_2[x]/(x^r-1)\times {\mathbb {Z}}_2[x]/(x^s-1)\), denoted by \(R_{r,s}\). In Sect. 3, we determine the algebraic structure of a \({\mathbb {Z}}_2\)-double cyclic code and we state some relations between its generators. In Sect. 4, we study the concept of duality and, for a \({\mathbb {Z}}_2\)-double cyclic code, we determine the generators of the dual code in terms of the generators of the code. In Sect. 5, we study the relations between \({\mathbb {Z}}_2\)-double cyclic codes and other families of cyclic codes such as \({\mathbb {Z}}_4\)-cyclic codes and \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic codes. Finally, in Sect. 6 we give tables with the generator polynomials of some specific \({\mathbb {Z}}_2\)-double cyclic codes and their dual codes. In some cases, the codes are optimal with respect to the minimum distance. We also give examples of \({\mathbb {Z}}_2\)-double cyclic codes obtained from \({\mathbb {Z}}_4\)-cyclic and \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic codes.

2 \({\mathbb {Z}}_2\)-double cyclic codes

Let C be a binary code of length n. Let r and s be non-negative integers such that \(n=r+s\). We consider a partition of the set of the n coordinates into two subsets of r and s coordinates respectively, so that C is a subset of \({\mathbb {Z}}_2^{r}\times {\mathbb {Z}}_2^{s}\).

Definition 1

Let C be a binary linear code of length \(n=r+s\). The code C is called \({\mathbb {Z}}_2\)-double cyclic if

$$\begin{aligned} (u_0, u_1,\dots , u_{r-2}, u_{r-1}\mid u'_0,u'_1,\dots , u'_{s-2}, u'_{s-1})\in C \end{aligned}$$

implies

$$\begin{aligned} (u_{r-1}, u_0, u_1,\dots , u_{r-2}\mid u'_{s-1},u'_0,u'_1,\dots , u'_{s-2})\in C. \end{aligned}$$

Let \(\mathbf{u}=(u_{0},u_{1},\dots ,u_{r-1}\mid u'_{0},\dots ,u'_{s-1})\) be a codeword in C and let i be an integer. We denote by

$$\begin{aligned} \mathbf{u}^{(i)}=(u_{0-i},u_{1-i},\dots ,u_{r-1-i}\mid u'_{0-i},\dots ,u'_{s-1-i}) \end{aligned}$$
(1)

the ith shift of \(\mathbf{u}\), where the subscripts are read modulo r and s, respectively. Note that \(\mathbf{u}^{(-1)}=\mathbf{u}^{(lcm(r,s)-1)}\) and, in fact, \(\mathbf{u}^{(i)}=\mathbf{u}^{(lcm(r,s)+i)}\), for \(i\in {\mathbb {Z}}\).

Let \(C\subseteq {\mathbb {Z}}_2^r\times {\mathbb {Z}}_2^s\) be a \({\mathbb {Z}}_2\)-double cyclic code. Let \(C_r\) be the canonical projection of C on the first r coordinates and \(C_s\) on the last s coordinates. Note that \(C_r\) and \(C_s\) are binary cyclic codes of length r and s, respectively. The code C is called separable if it is the direct product of \(C_r\) and \(C_s\).

There is a bijective map between \({\mathbb {Z}}_2^r\times {\mathbb {Z}}_2^s\) and \({\mathbb {Z}}_2[x]/(x^r-1)\times {\mathbb {Z}}_2[x]/(x^s-1)\) given by:

$$\begin{aligned} (u_0, u_1,\dots , u_{r-1}\mid u'_0,\dots , u'_{s-1})\mapsto (u_0+ u_1x+\dots + u_{r-1}x^{r-1}\mid u'_0+\dots +u'_{s-1}x^{s-1}). \end{aligned}$$

We denote the image of the vector \(\mathbf{u}\) by \(\mathbf{u}(x).\)

Definition 2

Denote the ring \({\mathbb {Z}}_2[x]/(x^r-1)\times {\mathbb {Z}}_2[x]/(x^s-1)\) by \(R_{r,s}\). We define the operation

$$\begin{aligned} \star : {\mathbb {Z}}_2[x]\times R_{r,s}\rightarrow R_{r,s} \end{aligned}$$

as

$$\begin{aligned} \lambda (x)\star (p(x)\mid q(x))= (\lambda (x)p(x) \mid \lambda (x)q(x)),\end{aligned}$$

where \(\lambda (x)\in {\mathbb {Z}}_2[x]\) and \((p(x)\mid q(x))\in R_{r,s}\).

The ring \(R_{r,s}\) with the external operation \(\star \) is a \({\mathbb {Z}}_2[x]\)-module. Let \(\mathbf{u}(x)=(u(x)\mid u'(x))\) be an element of \( R_{r,s}\). Note that if we operate \(\mathbf{u}(x)\) by x we get

$$\begin{aligned} x\star \mathbf{u}(x)&= x\star (u(x)\mid u'(x))\\&= x\star (u_0+\dots + u_{r-2}x^{r-2} + u_{r-1}x^{r-1}\mid u'_0+\dots + u'_{s-2}x^{s-2}+u'_{s-1}x^{s-1})\\&= (u_0x+\dots + u_{r-2}x^{r-1} + u_{r-1}x^{r}\mid u'_0x+\dots + u'_{s-2}x^{s-1}+u'_{s-1}x^{s})\\&=( u_{r-1} + u_0x+\dots + u_{r-2}x^{r-1} \mid u'_{s-1} + u'_0x+\dots + u'_{s-2}x^{s-1}). \end{aligned}$$

Hence, \(x\star \mathbf{u}(x)\) is the image of the vector \(\mathbf{u}^{(1)}\). Thus, the operation of \(\mathbf{u}(x)\) by x in \(R_{r,s}\) corresponds to a shift of \(\mathbf{u}\). In general, \(x^i\star \mathbf{u}(x)=\mathbf{u}^{(i)}(x)\) for all i.

3 Algebraic structure and generators

In this section, we shall study submodules of \(R_{r,s}\). We describe the generators of such submodules and state some properties. From now on, \(\langle S\rangle \) will denote the submodule generated by a subset S of \(R_{r,s}.\) Let \(\pi _r : R_{r,s} \rightarrow {\mathbb {Z}}_2[x]/(x^r-1)\) and \(\pi _s : R_{r,s} \rightarrow {\mathbb {Z}}_2[x]/(x^s-1)\) be the canonical projections, and let N be a submodule of \(R_{r,s}\). If \(\pi _r(N)=\{0\}\) (resp. \(\pi _s(N)=\{0\}\)) then we may consider that the generator polynomial of \(\pi _r(N)\) (resp. \(\pi _s(N)\)) is \(x^r - 1\) (resp. \(x^s-1\)). Define \(N'=\{ (p(x)|q(x))\in N\mid q(x)=0\}\). It is easy to check that \(N'\cong \pi _r(N')\) by considering the map \((p(x)\mid { 0})\mapsto p(x)\).

Theorem 1

The \({\mathbb {Z}}_2[x]\)-module \(R_{r,s}\) is a noetherian \({\mathbb {Z}}_2[x]\)-module, and every submodule N of \(R_{r,s}\) can be written as

$$\begin{aligned} N=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle ,\end{aligned}$$

where \(b(x), \ell (x)\in {\mathbb {Z}}_2[x]/(x^r-1)\) with \(b(x)\mid (x^r-1)\), and \(a(x)\in {\mathbb {Z}}_2[x]/(x^s-1)\) with \(a(x)\mid (x^s-1)\).

Proof

By using the fact that \({\mathbb {Z}}_2[x]/(x^r-1)\) and \({\mathbb {Z}}_2[x]/(x^s-1)\) are principal ideal rings, we have that \(N_s=\pi _s(N)\) and \(\pi _r(N')\) are finitely generated. Moreover, since \(N'\cong \pi _r(N')\), it follows that \(N'\) is finitely generated.

The generators of \(\pi _r(N')\) may not be unique. Consider b(x) the generator of \(\pi _r(N')\) satisfying \(b(x)\mid (x^r-1)\). Then \((b(x)\mid { 0})\) is a generator of \(N'\). Similarly, consider \(a(x)\in N_s\) such that \(N_s = \langle a(x)\rangle \) and \(a(x)\mid (x^s-1)\). Then there exists \(\ell (x)\in {\mathbb {Z}}_2[x]/(x^r-1)\) such that \((\ell (x)\mid a(x))\in N.\)

We claim that

$$\begin{aligned} N=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle . \end{aligned}$$

Let \((p(x)\mid q(x))\in N\). We shall prove that \((p(x)\mid q(x))\) is generated by \((b(x)\mid 0)\) and \((\ell (x)\mid a(x))\). First, since \(q(x)= \pi _s(p(x)\mid q(x))\in N_s\) and \(N_s=\langle a(x)\rangle \), there exists \(\lambda (x)\in {\mathbb {Z}}_2[x]\) such that \(q(x)= \lambda (x)a(x)\). Moreover,

$$\begin{aligned} (p(x)\mid q(x)) - \lambda (x)\star (\ell (x)\mid a(x)) = (p(x)-\lambda (x)\ell (x)\mid { 0})\in N', \end{aligned}$$

that is generated by \((b(x)\mid 0)\). Then, there exists \(\mu (x)\in {\mathbb {Z}}_2[x]\) such that \((p(x)-\lambda (x)\ell (x)\mid { 0})= \mu (x)\star (b(x)\mid { 0}).\) Thus,

$$\begin{aligned} (p(x)\mid q(x))= \mu (x)\star (b(x)\mid { 0}) + \lambda (x)\star (\ell (x)\mid a(x)). \end{aligned}$$

Therefore, N is finitely generated by \((b(x)\mid { 0})\) and \((\ell (x)\mid a(x))\), and then \(R_{r,s}\) is a noetherian \({\mathbb {Z}}_2[x]\)-module. \(\square \)

From the previous result, it is clear that we can identify \({\mathbb {Z}}_2\)-double cyclic codes in \({\mathbb {Z}}_2^{r}\times {\mathbb {Z}}_2^{s}\) as submodules of \(R_{r,s}\). Hence, any submodule of \(R_{r,s}\) is a \({\mathbb {Z}}_2\)-double cyclic code. From now on, we will denote by C indistinctly both the code and the corresponding submodule.

Note that if \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) is a \({\mathbb {Z}}_2\)-double cyclic code, then the canonical projections \(C_r\) and \(C_s\) are binary cyclic codes generated by \(\gcd (b(x),\ell (x))\) and a(x), respectively. Moreover, the generator polynomials of \(C_r\), \(C_s\) and C may not be unique. In the following proposition we give some conditions to the generator polynomials of a \({\mathbb {Z}}_2\)-double cyclic code.

Proposition 1

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code. Then, we can assume that

  1. 1.

    \(C_s=\langle a(x)\rangle \), with \(a(x)|(x^s-1)\),

  2. 2.

    \(\pi _r(C')=\langle b(x)\rangle ,\) with \(b(x)|(x^r-1)\),

  3. 3.

    \(\deg (\ell (x))<\deg (b(x))\).

Proof

The conditions for a(x) and b(x) follow from the proof of Theorem 1. Now, suppose that \(\deg (\ell (x))\ge \deg (b(x))\). Let \(i=\deg (\ell (x))-\deg (b(x))\) and let \(C_1= \langle (b(x)\mid { 0}),(\ell (x)+x^i\star b(x)\mid a(x))\rangle .\)

On the one hand, \(\deg (\ell (x)+x^i\star b(x))<\deg (\ell (x))\) and since the generators of \(C_1\) belong to C, we have that \(C_1 \subseteq C\). On the other hand,

$$\begin{aligned} (\ell (x)\mid a(x))= (\ell (x)+x^i\star b(x)\mid a(x))+x^i\star (b(x)\mid { 0}). \end{aligned}$$

Then, \(\langle (\ell (x)\mid a(x))\rangle \subseteq C_1\) and hence \(C\subseteq C_1\). It follows that \(C = C_1\), which implies that we may consider \(\deg (\ell (x))<\deg (b(x))\). \(\square \)

Example 1

Consider the code \(C_1\) generated by \(\langle (x^2+x+1\mid 0), (x+1\mid x^4+x^3+x^2+x+1)\rangle \subseteq R_{3,5}\). Since \((x+1)\star (x+1\mid x^4+x^3+x^2+x+1)=(x^2+1\mid 0)\) and \((x^2+x+1\mid 0)\) belong to \(C_1\), it is easy to see that \(\pi _r(C_1)= \langle 1\rangle \). Clearly, the generators of \(C_1\) are not as in Proposition 1 since \(\langle x^2+x+1\rangle \ne \pi _r(C_1)\). Thus, we may consider \(C_1=\langle (1\mid 0), (0\mid x^4+x^3+x^2+x+1)\rangle \), and these polynomials satisfy the conditions of Proposition 1.

Proposition 2

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code. Assume the generator polynomials of C satisfy the conditions in Proposition 1. Then, \(b(x)\mid \frac{x^s-1}{a(x)}\ell (x).\)

Proof

By Proposition 1, \(N'=\langle (b(x)\mid 0)\rangle \). We have that \(\frac{x^s-1}{a(x)}\star (\ell (x)\mid a(x))\in N'\) and, therefore, \(\frac{x^s-1}{a(x)} \ell (x)\in \langle b(x)\rangle \) and \(b(x)\mid \frac{x^s-1}{a(x)} \ell (x)\). \(\square \)

Corollary 1

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code. Assume the generator polynomials of C satisfy the conditions in Proposition 1. Then, \(b(x)\mid \frac{x^s-1}{a(x)}\gcd (b(x), \ell (x)).\)

We have seen that \(R_{r,s}\) is a \({\mathbb {Z}}_2[x]\)-module, and the product by \(x\in {\mathbb {Z}}_2[x]\) is equivalent to the double right shift on the vector space \({\mathbb {Z}}_2^r\times {\mathbb {Z}}_2^s\). Moreover, we have that \({\mathbb {Z}}_2^r\times {\mathbb {Z}}_2^s\) is a \({\mathbb {Z}}_2\)-module, where the operations are addition and multiplication by elements of \({\mathbb {Z}}_2\). Our goal now is to find a set of generators for C as a \({\mathbb {Z}}_2\)-module.

Proposition 3

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code. Assume the generator polynomials of C satisfy the conditions in Proposition 1. Define the sets

$$\begin{aligned} S_1= & {} \{(b(x)\mid 0), x\star (b(x)\mid 0),\dots , x^{r-\deg (b(x))-1}\star (b(x)\mid 0)\},\\ S_2= & {} \{(\ell (x)\mid a(x)), x\star (\ell (x)\mid a(x)),\dots , x^{s-\deg (a(x))-1}\star (\ell (x)\mid a(x))\}. \end{aligned}$$

Then, \(S_1\cup S_2\) forms a minimal generating set for C as a \({\mathbb {Z}}_2\)-module.

Proof

It is easy to check that the codewords of \(S_1\cup S_2\) are linearly independent.

Let \(c(x)=p_1(x)\star (b(x)\mid 0) + p_2(x)\star (\ell (x)\mid a(x))\in C\). We have to check that \(c(x)\in \langle S_1\cup S_2\rangle .\)

If \(\deg (p_1(x))\le r-\deg (b(x))-1,\) then \(p_1(x)\star (b(x)\mid 0)\in \langle S_1\rangle \). Otherwise, using the division algorithm, we compute \(p_1(x)=q_1(x)\frac{x^r-1}{b(x)}+r_1(x)\) with \(\deg (r_1(x))\le r-\deg (b(x))-1,\) hence

$$\begin{aligned}p_1(x)\star (b(x)\mid 0)=\left( q_1(x)\frac{x^r-1}{b(x)}+r_1(x)\right) \star (b(x)\mid 0)=r_1(x)\star (b(x)\mid 0)\in \langle S_1\rangle . \end{aligned}$$

It follows that \(c(x)\in \langle S_1\cup S_2\rangle \) if \(p_2(x)\star (\ell (x)\mid a(x))\in \langle S_1\cup S_2\rangle .\)

If \(\deg (p_2(x))\le s-\deg (a(x))-1,\) then \(p_2(x)\star (\ell (x)\mid a(x))\in \langle S_2\rangle \). If not, using the division algorithm, consider \(p_2(x)=q_2(x)\frac{x^s-1}{a(x)}+r_2(x)\), where \(\deg (r_2(x))\le s-\deg (a(x))-1.\) Then,

$$\begin{aligned} p_2(x)\star (\ell (x)\mid a(x))&=\left( q_2(x)\frac{x^s-1}{a(x)}+r_2(x)\right) \star (\ell (x)\mid a(x))\\&=\left( q_2(x)\frac{x^s-1}{a(x)}\right) \star (\ell (x)\mid a(x)) + r_2(x)\star (\ell (x)\mid a(x))\\&=( q_2(x)\frac{x^s-1}{a(x)}\ell (x)\mid 0) + r_2(x)\star (\ell (x)\mid a(x)). \end{aligned}$$

To prove that \(p_2(x)\star (\ell (x)\mid a(x))\in \langle S_1\cup S_2\rangle \) first note that \(r_2(x)\star (\ell (x)\mid a(x))\in \langle S_2\rangle .\) Finally, by Proposition 2, b(x) divides \(\frac{x^s-1}{a(x)}\ell (x)\) and it follows that \((q_2(x)\frac{x^s-1}{a(x)}\ell (x)\mid 0)\in \langle S_1\rangle \). Thus, \(c(x)\in \langle S_1\cup S_2\rangle .\) \(\square \)

Corollary 2

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code. Assume the generator polynomials of C satisfy the conditions in Proposition 1. Then, C is a binary linear code of dimension \(r+s-\deg (b(x))-\deg (a(x)).\)

4 Duality

Let C be a \({\mathbb {Z}}_2\)-double cyclic code and \(C^\perp \) be its dual code (see [10]). Taking a vector \(\mathbf{v}\) of \(C^\perp \), \(\mathbf{u}\cdot \mathbf{v}=0\) for all \(\mathbf{u}\) in C. Since \(\mathbf{u}\) belongs to C, we know that \(\mathbf{u}^{(-1)}\) is also a codeword. So, \(\mathbf{u}^{(-1)}\cdot \mathbf{v}=\mathbf{u}\cdot \mathbf{v}^{(1)}=0\) for all \(\mathbf{u}\in C\), therefore \(\mathbf{v}^{(1)}\) is in \(C^\perp \) and \(C^\perp \) is also a \({\mathbb {Z}}_2\)-double cyclic code. Consequently, we obtain the following proposition.

Proposition 4

Let C be a \({\mathbb {Z}}_2\)-double cyclic code. Then the dual code of C is also a \({\mathbb {Z}}_2\)-double cyclic code.

We denote \(C^\perp = \langle ({\bar{b}}(x)\mid { 0}), ({\bar{\ell }}(x) \mid {\bar{a}}(x)) \rangle ,\) where \({\bar{b}}(x), {\bar{\ell }}(x)\in {\mathbb {Z}}_2[x]/(x^r-1)\) with \({\bar{b}}(x)\mid (x^r-1)\) and \({\bar{a}}(x)\in {\mathbb {Z}}_2[x]/(x^s-1)\) with \({\bar{a}}(x)\mid (x^s-1)\).

The reciprocal polynomial of a polynomial p(x) is \(x^{\deg (p(x))}p(x^{-1})\) and is denoted by \(p^*(x)\). As in the theory of binary cyclic codes, reciprocal polynomials have an important role in duality (see [11]).

We denote the polynomial \(\sum ^{m-1}_{i=0} x^i\) by \(\theta _m(x)\). Using this notation we have the following proposition.

Proposition 5

Let \(n,m\in {\mathbb {N}}\). Then, \(x^{nm}-1= (x^n-1)\theta _m(x^n).\)

Proof

It is well known that \(y^m-1=(y-1)\theta _m(y)\). Replacing y by \(x^n\), the result follows. \(\square \)

From now on, \({\mathfrak {m}}\) denotes the least common multiple of r and s.

Definition 3

Let \(\mathbf{u}(x)=(u(x)\mid u'(x))\) and \(\mathbf{v}(x)=(v(x)\mid v'(x))\) be elements in \(R_{r,s}\). We define the map

$$\begin{aligned} \circ :R_{r,s}\times R_{r,s}\longrightarrow {\mathbb {Z}}_2[x]/(x^{{\mathfrak {m}}}-1), \end{aligned}$$

such that

$$\begin{aligned} \circ (\mathbf{u}(x),\mathbf{v}(x))=&u(x)\theta _{\frac{{\mathfrak {m}}}{r}}(x^r)x^{{\mathfrak {m}}-1-\deg (v(x))}v^*(x) +\\&+ u'(x)\theta _\frac{{\mathfrak {m}}}{s}(x^s)x^{{\mathfrak {m}}-1-\deg (v'(x))}{v'}^*(x) \mod (x^{{\mathfrak {m}}}-1). \end{aligned}$$

The map \(\circ \) is linear in each of its arguments. That is, \(\circ \) is a bilinear map between \({{\mathbb {Z}}}_2[x]\)-modules.

From now on, we denote \(\circ (\mathbf{u}(x), \mathbf{v}(x))\) by \(\mathbf{u}(x)\circ \mathbf{v}(x)\). Note that \(\mathbf{u}(x)\circ \mathbf{v}(x)\) belongs to \({\mathbb {Z}}_2[x]/(x^{{\mathfrak {m}}}-1)\).

Proposition 6

Let \(\mathbf{u}\) and \(\mathbf{v}\) be vectors in \({\mathbb {Z}}_2^{r}\times {\mathbb {Z}}_2^{s}\) with associated polynomials \(\mathbf{u}(x)=(u(x)\mid u'(x))\) and \(\mathbf{v}(x)=(v(x)\mid v'(x))\), respectively. Then, \(\mathbf{v}\) is orthogonal to \(\mathbf{u}\) and all its shifts if and only if

$$\begin{aligned}\mathbf{u}(x)\circ \mathbf{v}(x)= 0. \end{aligned}$$

Proof

Let \(\mathbf{u}^{(i)}=(u_{0-i},u_{1-i},\ldots , u_{r-1-i}\mid u'_{0-i},\ldots , u'_{s-1-i})\) be the ith shift of \(\mathbf{u}\). Then,

$$\begin{aligned}{} \mathbf{u}^{(i)}\cdot \mathbf{v}=0\hbox { if and only if }\sum ^{r-1}_{j=0} u_{j-i}v_{j} +\sum ^{s-1}_{k=0} u'_{k-i}v'_{k}=0.\end{aligned}$$

Let \(S_i=\sum ^{r-1}_{j=0} u_{j-i}v_{j} +\sum ^{s-1}_{k=0} u'_{k-i}v'_{k}\). Computing \(\mathbf{u}(x)\circ \mathbf{v}(x)\) we obtain

$$\begin{aligned} \mathbf{u}(x)\circ \mathbf{v}(x)&= \theta _\frac{{\mathfrak {m}}}{r}(x^r)\left[ \sum ^{r-1}_{n=0}\sum ^{r-1}_{j=n}u_{j-n}v_{j}x^{{\mathfrak {m}}-1-n } + \sum ^{r-1}_{n=1}\sum ^{r-1}_{j=n}u_{j}v_{j-n}x^{{\mathfrak {m}}-1+n }\right] \\&\qquad +\theta _\frac{{\mathfrak {m}}}{s}(x^s)\left[ \sum ^{s-1}_{t=0}\sum ^{s-1}_{k=t}u'_{k-t}v'_{j}x^{{\mathfrak {m}}-1-t } + \sum ^{s-1}_{t=1}\sum ^{s-1}_{k=t}u'_{k}v'_{k-t}x^{{\mathfrak {m}}-1+t }\right] . \end{aligned}$$

Then, arranging the terms, we have that

$$\begin{aligned} \mathbf{u}(x)\circ \mathbf{v}(x)=\sum ^{{\mathfrak {m}}-1}_{i=0} S_i x^{{\mathfrak {m}}-1-i}\mod (x^{{\mathfrak {m}}}-1).\end{aligned}$$

This implies that \(\mathbf{u}(x)\circ \mathbf{v}(x)=0\) if and only if \(S_i=0\) for \(0\le i\le {\mathfrak {m}}-1.\) \(\square \)

Lemma 1

Let \(\mathbf{u}(x)=(u(x)\mid u'(x))\) and \(\mathbf{v}(x)=(v(x)\mid v'(x))\) be elements in \(R_{r,s}\) such that \(\mathbf{u}(x)\circ \mathbf{v}(x)=0\). If \(u'(x)\) or \(v'(x)\) equals 0, then \(u(x)v^*(x)\equiv 0 \pmod {(x^r-1)}\). Respectively, if u(x) or v(x) equals 0, then \(u'(x)v'^*(x) \equiv 0 \pmod {(x^s-1)}\).

Proof

Let \(u'(x)\) or \(v'(x)\) equals 0. Then

$$\begin{aligned} 0=\mathbf{u}(x)\circ \mathbf{v}(x)=u(x)\theta _{\frac{{\mathfrak {m}}}{r}}(x^r)x^{{\mathfrak {m}}-1-\deg (v(x))} v^*(x)+0 \mod (x^{{\mathfrak {m}}}-1). \end{aligned}$$

Therefore, \(u(x)\theta _{\frac{{\mathfrak {m}}}{r}}(x^r)x^{{\mathfrak {m}}-1-\deg (v(x))}v^*(x)=\mu '(x)(x^{\mathfrak {m}}-1),\) for some \(\mu '(x)\in {\mathbb {Z}}_2[x]\). Let \(\mu (x)=\mu '(x)x^{\deg (v(x))+1}\). By Proposition 5, \(u(x)x^{{\mathfrak {m}}}v^*(x)=\mu (x)(x^r-1)\), and hence \(u(x)v^*(x) \equiv 0 \pmod {(x^r-1)}.\) The same argument can be used to prove the other case. \(\square \)

The following proposition shows that the dual of a separable \({\mathbb {Z}}_2\)-double cyclic code is also separable.

Proposition 7

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a separable \(\mathbb {Z}_2\)-double cyclic code. Assume the generator polynomials of C satisfy the conditions in Proposition 1. Then \(\ell (x)=0.\) Moreover, \(C^\perp \) is a separable \({\mathbb {Z}}_2\)-double cyclic code such that \(C^\perp =\langle (\frac{x^r-1}{b^*(x)}\mid { 0}), ({ 0} \mid \frac{x^s-1}{a^*(x)}) \rangle \).

Proof

If C is separable, then \(C=C_r\times C_s\) and clearly \(\ell (x)=0\). Hence, it is easy to see that \(C^\perp =C^\perp _r\times C^\perp _s\). By [11], we have that \(C_r^\perp =\langle \frac{x^r-1}{b^*(x)}\rangle \) and \(C_s^\perp =\langle \frac{x^s-1}{a^*(x)}\rangle \). Therefore, the statement follows. \(\square \)

In view of Proposition 7, we shall focus on non-separable \({\mathbb {Z}}_2\)-double cyclic codes for the rest of the section. From now on, we will denote \(\gcd (b(x), l(x))\) by \(g_{b,l}(x)\).

Proposition 8

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code. Assume the generator polynomials of C satisfy the conditions in Proposition 1. Then,

$$\begin{aligned} |C_r|= & {} 2^{r-\deg (b(x))+\kappa }, |C_s|=2^{s-\deg (a(x))},\\ |(C_r)^\perp |= & {} 2^{\deg (b(x))-\kappa }, |(C_s)^\perp |=2^{\deg (a(x))},\\ |(C^\perp )_r|= & {} 2^{\deg (b(x))}, |(C^\perp )_s|=2^{\deg (a(x))+\kappa }, \end{aligned}$$

where \(\kappa =\deg (b(x))-\deg (g_{b,l}(x))\).

Proof

Let C be a \({\mathbb {Z}}_2\)-double cyclic code with \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \), and assume the generator polynomials of C satisfy the conditions in Proposition 1. Then, by Proposition 3, C is generated by the matrix whose rows are the elements of the set \(S_1\cup S_2.\) The subcode of C generated by the elements of \(S_1\) and the subcode generated by the elements of \(S_2\) have generator matrices of the form

$$\begin{aligned} G_1= & {} \left( \begin{array}{cc|c} I_{r-\deg (b(x))}\, &{} A\, &{} \, 0 \\ \end{array}\right) ,\\ G_2= & {} \left( \begin{array}{c|cc} B\,&\, D&\, I_{s-\deg (a(x))} \end{array}\right) , \end{aligned}$$

respectively.

Consider the subcode \(C_0\) of C with 0 in the first r coodinates. Clearly \(C_0\) is generated by elements in \(S_2\) and therefore the dimension of \(C_0\) is \(s-\deg (a(x))-\kappa \), for some \(\kappa \ge 0\). Taking into account \(\kappa \) and the matrices \(G_1\) and \(G_2\), we have that C is permutation equivalent to a binary linear code with generator matrix of the form

$$\begin{aligned}G = \left( \begin{array}{ccc|ccc} I_{r-\deg (b(x))} &{} A_1 &{} A_2 &{} 0 &{} 0 &{} 0 \\ 0 &{} B_{\kappa } &{} B_1 &{} D_1 &{} I_\kappa &{} 0 \\ 0 &{} 0 &{} 0 &{} D_2 &{} R &{} I_{s-\deg (a(x))-\kappa } \end{array}\right) , \end{aligned}$$

where \(B_\kappa \) is a square matrix of full rank. Note that \(\kappa =\deg (b(x))-\deg (g_{b,l}(x))\). The cardinalities of \(C_r, (C_r)^\perp , C_s\) and \((C_s)^\perp \) follow easily from G. The values of \(|(C^\perp )_r|\) and \(|(C^\perp )_s|\) can be obtained from the projections on the first r and on the last s coordinates of the following parity check matrix of C

$$\begin{aligned}H = \left( \begin{array}{ccc|ccc} A_1^t &{} I_\kappa &{} 0 &{} 0 &{} B_\kappa ^t &{} B_\kappa ^tR^t \\ A_2^t &{} 0 &{} I_{\deg (b(x))-\kappa } &{} 0 &{} B_1^t &{} B_1^tR^t \\ 0 &{} 0 &{} 0 &{} I_{\deg (a(x))} &{} D_1^t &{} D_2^t + D_1^tR^t \end{array}\right) . \end{aligned}$$

\(\square \)

Corollary 3

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code with dual code \(C^\perp = \langle ({\bar{b}}(x)\mid { 0}), ({\bar{\ell }}(x) \mid {\bar{a}}(x)) \rangle \). Assume the generator polynomials of C and \(C^\perp \) satisfy the conditions in Proposition 1. Then,

$$\begin{aligned} \deg ({\bar{b}}(x))= & {} r - \deg (g_{b,l}(x)),\\ \deg ({\bar{a}}(x))= & {} s-\deg (a(x))-\deg (b(x))+\deg (g_{b,l}(x)). \end{aligned}$$

Proof

It is easy to prove that \((C_r)^\perp \) is a cyclic code generated by \({\bar{b}}(x)\). Therefore, \(|(C_r)^\perp |=2^{r-\deg ({\bar{b}}(x))}\). Moreover, by Proposition 8, \(|(C_r)^\perp |=2^{\deg (b(x))-\kappa }\) with \(\kappa =\deg (b(x))-\deg (g_{b,l}(x))\). Thus, \(\deg ({\bar{b}}(x)) = r-\deg (g_{b,l}(x)).\)

Since \(C^\perp \) is a \({\mathbb {Z}}_2\)-double cyclic code, \((C^\perp )_s\) is a cyclic code generated by \({\bar{a}}(x)\), and hence \(| (C^\perp )_s|=2^{s-\deg ({\bar{a}}(x))}\). By Proposition 8, we have that \(|(C^\perp )_s|=2^{\deg (a(x))+\kappa }\) with \(\kappa =\deg (b(x))-\deg (g_{b,l}(x))\) and consequently \(\deg ({\bar{a}}(x)) = s-\deg (a(x))-\deg (b(x))+\deg (g_{b,l}(x)).\) \(\square \)

The previous propositions and corollaries will be helpful to determine the relations between the generator polynomials of a \({\mathbb {Z}}_2\)-double cyclic code and the generator polynomials of its dual code.

Proposition 9

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code with dual code \(C^\perp = \langle ({\bar{b}}(x)\mid { 0}), ({\bar{\ell }}(x) \mid {\bar{a}}(x)) \rangle \). Assume the generator polynomials of C and \(C^\perp \) satisfy the conditions in Proposition 1. Then,

$$\begin{aligned}{\bar{b}}(x)=\frac{x^r-1}{g_{b,l}^*(x)}.\end{aligned}$$

Proof

We have that \(({\bar{b}}(x)\mid { 0})\) belongs to \(C^\perp \). Then,

$$\begin{aligned} (b(x)\mid { 0})\circ ({\bar{b}}(x)\mid { 0})= & {} 0,\\ (\ell (x)\mid a(x))\circ ({\bar{b}}(x)\mid { 0})= & {} 0. \end{aligned}$$

Applying Lemma 1 to the previous equations, we obtain

$$\begin{aligned} b(x){\bar{b}}^*(x)\equiv & {} 0 \pmod {(x^r-1)},\\ \ell (x){\bar{b}}^*(x)\equiv & {} 0 \pmod {(x^r-1)}. \end{aligned}$$

Therefore, \( g_{b,l}(x){\bar{b}}^*(x)\equiv 0 \pmod {(x^r-1)}\), and there exists \(\mu (x)\in {\mathbb {Z}}_2[x]\) such that \( g_{b,l}(x){\bar{b}}^*(x)= \mu (x)(x^r-1)\). Moreover, \(g_{b,l}(x)\) and \({\bar{b}}^*(x)\) divide \((x^r-1)\), and by Corollary 3 we have that \(\deg ({\bar{b}}(x)) = r-\deg (g_{b,l}(x))\) and then \({\bar{b}}^*(x)=\frac{x^r-1}{g_{b,l}(x)}.\) \(\square \)

Proposition 10

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code with dual code \(C^\perp = \langle ({\bar{b}}(x)\mid { 0}), ({\bar{\ell }}(x) \mid {\bar{a}}(x)) \rangle \). Assume the generator polynomials of C and \(C^\perp \) satisfy the conditions in Proposition 1. Then,

$$\begin{aligned}{\bar{a}}(x)=\frac{(x^s-1)g_{b,l}^*(x)}{a^*(x)b^*(x)}.\end{aligned}$$

Proof

Consider the codeword

$$\begin{aligned} \frac{b(x)}{g_{b,l}(x)}\star (\ell (x) \mid a(x))-\frac{\ell (x)}{g_{b,l}(x)}\star (b(x)\mid { 0})=\left( { 0}\mid \frac{b(x)}{g_{b,l}(x)}a(x)\right) .\end{aligned}$$

Then, since \(({\bar{\ell }}(x)\mid {\bar{a}}(x))\in C^\perp \), we have that \(({\bar{\ell }}(x)\mid {\bar{a}}(x))\circ ({ 0}\mid \frac{b(x)}{g_{b,l}(x)}a(x)) = 0.\) Thus, by Lemma 1, \({\bar{a}}(x) \frac{a^*(x)b^*(x)}{g_{b,l}^*(x)} \equiv 0 \pmod {(x^s-1)},\) and hence \( {\bar{a}}(x)\frac{a^*(x)b^*(x)}{g_{b,l}^*(x)}=(x^s-1)\mu (x),\) for some \(\mu (x)\in {\mathbb {Z}}_2[x]\). By Corollary 1, it follows that \(\frac{a^*(x)b^*(x)}{g_{b,l}^*(x)}\) divides \((x^s-1)\). Therefore, if \(\frac{a^*(x)b^*(x)}{g_{b,l}^*(x)} \equiv 0 \pmod {(x^s-1)}\) we may consider that \(\frac{a^*(x)b^*(x)}{g_{b,l}^*(x)}=(x^s-1)\). By Corollary 3, \(\deg ({\bar{a}}(x))=s-\deg (a(x))-\deg (b(x))+\deg (g_{b,l}(x))\), thus

$$\begin{aligned}\deg (x^s-1)=s=\deg \left( {\bar{a}}(x)\frac{a^*(x)b^*(x)}{g_{b,l}^*(x)} \right) =\deg ((x^s-1)\mu (x)).\end{aligned}$$

Hence, we obtain that \(\mu (x)=1\) and \( {\bar{a}}(x)=\frac{(x^s-1)g_{b,l}^*(x)}{a^*(x)b^*(x)}.\) \(\square \)

Proposition 11

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a non-separable \({\mathbb {Z}}_2\)-double cyclic code with dual code \(C^\perp = \langle ({\bar{b}}(x)\mid { 0}), ({\bar{\ell }}(x) \mid {\bar{a}}(x)) \rangle \). Assume the generator polynomials of C and \(C^\perp \) satisfy the conditions in Proposition 1. Then,

$$\begin{aligned}{\bar{\ell }}(x)=\frac{x^r-1}{b^*(x)}\lambda (x),\end{aligned}$$

where \(\lambda (x)=x^{{\mathfrak {m}}-\deg (a(x))+\deg (\ell (x))}\left( \frac{\ell ^*(x)}{g^*_{b,l}(x)}\right) ^{-1}\mod \left( \frac{b^*(x)}{g_{b,l}^*(x)}\right) .\)

Proof

Let \({\bar{c}}(x)=({\bar{b}}(x)\mid 0)+({\bar{\ell }}(x)\mid {\bar{a}}(x))\in C^\perp \). Then

$$\begin{aligned} {\bar{c}}(x)\circ (b(x)\mid { 0})= & {} ({\bar{b}}(x)\mid { 0})\circ (b(x)\mid { 0}) + ({\bar{\ell }}(x)\mid {\bar{a}}(x))\circ (b(x)\mid { 0})\\= & {} 0 + ({\bar{\ell }}(x)\mid {\bar{a}}(x))\circ (b(x)\mid { 0})=0. \end{aligned}$$

By Lemma 1, we have that \({\bar{\ell }}(x)b^*(x)\equiv 0\pmod {(x^r-1)}\) and therefore

$$\begin{aligned}{\bar{\ell }}(x)=\frac{x^r-1}{b^*(x)}\lambda (x).\end{aligned}$$

Computing \(({\bar{\ell }}(x) \mid {\bar{a}}(x))\circ (\ell (x)\mid a(x))\) and arranging properly we obtain

$$\begin{aligned}\frac{(x^{\mathfrak {m}}-1)g_{b,l}^*(x)}{b^*(x)}\left( \lambda (x)x^{{\mathfrak {m}}-\deg (\ell (x))-1}\frac{\ell ^*(x)}{g^*_{b,l}(x)}+x^{{\mathfrak {m}}-\deg (a(x))-1}\right) ,\end{aligned}$$

that is congruent to \(0 \pmod {(x^{\mathfrak {m}}-1)}\). Then, either

$$\begin{aligned} \left( \lambda (x)x^{{\mathfrak {m}}-\deg (\ell (x))-1}\frac{\ell ^*(x)}{g^*_{b,l}(x)}+x^{ {\mathfrak {m}}-\deg (a(x))-1}\right) \equiv 0\pmod {(x^{\mathfrak {m}}-1)}, \end{aligned}$$
(2)

or

$$\begin{aligned} \left( \lambda (x)x^{{\mathfrak {m}}-\deg (\ell (x))-1}\frac{\ell ^*(x)}{g^*_{b,l}(x)}+x^{ {\mathfrak {m}}-\deg (a(x))-1}\right) \equiv 0\left( \mathrm{mod}\ {\left( \frac{b^*(x)}{g_{b,l}^*(x)}\right) }\right) . \end{aligned}$$
(3)

Since \(\frac{b^*(x)}{g_{b,l}^*(x)}\) divides \(x^{\mathfrak {m}} - 1\), clearly (2) implies (3). Hence,

$$\begin{aligned}\lambda (x)x^{{\mathfrak {m}}}\frac{\ell ^*(x)}{g^*_{b,l}(x)} = x^{{\mathfrak {m}}-\deg (a(x))+\deg (\ell (x))}\mod \left( \frac{b^*(x)}{g_{b,l}^*(x)}\right) .\end{aligned}$$

We have that \(x^{\mathfrak {m}}\equiv 1\pmod { \left( \frac{b^*(x)}{g_{b,l}^*(x)}\right) }.\) Moreover, the greatest common divisor between \(\frac{\ell (x)}{g_{b,l}(x)}\) and \(\frac{b(x)}{g_{b,l}(x)}\) is 1, and then \(\frac{\ell ^*(x)}{g^*_{b,l}(x)}\) is an invertible element modulo \(\left( \frac{b^*(x)}{g_{b,l}^*(x)}\right) \). Therefore,

$$\begin{aligned}\lambda (x)=x^{{\mathfrak {m}}-\deg (a(x))+\deg (\ell (x))}\left( \frac{\ell ^*(x)}{g^*_{b,l}(x)}\right) ^{-1}\mod \left( \frac{b^*(x)}{g_{b,l}^*(x)}\right) .\end{aligned}$$

\(\square \)

We summarize the previous results in the next theorem.

Theorem 2

Let \(C=\langle (b(x)\mid { 0}),(\ell (x)\mid a(x))\rangle \) be a \({\mathbb {Z}}_2\)-double cyclic code with dual code \(C^\perp = \langle ({\bar{b}}(x)\mid { 0}), ({\bar{\ell }}(x) \mid {\bar{a}}(x)) \rangle \). Assume the generator polynomials of C and \(C^\perp \) satisfy the conditions in Proposition 1. Then,

  1. 1.

    \({\bar{b}}(x)=\frac{x^r-1}{g_{b,l}^*(x)},\)

  2. 2.

    \({\bar{a}}(x)=\frac{(x^s-1)g_{b,l}^*(x)}{a^*(x)b^*(x)},\)

  3. 3.

    \({\bar{\ell }}(x)=\frac{x^r-1}{b^*(x)}\lambda (x)\), where \(\lambda (x)=\left\{ \begin{array}{ll} 0, \hbox {if }C\hbox { is separable}, &{} \\ x^{{\mathfrak {m}}-\deg (a(x))+\deg (\ell (x))}\left( \frac{\ell ^*(x)}{g^*_{b,l}(x)}\right) ^{-1}\mod \left( \frac{b^*(x)}{g_{b,l}^*(x)}\right) , otherwise. &{} \\ \end{array} \right. \)

5 Relations between \({\mathbb {Z}}_2\)-double cyclic codes and other codes

In this section, we study how \({\mathbb {Z}}_2\)-double cyclic codes are related to other families of cyclic codes, say \({\mathbb {Z}}_4\)-cyclic codes and \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic codes. Since these families of codes have part or all the coordinates over \({\mathbb {Z}}_4\), their generator polynomials also have coefficients over the ring \({\mathbb {Z}}_4\). From now on, the binary reduction of a polynomial \(p(x)\in {\mathbb {Z}}_4[x]\) will be denoted by \({\tilde{p}}(x)\).

Let p(x) be a divisor of \(x^n-1\) in \({\mathbb {Z}}_2[x]\) with n odd and let \(\xi \) be a primitive nth root of unity over \({\mathbb {Z}}_2\). The polynomial \(({{p}}\otimes {{p}})(x)\) is defined as the divisor of \(x^n-1\) in \({\mathbb {Z}}_2[x]\) whose roots are the products \(\xi ^i\xi ^j\) such that \(\xi ^i\) and \(\xi ^j\) are roots of p(x).

From [12] and [10], it is known that a \({\mathbb {Z}}_4\)-cyclic code \({{{\mathcal {C}}}}\) of length n is generated by a single element \(f(x)h(x)+2f(x)\in {\mathbb {Z}}_4[x]/(x^n-1),\) where \(f(x)h(x)g(x)=x^n-1\) in \({\mathbb {Z}}_4[x]\), and \(|{{{\mathcal {C}}}}|=4^{\deg ( g(x))}2^{\deg (h(x))}\).

Let \(\mathbf{u}=(u_0,\dots , u_{n-1})\) be an element of \({\mathbb {Z}}_4^n\) such that \(u_i={\tilde{u}}_i + 2 u'_i\) with \({\tilde{u}}_i, u'_i\in \{0,1\}.\) As in [9], the Gray map \(\phi \) from \({\mathbb {Z}}_4^n\) to \({\mathbb {Z}}_2^{2n}\) is defined by

$$\begin{aligned}\phi (\mathbf{u})= (u'_0,\dots , u'_{n-1}\mid {\tilde{u}}_0 + u'_0,\dots , {\tilde{u}}_{n-1}+u'_{n-1} ).\end{aligned}$$

Let \(\mathbf{u}(x)=\tilde{\mathbf{u}}(x)+ 2\mathbf{u}'(x)\) be the polynomial representation of \(\mathbf{u}\in {\mathbb {Z}}_4^n\). Then, the polynomial version of the Gray map is \(\phi (\mathbf{u}(x))= (\mathbf{u'}(x)\mid \tilde{\mathbf{u}}(x)+ \mathbf{u}'(x)).\) The Nechaev permutation is the permutation \(\pi \) on \({\mathbb {Z}}_2^{2n}\) with n odd defined by

$$\begin{aligned}\pi (v_0,v_1,\dots ,v_{2n-1}) = (v_{\tau (0)}, v_{\tau (1)},\dots ,v_{\tau (2n-1)}),\end{aligned}$$

where \(\tau \) is the permutation on \(\{0,1,\dots , 2n-1\}\) given by

$$\begin{aligned}(1,n+1) (3,n+3)\dots (2i+1, n+2i+1)\dots (n-2, 2n-2).\end{aligned}$$

Let \(\psi \) be the map from \({\mathbb {Z}}_4^n\) into \({\mathbb {Z}}_2^{2n}\) defined by \(\psi = \pi \phi \), with n odd. The map \(\psi \) is called the Nechaev–Gray map, [15]. Therefore we give the following theorem.

Theorem 3

([15, Theorem 20]) Let \({{{\mathcal {C}}}}=\langle f(x)h(x) +2f(x) \rangle \) be a \({{{\mathbb {Z}}_4}}\)-cyclic code of odd length n and where \(f(x)h(x)g(x) = x^n -1.\) Let \(\phi \) be the Gray map and let \(\psi \) be the Nechaev–Gray map. The following properties are equivalent.

  1. 1.

    \(\gcd ({\tilde{f}}(x), ({\tilde{g}}\otimes {\tilde{g}})(x))=1\) in \({\mathbb {Z}}_2[x]\);

  2. 2.

    \(\phi ({{{\mathcal {C}}}})\) is a binary linear code of length 2n;

  3. 3.

    \(\psi ({{{\mathcal {C}}}})\) is a binary linear cyclic code of length 2n generated by \({\tilde{f}}(x)^2 {\tilde{h}}(x)\).

Using the last theorem, we can relate \({\mathbb {Z}}_2\)-double cyclic codes to \({\mathbb {Z}}_4\)-cyclic codes.

5.1 \({\mathbb {Z}}_2\)-double cyclic codes versus \({\mathbb {Z}}_4\)-cyclic codes

Let \({{{\mathcal {C}}}}\) be a \({\mathbb {Z}}_4\)-cyclic code of length n, and \(\mathbf{w }\in \phi ({{\mathcal {C}}})\). The codeword \(\mathbf{w }\) can be written as \((u'_0,\dots ,u'_{n-1}\,|\,{\tilde{u}}_0+u'_0,\dots ,{\tilde{u}}_{n-1} +u'_{n-1})\), for \((u_0,\dots ,u_{n-1})=\mathbf{u}=\phi ^{-1}(\mathbf{w })\in {{\mathcal {C}}}\). By definition of the Gray map, we have that \(\mathbf{w }^{(1)}\) is \((u'_{n-1},u'_0,\dots ,u'_{n-2}\,|\,{\tilde{u}}_{n-1}+u'_{n-1}, {\tilde{u}}_0+u'_0,\dots ,{\tilde{u}}_{n-2}+u'_{n-2})=\phi (u_{n-1},u_0,\dots ,\) \(u_{n-2})\). Therefore, since \({{\mathcal {C}}}\) is \({\mathbb {Z}}_4\)-cyclic, we have that \(\mathbf{w }^{(i)}\in \phi (\mathcal{C})\).

In general, the Gray image of a linear code over \({\mathbb {Z}}_4\) is not linear. Hence, we shall consider \({\mathbb {Z}}_2\)-double cyclic codes as images of \({\mathbb {Z}}_4\)-cyclic codes, \({{\mathcal {C}}}=\langle f(x)h(x) +2f(x) \rangle \), in the case that such a code \({{\mathcal {C}}}\) has linear image under the Gray map; that is, when \(\gcd ({\tilde{f}}(x), ({\tilde{g}}\otimes {\tilde{g}})(x))=1\) in \({\mathbb {Z}}_2[x]\), by Theorem 3. Consequently, we obtain the following proposition.

Proposition 12

Let \({{\mathcal {C}}}=\langle f(x)h(x) +2f(x) \rangle \) be a \({{{\mathbb {Z}}_4}}\)-cyclic code of odd length n, where \(f(x)h(x)g(x) = x^n -1\), and \(\gcd ({\tilde{f}}(x), ({\tilde{g}}\otimes {\tilde{g}})(x))=1\). Then, \(\phi ({{\mathcal {C}}})\) is a \({\mathbb {Z}}_2\)-double cyclic code in \({\mathbb {Z}}_2^n\times {\mathbb {Z}}_2^n\).

Our goal is to establish a relation between the generator polynomial of the \({\mathbb {Z}}_4\)-cyclic code \({{\mathcal {C}}}\) and its \({\mathbb {Z}}_2\)-double cyclic image, \(\phi ({{\mathcal {C}}})\).

Let \(i\in \{2,4\}\). If \({{\mathcal {C}}}\) is a \({\mathbb {Z}}_i[x]\)-module and \(g_1,\dots ,g_t\in {{\mathcal {C}}}\). Then \(\langle g_1,\dots ,g_t\rangle _i\) will denote the \({\mathbb {Z}}_i[x]\)-submodule of \({{\mathcal {C}}}\) generated by \(g_1,\dots ,g_t\).

The following theorem is proved in [14, Theorem 8].

Theorem 4

Let n be odd and let f(x), h(x), g(x) be in \({\mathbb {Z}}_4[x]\) such that \(f(x)h(x)g(x)=x^n-1\). Then \(\langle f(x)h(x) +2f(x)\rangle _4=\langle {\tilde{f}}(x){\tilde{h}}(x)\rangle _2+2\langle {\tilde{f}}(x)\rangle _2\) if and only if \(\gcd ({\tilde{f}}(x), ({\tilde{g}}\otimes {\tilde{g}})(x))=1\) in \({\mathbb {Z}}_2[x]\).

Lemma 2

Let \({{\mathcal {C}}}\) be a linear code over \({\mathbb {Z}}_4\) of type \(2^\gamma 4^\delta \) such that \(\phi ({{\mathcal {C}}})\) is a linear code. Let \(\{ \mathbf {u}_i\}^\gamma _{i=1}\) be codewords of order two and \(\{ \mathbf {v}_j\}^\delta _{j=1}\) codewords of order four such that \({{\mathcal {C}}}=\langle \{ \mathbf {u}_i\}^\gamma _{i=1}, \{ \mathbf {v}_j\}^\delta _{j=1}\rangle _4\). Then,

$$\begin{aligned} \phi ({{\mathcal {C}}})=\langle \{ \phi ( \mathbf {u} _i)\}^\gamma _{i=1},\{ \phi ( \mathbf {{v}} _{j})\}^\delta _{j=1},\{\phi (2 \mathbf {v} _j)\}^\delta _{j=1}\rangle _2.\end{aligned}$$

Proof

From [6, Lemma 3], it is known that if \({{\mathcal {C}}}\) is a linear code over \({\mathbb {Z}}_4\) of type \(2^\gamma 4^\delta \) such that \({{\mathcal {C}}}=\langle \{ \mathbf {u}_i\}^\gamma _{i=1}, \{ \mathbf {v}_j\}^\delta _{j=1}\rangle _4\), then

$$\begin{aligned} \langle \phi ({{\mathcal {C}}})\rangle _2=\langle \{ \phi (\mathbf {u}_i)\}^\gamma _{i=1},\{ \phi (\mathbf {v}_j)\}^\delta _{j=1},\{\phi (2\mathbf {v}_j)\}^\delta _{j=1}, \{ \phi (2\mathbf {v}_j*\mathbf {v}_t)\}_{1\le j< t\le \delta }\rangle _2,\end{aligned}$$

where \(\mathbf {u}*\mathbf {v}\) denote the component-wise product for any \(\mathbf {u},\mathbf {v}\in {\mathbb {Z}}_4^n\). We know that \(\phi ({{\mathcal {C}}})\) is linear if and only if \(2\mathbf {u}*\mathbf {v}\in {{\mathcal {C}}}\) for all \(\mathbf {u},\mathbf {v}\in {{\mathcal {C}}},\) [9]. Since \(\phi ({{\mathcal {C}}})\) is a binary linear code, then \(\{ 2\mathbf {v}_j*\mathbf {v}_t\}_{1\le j< t\le \delta } \in \mathcal{C}\). Therefore, \(\langle \{ \phi (2\mathbf {v}_j*\mathbf {v}_t)\}_{1\le j< t\le \delta }\rangle _2\subseteq \langle \{ \phi ({{\mathbf {u}}} _i) \}^\gamma _{i=1}, \{ \phi (\mathbf {v} _j)\}^\delta _{j=1},\{\phi (2\mathbf {v} _j) \}^\delta _{j=1}\rangle _2.\) \(\square \)

Theorem 5

Let \({{\mathcal {C}}}=\langle f(x)h(x) +2f(x) \rangle _4\) be a \({{{\mathbb {Z}}_4}}\)-cyclic code of odd length n, where \(f(x)h(x)g(x) = x^n -1\) and \(\gcd ({\tilde{f}}(x), ({\tilde{g}}\otimes {\tilde{g}})(x))=1\). Then,

$$\begin{aligned}\phi ({{\mathcal {C}}})=\langle ({\tilde{f}}(x){\tilde{h}}(x)\mid { 0}),({\tilde{f}}(x)\mid {\tilde{f}}(x))\rangle _2.\end{aligned}$$

Proof

By Theorem 4, the generators of \({{\mathcal {C}}}\) are \(\langle {\tilde{f}}(x){\tilde{h}}(x)\rangle _2\) and \(2\langle {\tilde{f}}(x)\rangle _2\). By Proposition 12, we have that \(\phi ({{\mathcal {C}}})\) is a \({\mathbb {Z}}_2\)-double cyclic code. Then, by Lemma 2, it is easy to see that the generator polynomials of \(\phi ({{\mathcal {C}}})\) are \(\phi ({\tilde{f}}(x){\tilde{h}}(x))\) and \(\phi (2{\tilde{f}}(x))\). The corresponding images of the Gray map are \(\phi ({\tilde{f}}(x){\tilde{h}}(x))=(0\mid {\tilde{f}}(x){\tilde{h}}(x))\) and \(\phi (2{\tilde{f}}(x))=({\tilde{f}}(x)\mid {\tilde{f}}(x))\), hence \(\phi (\mathcal{C})=\langle (0\mid {\tilde{f}}(x){\tilde{h}}(x)),({\tilde{f}}(x)\mid {\tilde{f}}(x))\rangle _2.\) Therefore,

$$\begin{aligned}\phi ({{\mathcal {C}}})=\langle ({\tilde{f}}(x){\tilde{h}}(x)\mid { 0}),({\tilde{f}}(x)\mid {\tilde{f}}(x))\rangle _2.\end{aligned}$$

\(\square \)

Table 1 Optimal \({\mathbb {Z}}_2\)-double cyclic codes
Table 2 Dual \({\mathbb {Z}}_2\)-double cyclic codes

5.2 \({\mathbb {Z}}_2\)-double cyclic codes versus \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic codes

A \({{\mathbb {Z}}}_2{{\mathbb {Z}}}_4\)-additive code \({{\mathcal {C}}}\) is a subgroup of \({{\mathbb {Z}}}_2^\alpha \times {{\mathbb {Z}}}_4^\beta \) (see [4]). Since \({{\mathcal {C}}}\) is a subgroup of \({\mathbb {Z}}_2^\alpha \times {\mathbb {Z}}_4^\beta \), it is also isomorphic to a commutative structure like \({\mathbb {Z}}_2^\gamma \times {\mathbb {Z}}_4^\delta \) and it has \(|\mathcal{C}| = 2^{\gamma +2\delta }\) codewords.

Table 3 \({\mathbb {Z}}_2\)-double cyclic codes from \({\mathbb {Z}}_4\)-cyclic codes
Table 4 \({\mathbb {Z}}_2\)-double cyclic codes from \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic codes

A \({{\mathbb {Z}}}_2{{\mathbb {Z}}}_4\)-additive code \(\mathcal{C}\subseteq {\mathbb {Z}}_2^\alpha \times {\mathbb {Z}}_4^\beta \) is called cyclic if the set of coordinates can be partitioned into two subsets, the set of \({{\mathbb {Z}}}_2\) and the set of \({{\mathbb {Z}}}_4\) coordinates, denoted by X and Y, such that any cyclic shift of the coordinates of both subsets leaves invariant the code. As it was done in (1), for \((\mathbf{u }, \mathbf{v })\in {\mathbb {Z}}_2^\alpha \times {\mathbb {Z}}_4^\beta \) we also denote by \((\mathbf{u }, \mathbf{v })^{(1)}\) such shift. These codes can be identified as submodules of the \({\mathbb {Z}}_4[x]\)-module \({\mathbb {Z}}_2[x]/(x^\alpha -1)\times {\mathbb {Z}}_4[x]/(x^\beta -1)\). From [1] and [5], we know that if \({{\mathcal {C}}}\subseteq {\mathbb {Z}}_2^\alpha \times {\mathbb {Z}}_4^\beta \) is a \({{\mathbb {Z}}_2 {{\mathbb {Z}}_4}}\)-additive cyclic code, where \(\beta \) is an odd integer, then it is of the form

$$\begin{aligned} {{\mathcal {C}}}=\langle (b(x)\mid { 0}), (\ell (x) \mid f(x)h(x) +2f(x)) \rangle _4, \end{aligned}$$

where \(f(x)h(x)g(x) = x^\beta -1\) in \({{\mathbb {Z}}}_4[x]\), \(b(x), \ell (x)\in {\mathbb {Z}}_2[x]/(x^\alpha -1)\) with \(b(x)|(x^\alpha -1)\), \(deg(\ell (x)) < deg(b(x))\), and b(x) divides \(\frac{x^\beta -1}{f(x)} \ell (x) \pmod {2}.\)

The extended Gray map \(\Phi \) and the extended Nechaev–Gray map \(\Psi \) are the maps from \({\mathbb {Z}}_2^\alpha \times {\mathbb {Z}}_4^\beta \) into \({\mathbb {Z}}_2^{\alpha +2\beta }\) given by

$$\begin{aligned}\Phi (\mathbf{u},\mathbf{v})= (\mathbf{u}, \phi (\mathbf{v})),\quad \Psi (\mathbf{u},\mathbf{v})= (\mathbf{u}, \psi (\mathbf{v})),\end{aligned}$$

where \(\mathbf{u}\in {\mathbb {Z}}_2^\alpha \), \(\mathbf{v}\in {\mathbb {Z}}_4^\beta \), \(\phi \) is the Gray map and \(\psi \) is the Nechaev–Gray map.

Call \({{\mathcal {C}}}_X\) (respectively \({{\mathcal {C}}}_Y )\) the punctured code of \({{\mathcal {C}}}\) by deleting the coordinates outside X (respectively Y). Notice that if \(\phi ({{\mathcal {C}}}_Y)\) and \(\psi ({{\mathcal {C}}}_Y)\) are binary linear codes, then \(\Phi ({{\mathcal {C}}})\) and \(\Psi ({{\mathcal {C}}})\) are not necessary binary linear codes.

Example 2

Let \({{\mathcal {C}}}=\langle (x-1 \mid x + 1) \rangle _4\subset {\mathbb {Z}}_2^2\times {\mathbb {Z}}_4^3\) be a \({{\mathbb {Z}}_2 {{\mathbb {Z}}_4}}\)-additive cyclic code with \(b(x)=0\), \(\ell (x)=x-1\), \(f(x)=1\), \(h(x)=x - 1\) and \(g(x)=x^2+x+1\). Since \(f(x)=1\), by Theorem 3, we have that \(\phi ({{\mathcal {C}}}_Y)\) is linear. By [5], a generator matrix for \({{\mathcal {C}}}\) is

$$\begin{aligned} \left( \begin{array}{rr|rrr} 1 &{} 1 &{} 2 &{} 0 &{} 0 \\ 0 &{} 0 &{} 3 &{} 1 &{} 0 \\ 0 &{} 0 &{} 3 &{} 0 &{} 1 \end{array}\right) . \end{aligned}$$

We know that \(\Phi ({{\mathcal {C}}})\) is linear if and only if \(2(\mathbf{u},\mathbf{v})*(\mathbf{w},\mathbf{z})\in {{\mathcal {C}}}\) for all \((\mathbf{u},\mathbf{v}),(\mathbf{w},\mathbf{z})\in {{\mathcal {C}}}\), [7]. Clearly, \(2(0, 0, 3, 1, 0)*(0 , 0, 3, 0, 1)=(0,0,2,0,0)\notin {{\mathcal {C}}}\). Therefore, \(\Phi ({{\mathcal {C}}})\) is not a binary linear code.

Theorem 6

Let \({{\mathcal {C}}}=\langle (b(x)\mid { 0}), (\ell (x) \mid f(x)h(x) +2f(x)) \rangle _4\subseteq {\mathbb {Z}}_2^\alpha \times {\mathbb {Z}}_4^\beta \) be a \({{\mathbb {Z}}_2 {{\mathbb {Z}}_4}}\)-additive cyclic code, where \(\beta \) is an odd integer and \(f(x)h(x)g(x) = x^\beta -1.\) Let \(\Psi \) be the extended Nechaev–Gray map. If \(\Psi ({{\mathcal {C}}})\) is a binary linear code, then \(\Psi ({{\mathcal {C}}})\) is a \({\mathbb {Z}}_2\)-double cyclic code of length \(\alpha +2\beta \) and dimension \(\alpha - \deg (b(x))+\deg (h(x))+2\deg (g(x)) \).

Proof

By the definition of \(\Psi \), the length of \(\Psi ({{\mathcal {C}}})\) is \(\alpha +2\beta \) and, since \(\Psi ({{\mathcal {C}}})\) is a linear code, we need to prove that \(\Psi ((\mathbf{u },\mathbf{v }))^{(1)}\in \Psi ({{\mathcal {C}}})\) for all \((\mathbf{u },\mathbf{v })\in {{\mathcal {C}}}\). By [15], we can easily deduce that \(\Psi ((\mathbf{u },\mathbf{v }))^{(1)}=\Psi ((\mathbf{u }, -\mathbf{v })^{(1)})\). We have that \((\mathbf{u },-\mathbf{v })^{(1)}\in {{\mathcal {C}}}\) and consequently \(\Psi ((\mathbf{u },\mathbf{v }))^{(1)}\) belongs to \(\Psi ({{\mathcal {C}}})\). Hence, \(\Psi ({{\mathcal {C}}})\) is a \({\mathbb {Z}}_2\)-double cyclic code. Finally, since \(|\Psi (\mathcal{C})|=|{{\mathcal {C}}}|\), we have that \(|{{\mathcal {C}}}|= 2^{\alpha - \deg (b(x))+\deg (h(x))}4^{\deg (g(x))}\) by [1]. \(\square \)

6 Examples

Table 1 gives some examples of \({\mathbb {Z}}_2\)-double cyclic codes which have the best known minimum distance. In the table, the parameters are [nkd], where \(n=r+s\) is the length, k is the dimension, and d is the minimum distance of the code. It is denoted by \([.]^*\) when the code is optimal according to [8]. It is denoted by \([.]_s\) when the code is self-dual. Table 2 shows the generators and the parameters of the dual codes of the codes in Table 1.

In Sect. 5, we have studied how \({\mathbb {Z}}_2\)-double cyclic codes are related to other families of cyclic codes. By Theorem 5, we know how to construct the generators of \({\mathbb {Z}}_2\)-double cyclic codes starting from the generators of \({\mathbb {Z}}_4\)-cyclic codes. Also, by Theorem 6 we know that the image of a \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic code under the Nechaev–Gray map, whenever it is linear, is also a \({\mathbb {Z}}_2\)-double cyclic code. In Tables 3,  4, we present some examples of \({\mathbb {Z}}_2\)-double cyclic codes obtained from \({\mathbb {Z}}_4\)-cyclic codes and \({\mathbb {Z}}_2{\mathbb {Z}}_4\)-additive cyclic codes.