A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

Report 2 Downloads 98 Views
A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

arXiv:1604.03617v1 [cs.IT] 12 Apr 2016

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

Abstract. Let Fq be a finite field with q elements and denote by θ : Fq → Fq an automorphism of Fq . In this note, we deal with skew constacyclic codes, i.e. linear codes of Fn q which are invariant under the action n of a semi-linear map T : Fn q → Fq , defined by T (a0 , ..., an−2 , an−1 ) := (αan−1 , a0 , ..., an−2 ) for some α ∈ Fq − {0} and n ≥ 2. In particular, we study some algebraic and geometric properties of their dual codes and we give some Magma Programs as applications of the main theoretical results.

Introduction Let Fq be a field with q elements. A linear code C of length n and dimension k, called an [n, k]q -code, is a k-dimensional subspace of Fnq . Moreover, an [n, k]q -code C with minimum Hamming distance d := d(C) is denoted as an [n, k, d]q -code. A fundamental problem in Coding Theory is that of optimizing one of the parameters n, k, d for given the other two. If dq (n, k) denotes the largest value of d for which an [n, k, d]q -code exists, we call an [n, k, dq (n, k)]q -code simply an optimal code. It is well known that a large number of new linear codes achieving the best known bounds dq (n, k), in particular over small fields, have been constructed as cyclic, constacyclic or quasi-cyclic codes, including the corresponding ones in the non-commutative case (e.g., see [2] and [8]). For this reason, the main purpose of this note is to study some algebraic and geometric properties of skew constacyclic codes (Definition 1) and their duals, the latest ones being strongly related to the above minimum Hamming distance d which is useful in error-correcting codes and for some decoding algorithms. Finally, two lower bounds for the distance of these kind of codes are given, together with some MAGMA programs (Programs 1 to 5) as an application of the main theoretical results. After some notions and basic remarks, in Section 1 we recall some known properties of skew constacyclic codes and as a consequence of these facts, Date: April 14, 2016. 2010 Mathematics Subject Classification. Primary: 12Y05, 16Z05; Secondary: 94B05, 94B35. Key words and phrases: finite fields, constacyclic codes, dual codes, skew polynomial rings, semi-linear maps. During the preparation of this paper in the framework of the Project Anillo ACT 1415 PIA CONICYT, the authors were partially supported by Proyecto VRID N. 214.013.0391.OIN. Moreover, the first author was partially supported by CONICYT-PCHA/Mag´ıster Nacional a˜ no 2013 - Folio: 221320380. 1

2

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

we give some geometric properties about the parity check matrices of skew constacyclic codes (Theorems 12 and 13), whose columns are composed of orbits of points in projective spaces via semi-linear maps. Furthermore, inspired by [8] and [9], we firstly generalize at the end of Section 1 a result about 1-generator QT codes to the non-commutative case (Theorem 20) and secondly, by using a factorization algorithm of A. Leroy in the commutative case, in Section 2 we give two lower bounds for the minimum Hamming distance d of skew θ-module codes, in particular for skew constacyclic codes (Theorems 26 and 29). Finally, as an application of the above results, we write five MAGMA Programs [1] and for small fields we construct a table with some 1-generator skew QT codes (see Definition 19) which reach the known best minimum Hamming distance. 1. Properties of skew constacyclic codes and their duals Along all this note, we will use the following notation. Let Fq be a finite field with q elements, where q = pn for some prime p. Define F∗q := Fq − {0} and take α ∈ F∗q . Let θ be an automorphism of Fq and let us recall here the definition of the main object which we will treat in this note. Definition 1 ([2],[4]). A linear code C ⊆ Fnq is called a skew (α, θ)-cyclic code (simply a skew α-cyclic code, or a θ-constacyclic code) if C is invariant under the semi-linear map φα,θ : (c0 , c1 . . . , cn−1 ) 7→ (αθ(cn−1 ), θ(c0 ), . . . , θ(cn−2 )). Moreover, for some fixed θ, we call a linear code C ⊆ Fnq a skew constacyclic code (or, a skew pseudo-cyclic code) if C is a skew α-cyclic code for some α ∈ F∗q . The above definition can be reinterpreted in an algebraic way by the following Proposition 2 ([4]). Let α ∈ F∗q . A linear code C ⊆ Fnq is a skew (α, θ)cyclic code if and only if C is invariant under the semi-linear map T := Θ ◦ A, that is, (~c)T ∈ C for all ~c ∈ C, where Θ : Fnq → Fnq is defined by ((c0 , . . . , cn−1 ))Θ := (θ(c0 ), . . . , θ(cn−1 )) and A is the n × n matrix given by   0 1 ··· 0  .. .. . . ..   . . . .  A :=  .  0 0 ··· 1  α 0 ··· 0 Remark 3. Let C ⊆ Fnq be a skew (α, θ)-cyclic code. Then C ⋆ (Θ ◦ A) ⊆ C, where C ⋆ (Θ ◦ A) := {(~c)ΘA | ~c ∈ C}. When θ = Id, a skew (α, Id)-cyclic code is simply a constacyclic code.

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

3

From now on, we mainly show some algebraic and geometric properties for the dual code of a skew constacyclic codes. First of all, with the purpose of giving an algebraic structure to skew α-cyclic codes, write R := Fq [x; θ] and consider the following one-to-one correspondence: Fnq

π:

(1)

−→

R/R(xn − α)

(a0 , a1 , . . . , an−1 ) 7−→ a0 + a1 x + · · · an−1 xn−1

.

Note that π is an Fq -linear isomorphism of vectorial spaces over Fq . So, we can identify Fnq with R/R(xn −α) and any vector ~a = (a0 , a1 , . . . , an−1 ) ∈ Fnq Pn−1 with the polynomial class π(~a) := i=0 ai xi ∈ R/R(xn − α). Put m := |hθi|. If either m ∤ n or α ∈ / Fθq , we know that R/R(xn − α) is not a ring and we cannot argue about its ideals, as in the commutative case. For instance, when α = 1 the condition m | n is assumed (e.g., see [2] and [3]) and one can construct a one-to-one correspondence between skew cyclic codes and the ideals of R/R(xn − 1). On the other hand, the set R/R(xn − α) could be considered a left Fq -module or a left Fq [x; θ]-module. The next two results give an equivalent definition of skew constacyclic codes and some of their well-known properties. Theorem 4 (see, e.g., [3] and [10]). A nonempty subset C ⊂ Fnq is a skew α-cyclic code if and only if π(C) is a left R-submodule of the left R-module R/R(xn − α). Theorem 5 (see, e.g., [2] and [4]). Let π(C) be a left R-submodule of R/R(xn − α) with R := Fq [x; θ], i.e. C is a skew α-cyclic code of Fnq . Then there exists a unique monic polynomial of minimal degree in R such that (a) π(C) = Rg(x), i.e. g(x) is the generator polynomial of π(C); (b) g(x) is a right divisor of xn − α; (c) Every c(x) ∈ π(C) can be written uniquely as c(x) = f (x)g(x) ∈ R/R(xn − α), where f (x) ∈ R has degree less than or equal to n − deg g(x). Moreover, the dimension of C is equal to n − deg g(x); k P (d) If g(x) := gi xi , then C has a generator matrix G given by x=0



  G=  

g(x) xg(x) .. .

xn−k−1 g(x)

    

