#### Abstract

This paper overviews the study of skew --constacyclic codes over finite fields and finite commutative chain rings. The structure of skew --constacyclic codes and their duals are provided. Among other results, we also consider the Euclidean and Hermitian dual codes of skew -cyclic and skew -negacyclic codes over finite chain rings in general and over in particular. Moreover, general decoding procedure for decoding skew BCH codes with designed distance and an algorithm for decoding skew BCH codes are discussed.

#### 1. Introduction

Reliable communication has been an unavoidable problem for a long time. Before 1948, communication was strictly an engineering discipline. However, there was very little scientific to develop a system to understand it. In 1948, Shannon’s^{1} landmark paper “A Mathematical Theory of Communication” [1] on the mathematical theory of communication, which showed that good codes exist, gave birth to information theory and coding theory. Coding theory is applicable in many situations that involve a common feature that a sender wants to send a message to a receiver through a noisy-channel. When the receiver has a message, it might contain some errors. Therefore, rather than sending it directly, the sender will encode it and send it to a decoder that estimates the message to give the receiver. Figure 1 describes a communication channel that transmits information from a source to a destination through a system.

Shannon’s noisy-channel coding theorem ensures that our hopes of getting the correct messages to the users will be fulfilled a certain percentage of the time. Based on the characteristics of the communication channel, it is possible to build the right encoders and decoders so that this percentage, although not 100%, can be made as high as we desire. However, the proof of Shannon’s noisy-channel coding theorem is probabilistic and only guarantees the existence of such good codes. No specific codes were constructed in the proof that provides the desired accuracy for a given channel. The main goal of coding theory is to establish good codes that fulfill the assertions of Shannon’s noisy-channel coding theorem. During the last 50 years, while many good codes have been constructed, but only from 1993, with the introduction of turbo codes^{2}, the rediscoveries of LDPC codes^{3}, and the study of related codes and associated iterative decoding algorithms, researchers started to see codes that approach the expectation of Shannon’s noisy-channel coding theorem in practice.

In real life, the noise is unavoidable, so we want to* DETECT* if there is an error and* CORRECT* if there is one. In 1950, a colleague of Shannon, Hamming^{4}, developed a ground-breaking idea in his famous paper “Error Detecting and Error Correcting Codes” [2]. The ground-breaking idea in Hamming’s paper describes a single error correcting code.^{5} A simple extension of this code is also discovered by Hamming in [2]. For more details, we refer the readers to [2].

The classes of cyclic and negacyclic codes in particular, and constacyclic codes in general, play a very significant role in the theory of error correcting codes. All -constacyclic codes of length are classified as ideals of , where is a divisor of . Due to their rich algebraic structure, constacyclic codes can be efficiently encoded using shift registers, which explains their preferred role in engineering.

In fact, cyclic codes are the most studied of all codes. Many well-known codes, such as BCH, Kerdock, Golay, Reed-Muller, Preparata, Justesen, and binary Hamming codes, are either cyclic codes or constructed from cyclic codes. Cyclic codes over finite fields were first studied in the late 1950s by Prange [4–7], while negacyclic codes over finite fields were initiated by Berlekamp in the late 1960s [8, 9]. The case when the code length is divisible by the characteristic of the field yields the so-called repeated-root codes, which were first studied since 1967 by Berman [10] and then in the 1970s and 1980s by several authors such as Massey et al. [11], Falkner et al. [12], Roth and Seroussi [13], Castagnoli et al. [14], and van Lint [15].

In 2007, Boucher et al. initiated [3] the study of skew cyclic codes. They generalized the notion of cyclic codes by using generator polynomials in noncommutative skew polynomial rings. In 2008 and 2011, Boucher and Ulmer [16, 17] continued to study skew --constacyclic codes over Galois rings and codes as modules over skew polynomial rings.

