# (1 + *u*)-Constacyclic codes over *Z*
_{4} + *uZ*
_{4}

- Haifeng Yu
^{1}, - Yu Wang
^{1}Email author and - Minjia Shi
^{2}

**Received: **9 January 2016

**Accepted: **29 June 2016

**Published: **11 August 2016

## Abstract

Constacyclic codes are an important class of linear codes in coding theory. Many optimal linear codes are directly derived from constacyclic codes. In this paper, (1 + *u*)-constacyclic codes over *Z*
_{4} + *uZ*
_{4} of any length are studied. A new Gray map between *Z*
_{4} + *uZ*
_{4} and *Z*
_{4}
^{4}
is defined. By means of this map, it is shown that the *Z*
_{4} Gray image of a (1 + *u*)-constacyclic code of length n over *Z*
_{4} + *uZ*
_{4} is a cyclic code over *Z*
_{4} of length 4*n*. Furthermore, by combining the classical Gray map between *Z*
_{4} and *F*
_{2}
^{2}
, it is shown that the binary image of a (1 + *u*)-constacyclic code of length *n* over *Z*
_{4} + *uZ*
_{4} is a distance invariant binary quasi-cyclic code of index 4 and length 8*n*. Examples of good binary codes are constructed to illustrate the application of this class of codes.

## Keywords

## Background

Recently, several new classes of rings have been studied in connection with coding theory. Many optimal binary linear codes have been obtained from codes over these rings via some Gray map. In Yildiz and Karadenniz (2010a, b), the authors introduced the ring *F*
_{2} + *uF*
_{2} + *vF*
_{2} + *uvF*
_{2} and discussed linear and self-dual codes over *F*
_{2} + *uF*
_{2} + *vF*
_{2} + *uvF*
_{2}. Later, the structures of cyclic codes and (1 + *u*)-constacyclic codes over *F*
_{2} + *uF*
_{2} + *vF*
_{2} + *uvF*
_{2} were studied and many optimal binary linear codes were constructed from such codes in Yildiz and Karadenniz (2011a, b). More generally, cyclic codes over the ring *R*
_{
k
} were investigated in Dougherty et al. (2012). Although the rings mentioned above are not finite chain rings, they have rich algebraic structures and produce binary codes with large automorphism groups and new binary self-dual codes. This demonstrates that linear codes over such non-chain rings have been received increasing attention (see Dougherty et al. 2012; Kai et al. 2012; Shi 2014; Shi et al. 2012; Siap et al. 2012; Zhu and Wang 2011). More recently, linear codes over the non-chain ring *Z*
_{4} + *uZ*
_{4}, where *u*
^{2} = 0, have been explored in Yildiz and Karadenniz (2014). The authors defined a linear Gray map from *Z*
_{4} + *uZ*
_{4} to *Z*
_{4}
^{2}
and a non-linear Gray map from *Z*
_{4} + *uZ*
_{4} to (*F*
_{2} + *uF*
_{2})^{2}, and used them to successfully construct formally self-dual codes over *Z*
_{4} and good non-linear codes over *F*
_{2} + *uF*
_{2}. In Yildiz and Aydin (2014), the structure of cyclic codes over *Z*
_{4} + *uZ*
_{4} was determined and many new linear codes over *Z*
_{4} were obtained from them. Motivated by the works in Yildiz and Aydin (2014) and Yildiz and Karadenniz (2014), we focus on constacyclic codes over *Z*
_{4} + *uZ*
_{4} and intend to construct good binary codes from such codes.

The ring *Z*
_{4} + *uZ*
_{4} is a finite commutative ring with characteristic 4, where *u*
^{2} = 0. The purpose of this paper is to investigate a class of constacyclic codes over this ring, that is, (1 + *u*)-constacyclic codes over *Z*
_{4} + *uZ*
_{4}. Constacyclic codes over finite commutative rings were first introduced by Wolfmann (1999), where it was proved that the binary image of a linear negacyclic code over *Z*
_{4} is a binary cyclic code (not necessarily linear). In Kai et al. (2012), the authors introduced a composite Gray map from *F*
_{2} + *uF*
_{2} + *vF*
_{2} + *uvF*
_{2} to *F*
_{2}
^{4}
and proved that the image of a (1 + *u*)-constacyclic code of length n over *F*
_{2} + *uF*
_{2} + *vF*
_{2} + *uvF*
_{2} under the Gray map is a distance invariant binary quasi-cyclic code of index 2 and length 4*n*. It is known that the structure of *Z*
_{4} + *uZ*
_{4} is similar to that of *F*
_{2} + *uF*
_{2} + *vF*
_{2} + *uvF*
_{2}. It is natural to ask if there exists a Gray map such that the Gray image of a linear code over *Z*
_{4} + *uZ*
_{4} has good structure. For this, we introduce a new Gray map from *Z*
_{4} + *uZ*
_{4} to *Z*
_{4}, and explore the images of (1 + *u*)-constacyclic codes over *Z*
_{4} + *uZ*
_{4} under this Gray map.

