Permutation Codes over Finite Fields
Irwansyah
*Department of Mathematics,
Faculty of Mathematics and Natural Sciences,
Universitas Mataram, Jl. Majapahit 62, Mataram, 83125
INDONESIA
Email: [email protected]
*Intan Muchtadi-Alamsyah and Aleams Barra
*Algebra Research Group,
Faculty of Mathematics and Natural Sciences,
Institut Teknologi Bandung,
Jl. Ganesha 10, Bandung, 40132,
INDONESIA
Email: [email protected], [email protected]*
Abstract
In this paper we describe a class of codes called permutation codes. This class of codes is a generalization of cyclic codes and quasi-cyclic codes. We also give some examples of optimal permutation codes over binary, ternary, and 5-ary. Then, we describe its structure as submodules over a polynomial ring.
Keywords: permutation codes, cyclic codes, quasi-cyclic codes.
1 Introduction
Cyclic code is one important type of codes. This type of codes over finite field Fq can be considered as ideals in quotient ring ⟨xn−1⟩Fq[x], where n is the length of codes. Based on this point of view, we can determine generator of any cyclic code, its Euclidean dual, and its dimension. Moreover, in some cases, we can also design the minimum distance and formulate decoding algorithm for cyclic codes. For more details, see [5].
The other important type of codes is quasi-cyclic code. This type of codes is a generalization of cyclic code. Quasi-cyclic codes can be viewed as modules over a finite polynomial ring, and decomposed by the Chinese Remainder Theorem or discrete Fourier transform into products of shorter codes over larger alphabets. Based on this point of view, we can construct self-dual quasi-cyclic codes explicitly, derive a new quartenary construction of Leech lattice, enumerate self-dual one generator quasi-cyclic codes, and formulate some constructions for codes such as squaring, cubing, quinting, and septing constructions. See [2, 3]. Cyclic and quasi-cyclic codes have several applications such as images transmision from mars to earth, compact disk storage, and being used as public keys with compact structure for McElice’s cryptosystem.
In this paper, we describe a class of codes called permutation codes. This class of codes is a generalization of cyclic codes and quasi-cyclic codes. We describe its algebraic structure and give some examples of optimal permutation codes over binary, ternary, and 5-ary.
2 Basic Facts
Let C be a code of length n over finite field Fq, where q=pr, for some prime number p and natural number r. Also, let Sn be the permutation group on n elements. Now, we define a class of codes as follow.
Definition 1**.**
A code C is said to be a permutation code or σ-code, for some σ∈Sn, if for any c in C, we have
[TABLE]
is also in C.
Note that, a permutation code is a code which is globally invariant under the action of a given permutation group as in [5, Chapter 17]. Here are some examples of permutation codes.
-
Cyclic Code. A cyclic code can be considered as a σ-code, where σ=(12⋯n)∈Sn.
2. 2.
Quasi-Cyclic Code. A quasi-cyclic code is a σ-code, where σ=(11+d1+2d⋯1+(l−1)d)(22+d⋯2+(l−1)d)⋯(d−1d−1+d⋯d−1+(l−1)d)∈Sn.
For any code C, let C⊥ be the Euclidean dual of C. The following proposition shows that the dual of a permutation code is also a permutation code.
Proposition 2**.**
If C is a σ-code, then C⊥ is also a σ-code.
Proof.
Let c′=(c1′,…,cn′) be any element in C⊥. We need to show that Tσ(c′) is also in C⊥. For any c′′ in C, there exists c in C such that Tσ(c)=c′′ because C is a σ-code. Now, consider
[TABLE]
This gives Tσ(c′)∈C⊥ as we hope.
∎
Let R=Fq[Y]/⟨Yn−1⟩ and define a left action of Fq[Y] on R as follows.
For any a∈R, let a=f(Y)+⟨Yn−1⟩, and for any
h(Y)∈Fq[Y;θ], we define
[TABLE]
we can show that this left action is well-defined and R is a left module over Fq[Y].
Let σ=σ1σ2⋯σk, where σi=(tiσ(ti)⋯σmi−1(ti)) is a cycle of length mi, for some ti in N, for all i=1,2,…,k. Also, let Ri=⟨Ymi−1⟩Fq[Y], for all i=1,2,…,k. Define a map,
[TABLE]
where ci(Y)=∑j=0mi−1cσj(ti)Yj, for all i=1,2,…,k. Let φ(C) be the image of C under the map φ. We have the following proposition.
Proposition 3**.**
The map φ induces a one-to-one correspondence between σ-codes of length n over Fq and submodules of R1×R2×⋯×Rk over Fq[Y].
Proof.
Let C be a σ-code of length n over Fq. The φ(C) will be closed under the multiplication by elements of Fq because C is a linear code. Since Ymi=1 in Ri, for all i=1,2,…,k, consider
[TABLE]
The above equation implies, for any c=(c1,…,cn) in Fqn,
[TABLE]
So, φ(C) also closed under the multiplication by Y and the action Tσ in C is correspond to the multiplication by Y in R1×⋯×Rk. Therefore, φ(C) is a submodule of R1×⋯×Rk over Fq[Y].
∎
3 Good Permutation Codes
The results in the previous section give us a simple systematic way to construct permutation codes. Therefore, in this part, we will construct permutation codes using Octave. Due to the limited memory in Octave, we only construct codes with small length and dimension.
Here is an example of σ-code obtained using the corresponding submodule as in Proposition 10.
Example 4**.**
Let σ=(123)(45). We would like to find σ-code of length 5 over F2. Consider a map
[TABLE]
Now, choose C=⟨(1+Y,1+Y)⟩⊆⟨Y3−1⟩F2[Y]×⟨Y2−1⟩F2[Y]. We can see that
[TABLE]
and
[TABLE]
So, we have
[TABLE]
This means, φ−1(C)=⟨(0,1,1,1,1),(0,1,1,1,1),(1,0,1,1,1)⟩. The code φ−1(C) is a σ binary code with dimension 3 and Hamming distance 2.
We use the following simple algorithm, based on the result in previous section, to construct permutation codes of length n.
Algorithm 5**.**
Let T be a shift operator such that T(a1,a2,…,am)=(am,a1,a2,…,am−1).
Choose a permutation σ∈Sn, where σ=σ1⋯σt, and σi is a cycle of length mi, such that lcm(m1,…,mt)=k.
Choose a vector a=(a1∣a2∣⋯∣at), where ai=(ai1,ai2,…,aimi)∈Fmi, such that vectors ai,T(a1),…,Tmi−1(a1) are linearly independent, for all i=1,2,…,t.
Generate vectors a,Tσ(a),…,Tσk−1(a).
Generate σ-code C with generators a,Tσ(a),…,Tσk−1(a).
Using a similar way as in Example 4 and Algorithm 5, we construct some optimal binary, ternary, and 5-ary σ-codes as shown in Tables 1,2, and 3, where the optimality is based on tables of optimal linear codes in www.codetables.de.
Note that, generator given in the table is for the corresponding submodule. The letters k and d are notations for dimension and Hamming distance of the corresponding binary/ternary/5-ary code, respectively.
4 Algebraic Structure of Permutation Codes
4.1 Permutation codes as torsion submodules
Let σ=σ1σ2⋯σk in Sn, where σi is a cycle of length mi, for all i=1,2,…,k. As we already show in Section 2, a σ-code can be considered as a submodule of M=M(q,m1,…,mk)=R1×R2×⋯×Rk over Fq[Y], where Ri=Fq[Y]/⟨Ymi−1⟩, for all i=1,2,…,k. In this section, we will describe algebraic structure of permutation codes by viewing M as a torsion module over Fq[Y]. Here we recall the definition of torsion module.
Definition 6**.**
[4]
Let N be a module over a ring R.
A non-zero element v in N for which rv=0 for some non-zero element r in R, is called a torsion element.
If all elements of N are torsion elements, then N is called a torsion module.
The following proposition shows that M=M(q,m1,…,mk)=R1×R2×⋯×Rk is a torsion module over Fq[Y].
Proposition 7**.**
The module M is a torsion module over Fq[Y]. Moreover, the order of M, o(M), is equal to lcm(Ym1−1,…,Ymk−1).
Proof.
If r(Y)=lcm(Ym1−1,…,Ymk−1), then ra=0, for all a in M. So, M is a torsion module over Fq[Y]. Moreover, if S the annihilator ideal of M, then r(Y)∈S. Since, Fq[Y] is a principal ideal domain, assume that S=⟨g(Y)⟩, for some g(Y) in Fq[Y]. Suppose that deg(g)<deg(r), then there exists i∈{1,2,…,k} such that g≡0mod(ymi−1). Consequently, if we choose a=(0,…,0,1,0,…,0)∈M, then ga=0, a contradiction. So, r=bg, for some b∈Fq×. Therefore, S=⟨r(Y)⟩, or o(M)=r(Y)=lcm(Ym1−1,…,Ymk−1).
∎
Let lcm(Ym1−1,…,Ymk−1)=∏j=1tfj(Y)αj, for some irreducible polynomial fj(Y) and integer αj≥1, for all j=1,2,…,t. Then, based on the primary decomposition theorem [4, Theorem 6.10], we have
[TABLE]
where Mi is a primary module of order fiαi, i.e. Mi={a∈M∣fiαia=0}. Moreover, by cyclic decomposition theorem for a primary module [4, Theorem 6.12], we can decompose each Mi as follows.
[TABLE]
with annihilator(⟨vir⟩)=⟨fieij⟩, where ei1=αi≥ei2≥ei3≥⋯≥eiti.
Therefore, we have
[TABLE]
where o(vij)=fieij as in the previous decomposition. Let R={1,2,…,t}, we have the following result for permutation codes.
Theorem 8**.**
Let C be a σ-code over Fq, and RC⊆R, where for any i∈RC, fi∣o(C). Then,
The order of C, i.e. o(C), is equal to ∏i∈RCfiβi, where βi≤αi, for all i∈RC.
The code C can be written as
[TABLE]
for some wij∈M for which o(wij)=fieij, where ei1=βi≥ei2≥⋯≥eiti.
The dimension of C over Fq is equal to deg(o(C)).
Proof.
(a) If C is a submodule of M, then ann(M)≥ann(C). This means, the generator of ann(C) divides ∏j=1tfj(Y)αj as we hope. So, if RC⊆R, where for any i∈RC, fi∣o(C), then o(C)=∏i∈RCfiβi, where βi≤αi, for all i∈RC.
(b) Apply [4, Theorem 6.12] as in the previous decomposition for M.
(c) Let g(Y) be an element in C for which o(g)=∏i∈RCfiβi, and deg(o(g))=s. Then, over Fq, the set {g(Y),Yg(Y),…,Ys−1g(Y)} is a maximal linearly independent set as we hope.
∎
4.2 Duality
In the previous approach, we have a problem in describing dual of a code in the torsion module M. So, in this part, we will describe a way to see duality for permutation codes easily. Recall that, M=⟨Ym1−1⟩Fq[Y]×⋯×⟨Ymk−1⟩Fq[Y], f(Y)=lcm(Ym1−1,…,Ymk−1), deg(f)=m, and m′=lcm(m1,…,mk). We have the following properties.
Lemma 9**.**
Polynomial p is a common multiple of Ym1−1,Ym2−1,…, and Ymk−1 if and only if pb=0, for all b∈M.
Proof.
(⇐) When p is a common multiple of Ym1−1,Ym2−1,…, and Ymk−1, we have that p≡0mod(Ymi−1), for all i=1,…,k.
(⇒) If pb=0 for all b∈M, then p(1,1,…,1)=0. So, we have p≡0mod(Ymi−1), for all i=1,…,k. Therefore, Ymi−1∣p, for all i=1,…,k.
∎
Proposition 10**.**
Let ⟨f(Y)⟩ be an ideal, in Fq[Y], generated by f(Y). Then, Ym′−1 is an element in ⟨f(Y)⟩ and, moreover, ⟨Ym′−1⟩⊆⟨f(Y)⟩.
Proof.
Since σ=σ1σ2⋯σk, where σi is a cycle of length mi, for all i=1,2,…,k, we have order(σ)=m′ and Tσm′(a)=a. Recall that Tσj(a) corresponds to Yj(ϕ(a)). So, we have Ym′(ϕ(a))=ϕ(a) or (Ym′−1)ϕ(a)=0. By Lemma 9, Ym′−1 is a common multiple of Ym1−1,Ym2−1,…, and Ymk−1. Therefore, f(Y)∣Ym′−1. ∎
Based on Proposition 10, it is natural to define an injective map from Fqn to M′=⟨Ym′−1⟩Fq[Y]×⋯×⟨Ym′−1⟩Fq[Y].
Without loss of generality, assume that σi=(1+∑j=1i−1mj,2+∑j=1i−1mj,…,∑j=1imj), for all i=2,…,k, and σ1=(1,2,…,m1). Any a in Fqn can be written as
[TABLE]
where ai∈Fqmi, for all i=1,2,…,k.
First, define a map from Fqn, where n=m1+m2+⋯+mk, to Fqm′k as follows.
[TABLE]
with
[TABLE]
where ni=mim′. Second, let a(i)=(ai1,ai2,…,aim′), and define a map from λ1(Fqn) to Fqm′k as follows.
[TABLE]
where a(j)=(a1j,a2j,…,akj), for all j=1,2,…,m′. Now, we shall define a map from Fqn to Fqm′k as follows.
[TABLE]
We have the following proposition related to the map λ.
Proposition 11**.**
If C is a σ-code of length n, then λ(C) is a quasi-cyclic code of length m′k with index k.
Proof.
We can check that λ(Tσ(a))=Tk(λ(a)). Therefore, if Tσ(a)∈C, then Tk(λ(a))∈λ(C).
∎
Third, any b∈Fqm′k, can be written as
[TABLE]
Now, define a map from Fqm′k to M′=⟨Ym′−1⟩Fq[Y]×⋯×⟨Ym′−1⟩Fq[Y] as follows.
[TABLE]
where bi(Y)=∑j=0m′−1b(j+1)iYj, for all i=1,2,…,k. The map ϕ is a one-to-one correspondence between quasi-cyclic codes of length m′k and ⟨Ym′−1⟩Fq[Y]-submodules of M′, see [2, 3] for more details. By composing λ and ϕ, we have the following map.
[TABLE]
For our convenience, we shall define the following notion.
Definition 12**.**
A vector a=(a1,…,at) in Fqt is said to be the coefficients vector for a polynomial f(Y) if f(Y)=∑i=0t−1ai+1Yi.
We have the following properties related to the image of μ.
Lemma 13**.**
If μ(a)=(a1(Y),…,ak(Y)), then ai(Y)=fi(Y)∑j=0ni−1Yjmi, for some fi(Y)∈⟨Ymi−1⟩Fq[Y] with coefficients vector ai, where ni=mim′, for all i=1,2,…,k.
Proof.
We can check that the coefficients vector for ai(Y) is a(i). By equation 7, we have that
[TABLE]
for some fi(Y)∈⟨Ymi−1⟩Fq[Y] with coefficients vector ai, where ni=mim′.
∎
Proposition 14**.**
A code C is a σ-code of length n over Fq if and only if μ(C) is a ⟨Ym′−1⟩Fq[Y]-submodules of M′, where for any c in μ(C) with c=(c1(Y),…,ck(Y)), we have
[TABLE]
for some fi(Y)∈⟨Ymi−1⟩Fq[Y] with coefficients vector ci∈Fqmi, for all i=1,2,…,k.
Proof.
Apply Lemma 13 and the fact that ϕ(C) is a ⟨Ym′−1⟩Fq[Y]-submodules of M′.
∎
Before we describe duality in M′, we need to show the following property.
Proposition 15**.**
Let C be a code of length n over Fq and C⊥ be its Euclidean dual. If C1={c′∈λ(Fqn)∣c′⋅λ(c)=0,∀c∈C}, then C1=λ(C⊥).
Proof.
We can see that λ(C⊥)⊆C1. Also, we have dim(C1)=n−dim(λ(C))=n−dim(C)=dim(C⊥). Therefore, C1=λ(C⊥).
∎
Proposition 15 shows that any c′ in λ(Fqn), which satisfies c′⋅λ(c)=0, for all c in C, then c′∈λ(C⊥).
Now, define a conjugation map, denoted by −, on ⟨Ym′−1⟩Fq[Y], where α=α, for all α in Fq, and Y=Ym′−1. Also, define Hermitian inner product on M′ as follows: for a=(a1,…,ak) and b=(b1,…,bk) in M′,
[TABLE]
We have the following proposition.
Proposition 16**.**
Let a,b∈Fqn. Then, Tσj(a)⋅b=0, for all 0≤j≤ω−1, if and only if ⟨μ(a),μ(b)⟩=0.
Proof.
We can see that, Tαk(λ(a))⋅λ(b)=0, for all 0≤α≤m′−1 if and only if Tσj(a)⋅b=0, for all 0≤j≤m′−1. By [3, Proposition 3.2], Tαk(λ(a))⋅λ(b)=0, for all 0≤α≤m′−1 if and only if ⟨μ(a),μ(b)⟩=0, as we hope.
∎
As a consequence, we have the following result.
Corollary 17**.**
If C be an σ-code of length n over Fq, φ(C) is its image under the map φ, and
[TABLE]
then
The equation μ(C⊥)=C2 holds, and
the code C is Euclidean self-dual over Fq if and only if the code μ(C) is Hermitian self-dual over Fq[Y] in μ(Fqn).
Proof.
Apply Proposition 15 and [3, Corollary 3.3].
∎
Recall that, by Proposition 14, a σ-code C is Euclidean self-dual if and only if μ(C) is Hermitian self-dual over Fq[Y] in μ(Fqn), where for any c(Y)∈μ(C), with c=(c1(Y),…,ck(Y)), we have
[TABLE]
for some fi(Y)∈⟨Ymi−1⟩Fq[Y] with coefficients vector ci∈Fqmi, for all i=1,2,…,k.
4.3 More on Algebraic Structure
In Subsection 4.2, we show that we can ’put’ σ-codes of length n over Fq, where n=∑i=1kmi, inside quasi-cyclic codes of length m′=lcm(m1,…,mk) over Fq. Specifically, any σ-code of length n over Fq can be considered as a submodule of (⟨Ym′−1⟩Fq[Y])k over ⟨Ym′−1⟩Fq[Y] with some additional conditions in its coordinates. In this part, we will describe more explicit form for these specific submodules.
Let q=pr, for some prime number p and positive integer r≥1. Also, let m′=pam˙, where gcd(p,m˙)=1. The polynomial Ym˙−1 factors completely into distinct irreducible factors in Fq[Y] as follows.
[TABLE]
where δ∈Fq×, g1,…,gs are self-reciprocal factors, and hj,hj∗ are reciprocal pair for all j=1,2,…,t. Now, we have
[TABLE]
As a consequence, we have
[TABLE]
where Gi=⟨gipa⟩Fq[Y], for all i=1,2,…,s, Hj=⟨hjpa⟩Fq[Y] and Hj′=⟨(hj∗)pa⟩Fq[Y], for all j=1,2,…,t. So, from 14, we have
[TABLE]
Therefore, any submodule C of (⟨Ym′−1⟩Fq[Y])k over ⟨Ym′−1⟩Fq[Y] can be decomposed as
[TABLE]
where Ci is a submodule of Gik over Gi, for all i=1,2,…,s, Cj′ and Cj′′ are submodules of Hjk over Hj and (Hj′)k over Hj′, respectively, for all j=1,2,…,t.
Now, let bi=∑j=0ni−1Yjmi, where ni=mim′, and bif=bimodf(Y). Therefore, we have the following results.
Theorem 18**.**
A code C is a σ-code of length n over Fq if and only if
[TABLE]
where
For any ci∈Ci≤Gik, ci=(ci1,…,cik), where cil=flblgi, for some fl∈Gi, for all l=1,2,…,k and i=1,2,…,s, and
For any cj′∈Cj′≤Hjk and cj′′∈Cj′′≤(Hj′)k, cj′=(cj1′,…,cjk′) and cj′′=(cj1′′,…,cjk′′), where cjl′=fl′blhj and cjl′′=fl′′blhj′, for some fl′∈Hj and fl′′∈Hj′, for all l=1,2,…,k and j=1,2,…,t.
Proof.
Apply Proposition 14, equation 16, and Chinese remainder algorithm (see [1, Algorithm 5.4]).
∎
Theorem 19**.**
A code C is a Euclidean self-dual σ-code of length n over Fq if and only if
[TABLE]
where
For any ci∈Ci≤Gik, ci=(ci1,…,cik), where cil=flblgi, for some fl∈Gi, for all l=1,2,…,k and i=1,2,…,s, and
For any cj′∈Cj′≤Hjk, cj′=(cj1′,…,cjk′), where cjl′=fl′blhj, for some fl′∈Hj, for all l=1,2,…,k and j=1,2,…,t.
Submodule Ci is Hermitian self-dual over Gi, for all i=1,2,…,k, and
Submodule (Cj′)⊥ is the Euclidean dual of Cj′, for all j=1,2,…,k.
Proof.
Apply Theorem 18 and [3, Theorem 4.2].
∎