g0 g1 ··· gk 0 0  0 θ(g0 ) θ(g1 ) · · · θ(g ) 0 k  =  .. . . . . . .. .. .. .. .. . n−k−1 n−k−1 0 0 0 θ (g0 ) θ (g1 ) · · ·

··· ··· .. .

0 0 .. .

···

θ n−k−1 (gk )



  . 

4

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI t

For skew a-cyclic codes of Fnq with θ(x) := xp , where q = pr for some prime p, r ∈ Z≥2 and an integer t such that 1 ≤ t ≤ r − 1, type the following Program 1 before the Programs 2 to 5: Program 1. p:=...; r:=...; t:=...; F<w>:=GF(p^r); R<X>:=TwistedPolynomials(F:q:=p^t); The next Program 2 constructs by the command SD(n,a) all the skew t a-cyclic codes of Fnq with θ(x) := xp : Program 2. SD:=function(n,a) P:=[0]; for i in [1..n-2] do P:=P cat [0]; end for; T:= [-a] cat P cat [1]; f:=R!T; V:=VectorSpace(F,n); dd:=[]; E:=[x : x in F | x ne 0]; S:=CartesianProduct(E,CartesianPower(F,n-1)); for s in S do ll:=[s[1]] cat [p : p in s[2]]; if LeadingCoefficient(R!ll) eq 1 then q,r:=Quotrem(f,R!ll); if r eq R![0] then R!ll; dd := dd cat [R!ll]; end if; end if; end for; return dd; end function; 2 Example 6. In F14 4 with θ(x) := x , the command SD(14,1) gives 603 different nontrivial right divisors of X 14 − 1, i.e. 603 different nontrivial 14 skew cyclic codes of F14 4 instead of 25 different nontrivial cyclic codes of F4 in the commutative case.

The following technical result will be useful to prove Theorem 8. Lemma 7. Let C ⊆ Fnq be a linear code and let T : Fnq → Fnq be a semi-linear map such that C ⋆ T ⊆ C. (a) If T is invertible, then C ⋆ T = C. Furthermore, C ⋆ T = C if and only if C ⋆ (T )−1 = C; (b) if T is as in Proposition 2, then C ⋆ T = C ⋆ (T )−1 = C; moreover, the dual code C⊥ is a linear code invariant under T ′ = Θ−1 ◦ (tA)θ−1 with C⊥ ⋆ T ′ = C⊥ ⋆ (T ′ )−1 = C⊥ , where Mθ−1 := [θ −1 (mij )] for any matrix M = [mij ]. Proof. (a) Since T is invertible, the semi-linear map T is injective. Hence |C ⋆ T | = |C|. From C ⋆ T ⊆ C we deduce that C ⋆ T = C. (b) Note that T is invertible since α ∈ F∗q . Then we can conclude by [10, Proposition 25].  Now, we are able to show in an easy and direct way that, similarly to the commutative case, the dual code of a skew α-cyclic code is a skew α−1 -cyclic

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

5

code. This result was first presented and proven in very different forms in [3, Theorem 8], [4, Theorem 1] and [6, Theorem 6.1]. Theorem 8. Let C ⊆ Fnq be a linear code and take α ∈ F∗q . Then C is a skew α-cyclic code if and only if its dual code C⊥ is a skew α−1 -cyclic code. Proof. Suppose that C is a skew α-cyclic code invariant under the semi-linear map Θ ◦ A, that is, C ⋆ (Θ ◦ A) ⊆ C. By Lemma 7(b), we have  C⊥ ⋆ Θ−1 ◦ (tA)θ−1 = C⊥ .

Since Θ ◦ Mθ = M ◦ Θ for any matrix M , by Lemma 7(a) we get  −1 C⊥ ⋆ Θ−1 ◦ (tA)θ−1 = C⊥ ⇐⇒ C⊥ ⋆ Θ−1 ◦ (tA)θ−1 = C⊥  ⇐⇒ C⊥ ⋆ ((tA)−1 )θ−1 ◦ Θ = C⊥  ⇐⇒ C⊥ ⋆ Θ ◦ (tA)−1 = C⊥ ,

where



  (tA)−1 =  

1 ··· .. . . . .

0 .. .

0 0 ··· α−1 0 · · ·

 0 ..  .  . 1  0

Thus we can conclude that C⊥ is a skew α−1 -cyclic code. Finally, having in mind that (C⊥ )⊥ = C, the converse of the statement can be immediately obtained.  Corollary 9 (see, Proposition 13 of [3], or Proposition 1 of [5]). Let C ⊆ Fnq be a skew α-cyclic code. If C = C⊥ , then n is even and α = ±1. Proof. First of all, observe that n = dim C + dim C⊥ = 2 dim C. Finally, let g(x) be the generator polynomial of C. By Theorem 8 we have X n − α = h1 (x)g(x)

X n − α−1 = h2 (x)g(x) ,

and

for some h1 (x), h2 (x) ∈ R. So we get deg [(h1 (x) − h2 (x)) g(x)] = 0 and since deg g(x) > 0, we conclude that h2 (x) = h1 (x) and this shows that α = α−1 , i.e. α2 = 1.  With the next result one can write directly the generator polynomial of the dual code of any skew constacyclic code. Proposition 10 (see, Theorem 8 of [3], or Theorem 6.1 of [6]). Let C ⊆ Fnq be a skew α-cyclic code generated by the polynomial g(x) = g0 + g1 x + · · · + gn−k xn−k . Then the dual code C⊥ is generated by # " k X θ i (~k−i ) xi , h(x) := θ k (~−1 0 ) i=0

where ~(x) := ~0 + ~1 x + · · · + ~k

xk

is such that xn − θ −k (α) = g(x)~(x).

6

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

Proof. Since C is a skew α-cyclic code, by Theorem 8 we know that the dual code C⊥ is a skew α−1 -cyclic code. Thus from Theorem 5 it follows that there exists a unique monic polynomial h(x) of minimal degree in R := Fq [x; θ] such that C⊥ = Rh(x). Therefore by [3, Theorem 8] we deduce that there exist ~(x) ∈ R and c ∈ F∗q such that X n − c = g(x)~(x) Pk ⊥ ⊥ i i and h(x) = θ k (~−1 0 )g (x), where g (x) := i=0 θ (~k−i ) x and ~(x) = k n ~0 + ~1 x + · · · + ~k x . Since g(x) ∈ R is monic and X − α = t(x)g(x) for some monic t(x) ∈ R, by [4, Lemma 2] we obtain that X n − θ −k (α) = g(x)s(x) for some s(x) ∈ R. Hence c−θ −k (α) = g(x)(s(x)−~(x)) and since deg g(x) ≥ 1, we conclude that c = θ −k (α).  The following MAGMA Program 3 defines a function DualCode(n,a,g) which gives all the main informations about the dual code of a skew a-cyclic codes of length n with generator polynomial g : Program 3. DualCode:=function(n,a,g) k:=n-Degree(R!g); C:=a^(p^(k*(r-t))); P:=[0]; for i in [1..n-2] do P:=P cat [0]; end for; T:= [-C] cat P cat [1]; f:=R!T; g1:=R!g; E:=[x : x in F | x ne 0]; S:=CartesianProduct(E,CartesianPower(F,n-Degree(g1))); for ss in S do ll:=[ss[1]] cat [p : p in ss[2]]; if g1*R!ll eq f then h:=R!ll; end if; end for; d:=Degree(h); h1:=Matrix(F,1,d+1,[Eltseq(h)[i]: i in {1..d+1}]); h2:=ReverseColumns(h1); h3:=Matrix(F,1,d+1,[h2[1][i]^((p^t)^(i-1)): i in {1..d+1}]); h4:=(1/h3[1][d+1])*h3; h5:=R![h4[1][i]: i in {1..d+1}]; k:=Degree(f)-Degree(h5); V:=VectorSpace(F,n); H:=Matrix(F,k,n,[V!(HorizontalJoin(Matrix(1, j+Degree(h5)+1, Eltseq((R![0,1])^j*h5)), ZeroMatrix(F, 1, n-j-Degree(h5)-1))): j in {0..k-1}]); k2:=Degree(f)-Degree(g1); G:=Matrix(F,k2,n,[V!(HorizontalJoin(Matrix(1, j+Degree(g1)+1, Eltseq((R![0,1])^j*g1)), ZeroMatrix(F, 1, n-j-Degree(g1)-1))): j in {0..k2-1}]); L:=LinearCode(G); LD:=LinearCode(H); print "==========================================="; print " "; print "Code Skew", a,"-cyclic of type: ", n, k2, MinimumWeight(L); print " "; print "Polynomial generator:"; print g1; print " "; print "Generator Matrix:"; print G; print " ";

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