## (1 + *u*)-Constacyclic codes over *Z*
_{4} + *uZ*
_{4}

*R*denote the ring

*Z*

_{4}+

*uZ*

_{4}with

*u*

^{2}= 0. Any element in

*R*can be written as

*a*+

*bu*, where

*a*,

*b*∊

*Z*

_{4}. The element

*a*+

*bu*is a unit in

*R*if and only if

*a*is a unit in

*Z*

_{4}. The ring

*R*is a local Frobenius ring, but not a finite chain ring. It has a total of 7 ideals given by \( I_{0} = \{ 0\} \subseteq I_{2u} = 2u(Z_{4} + uZ_{4} ) = \{ 0,2u\} \subseteq I_{u} ,I_{2} ,I_{2 + u} \subseteq I_{2,u} \subseteq I_{1} = Z_{4} + uZ_{4} \), where

A code over *R* of length *n* is a nonempty subset of *R*
_{
n
}, and a code is linear over *R* of length *n* if it is an *R*-submodule of *R*
_{
n
}. For some fixed unit *λ* ∊ *R*, the *λ*-constacyclic shift *τ* on *R*
_{
n
} is the shift *τ*(*c*
_{0}, *c*
_{1}, …, *c*
_{
n−1}) = (*λc*
_{
n−1}, *c*
_{0}, …, *c*
_{
n−2}). A linear code C of length *n* over *R* is λ-constacyclic if the code is invariant under the λ-constacyclic shift *τ*. We identify the code-word *c* = (*c*
_{0}, *c*
_{1}, …, *c*
_{
n−1}) with its polynomial representation *c*(*x*) = *c*
_{0} + *c*
_{1}
*x* + ··· + *c*
_{
n−1}
*x*
^{
n−1}. Then *xc*(*x*) corresponds to a *λ*-constacyclic shift of *c*(*x*) in the ring *R*[*x*]/(*x*
^{
n
} − *λ*). Thus, *λ*-constacyclic codes of length *n* over *R* can be identified as ideals in the ring *R*[*x*]/(*x*
^{
n
} − *λ*). From the above discuss, we have the following result.

###
**Proposition 1**

*A subset C of R*
_{
n
}
*is a linear cyclic code of length n if and only if C is an ideal of*
\( {{A_{n} = R[x]} \mathord{\left/ {\vphantom {{A_{n} = R[x]} {(x^{n} - 1)}}} \right. \kern-0pt} {(x^{n} - 1)}} \)
*. A subset C of R*
_{
n
}
*is a linear*
\( (1 + u) \)-*constacyclic code of length n over R if and only if C is an ideal of*
\( {{B_{n} = R[x]} \mathord{\left/ {\vphantom {{B_{n} = R[x]} {(x^{n} - 1 - u)}}} \right. \kern-0pt} {(x^{n} - 1 - u)}} \).

Now, we determine a set of generators of (1 + *u*)-constacyclic codes for an arbitrary length over *R*. We begin by recalling a unique set of generators for cyclic codes over *Z*
_{4}.

###
**Lemma 2**

*Let C be a cyclic code of length n over Z*

_{ 4 }

*. Then*