In [16], Boucher et al. generalized the construction of linear codes via skew polynomial rings by using Galois rings instead of finite fields as coefficients. If finite fields are replaced by Galois rings, then the technical difficulty in studying from finite fields alphabet to Galois rings alphabet is that the skew polynomial rings are not Ore rings. They are neither left nor right Euclidean rings. However, left and right divisor can be defined for some suitable elements. Therefore, in [16], self-dual codes over are constructed and used for three applications: self-dual Euclidean codes give self-dual codes by projection on a trace orthogonal basis, self-dual Hermitian codes build 3-modular lattices, and self-dual Hermitian codes yield self-dual quasi-cyclic codes over by the cubic construction. For more details, we refer the readers to [16] and the references therein. Boucher and Ulmer also studied the factorization of skew polynomial in skew polynomial rings [18]. These results allowed them to study the skew self-dual cyclic codes with length .

The class of finite rings of the form has been widely used as alphabets of certain constacyclic codes. For example, the structure of is interesting; it is lying between and in the sense that it is additively analogous to and multiplicatively analogous to . It has been studied by a lot of researchers (see, e.g., [19–24]). The classification of codes plays an important role in studying their structures, but, in general, it is very difficult. Only some codes of certain lengths over certain finite fields or finite chain rings are classified. All constacyclic codes of length over the Galois extension rings of are classified and their detailed structures are also established in [25].

In 2012, Jitman et al. [26] introduced the notion of skew --constacyclic (or skew constacyclic) codes over finite chain rings. They studied the structure of skew --constacyclic, the Euclidean, and Hermitian dual codes of skew -cyclic and negacyclic codes over finite chain rings. The goal of this survey is to study skew --constacyclic codes over finite fields and finite chain rings.

This paper is arranged as follows. Basic concepts are reviewed in Section 2. After presenting preliminary concepts in Section 2, we study skew -negacyclic, cyclic, and --constacyclic codes over finite fields in Section 3. We also introduce some results for Euclidean and Hermitian self-dual codes over finite fields. In Section 4, general decoding procedure for decoding skew BCH codes with designed distance is provided. We also discuss an algorithm for decoding skew BCH codes. Finally, in Section 5, we consider the structure of skew --constacyclic codes over finite chain rings. The Euclidean and Hermitian dual codes over finite chain rings are also exhibited in this section.

#### 2. Preliminaries

##### 2.1. Finite Fields and Their Automorphisms

In this subsection, we will not give entire properties of finite fields and their automorphisms; rather we will only introduce without proofs some properties of finite fields and their automorphisms that are needed in our consideration later.

*Definition 1. *Let be a finite field with multiplicative identity 1. The characteristic of is the least positive integer such that . Such always exists for a finite field and it is well known that the characteristic must be a prime.

Theorem 2. *A finite field of characteristic contains elements for some integer . For every element of a finite field with elements, we have .*

*Definition 3. *An element in a finite field is called a* primitive element* (or generator) of if .

*Example 4. * has primitive elements, namely, and . has primitive elements. In fact, expressing as , where , then and are primitive elements of .

Note that an automorphism of a field is a bijection such that and for all . Suppose that is a finite field of characteristic , and then the map is defined by , the Frobenius automorphism of . Since is a field of characteristic , we have . From , we can see that is a field homomorphism. Similarly, the map defined by is also a field homomorphism. The set of automorphisms of forms a group under composition which we denote as . Next, we give the following theorem characterizing this group.

Theorem 5 (see [27, Theorem ]). *(i) If is a finite field, then is a cyclic group of order and is generated by Frobenius automorphism .**(ii) The prime subfield of is precisely the set of elements in such that .**(iii) The subfield of is precisely the set of elements in such that , where .*

Theorem 6 (see [27, Theorem ]). *If , then is a cyclic group of order and is generated by .*

##### 2.2. Codes, Cyclic Codes, Generator, and Parity-Check Matrices

Let be a finite field. A linear -code over is a -dimensional vector subspace of the vector space In this paper, all codes are assumed to be linear codes unless otherwise stated. We use polynomial representation of the code , where we identify codewords with coefficient tuples of polynomials: Those polynomials can also be seen as elements of a quotient ring , and any code of length over corresponds to a subset of .