7

print "-------------------------------------------"; print " "; print "Dual Code Skew", 1/a,"-cyclic of type: ", n, k, MinimumWeight(LD); print " "; print "Check Polynomial:"; print h5; print " "; print "Parity Check Matrix:"; print H; print " "; print G*Transpose(H); Q:=[0]; print "==========================================="; for j in [1..n-2] do Q:=Q cat [0]; end for; U:= [-a^-1] cat P cat [1]; Z:=R!U; Z; h5; Quotrem(R!Z,R!h5); return "end"; end function; Example 11. Consider the finite field F4 = {0, 1, w, w2 }, where w2 + w + 1 = 0, and the Frobenius automorphism θ : F4 → F4 defined by θ(x) = x2 . Let C be the skew w-cyclic [8, 2, 4]4 −code generate by the polynomial x6 + wx4 + w2 x2 + 1 (command SD(8,w) in Program 1) with generator matrix   1 0 w2 0 w 0 1 0 . 0 1 0 w 0 w2 0 1 By the command DualCode(8,w,[1,0,w^2,0,w,0,1]) in Program 2 we see that the dual code C⊥ is the skew w2 -cyclic [8, 6, 2]4 −code (w2 = w−1 ) generated by the polynomial x2 + w2 and with generator matrix   1 0 w 0 0 0 0 0 0 1 0 w 2 0 0 0 0    0 0 1 0 w 0 0 0    0 0 0 1 0 w 2 0 0  .   0 0 0 0 1 0 w 0  0 0 0 0 0 1 0 w2

The following two results show a geometric property of the dual codes of skew constacyclic codes. More precisely, we will see that the columns of a parity check matrix of a skew constacyclic code can be considered as points in a projective space which are particular orbits under the action of the semi-linear map associated to the code. Therefore, in line with [7], in the non-commutative case we obtain the following two results. Theorem 12. Let C be a linear [n, n − k]-code over Fq . Then C is a skew α-cyclic code if and only if C has a parity check matrix of the form [Pt , (P τ )t , (P τ 2 )t , . . . , (P τ n−1 )t ] such that P τ n = αP , where P ∈ Fkq , τ = Θ ◦ T and T ∈ GL(k, q). Proof. “⇒” Let C be a skew α-cyclic [n, n − k]-code over Fq with a parity check matrix H = [(P1 )t , (P2 )t , . . . , (Pn )t ], where (Pi ) ∈ Fkq . Then by Theorem 8 we see that H ′ = [α−1 Θ((Pn )t ), Θ((P1 )t ), Θ((P2 )t ), . . . , Θ((Pn−1 )t )] is

8

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

also a parity check matrix for C. Thus there is a matrix Tt ∈ GL(k, q) such that H = Tt · H ′ . This gives (P1 )t = Tt (α−1 Θ((Pn )t )) = (α−1 (Pn )Θ ◦ T )t (P2 )t = Tt Θ((P1 )t ) = ((P1 )Θ ◦ T )t (P3 )t = Tt Θ((P2 )t ) = ((P2 )Θ ◦ T )t = ((P1 )(Θ ◦ T )2 )t .. . (Pn )t = Tt Θ((Pn )t ) = ((Pn−1 )Θ ◦ T )t = ((P1 )(Θ ◦ T )n−1 )t Furthermore, we have P1 = α−1 (Pn )(Θ ◦ T ) ⇒ P1 = α−1 (P1 )(Θ ◦ T )n ⇒ αP1 = P1 (Θ ◦ T )n So, by putting τ := Θ ◦ T and P := P1 , we obtain that H = [Pt , (P τ )t , (P τ 2 )t , . . . , (P τ n−1 )t ] with P τ n = αP . “⇐” Let C be a code with parity check matrix H = [Pt , (P τ )t , (P τ 2 )t , . . . , (P τ n−1 )t ] with P ∈ Fkq , τ = Θ ◦ T and T ∈ GL(k, q) such that P τ n = αP . Then, for any ~c = (c0 , c1 , . . . , cn−1 ) ∈ C we have ~cHt = ~0. This implies ! n−1 n−1 X X i i ci (P τ ) τ = (~0)τ ci (P τ ) = ~0 =⇒ i=0

=⇒

=⇒

i=0 n−2 X

θ(ci )(P τ i+1 ) + θ(cn−1 )(P τ n ) = ~0

i=0 n−2 X

θ(ci )(P τ i+1 ) + θ(cn−1 )(αP ) = ~0

i=0

=⇒ (αθ(cn−1 ), θ(c0 ), . . . , θ(cn−2 ))Ht = ~0, i.e. (αθ(cn−1 ), θ(c0 ), . . . , θ(cn−2 )) ∈ C and C is a skew α-cyclic code.  P Theorem 13. Let g(x) = ki=0 ai xi with ak = 1 be a skew polynomial of degree k in Fq [x; θ] that divides on the right xn − α, where α ∈ F∗q . Then C ⊂ Fnq is a skew α-cyclic [n, n − k]-code over Fq with generator polynomial g(x) if and only if C is a code with partity check matrix [Pt , (P τ )t , (P τ 2 )t , . . . , (P τ n−1 )t ],

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

where P = (1, 0, . . . , 0), τ = Θ ◦ Tg and Tg i.e.  0 1 0  0 0 1   .. .. Tg =  ... . .   0 0 0 −a0 −a1 −a2

Proof. Consider the following linear map π:

(2)

Fkq

−→

9

is the companion matrix of g(x),  ··· 0 ··· 0   ..  . .. . .   ··· 1  · · · −ak−1

R/Rg

(c0 , c1 , . . . , ck−1 ) 7−→ c0 + c1 x + · · · ck−1 xk−1