- 1.
*If n is odd then*\( C = \langle g(x),2a(x)\rangle = \langle g(x) + 2a(x)\rangle \)*, where*\( g(x),a(x) \)*are binary polynomials with*\( a(x)\left| {g(x)} \right.\left| {(x^{n} - 1)} \right.\bmod 2 \). - 2.
*If n is even then*- 2.1
*If*\( g(x) = a(x) \)*, then*\( C = \langle g(x) + 2p(x)\rangle \)*, where*\( g(x),p(x) \)*are binary polynomials with*\( g(x)\left| {(x^{n} - 1)} \right.\bmod 2 \)*, and*\( g(x)\left| {p(x)\frac{{(x^{n} - 1)}}{g(x)}} \right. \), - 2.2
\( C = \langle g(x) + 2p(x),2a(x)\rangle \)

*, where*\( g(x),a(x) \)*and*\( p(x) \)*are binary polynomials with*\( a(x)\left| {g(x)} \right.\left| {(x^{n} - 1)} \right.\bmod 2 \), \( a(x)\left| {p(x)\frac{{(x^{n} - 1)}}{g(x)}} \right. \)*and*\( \deg g(x) > \deg a(x) > \deg p(x) \).

- 2.1

*C*of length

*n*over

*R*, we can denote two linear codes of length

*n*over

*Z*

_{4}as follows:

- 1.
The torsion code

*Tor*(*C*) = {*x*∊*Z*_{4}^{ n }|*ux*∊*C*}, - 2.
The residue code \( {\text{Res}}(C) = \{ x \in Z_{4}^{n} \left| {\exists y \in Z_{4}^{n} :x + uy \in C} \right.\} \).

*C*over

*R*, we define a ring homomorphism

*Tor*(

*C*) and \( \varphi \)(

*C*) =

*Res*(

*C*). By the first isomorphism theorem of finite groups, we have \( \left| C \right| = \left| {Tor(C)} \right|\left| {{\text{Res}}(C)} \right| \). It is obvious that the image of

*C*under the map \( \varphi \) is a cyclic code of length

*n*over

*Z*

_{4}. Combining the above discussion with Lemma 2, we can obtain the set of generators for cyclic codes of length

*n*over

*R*.

###
**Theorem 3**

*Let C be a*\( (1 + u) \)-

*constacyclic code of length n over R*.

*Then*

- 1.
*If n is odd then*\( C = \langle g_{1} (x) + 2a_{1} (x) + ub(x),u(g_{2} (x) + 2a_{2} (x))\rangle \)*, where*\( b(x) \)*is a polynomial in*\( Z_{4} [x] \)*and*\( g_{i} (x),a_{i} (x) \)*are binary polynomials with*\( a_{i} (x)\left| {g_{i} (x)} \right.\left| {(x^{n} } \right. - 1)\bmod 2\;for\;i = 1,2 \). - 2.
*If n is even then*- 2.1
*If*\( g_{i} (x) = a_{i} (x) \)*, then*\( C = \langle g_{1} (x) + 2p_{1} (x) + ud(x),u(g_{2} (x) + 2p_{2} (x))\rangle \)*, where*\( d(x) \)*is a polynomial in*\( Z_{4} [x] \), \( g_{i} (x),p_{i} (x) \)*are binary polynomials with*\( g_{i} (x)\left| {(x^{n} } \right. - 1)\bmod 2\; \)*and*\( g_{i} (x)\left| {p_{i} (x)\frac{{(x^{n} - 1)}}{{g_{i} (x)}}} \right.,for\;i = 1,2 \); - 2.2
\( C = \langle g_{1} (x) + 2p_{1} (x) + ue_{1} (x),2a_{1} (x) + ue_{2} (x),ug_{2} (x) + 2up_{2} (x),2a_{2} (x)\rangle \)

*, where*\( e_{i} (x) \)*is a polynomial in*\( Z_{4} [x] \)*, and*\( g_{i} (x),a_{i} (x),p_{i} (x) \)*are binary polynomials with*\( a_{i} (x)\left| {g_{i} (x)} \right.\left| {(x^{n} } \right. - 1)\bmod 2\; \), \( a_{i} (x)\left| {p_{i} (x)\frac{{(x^{n} - 1)}}{{g_{i} (x)}}} \right. \)*and*\( \deg g_{i} (x) > \deg a_{i} (x) > \deg p_{i} (x) \),\( for\;i = 1,2 \).

- 2.1

###
*Proof*

We only give the proof of the part (1), and the proof of the part (2) is similar.