*Example 7. *The polynomial of degree at most over finite field may be regarded as the word of length in . If , then the polynomial may be regarded as the word . Similarly, the polynomial may be regarded as the word .

*Definition 8. *Let be a word of length , and the cyclic shift the word of length : A code is said to be cyclic if , for all .

*Example 9. *Let be a linear code over . It is easy to see that , . This implies that is a linear cyclic code over .

Let be a linear code over . Since , we can conclude that is not cyclic code.

*Definition 10. *A code is said to be a *-constacyclic code* of length if it is closed under the -constacyclic shift defined by In particular, when or , such codes are called* cyclic* and* negacyclic codes*, respectively.

We now give some properties of cyclic code. The following results are well known (cf. [27]).

Theorem 11 (see [27, Theorem ]). *Let be a nonzero cyclic code in . There exists a polynomial with the following properties:*(i)* is the unique monic polynomial of minimum degree in , and it is called the generating polynomial for .*(ii)*.*(iii)*The generating polynomial divides .*(iv)*If , then has dimension and is a basis for .*(v)*Every element of is uniquely expressible as a product , where or , that is, .*(vi)*If , then and has the following generator matrix: *

From this theorem, we can see that is a nonzero cyclic code in and is the monic polynomial of minimum degree in if and only if , and is divisible by .

Let be a cyclic code in with generator polynomial , such that . Let . Then a parity-check matrix for is given by

*Example 12. *Let be a cyclic code of length over the binary field . Put . Then we have . We can see that has dimension 3 and generating matrix is given by Hence, a parity-check matrix for is given by

*Definition 13. *(i) The Hamming distance between two vectors is defined to be the number of coordinates in which and differ.

(ii) The Hamming weight of a vector is the number of nonzero coordinates in .

(iii) For a code containing at least two words, the minimum distance of a code , denoted by , is

It is easy to see that the definition of distance satisfies nonnegativity, symmetry, and the triangle inequality, so our code is living in a metric space.

*Example 14. *Let be a binary code. Then we have We can see that This shows that .

The following theorem gives a relationship between minimum distance and the minimum weight of the nonzero codewords of a linear code .

Theorem 15 (see [27, Theorem ]). *If , then . If is a linear code, the minimum distance is the same as the minimum weight of the nonzero codewords of .*

##### 2.3. The Skew Polynomial Ring

Now let be an automorphism of . We consider the set of formal polynomials where coefficients are written on the left of the variable . The set forms a ring under the usual addition of polynomials and the multiplication is defined by the following basic rule: . The multiplication is extended to all elements in by associativity and distributivity. The ring is called a* skew polynomial ring* over , and each element in is called a* skew polynomial*. It is easy to see that the ring is noncommutative unless is the identity automorphism on . If with , then we say that has degree , denoted by . The following facts are straightforward for the skew polynomial ring :(i)It has no nonzero zero-divisors,(ii)the units of are the units of ,(iii),(iv).Recall that a left (right) ideal of a ring is called a* left (right) principal ideal* if there exists an element such that , where . The element is called a* generator* of and is said to be generated by . A ring is called a* left (right) principal ideal ring* if every left (right) ideal of is principal. The skew polynomial ring is left and right Euclidean ring whose left and right ideals are principal. For which are nonzero, there exists unique polynomial such that . If , then is a right divisor of in . The definition of left divisor in is similar.

The centre of the skew polynomial ring is the set of all elements that commute with all other elements of . An element is called a* central element*. An automorphism is said to fix an element if . We denote the subfield of elements of which are fixed by . Then the ring is a commutative subring of . A polynomial is central element if and only if is both in and in , where . In other words, a polynomial is central element (i.e., commutes with all elements of ) if and only if , where is the order of [28, Theorem ].

#### 3. Structure and Duals of Skew Constacyclic Codes over Finite Fields

In this section, we study skew --constacyclic codes over finite fields. We extend the work of Boucher et al. (in 2007) [3] on skew cyclic codes. For more details, we refer the readers to [3] and the references therein. We first introduce the definition of skew --constacyclic codes over finite fields.