with R = Fq [x; θ]. Then, we can see that π(P τ i ) = xi with P = (1, 0, . . . , 0), for all i ∈ Z≥0 . Thus, we have π(a0 P + · · · + ak−1 P τ k−1 + P τ k ) = π(a0 P ) + · · · + π(ak−1 P τ k−1 ) + π(P τ k ) = a0 π(P ) + · · · + ak−1 π(P τ k−1 ) + π(P τ k ) = a0 (1) + a1 (x) + · · · + ak−1 (xk−1 ) + (xk ) = g(x) = 0 ∈ R/Rg(x), i.e. a0 P + a1 P τ + · · · + ak−1 P τ k−1 + P τ k = (0, . . . , 0) = ~0. Furthermore, as g(x) is a right divisor of xn − α, we have π(P τ n − αP ) = π(P τ n ) − απ(P ) = xn − α = 0 ∈ R/Rg(x), and this implies that P τ n − αP = (0, 0, . . . , 0), that is, P τ n = αP . Take H = [(P0 )t , (P1 )t , . . . , (Pn−1 )t ], Pi = P τ i , P0 = P = (1, 0, . . . , 0) and τ = Θ ◦ Tg . “⇐” Note that ~g = (a0 , a1 , . . . , ak−1 , 1, 0, . . . , 0) ∈ Fnq is an element of C, since ~g Ht = ~0. Furthermore, we get ~g τ i Ht = ~0 for every i = 0, . . . , n − k − 1, i.e. {~g , ~g τ, . . . , ~g τ n−k−1 } are n − k linear independent elements of C. Thus C has a parity check matrix G given by (3)   a0 a1 ··· ak−1 1 0 0 ··· 0  0 θ(a0 ) θ(a1 ) ··· θ(ak−1 ) 1 0 ··· 0    .. ..  . .. .. .. .. .. .. .. . . . . . . . . . 0

0

0

θ n−k−1(a0 ) θ n−k−1(a1 ) · · ·

···

θ n−k−1 (ak−1 ) 1

As P τ n = αP , by Theorem 12 we see that H is a parity check matrix of a skew α-cyclic [n, n − k]-code. Finaly, since g(x) is a monic polynomial which corresponds to the vector ~g ∈ C, we conclude that C is a skew α-cyclic [n, n − k]-code over Fq with generator polynomial g(x).

“⇒” Let C be a skew α-cyclic [n, n − k]-code over Fq with generator polynomial g(x) = a0 + a1 x + · · · + ak−1 xk−1 + xk . Then the generator matrix of

10

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

C in the canonical form is as in (3). Let us show now that H is the parity check matrix of C. From a0 P + a1 P τ + · · · + ak−1 P τ k−1 + P τ k = ~0, it follows that (a0 P + · · · + P τ k )τ = ~0 ⇔ (θ(a0 )P τ + θ(a1 )P τ 2 + · · · + P τ k+1 ) = ~0 (a0 P + · · · + P τ k )τ 2 = ~0 ⇔ (θ 2 (a0 )P τ 2 + θ 2 (a1 )P τ 3 + · · · + P τ k+2 ) = ~0 .. .. . . (a0 P + · · · + P τ k )τ n−k−1 = ~0 ⇔ (θ n−k−1 (a0 )P τ n−k−1 + · · · + P τ n−1 ) = ~0. This implies that GHt = O, i.e. HGt = O and H is a parity check matrix of C.  As an application of Theorem 13, the following MAGMA Program 4 defines the function PCM(n,g) which gives the parity check matrix in standard form of a skew a-cyclic codes in Fnq with generator polynomial g : Program 4. PCM:=function(n,g) V:=VectorSpace(F,n); g1:=R!g; if Degree(g1) ge 1 then d:=Degree(g1); CM:=VerticalJoin(HorizontalJoin( ZeroMatrix(F,d-1,1), ScalarMatrix(F,d-1,1)), Matrix(F,1,d, [-Eltseq(g1)[k]: k in {1..d}])); P:=HorizontalJoin( Matrix(F,1,1,[1]), ZeroMatrix(F,1,d-1)); TT:=R![0,1]; PP:=P; PCM1:=P; PCM2:=P; for m in {1..n-1} do PCM1:=Matrix(F,1,d,[SpecialEvaluate(TT,PCM1[1][i]): i in {1..d}])*CM; PCM2:=VerticalJoin(PCM2,PCM1); end for; PCM3:=Transpose(PCM2); print "==========================================="; print " "; print "Polynomial generator:"; print g1; print " "; print "Companion Matrix:"; print CM; print " "; print "Parity Check Matrix:"; print PCM3; print " "; print "==========================================="; end if; return "end"; end function; Example 14. Consider the finite field F4 = {0, 1, w, w2 }, where w2 + w + 1 = 0, and the Frobenius automorphism θ defined by θ(x) = x2 for any x ∈ F4 . The skew w-cyclic [7, 3]4 -code generate by the polynomial g(x) = x4 + x2 + w2 x + 1 has a generator matrix   1 w2 1 0 1 0 0 G := 0 1 w 1 0 1 0 . 0 0 1 w2 1 0 1 By the command PCM(7,[1,w^2,1,0,1]) in Program 4, we obtain that its parity check matrix is H := [Pt , (P τ )t , (P τ 2 )t , . . . , (P τ 6 )t ], where P =

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

(1, 0, 0, 0), τ = Θ ◦ Tg  0 1 0 0 Tg =  0 0 1 w2

and Tg is the companion   1 0 0 0 0 1 1 0 , H= 0 0 0 1 1 0 0 0

11

matrix of g(x): 0 0 1 0

 0 1 0 1 0 w2 1 w2  . 0 1 w 0 1 0 1 w2

Definition 15 (see [7]). A linear code C ⊆ Fnq with parity check matrix of the form [Pt , (P τ )t , (P τ 2 )t , . . . , (P τ n−1 )t ], with P ∈ Fkq , τ = Θ ◦ T y T ∈ GL(k, q) is called a code C defined by (τ, P, n). Furthermore, one can define also the following set Γαk := {(τ, P, n) | ∃ a skew α-cyclic [n, n − k]q -code defined by (τ, P, n)}. Proposition 16. Let Ci be the code defined by (τi , Pi , n) ∈ Γαk for i = 1, 2. Then, C1 = C2 if and only if there exists a matrix S ∈ GL(k, q) such that τ1 = S · τ2 · S −1 and P1 S = P2 . Proof. “⇒” Since C1 = C2 , there exists a matrix S ∈ GL(k, q) such that St [(P1 )t , (P1 τ1 )t , . . . , (P1 τ1n−1 )t ] = [(P1 S)t , (P1 τ1 S)t , . . . , (P1 τ1n−1 S)t ] = [(P2 )t , (P2 τ2 )t , (P2 τ22 )t , . . . , (P2 τ2n−1 )t ] From the first columns we deduce that P1 S = P2 , that is, P2 S −1 =  i P1 . Furthermore, P2 τ2i = P1 τ1i S = P2 S −1 τ1i S = P2 S −1 τ1 S , with i = 1, . . . , n − 1. Thus {P2 , P2 τ2 , . . . , P2 τ2k−1 } are linearly independent vectors of Fnq and a  Pk−1 λij P2 τ2i . So we have vector ~v ∈ Fnq can be written as ~v = i=0

~v τ2 =

k−1 X i=0

=

k−1 X

λij P2 τ2i+1

i=0

=

k−1 X i=0

X    k−1 λij P2 τ2i S −1 τ1 S , ~v S −1 τ1 S =

 λij P2 τ2i τ2





λij P2 S −1 τ1 S

i=0

=

k−1 X i=0

i+1 

=