Assume that *n* is odd. Let *C* be a (1 + *u*)-constacyclic code of length *n* over *R*. Then the image of *C* under the map \( \varphi \) is Res(*C*), which is a cyclic code of length *n* over *Z*
_{4}. By Lemma 2, we have \( \varphi \)(*C*) = 〈*g*
_{1}(*x*) + 2*a*
_{1}(*x*)〉, where *g*
_{1}(*x*), *a*
_{1}(*x*) are binary polynomials with \( a_{1} (x)\left| {g_{1} (x)} \right.\left| {(x^{n} } \right. - 1)\bmod 2\; \). Thus, there exists *b*(*x*) ∊ *Z*
_{4}[*x*] such that *g*
_{1}(*x*) + 2*a*
_{1}(*x*) + *ub*(*x*) ∊ *C*.

Furthermore, note that \( Ker \varphi \) is a cyclic code of length *n* over *Z*
_{4} + *uZ*
_{4}, so \( Ker \varphi \) = *u* 〈*g*
_{2}(*x*) + 2*a*
_{2}(*x*)〉, where *g*
_{2}(*x*), *a*
_{2}(*x*) are binary polynomials with \( a_{2} (x)\left| {g_{2} (x)} \right.\left| {(x^{n} } \right. - 1)\bmod 2\; \). Hence, 〈*g*
_{1}(*x*) + 2*a*
_{1}(*x*) + *ub*(*x*), *u*(*g*
_{2}(*x*) + 2*a*
_{2}(*x*))〉 ⊆ *C*.

*f*(

*x*) =

*f*

_{1}(

*x*) +

*uf*

_{2}(

*x*) ∊

*C*, where

*f*

_{ i }(

*x*) ∊

*Z*

_{4}[

*x*],

*for i*= 1, 2, it is obvious that

*f*

_{1}(

*x*) ∊ \( \varphi \)(

*C*). Hence,

*u*(

*f*

_{2}(

*x*) −

*m*(

*x*)

*b*(

*x*)) ∊ \( Ker \varphi \), we have

This shows that *C* ⊆ 〈*g*
_{1}(*x*) + 2*a*
_{1}(*x*) + *ub*(*x*), *u*(*g*
_{2}(*x*) + 2*a*
_{2}(*x*))〉.

Thus, *C* = 〈*g*
_{1}(*x*) + 2*a*
_{1}(*x*) + *ub*(*x*), *u*(*g*
_{2}(*x*) + 2*a*
_{2}(*x*))〉.□

## Gray images of (1 + *u*)-constacyclic codes over *R*

### A new Gray map

*Z*

_{4}to

*F*

_{2}

^{2}is defined as \( \phi _{1} \)(

*z*) = (

*q*,

*q*+

*r*) where

*z*=

*r*+ 2

*q*with

*r*,

*q*∊

*F*

_{2}. The map \( \phi _{1} \) can be extended to

*Z*

_{4}

^{ n }as follows:

*z*

_{ i }=

*r*

_{ i }+ 2

*q*

_{ i }with

*r*

_{ i },

*q*

_{ i }∊

*F*

_{2}

*for*0 ≤

*i*≤

*n*− 1. It is known that \( \phi _{1} \) is a distance-preserving map from

*Z*

_{4}

^{ n }(Lee distance) to

*F*

_{2}

^{2n }(Hamming distance).

*R*

^{ n }to

*Z*

_{4}

^{4n }. First note that each element

*c*∊

*R*can be expressed as

*c*=

*a*+

*ub*, where

*a*,

*b*∊

*Z*

_{4}. The map \( \phi _{2} \) is defined as

*R*

^{ n }as follows:

*c*

_{ i }=

*a*

_{ i }+

*ub*

_{ i }with

*a*

_{ i },

*b*

_{ i }∊

*Z*

_{4}

*for*0 ≤

*i*≤

*n*− 1.

It is well-known that the homogeneous weight has many applications for codes over finite rings and provides a good metric for the underlying ring in constructing superior codes. Next, we define a homogeneous weight on *R*. We first recall the definition of the homogeneous weight on a finite ring *K*.

###
**Definition 4**

*[cf.*Greferath and O’Sullivan (2004)

*, Definition 1.1]*A real-valued function w on the finite ring K is called a (left) homogeneous weight if w(0) = 0 and the following is true:

- 1.
For all x, y ∊ K, Kx = Ky implies that w(x) = w(y) holds.