*Definition 16. *Given an automorphism of and a unit in , a code is said to be* skew *--*constacyclic* of length if it is closed under the skew --constacyclic shift defined by

In particular, when or , such codes are called* skew **-cyclic* and* skew **-negacyclic codes*, respectively. When is the identity automorphism, they become classical constacyclic cyclic, cyclic, and negacyclic codes. A right factor of degree of generates linear code. While the ring is a commutative ring, so every ideal in is two-sided ideal, the skew polynomial ring is noncommutative. Therefore, we need to have conditions of and to ensure that is a two-sided ideal of . If is divisible by the order of and is fixed by , then is a two-sided ideal of . Indeed, for all in , we can see that Since is divisible by the order of , we have , . If is fixed by , then we have , proving that is in . This implies that is a two-sided ideal of , which makes the quotient ring well defined. If is not the identity, then is in general not a unique factorization ring. In this case, there are typically many more right factors than in the commutative case, producing many --constacyclic codes.

*Example 17. *Let be a generator of the multiplicative group of ; that is, is a zero of . Let be the automorphism of . We consider the polynomial . We have This shows that the ring is not a unique factorization ring.

Lemma in [3] can be extended as follows.

Lemma 18 (extending [3, Lemma ]). *Let be an automorphism of an integer divisible by the order of , and a unit in which is fixed by . The ring is a principal left ideal ring, in which the left ideals are generated by , where is a right divisor of in .*

Consider a codeword . ThenThus, is corresponding to a --constacyclic shift of , proving that the code is a skew --constacyclic code if and only if is a left ideal , where is a right divisor of . We summarize this discussion by the following theorem, which is an extension of [3, Theorem ].

Theorem 19 (extending [3, Theorem ]). *Let be an automorphism of , an integer divisible by the order of , and a unit in which is fixed by . Then the code is a skew --constacyclic code if and only if is a left ideal , where is a right divisor of .*

Given a monic right divisor of degree of , then a generator matrix of the --constacyclic code generated by is given by

Lemma 20 (see [29, Lemma ]). *Let be an automorphism of , an integer divisible by the order of , and a unit in which is fixed by . Let be the --constacyclic code generated by a monic right divisor of and . If , then the following matrix is a parity-check matrix for .*

Since for any , we have This shows that is fixed by . The following two corollaries are direct consequences of Theorem 19.

Corollary 21. *Let be an automorphism of and an integer divisible by the order of . Then the code is a skew -negacyclic code if and only if is a left ideal , where is a right divisor of .*

Corollary 22 (see [3, Lemma ]). *Let be an automorphism of and an integer divisible by the order of . Then the code is a skew -cyclic code if and only if is a left ideal , where is a right divisor of .*

We give an example to illustrate these results.

*Example 23. *Let be a generator of the multiplicative group of ; that is, is a zero of . Let be the automorphism of . To list all skew -cyclic codes over , we find all monic degree right factors of . They are Similarly, to list all skew -cyclic codes over , we find all monic degree right factors of . They are

Let be a right divisor of of degree . Then the skew -cyclic code is linear code with generator matrix

A right factor of degree of generates a linear code with parameters . If is not the identity, then the skew polynomial ring is in general not a unique factorization. In this case, we have more right factors than in the commutative case. For small values of , all right skew factors of can be found by a computational algebra system such as MAGMA (cf. [30]). Minimum distance of a code can be also calculated by using the MAGMA procedures. However, these procedures must be spent a long time for larger codes to check them. Therefore, the process will only find the smaller codes. The code parameters and the number of codes are introduced with these parameters because many different codes with the same minimum distance can be found. A generating polynomial for one code respected the class of parameters is also exhibited. Table 1, computed by Bosma et al. [30], provides parameters and generating polynomials of skew -cyclic codes over , where is the Frobenius automorphism and is a generator of the multiplicative group of .