k−1 X i=0

 i  −1  S τ1 S λij P2 S −1 τ1 S

 i+1  λij P2 S −1 τ1 S

Since e~j τ2 = e~j S −1 τ1 S for any canonical vector e~j with j = 1, . . . , k, we conclude that S −1 τ1 S = τ2 . “⇐” Since there is a matrix S ∈ GL(k, q) such that τ2 = S −1 · τ2 · S y P1 = P2 S −1 , we see that [(P2 )t , (P2 τ2 )t , . . . , (P2 τ2n−1 )t ] = [(P1 S)t , (P1 τ1 S)t , (P1 τ12 S)t , . . . , (P1 τ1n−1 S)t ] = St [(P1 )t , (P1 τ1 )t , (P1 τ12 )t , . . . , (P1 τ1n−1 )t ].

12

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

By Theorem 12, the matrices defined by (τ1 , P1 , n) and (τ2 , P2 , n) are parity check matrices of skew α-cyclic codes which differ by an invertible matrix, i.e. they correspond to the same code. Hence C1 = C2 .  Remark 17. Unlike the commutative case (see [7, Theorem 4]), when θ 6= id we have to consider the minimal polynomial mτ of a semi-linear map τ (see [11, Proposition 3.2]) instead of the characteristic polynomial. On the other hand, a minimal polynomial may be associated with two different codes. In fact, if C1 = C2 then mτ1 = mτ2 , but the reverse is not true in general, as the following example shows. Example 18. Consider R := F4 [x; θ], g1 = 1 + wx + x2 + x3 and g2 = 1 + w2 x + x2 + x3 in R, where θ is the Frobenius automorphism. Let Ci := Rgi be a skew 1-cyclic [14, 11]4 -codes for i = 1, 2. Since g1 (x) 6= g2 (x) in R/R(x14 − 1), we have C1 6= C2 . On the other hand, we get     0 1 0 0 1 0 , τ2 = Θ ◦  0 0 1  τ1 = Θ ◦ 0 0 1 1 α2 1 1 α 1

with minimal polynomials mτ1 (x) = mB1 (x2 ) = x6 + x2 + 1 and mτ2 (x) = mB2 (x2 ) = x6 + x2 + 1 respectively (e.g., see [11]), where         0 1 0 0 1 0 0 1 0 0 1 0 B1 = 0 0 1 0 0 1 , B2 = 0 0 1 0 0 1 1 α 1 θ 1 α 1 1 α2 1 θ 1 α2 1       0 1 0 0 1 0 0 1 0 0 1 0 = 0 0 1 0 0 1 = 0 0 1 0 0 1 2 1 α2 1 1 α 1 1 α 1 1 α 1     0 0 1 0 0 1 = 1 α 1  = 1 α2 1  , 1 α2 α 1 α α2     −t 0 1 −t 0 1 1  , mB2 (t) = det  1 α2 − t 1  mB1 (t) = det  1 α − t 2 2 1 α α−t 1 α α −t = t3 + t + 1

= t3 + t + 1.

This shows that there exist two different linear codes Ci := Rgi , i = 1, 2, with the same associated minimal polynomial mτi (x). Finally, let us consider also 1-generator skew quasi-twisted codes which can be easily defined from the notion of 1-generator QT codes (see [8, §1]). So, similarly to [8], we give first the following Definition 19. Take α ∈ F∗q and let θ be an automorphism of Fq . Denote by R = Fq [x; θ]/(xN −α) the polynomial ring Fq [x; θ] over Fq module xN −α. For g = (g1 (x), g2 (x), . . . , gm (x)) ∈ RN ,

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

13

the set Cg = {(r(x)g1 (x), r(x)g2 (x), . . . , r(x)gm (x)) | r(x) ∈ R} is called the 1-generator Skew Quasi-Twisted (SQT) code with generator g. Moreover, if α = 1 then Cg is called the 1-generator Skew Quasi-Cyclic (SQC) code with generator g. From Theorem 13 we know that an [n, n − k]-code over Fq is a skew αP cyclic code with generator polynomial g(x) = ki=0 ai xi with ak = 1 if and only if C is a linear code with parity check matrix [gn ] := [Pt , (P τ )t , (P τ 2 )t , . . . , (P τ n−1 )t ],

where P = (1, 0, . . . , 0), τ = Θ ◦ Tg and Tg is the companion matrix of g(x). Now, let T be the projective map of Pk−1 (Fq ) defined by τ . We can say that T is defined by g(x). Then the columns of [gn ] can be considered as points in Pk−1 (Fq ) of an orbit of T . Conversely, we can obtain similarly a skew constacyclic code from an orbit of a projective map of Pk−1 (Fq ). Now, consider m orbits O1 , O2 , . . . , Om of T with large N and starting points Pi ∈ Oi for i = 1, ..., m. For simplicity, take P1 ≡ P = (1, 0, . . . , 0) and define the matrix [Pt , (P τ )t , . . . , (P τ n1 −1 )t ; (P2 )t , (P2 τ )t , . . . , . . . , (P2 τ n2 −1 )t ; · · · ; (Pm )t , (Pm τ )t , . . . , (Pm τ nm −1 )t ] nm . Then, the matrix [g N ] + P N + · · · + P N generates by [gn1 ] + P2n2 + · · · + Pm m 2 a SQT code whose generator g is given by the following result.

Theorem 20. If Pi ∈ (Fθq )k for i = 1, . . . , m are as above, then [gN ] + P2N + N generates a 1-generator Skew Quasi-Twisted (SQT) [mN, k] -code · · · + Pm q with generator  g = h∗ (x), b2 (x−1 )h∗ (x), . . . , bm (x−1 )h∗ (x) ∈ RN ,

where h∗ (x) is as h(x) in Proposition 10 and bi (x) is the polynomial given by (1, x, . . . , xk−1 )Pi for 2 ≤ i ≤ m.

N and note that Proof. Define H := [g N ] + P2N + · · · + Pm

H = [Pt , (P τ )t , . . . , (P τ N −1 )t ; (P2 )t , (P2 τ )t , . . . , . . . , (P2 τ N −1 )t ; · · · ; (Pm )t , (Pm τ )t , . . . , (Pm τ N −1 )t ] with Pi ∈ (Fθq )k , τ = Θ ◦ Tg and Tg ∈ GL(k, q) such that P τ N = αP . By putting Hi := [(Pi )t , (Pi τ )t , . . . , (Pi τ N −1 )t ] for all i = 1, . . . , n, we get H = [H1 |H2 | · · · |Hm ]. Take P1 ≡ P := (1, 0, . . . , 0) = e~1 and note that P τ j−1 = e~j for all j = 1, . . . , k, where ej is the j-th canonical vector of Fkq . Then, for Pi ∈ (Fθq )k

14

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

and λij ∈ Fθq , we have

Pi =

k−1 X j=0

where Pi (x) :=

Pk−1

Pi τ h =

j=0

k−1 X



λij P τ j = (P ) 

k−1 X j=0



λij τ j  =: P · Pi (τ ),

λij xj . Thus

λij P τ j+h = P τ h · Pi (τ ),

∀h = 0, . . . , N − 1

j=0

and, for i = 1, . . . , m, this implies that Hi = [(Pi )t , (Pi τ )t , . . . , (Pi τ N −1 )t ] = [(P · Pi (τ ))t , (P τ · Pi (τ ))t , . . . , (P τ N −1 · Pi (τ ))t ] = Pi (τ )t · [Pt , (P τ )t , . . . , (P τ N −1 )t ] = Pi (τ )t · H1 Let H1∗ be the generator matrix of C⊥ with C =< g(x) > written as 