- 2.
There exists a real number γ such that ∑

_{y∊Kx}w(y) = γ|Kx| for all \( x \in K\backslash \{ 0\} \).

Right homogenous weight is defined accordingly. If a weight is both left homogenous and right homogeneous, we call it simply as a homogeneous weight.

*c*=

*a*+

*ub*∊

*R*, we assign the weight, denoted by

*w*

_{hom}(

*c*), as

*w*

_{ L }(

*b*+ 3

*a*,

*b*+ 2

*a*,

*b*+

*a*,

*b*), i.e.,

*w*

_{hom}(

*c*) =

*w*

_{ L }(

*b*+ 3

*a*,

*b*+ 2

*a*,

*b*+

*a*,

*b*). By simple calculation, we can obtain the weight of any element

*x*=

*a*+

*ub*∊

*R*as follows:

*R*. The homogeneous distance of a linear code over

*R*, denoted by

*d*

_{hom}(

*C*), is defined as the minimum homogeneous weight of nonzero codewords of

*C*. It can be checked that the map \( \phi _{2} \) is a distance-preserving map from

*R*

^{ n }(homogeneous distance) to

*Z*

_{4}

^{4n }(Lee distance). Using the maps \( \phi _{1} \) and \( \phi _{2} \), we can define a composite map \( \phi :R \to F_{2}^{8} \;\text{as} \;\phi = \phi_{1} \phi_{2} \). Thus, we have obtained three distance-preserving maps as follows:

### Gray images of (1 + u)-constacyclic codes

###
**Lemma 5**

*Let *
\( \phi _{2} \)
*be defined as above. Let τ be the *
\( (1 + u) \)-*constacyclic shift on R*
^{
n
}
*and σ be the cyclic shift on Z*
_{
4
}
^{
4n
}
*. Then*
\( \phi _{2} \tau = \sigma \phi _{2} \).

###
*Proof*

Let *c* = (*c*
_{0}, *c*
_{1}, …, *c*
_{
n−1}) ∊ *R*
^{
n
}. Let *c*
_{
i
} = *a*
_{
i
} + *ub*
_{
i
} where *a*
_{
i
}, *b*
_{
i
} ∊ *Z*
_{4}
*for* 0 ≤ *i* ≤ *n* − 1. From definitions, we have

###
**Theorem 6**

*A linear code C of length n over R is a*
\( (1 + u) \)-*constacyclic code if and only if *
\( \phi _{2} \)(*C*) *is a cyclic code of length 4n over Z*
_{
4
}.

###
*Proof*

If *C* is a (1 + *u*)-constacyclic code, then using Lemma 5 we have

*C*) is a cyclic code of length 4

*n*over

*Z*

_{4}.

Conversely, if \( \phi _{2} \)(*C*) is a cyclic code of length 4*n* over *Z*
_{4}, then using Lemma 5 again we get \( \phi _{2} \)(*τ*(*C*)) = *σ*(\( \phi _{2} \)(*C*)) = \( \phi _{2} \)(*C*).

Note that \( \phi _{2} \) is injection, so *τ*(*C*) = *C*.

Thus, we immediately have the following result.□

###
**Corollary 7**

*The image of a*
\( (1 + u) \)-*constacyclic code of length n over R under the map *
\( \phi _{2} \)
*is a distance invariant cyclic code of length 4n over Z*
_{
4
}.

*σ*be the cyclic shift. For any positive integer

*s*, let

*σ*

_{ s }be the quasi-shift given by

*a*

^{(1)},

*a*

^{(2)}, …,

*a*

^{(s)}∊

*F*

_{2}

^{2n }and “|”denotes the usual vector concatenation. A binary quasi-cyclic code

*C*of index

*s*and length 2

*ns*is a subset of (

*F*

_{2}

^{2n })

^{ s }such that

*σ*

_{ s }(

*C*) =

*C*.

###
**Lemma 8**

*Let *
\( \phi \)
*be defined as above and let τ be the* \( (1 + u) \)-*constacyclic shift on R*
^{
n
}
*. Then * \( \phi \tau = \sigma _{4} \phi \).

###
*Proof*