Given -tuples and , their inner product or dot product is defined in the usual way: evaluated in . Two codewords are called* orthogonal* if . For a linear code over , its dual code is the set of -tuples over that are orthogonal to all codewords of ; that is, A code is called* self-orthogonal* if , and it is called* self-dual* if . The following result is well known (cf. [29]).

Lemma 24 (see [29, Corollary ]). *Let be an automorphism of , an integer divisible by the order of , and a unit in which is fixed by . Let and such that . The dual of the skew -cyclic code generated by in is the skew -cyclic code generated by *

We give an example to illustrate how we use Lemma 24 to determine Euclidean self-dual -cyclic codes.

*Example 25. *Let be a generator of the multiplicative group of ; that is, is a zero of . Let be the automorphism of . We find all Euclidean self-dual -cyclic codes over in . From Example 23, we can list all monic degree 2 right factors of . Put to be all monic degree 2 right factors such that , . Then we have Applying Lemma 24, we have where the dual of the skew -cyclic code generated by in is the -cyclic code generated by . Suppose that , the skew -cyclic code generated by in , is an Euclidean self-dual -cyclic code. Then we have . This implies that is a constant multiple of . From this, the skew -cyclic codes generated by are Euclidean self-dual -cyclic codes.

We now turn our attention to Euclidean self-dual -cyclic codes over (cf. [29]). Suppose that is the Frobenius automorphism and is a generator of . It is easy to see that must be an even number. In fact, by Lemma 24, if is odd, then there are no Euclidean self-dual codes. Therefore, for some . Let be a self-dual code. Applying Lemma 24, the coefficients of the generating polynomial of is expressed. Since , and must differ by a constant multiple and . Now assume that with is the generator polynomial of the self-dual -cyclic code . Assume that such that . From Lemma 24, the code is generated by . Since is a constant multiple of . This implies that if the coefficients of both polynomials and are compared, then system (26) is built as follows:Since , it is easy to see that . By assumption, . This implies that . Hence, system (26) becomesSystem (27) allows expressing the coefficients of as follows: From , (28) becomes where powers of are of degree less than 4. By using the rule and expanding the skew product , polynomial equations in the coefficients of degree less than 4 in each variable can be determined. From , for any . Adding equations to polynomial equations in variables of degree less than 4 to have a system, then the solutions of this system can be found by using Groebner bases in MAGMA system because the solution set must be finite. This shows that all polynomials corresponding to a solution will be listed and hence the linear code which it generates and its minimum Hamming distance can be computed. Then all Euclidean self-dual -cyclic codes of length in will be exhibited. In [29], Boucher and Ulmer gave the table of Euclidean self-dual codes over and . We refer the readers to [29] for more details.

Recall that Hermitian inner product is denoted and calculated by , for all and in . Then we give the definition of the Hermitian dual code of a code as follows: If , then is said to be a Hermitian self-dual code. It is easy to check that if is odd, then there is no Hermitian self-dual of -cyclic codes. Therefore, must be an even number. Suppose that the order of divides . Let and be elements of such that . The Hermitian dual of a -cyclic code generated by in is again -cyclic code and is generated by [29, Lemma ]. Similar to the case of Euclidean self-dual codes, all the Hermitian self-dual -cyclic codes of length in can be found. The polynomial of Hermitian self-dual code in can be expressed as follows: In this case, the coefficient of (31) is shifted by . Expanding the skew product which gives again a polynomial system of equations, the solutions of this system can be also computed by using Groebner bases in MAGMA because the solution set must be finite. Similar to the case of Euclidean self-dual codes, in [29], Boucher and Ulmer also gave the table of Hermitian self-dual codes over and . For more details we refer the readers to [29].

#### 4. Decoding Skew -Cyclic Codes over Finite Fields

In coding theory, BCH codes were invented in 1959 by French mathematician Alexis Hocquenghem and independently in 1960 by Raj Bose and D. K. Ray-Chanahuri. General decoding procedure for decoding BCH codes with designed distance is introduced in [31]. In this section, we first give the algorithm for decoding with cyclic codes in . After that, we will modify the algorithm for decoding skew BCH codes.