h∗ (x) xh∗ (x) .. .



    b ∗] H1∗ :=   = [J | H 1   xk−1 h∗ (x) with det(J) 6= 0, where h∗ (x) = θ N −k (h0 )−1 xN −k h(x−1 ) with xN − α = g(x)h(x). By hypothesis, H1 is also a parity check matrix of C which can b 1 ], where Ik is the identity matrix of dimension be written as H1 = [Ik | H −1 b1. b∗ = H k. This implies that J H1∗ = H1 and J −1 H 1

Let A be a matrix with N columns and define the linear operator ⋄ as follows:   0 ··· 0 α  1 ··· 0 0    . x−1 ⋄ A := A ·  . . . . ... ...    .. 0 ··· 1 0

Observe that x−1 ⋄ (A′ · B ′ ) = A′ · (x−1 ⋄ B ′ ) for any two matrices A′ and B ′ such that A′ · B ′ is well defined and B ′ has N columns.

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

15

Furthermore, for h = 0, . . . , N − 1, we get x−1 ⋄ H1 = x−1 ⋄ [Pt , (P τ )t , . . . , (P τ N −1 )t ] = [(P τ )t , . . . , (P τ N −1 )t , αPt ] = [(P τ )t , . . . , (P τ N −1 )t , (P τ N )t ] = (τ )t · H1 x

−2

⋄ H1 = x−1 ⋄ (x−1 ⋄ H1 ) = x−1 ((τ )t · H1 ) = (τ 2 )t · H1 .. .

x−h ⋄ H1 = (τ h )t · H1 Hence, we have Hi = Pi (τ )t · H1 = Pi (x−1 ) ⋄ (J −1 · H1∗ ) = J −1 · (Pi (x−1 ) ⋄ H1∗ ) =     Pi (x−1 ) · h∗ (x) h∗ (x)  Pi (x−1 ) · xh∗ (x)  xh∗ (x)       = J −1 · Pi (x−1 ) ⋄   = J −1 ·  .. ..     . . 

xk−1 h∗ (x)  Pi (x−1 ) · h∗ (x) x · Pi (x−1 )h∗ (x)    =: J −1 · Hi∗ ..  .

Pi (x−1 ) · xk−1 h∗ (x)

    

  = J −1 ·   xk−1 · Pi (x−1 )h∗ (x) Therefore, we conclude that

∗ ∗ H = [H1 |H2 | · · · |Hm ] = [J −1 H1∗ |J −1 H2∗ | · · · |J −1 Hm ] = J −1 [H1∗ |H2∗ | · · · |Hm ],   Pi (x−1 ) · h∗ (x)  x · Pi (x−1 )h∗ (x)    ∗] where  , i.e. [H1 |H2 | · · · |Hm ] and [H1∗ |H2∗ | · · · |Hm ..   .

xk−1 · Pi (x−1 )h∗ (x) are two generator matrices of the same [mN, k]q -code.



The following MAGMA Program 5 defines the function SQT(m,N,g) which gives an application of the above result :

16

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

Program 5. SQT:=function(m,N,g) g1:=R!g; d:=Degree(g1); if d ge 1 then TT:=R![0,1]; CM:=VerticalJoin(HorizontalJoin(ZeroMatrix(F, d-1,1), ScalarMatrix(F,d-1,1)), Matrix(F,1,d,[-Eltseq(g1)[k]: k in {1..d}])); PS:=ProjectiveSpace(F,d-1); PointsPS:={PS!p : p in Points(Scheme(PS,[0]))}; PointsPS2:=PointsPS; OrbN:={}; repeat S:=Random(PointsPS2); PP:=Matrix(F,1,d,[S[k]: k in {1..d}]); jj:=0; repeat jj:=jj+1; PP:=Matrix(F,1,d,[SpecialEvaluate(TT,PP[1][i]): i in {1..d}])*CM; PPP:=PS![PP[1][i]: i in {1..d}]; PointsPS2:=PointsPS2 diff {PPP}; until S eq PPP; if jj eq N then OrbN:=OrbN join {S}; end if; until PointsPS2 eq {}; P1:=HorizontalJoin(Matrix(F,1,1,[1]), ZeroMatrix(F,1,d-1)); V1:=PS![P1[1][i]: i in {1..d}]; OrbN2:=OrbN diff {V1}; if #OrbN2 ge m then S2:={}; for l in {1..m-1} do RR:=Random(OrbN2 diff S2); S2:=S2 join {RR}; end for; S1:={@ q : q in S2 @}; PCM1:=P1; PCM2:=P1; for h in {1..N-1} do PCM1:=Matrix(F,1,d,[SpecialEvaluate(TT,PCM1[1][i]): i in {1..d}])*CM; PCM2:=VerticalJoin(PCM2,PCM1); end for; PCM3:=Transpose(PCM2); for ii in {1..m-1} do P:=Matrix(F,1,d,[S1[ii][j]: j in {1..d}]); PP:=P; PCM1:=P; PCM2:=P; for h in {1..N-1} do PCM1:=Matrix(F,1,d,[SpecialEvaluate(TT,PCM1[1][i]): i in {1..d}])*CM; PCM2:=VerticalJoin(PCM2,PCM1); end for; PCM3:=HorizontalJoin(PCM3, Transpose(PCM2)); end for; LC:=LinearCode(PCM3); print "==========================================="; print " "; print "Skew Quasi Twisted Code of type: ", N, N-d, MinimumWeight(LC); print "Polynomial generator:"; print g1; print " "; print "Companion Matrix:"; print CM; print " "; print "Parity Check Matrix:"; print PCM3; print " "; print "==========================================="; else print "There are not enough orbits of length", N ; end if; end if; return "end"; end function; Example 21. Consider F8 = {0, 1, w, w2 , . . . , w6 }. From Program 2, by using the command SD(7,w^3) it follows that g(x) = x4 −(w3 +x+w2 x2 ) ∈ F[x; θ] divides x7 − w3 , where θ(x) = x4 for every x ∈ F8 . Moreover, by Program 5 with the command SQT(2,7,[w^3,1,w^2,0,1]) we see that the point P2 := [0 : w4 : 0 : 1] ∈ P3 (F8 ) has an orbit of length 7. So, we get

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

17

a SQT [14, 4, 7]8 -code whose generator matrix is   1 0 0 0 w3 0 1 0 w3 0 0 w3 w 1 0 1 0 0 1 w5 w4 w4 1 w5 0 1 0 0 .  2 6 0 0 1 0 w 1 0 0 0 1 w w2 0 w6  0 0 0 1 0 w 1 1 0 0 1 w3 w 0

For simplicity of notation, let us denote w, w2 , . . . , w6 with 2, 3, . . . , 7, respectively. With this notation, the above parity-check matrix can be written simply as [g]7 + P27 = [4130]7 + 05017 .

Example 22. Consider F9 = {0, 1, β, β 2 , . . . , β 7 }, where β is a root of x2 + 2x + 2 ∈ F3 [x]. We denote 0, 1, β, β 2 , . . . , β 7 by 0, 1, 2, 3, . . . , 8, respectively. We set that g(x) = x4 +(1+8x+5x2 +4x3 ) = x4 −(5+4x+x2 +8x3 ) ∈ F9 [x; θ] divides x5 − 2 with θ(a) = a3 for every a ∈ F9 . Let T be the semi-linear map defined by θ and g(x). Consider the following three points P1 , P2 and P3 of P3 (F9 ): P1 = [1 : 0 : 0 : 0], P2 = [1 : 6 : 8 : 1], P3 = [4 : 7 : 4 : 1]. Then, under T , the orbit of P1 is of length 5 and the orbits of P2 and P3 are both of length 10. Thus we deduce that G = [4518]5 + 168110 + 474110 generate a SQT [25, 4, 19]9 -code. By comparing the distance of this code with that in the database of MAGMA, we can observe that it reaches the best known distance (BKLC) for a linear [25, 4]9 -code. Finally, as an application of Theorem 20 and Program 5, Table 1 gives an example of how to construct some known linear codes with BKLC distance as SQT codes for small values of q. 2. A lower bound for the distance In [9] the author shows how a factorization of a skew polynomial can be made in a suitable commutative polynomial ring. By this method, we can transfer some properties of constacyclic codes to skew constacyclic codes and vice versa. In particular, a factorization of a skew polynomial in Fq [x; θ] can be made in Fq [x] by a Leroy’s algorithm (see Theorem 2.5, [9]). For any pi − 1 prime number p and an integer i ≥ 1, he defines [i] := and p−1 ) (m X αi x[i] ∈ Fq [x] : m ∈ Z≥0 . Fq [x[] ] := i=0

Note that the Leroy’s algorithm and the above definitions can be generalized by considering a power of the Frobenius automorphism. More precisely, let Fq be a finite field with q = pt and p prime, and consider the automorphism s θ(a) = ap for all a ∈ Fq with 0 ≤ s ≤ t − 1.

18

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

[n, k, d]q

Generator Matrix

N

α

θ

[21, 6, 12]4

[131313]7 + 22021114

7

2

2

[25, 4, 17]4

[1313]5 + 333110 + 231010

5

2

2

[35, 6, 22]4

[131313]7 + 12321014 + 11311014

7

2

2

[35, 4, 24]4

[1212]5 + 032110 + 103110 + 130110

5

3

2

[40, 4, 28]4

[1313]5 + 032110 + 330110 + 130110 + 10105

5

2

2

[45, 4, 32]4

[1212]5 + 210010 + 131110 + 010110 + 332110

5

2

2

7

2

2

7

14

[131313] + 233101

[50, 4, 36]4

[1212]5 + 123110 + 110110 + 223110 + 332110 + 31005

5

3

2

[55, 4, 36]4

[1313]5 + 201110 + 113110 + 222110 + 133110 + 03105

5

2

2

[60, 4, 44]4

[1313]5 +111010 +023110 +003110 +311110 +331110 + 20215

5

2

2

[65, 4, 48]4

[1212]5 +220110 +101110 +213110 +131010 +021110 + 31005 + 30315

5

3

2

[85, 4, 64]4

[1212]5 +321110 +001110 +330110 +130110 +133110 + 312110 + 133110 + 10105 + 02105

5

3

2

[34, 3, 28]8

[175]4 + 72112 + 61012 + 1116

4

2

4

[50, 4, 41]8

[6156]5 + 533115 + 561015 + 632115

5

2

4

[65, 5, 56]8

[6156]5 + 554115 + 731015 + 311015 + 153115

5

1

2

5

6

3

10

+ 4741

+ 231310

14

[49, 6, 32]4

5

+ 312221

14

10

[25, 4, 19]9

[4518] + 1681

[30, 4, 24]9

[4518]5 + 480110 + 877110 + 58105

5

6

3

[42, 4, 34]9

[2030]6 + 812112 + 682112 + 053112

6

7

3

Table 1. Skew Quasi-Twisted Codes with BKLC distance.

By putting [i]s := be replaced by Fq [x[]s ] :=

(ps )i − 1 instead of [i], the polynomial ring Fq [x[] ] can ps − 1  X 

i≥0

αi x[i]s ∈ Fq [x] : m ∈ Z≥0

  

⊆ Fq [x].

Finally, note that [i]s = [i] and Fq [x[]s ] = Fq [x[] ] for s = 1.

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES [n]s

Definition 23. A [ps ]-code C[]s ⊆ Fq [ps ]-polynomial in Fq [x[]s ].

19

is a linear code generated by a

Proposition 24. Let C ⊆ Fnq be a skew α-cyclic code generated by f (t) ∈ [n]

Fq [t; θ] for some α ∈ F∗q . Then the [ps ]-code C[]s ⊆ Fq s , generated by the associated [ps ]-polynomial f []s (t), is an α-cyclic code. Proof. From Theorem 5, we know that f (t) is a right divisor of xn − α. Moreover, by Theorem 2.5 [9], we see that the associated [ps ]-polynomial f []s (x) ∈ Fq [x[]s ] to f (t) is a right divisor of x[n]s − α. Therefore the code [n]  C[]s ⊆ Fq s is also an α-cyclic code. Remark 25. More in general, if C ⊆ Fnq is a skew θ-module code generated [n]s

by g(t) ∈ Fq [t; θ], then by [9, Theorem 2.5] we see that the code C[]s ⊆ Fq is also a module code generated by g[] (x) ∈ Fq [x].

Theorem 26. Let C ⊆ Fnq be a linear code generated by f (t) ∈ Fq [t; θ] and [n]s

let C[]s ⊆ Fq

be the linear code generated by f []s (x) ∈ Fq [x[]s ]. Then d(C[]s ) ≤ d(C)

and equality holds if and only if there exists a polynomial of minimal weight in C[]s which belongs to Fq [x[]s ]. Proof. Let w(t) ∈ C be a polynomial of minimal weight. By Theorem 5 we have w(t) = a(t) · f (t) for some a(x) ∈ Fq [t; θ]. Then by Theorem 2.5 [9] we get w[]s (x) = b(x) · f []s (x) for some b(x) ∈ Fq [x], i.e. w[]s (x) ∈ C[]s . Hence d(C[]s ) ≤ wt(w[]s (x)) = wt(w(t)) = d(C). This proves the first part of the statement. Suppose now that d(C[]s ) = d(C) and let v(t) ∈ C be a polynomial such that wt(v(t)) = d(C). Note that v(t) = q(t) · f (t) for some q(t) ∈ Fq [x; θ]. Thus, by Leroy’s algorithm we have v []s (x) = g(x) · f []s (x) for some g(x) ∈ Fq [x], i.e. v []s (x) ∈ C[]s . Since d(C[]s ) = d(C) = wt(v(t)) = wt(v []s (x)), we conclude that v []s (x) ∈ Fq [x[]s ] is a polynomial in C[]s of minimal weight. Finally, let w[]s (x) ∈ Fq [x[]s ] be a minimal weight polynomial in C[]s . Then w[]s (x) = a(x) · f []s (x) for some a(x) ∈ Fq [x]. This shows that w(t) = b(t) · f (t), i.e. w(t) ∈ C. Therefore, we can conclude that d(C[]s ) ≤ d(C) ≤ wt(w(t)) = wt(w[]s (x)) = d(C[]s ), that is, d(C[]s ) = d(C).

 [n]s

Proposition 27. A [ps ]-code C[]s ⊆ Fq MDS code.

with dim(C[]s ) < [n]s cannot be a [n]

Proof. Suppose there is a MDS code C[]s ⊂ Fq s . Then d(C[]s ) = [n]s − dim(C[]s ) + 1 = deg(f []s (x)) + 1 = [deg(f (t))] + 1,

20

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

where f []s (x) is the generator polynomial of C[]s . Furthermore, by the Singleton Bound we have d(C) ≤ deg(f (t)) + 1, where C is the code generated by f (t). Note that deg(f (t)) ≥ 1 and [i]s > i for all i ∈ Z>0 . Thus by Theorem 26 we deduce that [deg(f (t))]s + 1 = d(C[]s ) ≤ d(C) ≤ deg(f (t)) + 1, i.e. [deg(f (t))]s ≤ deg(f (t)), but this gives a numerical contradiction. Thus  the code C[]s cannot be a MDS code. Lemma 28. Let F∗q[k]s = hwi and Fq[k]s ⊆ Fq[n]s . Then   Id 2 [n]s −1 [n]s ≤ q [k]s − 1 ⇐⇒ rank V[n] (w, w , . . . , w ) = [n]s . s Proof.   Id (w, w 2 , . . . , w [n]s −1 ) = Let N := V[n] s   1 1 1 ··· 1 1  w w2 ··· w[n]s −1     2 2   [n]s −1 2 2 · · · w w 1 w  . =  .. .. ..  ..  . . . .  [n]s −1 [n]s −1 [n] [n] 2 s −1 s −1 ··· w 1 w w “⇒” Suppose that rank (N ) 6= [n]s . Then we have Y (∗) det(N ) := (wj − wi ) = 0, 0≤i<j≤[n]s −1

wj−i

that is, = 1 for some i, j such that 0 ≤ i < j ≤ [n]s − 1. So the order of w must be less than or equal to [n]s − 1. Thus we get [n]s ≤ q [k]s − 1 = ord(w) ≤ [n]s − 1, which is impossible. Hence det(N ) 6= 0, i.e. Id (w, w 2 , . . . , w [n]s −1 ) = [n] . rank V[n] s s   Id (w, w 2 , . . . , w [n]s −1 ) = [n] implies by (∗) that “⇐” Note that rank V[n] s s

wj−i 6= 1 for any i, j such that 0 ≤ i < j ≤ [n]s − 1. Thus q [k]s − 1 =  ord(w) > [n]s − 1, i.e. [n]s ≤ q [k]s − 1.

Finally, let us give here an application of the above arguments to obtain a lower bound for the distance of a skew constacyclic code by finding roots of polynomials in Fq [x] instead of Fq [t; θ]. Theorem 29. With the same notation as above, let C ⊆ Fnq be a skew θ-module code with generator polynomial g(t) ∈ Fq [t; θ] of degree k. If   s    s n p −1 (p ) + ps − 2 k ≥ logps 1 + · logp r ps − 1 and g []s (ω l+ci ) = 0 for i = 0, . . . , ∆ − 2, some l ∈ Z≥0 and c such that (c, q [k]s − 1) = 1, where F∗q[k]s = hωi, then d(C) ≥ ∆.

A NOTE ON THE DUALS OF SKEW CONSTACYCLIC CODES

21

Proof. Note that

r







ps − 1 r





(ps )n + ps − 2 ps − 1



· logp ⇐⇒ k ≥ logps 1 +  (ps )k − 1 ≥ logp (1 + [n]s ) ⇐⇒ pr·[k]s ≥ (1 + [n]s ) ⇐⇒ q [k]s − 1 ≥ [n]s . ps − 1

Thus ord(ω) = q [k]s − 1 ≥ [n]s . Furthermore, since (c, q [k]s − 1) = 1, we have Njid (ω c ) = (ω c )j 6= 1, for j = 1, . . . , [n]s − 1. [n]

From Remark 25 we know that C[]s ⊆ Fq s is a θ-module code with generator polynomial g[]s (x) ∈ Fq [x], F∗q[k]s = hωi with ω ∈ Fq[k]s and by hypothesis g[]s (ω l+ci ) = 0, for i = 0, . . . , ∆ − 2 and some l ∈ Z≥0 . Then by Theorem 26  and [11, Theorem 3.9] we conclude that d(C) ≥ d(C[]s ) ≥ ∆. 3. Conclusion In this work, we consider skew constacyclic codes and some of the main algebraic and geometric properties of their dual codes. First of all, we prove again in an easy and direct way that the dual code of a skew α-cyclic code is a skew α−1 -cyclic code and we show explicitly how to build its generator polynomial. Secondly, we observe that the parity check matrix of a skew αcyclic code has a very special form because its columns are related to orbits of points in projective spaces via semi-linear maps. Moreover, a generalization to the non-commutative case of a result on 1-generator Quasi Twisted (QT) codes is given and by a commutative method due to A. Leroy we prove two lower bounds for the distance of skew θ-module codes, in particular for skew constacyclic codes. Finally, from a computer point of view, some MAGMA programs are given as application of the main theoretical results and by them a table is constructed, where for small fields some examples of known linear codes with BKLC distance are constructed as 1-generator skew QT codes.

References [1] W. Bosma, J. Cannon and C. Playoust, The Magma algebra system. I. The user language, J. Symbolic Comput. 24 (1997), no. 3-4, 235–265. [2] D. Boucher, W.Geiselmann and F. Ulmer, Skew-cyclic codes, Appl. Algebra Engrg. Comm. Comput. 18 (2007), no. 4, 379–389. [3] D. Boucher and F. Ulmer, Codes as modules over skew polynomial rings, Cryptography and coding, Lecture Notes in Comput. Sci. 5921, Springer, Berlin, 2009, 38–55. [4] D. Boucher and F. Ulmer, A note on the dual codes of module skew codes, Cryptography and coding, Lecture Notes in Comput. Sci. 7089, Springer, Heidelberg, 2011, 230–243. [5] D. Boucher and F. Ulmer, Self-dual skew codes and factorization of skew polynomials, J. Symbolic Comput. 60 (2014), 47–61.

22

ALEXIS E. ALMENDRAS VALDEBENITO AND ANDREA LUIGI TIRONI

[6] N. Fogarty and H. Gluesing-Luerssen, A circulant approach to skew-constacyclic codes, Finite Fields Appl. 35 (2015), 92–114. [7] T. Maruta, A geometric approach to semi-cyclic codes, Advances in finite geometries and designs (Chelwood Gate, 1990), Oxford Sci. Publ., Oxford Univ. Press, New York (1991), 311–318. [8] T. Maruta, M. Shinohara and M. Takenaka, Constructing linear codes from some orbits of projectivities, Discrete Math. 308 (2008), no. 5–6 , 832–841. [9] A. Leroy, Noncommutative polynomial maps, J. Algebra Appl. 11 (2012), no. 4, 1250076, 16 pp. [10] L.F. Tapia Cuiti˜ no and A.L. Tironi, Dual codes of product semi-linear codes, Linear Algebra Appl. 457 (2014), 114–153. [11] L.F. Tapia Cuiti˜ no and A.L. Tironi, Some properties of skew codes over finite fields, (2015), arXiv:1507.02726. ´ tica, Universidad de Concepcio ´ n, Casilla 160-C, Departamento de Matema ´ n, Chile Concepcio E-mail address: [email protected], [email protected]