Let *r* = (*r*
_{0}, *r*
_{1}, …, *r*
_{
n−1}) ∊ *R*
^{
n
}. Let *r*
_{
i
} = *a*
_{
i
} + 2*b*
_{
i
} + *uc*
_{
i
} + 2*ud*
_{
i
} where *a*
_{
i
}, *b*
_{
i
}, *c*
_{
i
}, *d*
_{
i
} ∊ *F*
_{2}
*for* 0 ≤ *i* ≤ *n* − 1. Then we have

###
**Theorem 9**

*A linear code C of length n over R is a* \( (1 + u) \)-*constacyclic code if and only if *
\( \phi \)(*C*) *is a binary quasi-cyclic code of index 4 and length 8n.*

###
*Proof*

If *C* is (1 + *u*)-constacyclic, then using Lemma 8 we have

*C*) is a binary quasi-cyclic code of index 4 and length 8

*n*. Conversely, if \( \phi \)(

*C*) is a binary quasi-cyclic code of index 4 and length 8

*n*, then using Lemma 8 again we get \( \phi \)(

*τ*(

*C*)) =

*σ*

_{4}(\( \phi \)(

*C*)) = \( \phi \)(

*C*).

Also, \( \phi \) is injection, hence *τ*(*C*) = *C*.□

From Theorem 9 and the definition of the map \( \phi \), we immediately have the following result.

###
**Corollary 10**

*The image of a* (1 + *u*)-*constacyclic code of length n over R under the map *
\( \phi \)
*is a distance invariant binary quasi-cyclic code of index 4 and length 8n.*

Now, we can construct some binary codes with good parameters based on the new Gray map.

###
*Example 11*

*u*)-constacyclic codes over

*Z*

_{4}+

*uZ*

_{4}of length 3. In

*F*

_{2}[

*x*],

*x*

^{3}− 1=(

*x*− 1)(

*x*

^{2}+

*x*+ 1).

- 1.
In Theorem 3, we take

*g*_{1}(*x*) =*x*−1,*a*_{1}(*x*) = 1,*b*(*x*) = 3*x*, and*g*_{2}(*x*) =*a*_{2}(*x*) =*x*^{3}− 1. Then, we obtain the (1 +*u*)-constacyclic code*C*_{1}over*R*of length 3 with generator polynomial (1 +*u*)*x*+ 1. That is 〈(1 −*u*)*x*+ 1〉 = 〈*x*+ (1 +*u*)〉, It is easy to see that both Res(*C*_{1}) and*Tor*(*C*_{1}) have size 16. Moreover,*d*_{hom}(*C*_{1}) = 8. By Corollary 7, \( \phi \)_{2}(*C*_{1}) is a*Z*_{4}-linear code of length 12 with size 256 and Lee distance 8. By Theorem 9, \( \phi \)(*C*_{1}) is a binary quasi-cyclic code of index 4 and length 24. We find that \( \phi \)(*C*_{1}) is a non-linear binary code with parameters (24, 256, 8). The code \( \phi \)(*C*_{1}) attains the performance of the best-known binary linear code with the same parameters based on Grassl’s codetables (Grassl 2007). - 2.
In Theorem 3, \( g_{1} (x) = x^{3} + 1,a_{1} (x) = 1,b(x) = 3,g_{2} (x) = x + 1,\text{and} \;a_{2} (x) = x + 1 \). Then, we obtain the code

*C*_{2}= 〈3*u*(*x*+ 1)〉 = 〈*u*(*x*+ 1)〉. Obviously, Res(*C*_{2}) = {0} and*Tor*(*C*_{2}) has size 4. By Corollary 7, \( \phi \)(*C*_{2}) is a Z_{4}-linear code of length 12 with size 4 and Lee distance 16. By Theorem 9, \( \phi \)(*C*_{2}) is a binary quasi-cyclic code of index 4 and length 24. The code \( \phi \)(*C*_{2}) is a linear binary code with parameters [24, 2, 16], which is optimal based on Grassl’s codetables (Grassl 2007).

## Conclusion

We study the structure of (1 + *u*)-constacyclic codes over *Z*
_{4} + *uZ*
_{4} of an arbitrary length, and obtain the examples of good binary codes from them. Our results show that a (1 + *u*)-constacyclic code of length n over *Z*
_{4} + *uZ*
_{4} under certain map is equivalent to a cyclic code of length 4*n* over *Z*
_{4}. Furthermore, we discuss the relation between (1 + *u*)-constacyclic codes of length *n* over *Z*
_{4} + *uZ*
_{4} and their binary Gray images. It would be interesting to study other constacyclic codes over *Z*
_{4} + *uZ*
_{4} and use them to construct more good codes over *Z*
_{4} or *F*
_{2}.