Let be cyclic code over with generator polynomial of degree . Suppose that is transmitted and is received, where is the error vector with and . Let be the unique remainder when is divided by according to the Division Algorithm; that is, , where , with or . Then the function satisfies the following properties.

Theorem 26 (see [27, Theorem ]). *With the preceding notation the following statements hold: *(i)* for all ; and all ,*(ii)*,*(iii)* if and only if ,*(iv)*If , then ,*(v)*If , where and each have weight at most , then ,*(vi)* if .*

Theorem 27 (see [27, Theorem ]). *Let be a monic divisor of of degree . If , then , where is the coefficient of in .*

Define the syndrome polynomial of any to be We now describe the first version of the Meggitt Decoding Algorithm and we provide an example to illustrate each step.

*Step 1. *Find the syndrome polynomial of error patterns such that and .

*Example 28 (see [27, Example 4.6.3]). *Let be the binary cyclic code with a generating polynomial = , where is a 15th root of unity in . Then the syndrome polynomial of is . The syndrome polynomial for polynomial can be computed as follows. First, it is easy to see that . Then . Applying Theorem 26, = = = . Similarly, by applying Theorems 26 and 27, all syndrome polynomials will be determined. Table 2 shows all syndrome polynomials.

*Step 2. *Assume that is the received polynomial. Then the syndrome polynomial can be computed. Applying Theorem 26(iv), , where and .

*Example 29 (see [27, Example 4.6.4]). *We give an example for Step 2. We continue Example 28. Suppose that is a received polynomial. This implies that .

*Step 3. *If is in list computed in Step 1, then the error polynomial can be computed and it can be subtracted from to the corrected codeword . If is not appearing in the list computed in Step 1, then the process will continue to Step 4.

*Step 4. *It is continuing to compute the syndrome polynomial of until the syndrome polynomial is in the list from Step 1. If is in this list and it is associated with the error polynomial , then the received vector is decoded as . By using Theorem 27, and = = = .

We finish this part by the following example.

*Example 30 (see [27, Example 4.6.6]). *We can see that is not in the list computed in Step 1, then we continue to compute , which is not also appearing in the list in Step 1. It is easy to check that is in the list in Step 1. This implies that is decoded as .

Suppose that is a primitive th root of unity, is even, , and is an automorphism of such that . We give two results in [3] and use them later.

Lemma 31 (see [3, Proposition ]). *For , and the remainder of the right division of by , then is a (classical) polynomial given by .*

Lemma 32 (see [3, Proposition ]). *Let be even, , and a primitive th root of unity. Let be a -cyclic code with . Let be its generating polynomial such that is a right divisor of in and is a right factor of for . The distance of the code is equal to its designed distance .*

We now introduce the procedure for decoding skew BCH codes. Assume that is the error polynomial with , where . The polynomial is called a* syndrome polynomial* of . Note that is to be computed in the skew polynomial . Hence, where and . The polynomials and are called* pseudolocator polynomial* and* evaluator polynomial*, respectively. Let This implies that . This equation can be written to become , where .

Applying the Euclidean Algorithm to the polynomials and in , three sequences , and are defined as follows: and , , and with . The process will stop whenever can be determined satisfying and . From this, , , and can be computed by three equations as follows: From the roots of the pseudolocator polynomial , all , , will be listed. This shows that From the equation above, all coefficients of are also determined. For each , a finite number of possibilities solutions to the equation can be found. Similarly to the procedure for decoding BCH codes, this process will test until the skew polynomial is determined. Since is unique, the decoded word can be exhibited, as required.

We conclude this section by an example provided by Boucher et al. in [3] to illustrate this process in detail.

*Example 33 (see [3]). *Let be such that . Suppose that . Then the polynomial is a divisor of in . This implies that is the generator polynomial of a -cyclic code of length 10 over . We can see that is a right factor of for all . Hence, the designed distance of the code is . Now we consider and an error . The pertubed codeword is