## Declarations

### Authors’ contributions

HFY prepared the manuscript, YW participated in its design, and helped to draft the manuscript, MJS revised the manuscript. All authors read and approved the final manuscript.

### Acknowledgements

This work was supported by the Natural Science Fund of Education Department of Anhui province under Grant Nos. KJ2015A226, KJ2015B1105916, and Key Projects of Support Program for Outstanding Young Talents in Colleges and Universities under Grant No. gxyqZD2016270.

### Competing interests

The authors declare that they have no competing interests.

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

## Authors’ Affiliations

## References

- Abualrub T, Siap I (2006) Reversible quaternary cyclic codes. In: Proceedings of the 9th WSEAS international conference on applied mathematics, pp 441–446Google Scholar
- Dougherty ST, Karadeniz S, Yildiz B (2012) Cyclic codes over
*R*_{ k }. Des Codes Cryptogr 63:113–126View ArticleGoogle Scholar - Grassl M (2007) Bounds on the minimum distance of linear codes and quantum codes. http://www.codetables.de
- Greferath M, O’Sullivan ME (2004) On bounds for codes over Frobenius rings under homogeneous weights. Discrete Math 289:11–24View ArticleGoogle Scholar
- Kai XS, Zhu SX, Wang L (2012) A family of constacyclic codes over
*F*_{2}+*uF*_{2}+*vF*_{2}+*uvF*_{2}. J Syst Sci Complex 25:1032–1040View ArticleGoogle Scholar - Shi MJ (2014) Optimal p-ary codes from constacyclic codes over a non-chain ring
*R*. Chin J Electron 23:773–777Google Scholar - Shi MJ, Yang SL, Zhu SX (2012) Good
*p*-ary quasi-cyclic codes from cyclic codes over*F*_{ p }+*vF*_{ p }. J Syst Sci Complex 25:375–384View ArticleGoogle Scholar - Siap I, Abualrub T, Yildiz B (2012) One generator quasi-cyclic codes over
*F*_{2}+*uF*_{2}+*vF*_{2}+*uvF*_{2}. J Frankl Inst 349:284–292View ArticleGoogle Scholar - Wolfmann J (1999) Negacyclic and cyclic codes over
*Z*_{4}. IEEE Trans Inf Theory 45:2527–2532View ArticleGoogle Scholar - Yildiz B, Aydin N (2014) On cyclic codes over
*Z*_{4}+*uZ*_{4}and their*Z*_{4}-images. Int J Inf Coding Theory 2:226–237View ArticleGoogle Scholar - Yildiz B, Karadenniz S (2010a) Linear codes over
*F*_{2}+*uF*_{2}+*vF*_{2}+*uvF*_{2}. Des Codes Cryptogr 54:61–81View ArticleGoogle Scholar - Yildiz B, Karadenniz S (2010b) Self-dual codes over
*F*_{2}+*uF*_{2}+*vF*_{2}+*uvF*_{2}. J Frankl Inst 347:1888–1894View ArticleGoogle Scholar - Yildiz B, Karadenniz S (2011a) Cyclic codes over
*F*_{2}+*uF*_{2}+*vF*_{2}+*uvF*_{2}. Des Codes Cryptogr 58:221–234View ArticleGoogle Scholar - Yildiz B, Karadenniz S (2011b) (1 +
*v*)-constacyclic codes over*F*_{2}+*uF*_{2}+*vF*_{2}+*uvF*_{2}. J Frankl Inst 348:2625–2632View ArticleGoogle Scholar - Yildiz B, Karadenniz S (2014) Linear codes over
*Z*_{4}+*uZ*_{4}: MacWilliams identities, pro-jections, and formally self-dual codes. Finite Fields Appl 27:24–40View ArticleGoogle Scholar - Zhu SX, Wang L (2011) A class of constacyclic codes over
*F*_{ p }+*vF*_{ p }and its Gray image. Discrete Math 311:2377–2682View ArticleGoogle Scholar