IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2345

PAPER

Computation of Gr¨obner Basis for Systematic Encoding of Generalized Quasi-Cyclic Codes Vo TAM VAN†a) , Student Member, Hajime MATSUI†b) , and Seiichi MITA† , Members

SUMMARY Generalized quasi-cyclic (GQC) codes form a wide and useful class of linear codes that includes thoroughly quasi-cyclic codes, finite geometry (FG) low density parity check (LDPC) codes, and Hermitian codes. Although it is known that the systematic encoding of GQC codes is equivalent to the division algorithm in the theory of Gr¨obner basis of modules, there has been no algorithm that computes Gr¨obner basis for all types of GQC codes. In this paper, we propose two algorithms to compute Gr¨obner basis for GQC codes from their parity check matrices; we call them echelon canonical form algorithm and transpose algorithm. Both algorithms require sufficiently small number of finite-field operations with the order of the third power of code-length. Each algorithm has its own characteristic. The first algorithm is composed of elementary methods and is appropriate for low-rate codes. The second algorithm is based on a novel formula and has smaller computational complexity than the first one for high-rate codes with the number of orbits (cyclic parts) less than half of the code length. Moreover, we show that a serial-in serial-out encoder architecture for FG LDPC codes is composed of linear feedback shift registers with the size of the linear order of code-length; to encode a binary codeword of length n, it takes less than 2n adder and 2n memory elements. key words: automorphism group, Buchberger’s algorithm, division algorithm, circulant matrix, finite geometry low density parity check (LDPC) codes

1.

Introduction

Low density parity check (LDPC) codes were first discovered by Gallager [11] in 1962 and have recently been rediscovered and generalized by MacKay [21] in 1999. The methods of constructing LDPC codes can be divided into two classes: random construction and algebraic one. Random constructions of irregular LDPC codes [7], [21], [26] have shown the performance near to the Shannon limit for long code lengths of more than 107 bits. On the encoding of random LDPC codes, Richardson et al. [27] proposed an efficient encoding method with the decomposition of the generator matrix into low triangular matrices, which was improved by Kaji [13] and Maehata et al. [24] with another triangular (or LU-) factorization. Both methods of encoding are based on the matrix multiplication. There are many algebraic constructions of LDPC codes [2], [8], [9], [14], [30], which belong to a class of quasicyclic (QC) codes and provide efficient decoding performance. Another remarkable algebraic construction of Manuscript received July 4, 2008. Manuscript revised April 23, 2009. † The authors are with the Dept. Electronics and Information Science, Toyota Technological Institute, Nagoya-shi, 468-8511 Japan. a) E-mail: [email protected] b) E-mail: [email protected] DOI: 10.1587/transfun.E92.A.2345

LDPC codes is finite geometry (FG) codes [16], [18]; These codes are divided into Euclidean (or affine) geometry (EG) codes, which are included in QC codes, and projective geometry (PG) codes, which are included not in QC codes but in broader generalized quasi-cyclic (GQC) codes (cf. Fig. 1). It can be stated briefly that GQC codes increase the randomness for QC codes and vary each length of cyclic parts in QC codes. For several classes of QC LDPC codes, Fujita et al. [10] proposed efficient encoding with circulant matrices and division technique. With regard to GQC codes, which includes the algebraic LDPC codes, Heegard et al. [12] showed that the systematic encoding was equivalent to the division algorithm of Gr¨obner bases, which generalize the generator polynomials in cyclic codes. According to this work, Chen et al. [4] constructed an encoder architecture. Thus, the encoding problem for GQC codes was changed into the computation of Gr¨obner basis. For the computation of Gr¨obner basis for encoding GQC codes, Little [19] provided an algorithm for Hermitian codes, and Lally et al. [17] provided an algorithm for QC codes. However, there has been no algorithm applicable to all GQC codes. In this paper, we propose two algorithms for computing the Gr¨obner bases, which encode GQC codes, from their parity check matrices. The first algorithm is based on Gaussian elimination, and the second algorithm is the generalization of Lally et al.’s algorithm. Both algorithms employ Buchberger’s algorithm to create a Gr¨obner basis from codewords. Moreover, in order to show its efficiency, we prove that the number of circuit elements in the encoder architecture is proportional to code-length for finite geometry codes. A part of the first proposed algorithm to compute Gr¨obner basis was already known to some specialists in coding theory. Kamiya et al. [14] announced that an encoder was obtained with fundamental row operation for a QC LDPC code from Euclidean geometry. Recently, Little [20] announced a similar result for a Hermitian code. Our object is to provide algorithms computing the Gr¨obner bases for all GQC codes even in the case requiring column permutation. On the other hand, the second proposed algorithm is based on a novel formula that produces Gr¨obner basis from that of the dual code. The special case of our formula was found by Lally et al. [17] for QC codes. In order to extend it to the case of GQC codes, we provide our formula with a completely different proof from that of Lally et al.´s formula. Both algorithms have O(n3 ) order of the computational complexity, where n is the code-length, and in fact for high-rate

c 2009 The Institute of Electronics, Information and Communication Engineers Copyright 

IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2346

2.1 Definitions

Fig. 1

Inclusion-exclusion relation of various linear codes.

codes with the number of orbits less than n/2, we can show that the second has less computational complexity than the first. Although the size of the encoder architecture for general GQC codes exceeds the linear order of code-length because of the number of orbits (cyclic parts), Chen et al. [4] proved that it had the linear order for Hermitian codes. We newly prove that it also has the linear order for FG codes. While Richardson et al.’s and Kaji’s methods for general LDPC codes run by the linear order of finite-field operations, our encoder architecture for FG codes can achieve not only the linear order of operations but also the linear order of circuit elements and no latency. In addition, our encoder architecture for the binary FG LDPC codes requires only adder elements without multiplication (i.e., no AND element). This paper deals with all GQC codes; Siap et al. [28] mainly focused on one-generator GQC codes. Another example of GQC codes is the class of algebraic geometry codes with automorphism groups [12], including Hermitian codes [19]. It is worthy to notice that GQC codes include two remarkable classes of Hermitian codes and some PG codes outside QC codes. Thus, GQC codes form the vastest algebraic class in linear codes that holds compact encoder architecture. Therefore, we can choose more appropriate and high-performance codes from GQC codes than those from QC codes. This paper is organized as follows. Section 2 provides the definition of GQC codes and the techniques of Gr¨obner basis. Section 3 provides the details of the first: echelon canonical form algorithm. Section 4 provides the details of the second: transpose algorithm. In Sect. 5, we estimate the computational complexity of proposed two algorithms. In Sect. 6, we prove the linearity of the circuit-scale of the encoder architecture for FG LDPC codes. Finally, we conclude this paper in Sect. 7. 2.

Preliminaries

Throughout the paper, we denote A := B if A is defined as B. First, we describe the definition and module structure of generalized quasi-cyclic codes. Then, we review Gr¨obner basis of modules over polynomial ring; the complete theory of Gr¨obner basis is referred to [1], [3], [5], and [15] for another recent and comprehensive textbook. The theory of automorphism group and orbit is referred to [23].

Consider a linear code C ⊂ Fqn of length n and k information symbols, where q is a prime power and Fq is q-element finite field. Let S be the set of locations (that is, coordinate positions) of codewords in C: C  c = (c s ) s∈S . Without loss of generality, we set S = {1, 2, · · · , n}. Let m be a non-negative integer and suppose that there is a decomposition of S into m disjoint subsets, S =

m 

Oi ,

|S | = n =

i=1

m 

li ,

li := |Oi |,

(1)

i=1

where Oi ∩ O j = ∅ for all 1 ≤ i  j ≤ m and accordingly, any codeword c ∈ C is split into m shortened codes: c = (c1 , c2 , · · · , cm ),

(2)

where ci is a shortened codeword dropping components outside Oi . Consider simultaneous local cyclic shift σ of each ci satisfying σ(c) := (σ ˜ 1 (c1 ), · · · , σ ˜ m (cm )), σ ˜ i (ci ) := (ci,li −1 , ci,0 , · · · , ci,li −2 ) for ci = (ci,0 , ci,1 , · · · , ci,li −1 ),

(3)

where σ ˜ i is the restriction of σ to ci . Definition 1: If we have m < n and σ(c) ∈ C for all c ∈ C, then we call a pair of C and σ a generalized quasi-cyclic code (GQC code).  Let Sn is the symmetric group consisting all permutations of S . Then, the automorphism group Aut(C) of a linear code C is defined as Aut(C) := {ρ ∈ Sn | ρ(c) ∈ C for all c ∈ C}. If C is GQC, thus we obtain a nontrivial σ of Aut(C). Conversely, if Aut(C) includes σ  1, then the cyclic group σ := {σl | l ∈ Z}, where Z is the integer ring, defines orbit O(s) := {σl (s) | σl ∈ σ } of s ∈ S . Note that we have O(s) = O(s ) for s ∈ O(s), and that we have O(s) = {s} if σ(s) = s. Then, S is equal to the disjoint union of distinct orbits as described in (1), where Oi := O(si ) for some si ∈ S . It has been shown that any permutation σ in Aut(C) can be ˜ m of disjoint local cyclic shift permua composite σ ˜1 ···σ tation σ ˜ i (see Theorem 14 in [22]). From now on, without loss of generality, we assume that a permutation σ means a local cyclic shift permutation. Thus, we have shown that the class of GQC codes agrees with the class of linear codes with nontrivial Aut(C) ⊃ σ . Remark 1: Since σ is a local cyclic shift permutation, then each Ci := {ci } decides a cyclic code. However, in general  the whole C does not agree with the combined code Ci  [c1 · · · cm ], since the individual shift, for example (σ(c1 ), c2 , · · · , cm ), does not generally  belong to C. We will see the difference between C and Ci at (7) in Sect. 2.3. Usually, the generator matrix of a linear code indicates

¨ TAM VAN et al.: COMPUTATION OF GROBNER BASIS FOR SYSTEMATIC ENCODING OF GQC CODES

2347

can be represented as an m-tuple of polynomials in Fq [t]: (c1 (t), c2 (t), · · · , cm (t)), where ci (t) =

l i −1 j=0

ci, j t j . Thus, C is a linear subspace of M,

where (a)

(b)

Fig. 2 Intuitive models of generator matrices made from four matrices. Model (a) defines a 2-orbit GQC code, but Model (b) does not define a GQC code.

the matrix whose rows are linearly independent and compose a basis of the linear space. In this paper, in order to represent the generator matrix by the composition of circulant matrices, we often relax this definition. We call a generator matrix of a linear code the matrix whose rows are not too many and contain the basis. Example 1: Consider the linear code C1 ⊂ F27 defined by a generator matrix as below. ⎞ ⎛ ⎜⎜⎜ 1 1 1 0 0 0 1 ⎟⎟⎟ ⎜⎜⎜ 1 1 0 1 0 1 0 ⎟⎟⎟⎟ ⎟ G1 = ⎜⎜⎜⎜ ⎜⎜⎝ 0 1 1 1 1 0 0 ⎟⎟⎟⎟⎠ 1 0 1 0 1 1 0 Since the second row plus the third row equals the fourth row, we see that the dimension of C1 is three. If we apply the permutation σ given by (3), then a codeword in C1 is transferred into another codeword in C1 . Thus, ⎛ C1 is⎞made ⎜⎜⎜ 1 1 0 ⎟⎟⎟ from 4 cyclic codes defined by (1), (1 1 1), ⎜⎜⎜⎜⎝ 0 1 1 ⎟⎟⎟⎟⎠, and 101 ⎛ ⎞ ⎜⎜⎜ 1 0 1 ⎟⎟⎟ ⎜⎜⎜⎜ 1 1 0 ⎟⎟⎟⎟ (and two all-zero codes), and C1 is a GQC code ⎝ ⎠ 011 with 3 orbits.  Note that, if l1 = l2 = · · · = lm , then C is a quasi-cyclic code [17], [18], [25]. Moreover, if m = 1, then we come back to cyclic code. In order to increase the randomness of the codes, it is desirable that we can combine various circulant matrices (cf. Sect. 4) to generate new GQC codes. The code in Fig. 2, (a) shows us a 2-orbit GQC code constructed from four matrices. On the other hand, Fig. 2, (b) shows that the code is also obtained from four matrices but is not a GQC code.

M :=

m

  Fq [t]/ tli − 1 Fq [t]

(4)

i=1

 and Fq [t]/ tli − 1 is the quotient ring by an ideal

 tli − 1 Fq [t]. Moreover, the action of σ is the multiplication of t as follows: tci (t) =

li −1  j=0

ci, j t j+1 ≡

li −1 

ci, j−1 t j =

j=0

li −1 

ψ(ci, j )t j ,

(5)

j=0



where “≡” means the equality modulo tli − 1 . We can see that multiplying c by t is equivalent to permuting the codeword locally cyclically by σ. Thus, C is closed under the multiplication by t and C is considered as an Fq [t]submodule of M. Conversely, we can trace this procedure in the reverse direction to construct a GQC code from an Fq [t]-submodule of M. Proposition 1: The class of GQC codes agrees with the class of Fq [t]-submodules of M of the type (4). Thus, our definition of GQC codes is equivalent to that in [28] as Fq [t]-submodules of M. To compute Gr¨obner basis, we consider the following natural map: π : (Fq [t])m → M. Let ei be the i-th standard basis vector in Fq [t]-module (Fq [t])m , that is, e1 := (1, 0, 0, · · · , 0), e2 := (0, 1, 0, · · · , 0), · · · , em := (0, 0, 0, · · · , 1),

 and Xi := tli − 1 ei for i = 1, · · · , m. Define C := π−1 (C), which is a submodule of (Fq [t])m and is generated by all codewords in C (represented as vectors in (Fq [t])m ) and all Xi ’s, that is, C = C + Xi | i = 1, · · · , m ,

(6)

where Xi | i = 1, · · · , m indicates the submodule generated by all Xi . 2.3 Gr¨obner Basis of Fq [t]-Module

2.2 Module Structure of Generalized Quasi-Cyclic Codes Let C be a GQC code with a permutation σ. Under the action of σ , we can decompose c ∈ C into m shortened codes as described in (2). Pick ci and label it as ci = (ci, j ) where j = 0, · · · , li − 1 with li := |Oi |. We decide that the second index is an integer modulo li , and ψ is the restriction of the permutation σ to ci, j then ψ(ci, j ) = ci, j−1 mod li for all i = 1, · · · , m and j = 0, · · · , li − 1. Then, a codeword in C

We call an element of the form t j ei a monomial in (Fq [t])m . Then, any polynomial vector in (Fq [t])m can be represented as a linear combination of monomials. Although Gr¨obner basis of a submodule in (Fq [t])m is determined for each monomial ordering [1], only the following two orderings are required in this paper. The position over term (POT) ordering [1] on (Fq [t])m is defined by tl ei >POT tk e j if i < j, or i = j and l > k. Then, we have

IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2348

e1 >POT e2 >POT · · · >POT em . Similarly, the reverse POT (rPOT) ordering is defined by tl ei >rPOT tk e j if i > j, or i = j and l > k. Then, we have e1
= =

(g11 (t), (0, .. .

gm

=

(0,

g12 (t), g22 (t), .. .

··· , ··· , .. .

g1m (t)), g2m (t)), .. .

··· ,

0,

gmm (t))

(7)

such that g1 , · · · , gm ∈ C and gii (t) has the minimum degree among the vectors of the form (0, · · · , 0, ci (t), · · · , cm (t)) ∈ C with ci (t)  0. If gii (t)’s are monic and G satisfies deg gi j (t) < deg g j j (t) for all 1 ≤ i < j ≤ m, then we call it reduced POT Gr¨obner basis. Moreover, we define rPOT Gr¨obner basis of C as the following set H = {h1 , h2 , · · · , hm } of polynomial vectors h1 = (h11 (t), .. .. . . hm−1 = (hm−1,1 (t), hm = (hm1 (t),

0, .. .

··· , .. .

0), .. .

· · · , hm−1,m−1 (t), 0), · · · , hm,m−1 (t),hmm (t))

(8)

such that h1 , · · · , hm ∈ C and hii (t) has the minimum degree among the vectors of the form (c1 (t), · · · , ci (t), 0, · · · , 0) ∈ C with ci (t)  0. If hii (t)’s are monic and H satisfies deg hi j (t) < deg h j j (t) for all 1 ≤ j < i ≤ m, then we call it reduced rPOT Gr¨obner basis.  From any Gr¨obner basis, we can easily obtain the reduced Gr¨obner basis by fundamental row operations of polynomial matrix. The reduced Gr¨obner bases for module with a term ordering is unique and moreover each GQC code has its unique reduced Gr¨obner basis. The Gr¨obner basis of C has two important roles; one is that it generates C, and the other is division algorithm (which is stated in the next subsection). Any element w ∈ C has the following expression w = P1 (t)g1 + · · · + Pm (t)gm ,

(9)

where Pi (t) ∈ Fq [t]. If deg(Pi (t)gii (t)) < li for all i, then we have the corresponding codeword of w is in C strictly. For the use of encoding, we define redundant monomial as t j ei with 0 ≤ j < deg gii (t) (standard monomial in [12]). The other types of monomial t j ei with deg gii (t) ≤ j < li are called non-redundant (or information) monomial. It follows from (9) that the number of information monomials equals

Fig. 3

The reduced POT Gr¨obner basis of C1 and monomials.

the dimension of C. By minimizing deg gii (t), we can obtain G from the generator matrix. This procedure is Buchberger’s algorithm for C from GQC codes C. The following version is derived from that for modules over polynomial rings in [1]. Buchberger’s algorithm for GQC codes: Input: A k × n generator matrix G of a (n, k) GQC code C Output: the reduced POT Gr¨obner basis G = {g1 , · · · , gm }. Step 1. Represent the row Gi of G as polynomial vector Gi = (Gi1 (t), · · · , Gim (t)) ∈ (Fq [t])m . Step 2. For j = 1 to m; ⎡ ⎢⎢⎢ g j := ki= j Qi j (t)Gi with {Q j j (t), · · · , Qk j (t)} ⎢⎢⎢ ⎢⎢⎢ such that g j j (t) := gcd{G j j (t), · · · , Gk j (t)} ⎢⎢⎢ = ki= j Qi j (t)Gi j (t) . ⎢⎢⎢ ⎢⎢⎢⎢ For l = j + 1 to k; ⎢⎢⎢  ⎣ Gl := Gl − Rl (t)g j with Rl (t) := Gl j (t)/g j j (t). Step 3. If g j is zero vector, then put g j := X j . Compute the reduced one of G by fundamental row operations.  By this algorithm, we observe that the POT Gr¨obner basis of C exists, and the rPOT Gr¨obner basis  exists

also by the corresponding algorithm. Moreover, tli − 1 ei ’s are included in C, therefore the diagonal polynomials gii (t) and (t) = 0 for all i  j, then C agrees hii (t) divide tli − 1. If gi j with the combined code Ci (cf. Remark 1). Example 2: Consider again Example 1. Buchberger’s algorithm is applied to G1 to compute Gr¨obner basis G1 = {g1 , g2 , g3 }. We obtain g1 = (1, 1 + t, 1) by adding the third row to the first row. Since the other polynomial vectors are the multiple of g1 , we obtain g2 = X2 and g3 = X3 as shown in Fig. 3. Then, the information monomials are t2 e1 , te1 , e1 and the redundant monomials are t2 e2 , te2 , e2 , e3 .  2.4 Systematic Encoding Algorithm Once a Gr¨obner basis G = {g1 , · · · , gm } of C is obtained, then division algorithm with respect to G can be applied to u ∈ (Fq [t])m to obtain the following representation u = Q1 (t)g1 + · · · + Qm (t)gm + u,

(10)

where Qi (t) ∈ Fq [t], and u = (u1 (t), · · · , um (t)) with deg ui (t) < deg gii (t). In other words, u is a unique linear combination of redundant monomials. It follows from (9) and (10) that u ∈ C ⇔ u = (0, · · · , 0), which generalizes the condition of codewords in cyclic codes. Fix some enumeration of the information positions. For example, we list

¨ TAM VAN et al.: COMPUTATION OF GROBNER BASIS FOR SYSTEMATIC ENCODING OF GQC CODES

2349

the information monomials appearing in G = {g1 , · · · , gm } in decreasing order according to the chosen monomial ordering: m x = tix e jx for x = 1, · · · , k = dim(C), 0 ≤ i x < l jx and 1 ≤ j x ≤ m. Then, the encoding of C is described as follows. Systematic encoding algorithm [12], [17] : Input: Gr¨obner basis G = {g1 , · · · , gm }, information symbols w ∈ Fkq and {m x } Output: Encoded codeword c ∈ C. Step 1. Calculate u ∈ (Fq [t])m as u := ki=1 wi mi . Step 2. Put u1 = (u11 (t), · · · , u1m (t)) := u; For i = 1 to m; ⎡ ⎢⎢⎢ Find Qi (t) and ui (t) such that ⎢⎢⎢⎢ u (t) = Q (t)g (t) + u (t), deg u (t) < deg g (t) . i ii i i ii ⎢⎢⎢ ii ⎢⎢⎢ ⎢⎢⎢ Calculate ui+1 := ui − Qi (t)gi (∈ M) ⎣ = (u1 (t), · · · , ui (t), ui+1,i+1 (t), · · · , ui+1,m (t)). Put u := (u1 (t), · · · , um (t)) = u − m i=1 Qi (t)gi in M. Step 2. By subtraction c := u − u, we obtain the encoded codeword c ∈ C.  Step 2 itself is called division algorithm, which generalizes the classical polynomial division in the encoding of cyclic codes. Thus, another merit of considering the reduced Gr¨obner basis is that it reduces the computational complexity of the division algorithm. Example 3: We reuse the GQC code C1 with the reduced Gr¨obner basis G1 = {g1 , g2 , g3 } where g1 = (1, 1 + t, 1), g2 = (0, 1 + t3 , 0), g3 = (0, 0, 1 + t). The information symbols for C1 can be taken as the coefficients of information monomials {e1 , te1 , t2 e1 }. We apply the systematic encoding algorithm to encode message (1, 0, 1). First, we linearly combine information symbols and information monomials to produce u as follows: u := e1 +0·te1 +t2 e1 = (1+t2 , 0, 0). Then, we divide u by G1 to obtain the remainder (or parity symbols) u: u = u − (1 + t2 )g1 = (0, t + t2 , 0), where the last equality follows from (0, 1 + t3 , 0) = (0, 0, 0) in M. Since u contains only redundant monomials, we finish the division algorithm. Thus, the encoded polynomial vector is u − u = (1 + t2 , t + t2 , 0) and the corresponding encoded codeword c is equal to (1010110). To check c ∈ C1 , we search a vector that represents c by G1 . Since we have ⎞ ⎛ ⎜⎜⎜ 1 1 1 0 0 0 1 ⎟⎟⎟ ⎜     ⎜⎜ 1 1 0 1 0 1 0 ⎟⎟⎟⎟ ⎟, 1 0 1 0 1 1 0 = 0 1 1 0 ⎜⎜⎜⎜ ⎜⎝⎜ 0 1 1 1 1 0 0 ⎟⎟⎟⎠⎟ 101 011 0 then we observe that c ∈ C1 . 3.



Computing Gr¨obner Basis from Parity Check Matrix with Echelon Canonical Form

In this section, we consider the problem about computing

Gr¨obner basis, which generates a GQC code, from a given parity check matrix. In many situations, each GQC code C is specified by a parity check matrix, that is, the generator matrix of its dual code C⊥ . Since we have Aut(C) = Aut(C⊥ ), both codes are viewed as the submodules of the same M at (4). Before describing the proposed algorithm, we remind that elementary row operations can be used to simplify a matrix and we obtain echelon canonical form [25], which is defined as follows: • Every leftmost non-zero value is 1. • Every column containing the leftmost non-zero value has all zero other entries. • The leftmost non-zero value in any row is on the right of that in every preceding row. For example, we consider the following two matrices: ⎞ ⎛ ⎛ ⎞ ⎜⎜⎜ 1 0 1 0 0 0 0 1 ⎟⎟⎟ ⎜⎜⎜ 1 0 1 1 1 1 0 0 ⎟⎟⎟ ⎜⎜⎜⎜ 0 1 1 0 0 1 0 0 ⎟⎟⎟⎟ ⎜⎜⎜⎜ 0 1 1 0 0 1 0 0 ⎟⎟⎟⎟ ⎟⎟⎟ ⎜⎜⎜ ⎜ ⎟ ⎜⎜⎜ 0 0 0 1 0 0 0 1 ⎟⎟⎟ , ⎜⎜⎜⎜⎜ 1 0 1 0 1 1 1 0 ⎟⎟⎟⎟⎟ . ⎜⎜⎜ 0 0 0 0 1 1 0 0 ⎟⎟⎟ ⎜⎜⎜ 1 1 0 1 0 1 0 0 ⎟⎟⎟ ⎟⎠ ⎜⎝ ⎜⎝ ⎟⎠ 00000011 01100111 The left matrix is the echelon canonical form of the right matrix. By using the echelon canonical form, we can compute the Gr¨obner basis of C from parity check matrix. The flow of our first algorithm is presented in Fig. 4 and described as follows: Echelon canonical form algorithm: Input: Parity check matrix H of a GQC code C. Output: POT Gr¨obner basis G of C. Step 1. Transform H to echelon canonical form H by Gaussian elimination. Step 2. Select permutation τ satisfying H1 := τ(H ) = [I|A], and then G1 := [−AT |I]. Step 3. Compute generator matrix G = τ−1 (G1 ). Step 4. Obtain G by Buchberger’s algorithm from G.  In the step 2 of the above algorithm, G1 satisfies the equation G1 × H1T = 0 and τ−1 (G1 ) × {τ−1 (H1 )}T = τ−1 (G1 ) × H T = 0. Therefore, we permute the column vectors of G1 by τ−1 to obtain a generator matrix G of the GQC code C. Example 4: Let C2 be a GQC code defined by the following parity check matrix H2 : ⎛ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜ H2 := ⎜⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎝

110110 011011 101101 110110 011011 101101

101100 010110 001011 100101 110010 011001

110 011 101 110 011 101

⎞ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ . ⎟⎟⎟ ⎟⎟⎟ ⎟⎠

We can see that C2 has locally cyclic property with the column permutation σ = (1 · · · 6)(7 · · · 12)(13 · · · 15), where, e.g., (1 · · · 6) indicates permutation 1 → 2 → · · · → 6 → 1,

IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2350

Fig. 4 Outline of computing Gr¨obner basis for encoding by echelon canonical form algorithm from parity check matrix.

and C2 has 3 orbits: l1 = l2 = 6 and l3 = 3. Firstly, we use Gaussian elimination to transform H2 to the equivalent echelon canonical form ⎛ ⎞ ⎜⎜⎜ 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 ⎟⎟⎟ ⎜⎜⎜⎜ 0 1 1 0 1 1 0 0 0 0 1 1 0 1 1 ⎟⎟⎟⎟ ⎜⎜⎜ ⎟ ⎜⎜⎜ 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 ⎟⎟⎟⎟⎟ (11) ⎜⎜⎜ 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 ⎟⎟⎟ . ⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 ⎟⎟⎟ ⎝ ⎠ 00 0000 0001 11000 If we choose the column permutation τ such that the set of column location (1, 2, · · · , 14, 15) is mapped by τ to (1, 2, 7, 8, 9, 10, 3, 4, 5, 6, 11, 12, 13, 14, 15) , then matrix (11) is transformed to the standard form matrix [I|A]: ⎞ ⎛ ⎜⎜⎜ 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 ⎟⎟⎟ ⎜⎜⎜⎜ 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 ⎟⎟⎟⎟ ⎟ ⎜⎜⎜ ⎜⎜⎜ 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 ⎟⎟⎟⎟⎟ ⎜⎜⎜ 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 ⎟⎟⎟ . ⎟ ⎜⎜⎜ ⎜⎜⎜ 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 ⎟⎟⎟⎟⎟ ⎠ ⎝ 00 0001 0000 11000 (Note that, in this case, τ has no relation to the orbit decomposition.) Then, we permute the corresponding matrix [−AT |I] by τ−1 to obtain the generator matrix G2 of C2 . ⎛ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ G2 = ⎜⎜⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎝

111000 100100 010010 110001 110000 010000 100000 010000 110000

000000 000000 000000 000000 110110 101101 000000 000000 000000

000 000 000 000 000 000 100 010 001

⎞ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎠

By using Buchberger’s algorithm, we can compute the reduced POT Gr¨obner basis {g1 , g2 , g3 } of generator matrix G2 : ⎤ ⎡ ⎤ ⎡ 0, 1 ⎥⎥⎥ ⎢⎢⎢ g1 ⎥⎥⎥ ⎢⎢⎢ 1, ⎢⎢⎢⎢ g2 ⎥⎥⎥⎥ = ⎢⎢⎢⎢ 0, 1 + t + t3 + t4 , 1 + t ⎥⎥⎥⎥ . ⎦ ⎣ ⎦ ⎣ g3 0, 0, 1 + t + t2 

Although this example is binary, our algorithm can be applied to all parity check matrix H of Fq -entries. We consider in section 5 the computational complexity of our algorithm to obtain G from H. 4.

Transpose Formula for POT Gr¨obner Basis

In this section, we propose another algorithm to compute the Gr¨obner basis from parity check matrix. This novel algorithm uses transpose formula (21) that is given at Theorem 2. Although Theorem 1 is not necessary for our computation except a scalar product (13) and Corollary 1, we describe it for completeness; Theorem 1 provides the orthogonal property with respect to the scalar product for arbitrary Gr¨obner bases of GQC codes. Firstly, we define a circulant l×l matrix as a square l×l matrix such that each row is constructed from the previous row by a single right cyclic shift. Then, we can represent the circulant l × l matrix ⎞ ⎛ a1 · · · al−1 ⎟⎟ ⎜⎜⎜ a0 ⎟⎟ ⎜⎜⎜ a ⎜⎜⎜ l−1 a0 · · · al−2 ⎟⎟⎟⎟⎟ A = ⎜⎜⎜ . .. ⎟⎟⎟ .. .. ⎜⎜⎜ .. . . . ⎟⎟⎟ ⎠ ⎝ a1 · · · al−1 a0

 as a polynomial a(t) = a0 +a1 t+· · ·+al−1 tl−1 modulo tl − 1 . Proposition 3: Let a(t) and b(t) represent the corresponding polynomials of circulant matrices A and B of size l × l, respectively. (i) Transpose of A is a circulant matrix corresponding

to l−1 l polynomial  a(t) := a0 + al−1 t + · · · + a1 t modulo t − 1 . (ii) Matrix product AB equals BA and corresponds to polynomial a(t)b(t). In particular,  we have AB = 0 if and only if

l a(t)b(t) ≡ 0 modulo t − 1 . ⎡ T ⎤ ⎢⎢⎢ B1 ⎥⎥⎥ ⎥⎥ ⎢⎢ (iii) If [A1 · · · Am ] ∗ ⎢⎢⎢⎢ ... ⎥⎥⎥⎥ = 0 holds, where Ai and Bi are ⎥⎦ ⎢⎣ BTm circulant l×l matrices, then we have the corresponding poly l  nomial m i=1 ai (t)bi (t) ≡ 0 modulo t − 1 . ⎡ ⎤ ⎢⎢⎢ A ⎥⎥⎥  ⎢⎢⎢ . ⎥⎥⎥  T (iv) The product ⎢⎢⎢ .. ⎥⎥⎥ ∗ B · · · BT equals a circulant ⎢⎣ ⎥⎦ A matrix of size ml × ml and corresponds to polynomial  il ml t modulo t − 1 . a(t) b(t) m−1 i=0

¨ TAM VAN et al.: COMPUTATION OF GROBNER BASIS FOR SYSTEMATIC ENCODING OF GQC CODES

2351

Proof: Proposition 3.(i)–(iii) are easy to prove and we refer to [17]. Proposition 3.(iv) can be proved by executing matrix multiplication ⎡ ⎢⎢⎢ ⎢⎢⎢ ⎢⎢⎢ ⎢⎣

⎡ ⎤ ⎢ ABT ⎥⎥⎥  ⎢⎢⎢⎢ . ⎥⎥⎥  T ⎥⎥⎥ B · · · BT = ⎢⎢⎢⎢ .. ⎢⎣ ⎥⎦ ABT A A .. .

··· ··· ···

ABT .. . T

AB

⎤ ⎥⎥⎥ ⎥⎥⎥ ⎥⎥⎥ . ⎦⎥

(12)

From (i) and (ii), we see that the matrix (12) is a circulant matrix of size ml × ml, and moreover, the circulant matrix  b(t) modulo tl − 1 . ABT can correspond to polynomial a(t) Therefore, matrix (12) can be represented by the following polynomial

i=0



Next, we define a scalar product of polynomial vectors u = (u1 (t), · · · , um (t)), v = (v1 (t), · · · , vm (t)) ∈ M as u, v :=

m  i=1

ui (t) vi (t)

l/l i −1 

 tkli mod tl − 1 ,

1 0 0 0 1

1 1 0 0 0

0 1 1 0 0

(13)

k=0

where l is the least common multiple (lcm) of li ’s that correspond to non-zero ui (t) and vi (t). We denote [u] as the matrix representation of polynomial vector u = (u1 (t), · · · , um (t)) ∈ M by shifting locally cyclically l times. And the matrix representation of polynomial u(t) is denoted by [u]. Since li divides l and tli is regarded as 1, we can represent matrix [u] by non-zero circulant matrices [ui ] and zero matrices. For example, assume u = (1+t, 0, 1+t2 ), v = (1+t+t3 , 1+t, 1+t) ∈ M, where l1 = 5, l2 = 4, l3 = 3, q = 2. Since the second component of vector u equal 0, then l = lcm{l1 , l3 } = 15. The matrix representation of polynomial vector u agrees with ⎡ ⎤ ⎤⎡ ⎤⎡ ⎢⎢⎢ 1 1 0 0 0 ⎥⎥⎥ ⎢⎢ 0 0 0 0 ⎥⎥ ⎢⎢⎢ 1 0 1 ⎥⎥⎥ ⎢⎢⎢ 0 1 1 0 0 ⎥⎥⎥ ⎢⎢⎢ 0 0 0 0 ⎥⎥⎥ ⎢⎢⎢ 1 1 0 ⎥⎥⎥ ⎥⎥ ⎢ ⎢⎢⎢ ⎥ ⎥ ⎢⎢ ⎢⎢⎢ 0 0 1 1 0 ⎥⎥⎥⎥⎥ ⎢⎢⎢⎢ 0 0 0 0 ⎥⎥⎥⎥ ⎢⎢⎢⎢⎢ 0 1 1 ⎥⎥⎥⎥⎥ ⎥⎥ ⎢⎢ ⎢⎢⎢ ⎥ ⎥⎥⎥ ⎢⎢⎢ ⎥ ⎢⎢⎢ 0 0 0 1 1 ⎥⎥⎥ ⎢⎢⎢ 0 0 0 0 ⎥⎥⎥ ⎢⎢⎢⎢ 1 0 1 ⎥⎥⎥⎥⎥ ⎢ ⎥ ⎢⎢⎢⎢ 1 0 0 0 1 ⎥⎥⎥⎥ ⎢⎢⎢ 0 0 0 0 ⎥⎥⎥ ⎢⎢⎢⎢ 1 1 0 ⎥⎥⎥⎥ ⎥⎥⎥ ⎢⎢ ⎢⎢⎢⎢ ⎥⎥ ⎥⎥ ⎢⎢⎢ ⎢⎢⎢ 1 1 0 0 0 ⎥⎥⎥⎥⎥ ⎢⎢⎢⎢ 0 0 0 0 ⎥⎥⎥⎥ ⎢⎢⎢⎢⎢ 0 1 1 ⎥⎥⎥⎥⎥ ⎢⎢⎢ 0 1 1 0 0 ⎥⎥⎥ ⎢⎢⎢ 0 0 0 0 ⎥⎥⎥ ⎢⎢⎢ 1 0 1 ⎥⎥⎥ ⎥⎥ ⎢ ⎢⎢⎢ ⎥ ⎥ ⎢⎢ ⎢⎢⎢ 0 0 1 1 0 ⎥⎥⎥⎥⎥ ⎢⎢⎢⎢ 0 0 0 0 ⎥⎥⎥⎥ ⎢⎢⎢⎢⎢ 1 1 0 ⎥⎥⎥⎥⎥ . ⎥⎥⎥ ⎢⎢ ⎢⎢⎢ ⎥⎥ ⎥⎥⎥ ⎢⎢⎢ ⎢⎢⎢⎢ 0 0 0 1 1 ⎥⎥⎥⎥ ⎢⎢⎢⎢ 0 0 0 0 ⎥⎥⎥⎥ ⎢⎢⎢⎢⎢ 0 1 1 ⎥⎥⎥⎥⎥ ⎢⎢⎢ 1 0 0 0 1 ⎥⎥⎥ ⎢⎢⎢ 0 0 0 0 ⎥⎥⎥ ⎢⎢⎢ 1 0 1 ⎥⎥⎥ ⎥⎥ ⎢ ⎢⎢⎢ ⎥ ⎥ ⎢⎢ ⎢⎢⎢ 1 1 0 0 0 ⎥⎥⎥⎥⎥ ⎢⎢⎢⎢ 0 0 0 0 ⎥⎥⎥⎥ ⎢⎢⎢⎢⎢ 1 1 0 ⎥⎥⎥⎥⎥ ⎥⎥ ⎢⎢ ⎢⎢⎢ ⎥ ⎥⎥⎥ ⎢⎢⎢ ⎥ ⎢⎢⎢ 0 1 1 0 0 ⎥⎥⎥ ⎢⎢⎢ 0 0 0 0 ⎥⎥⎥ ⎢⎢⎢⎢ 0 1 1 ⎥⎥⎥⎥⎥ ⎢ ⎥ ⎢⎢⎢ 0 0 1 1 0 ⎥⎥⎥ ⎢⎢ 0 0 0 0 ⎥⎥ ⎢⎢⎢ 1 0 1 ⎥⎥⎥ ⎥⎥ ⎢ ⎢⎢⎢ ⎥ ⎥ ⎢⎢ ⎢⎢⎢ 0 0 0 1 1 ⎥⎥⎥⎥⎥ ⎢⎢⎢⎢ 0 0 0 0 ⎥⎥⎥⎥ ⎢⎢⎢⎢⎢ 1 1 0 ⎥⎥⎥⎥⎥ ⎣ ⎦ ⎣ ⎦ ⎦ ⎣ 0000 10001 011 We see that matrix [u] can be decomposed into two non-zero circulant matrices

0 0 1 1 0

0 0 0 1 1

⎞ ⎟⎟⎟ ⎛ ⎞ ⎟⎟⎟ ⎜⎜⎜ 1 0 1 ⎟⎟⎟ ⎟⎟⎟ ⎜ ⎟⎟⎟ and ⎜⎜⎜ 1 1 0 ⎟⎟⎟⎟ , ⎟⎟⎟ ⎝ ⎠ 0 1 1 ⎟⎟⎠



which correspond to polynomials (1 + t) modulo t5 − 1 ,

 

and 1 + t2 modulo t3 − 1 , respectively. Substitute l = 15, u = (1 + t, 0, 1 + t2 ) and v = (1 + t + t3 , 1 + t, 1 + t) to equation (13), then the scalar product u, v agrees with (1 + t)(1 + t2 + t4 )

2 

t5k + (1 + t2 )(1 + t2 )

k=0

4 

t3k

k=0

 ≡ (1 + t + t + t + t + t ) modulo t15 − 1 . 2

m−1  

til b(t) a(t) b(t) 1 + tl + · · · + tl(m−1) = a(t)

 modulo tml − 1 .

⎛ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎝

8

10

11

14

With these preparations, we can obtain the following orthogonality between a Gr¨obner basis of a GQC code and that of its dual. Theorem 1: Let G = {g1 , g2 , · · · , gm } and H = {h1 , h2 , · · · , hm } be a Gr¨obner basis of a GQC code C and that of C⊥with respect  Then,  to any  ordering, respectively.

we have gi , h j ≡ h j , gi ≡ 0 modulo tl − 1 for all 1 ≤ i, j ≤ m.     Proof: h j , gi ≡ 0 follows from gi , h j ≡ 0 easily. Shifting the component gi = (gi1 (t), · · · , gim  (t)) locally cyclically l times, we obtain gi , tgi , · · · , tl−1 gi that correspond to l polynomial vectors as follows: ⎞ ⎛ gi2 (t) ··· gim (t) ⎟⎟ ⎜⎜⎜ gi1 (t) ⎟ ⎜⎜⎜⎜ tgi1 (t) tgi2 (t) ··· tgim (t) ⎟⎟⎟⎟ ⎟⎟⎟ . ⎜⎜⎜ (14) .. .. .. ⎟⎟⎟ ⎜⎜⎜ . . ··· . ⎟⎟⎠ ⎜⎜⎝ tl−1 gi1 (t) tl−1 gi2 (t) · · · tl−1 gim (t) Let [gi ] denote the matrix corresponding   to (14). We can represent [gi ] by circulant matrices gi j as follows:   ⎞ ⎛     gi2 gim ⎟⎟ ⎜⎜⎜ gi1 ⎟⎟⎟   ⎜⎜⎜ . . ⎟⎟⎟ , . . ⎜ · · · ... gi = ⎜⎜ . (15) . ⎜⎝       ⎟⎟⎠ gi1 gi2 gim ⎛   ⎞ ⎜⎜⎜ gik ⎟⎟⎟ ⎟⎟ ⎜⎜ where ⎜⎜⎜⎜ ... ⎟⎟⎟⎟ is the l × lk matrix made from non-zero ma⎝⎜   ⎠⎟ gik   trix gik  or only from zeros. Since tδ gi ∈ C for all δ, every rows of gi are codewords in C. Similarly, the corresponding matrix representation of h j is   ⎞ ⎛     ⎜⎜⎜ h j1 h j2 h jm ⎟⎟⎟   ⎜⎜⎜ . ⎟⎟⎟⎟ . ⎜ .. ⎟⎟ h j = ⎜⎜⎜ .. · · · ... ⎜⎜⎝       ⎟⎟⎟⎠ h j1 h j2 h jm   and every rows of h j are codewords in C⊥ . The relation   c ∗ c⊥ T = 0, where c ∈ C and c⊥ ∈ C⊥ , corresponds to

IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2352

   T gi h j = 0 for all i, j. Therefore, we have the following equivalent equation ⎞⎛ ⎞T ⎛ ⎞⎛ ⎟⎟⎟ ⎜⎜⎜ [h j1 ] ⎟⎟⎟ ⎜⎜⎜ [gi2 ] ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ . ⎟⎟⎟ ⎜⎜⎜ . ⎟⎟⎟ ⎜⎜⎜ ⎟⎟⎟ ⎜⎜⎜ .. ⎟⎟⎟ + ⎜⎜⎜ .. ⎟⎟⎟ ⎜⎜⎜ ⎟⎠ ⎟⎠ ⎜⎝ ⎜⎝ ⎠⎟ ⎝⎜ [h j1 ] [gi2 ] ⎞⎛ ⎞T ⎛ ⎜⎜⎜ [gim ] ⎟⎟⎟ ⎜⎜⎜ [h jm ] ⎟⎟⎟ ⎟⎟⎟ ⎜⎜⎜ . ⎟⎟⎟ ⎜⎜⎜ . ⎟⎟⎟ ⎜⎜⎜ .. ⎟⎟⎟ = 0. + · · · + ⎜⎜⎜ .. ⎟⎠ ⎠⎟ ⎝⎜ ⎝⎜ [gim ] [h jm ]

⎛ ⎜⎜⎜ [gi1 ] ⎜⎜⎜ . ⎜⎜⎜ .. ⎜⎝ [gi1 ]

⎞T [h j2 ] ⎟⎟ ⎟⎟⎟ .. ⎟⎟⎟ . ⎟⎟⎠ [h j2 ] (16)

If gik (t) = 0 or hik (t) = 0, then the k-th term of (16) is zero matrix of size l × l. Otherwise, by Proposition 3.(iv), the k-th term of (16) is a circulant l × l matrix. Therefore, the corresponding polynomial of (16) is obtained as follows: h j1 (t) gi1 (t)

l/l 1 −1 

tδl1 + gi2 (t) h j2 (t)

δ=0

+ · · · + gim (t) h jm (t)

l/l 2 −1 

tδl2

 modulo tl − 1 , which leads the theorem.  By using Theorem 1, we can compute the Gr¨obner basis G from H. However, the computation is not straightforward because of the ambiguity “modulo tl − 1 .” Little et al. [19] obtained strict equalities for POT and rPOT diagonal components gi , hi , which we applied to finite geometry codes in [31]. Now, we remove all modulo conditions. For later use, we derive a corollary from the argument at (16). Corollary 1: Let H = {h1 , h2 , · · · , hm } be a Gr¨obner basis of C⊥ , and u ∈ M a polynomial vector. Then, it holds that hi , u ≡ 0 for all 1 ≤ i ≤ m if and only if u corresponds to a codeword in C.  In the case of cyclic codes, if we know the generator polynomial h(t) of the dual code C⊥ and a(t)h(t) = tn − 1, then that of C is the reciprocal polynomial tdeg a a(t−1 ) of a(t), a(t) modulo (tn − 1). We generalize which agrees with tdeg a  this relation to GQC codes. Assume that H is rPOT Gr¨obner basis of an m-orbit GQC code C⊥ . Since H is a basis of C⊥ (as described at (9)), there exists m × m polynomial matrix A = (ai j (t)) satisfying h1 h2 .. . hm

⎤ ⎡⎢ tl1 − 1 0 ··· ⎥⎥⎥ ⎢⎢⎢ ⎥⎥⎥ ⎢⎢⎢ . ⎥⎥⎥ ⎢⎢⎢ 0 tl2 − 1 . . ⎢ ⎥⎥⎥ = ⎢⎢ .. .. .. ⎥⎥⎥ ⎢⎢⎢ . . . ⎦ ⎢⎢⎣ 0 ··· 0

j > i,

if

j = i, (17)

if

j < i.

It is important fact that, if H is the reduced rPOT Gr¨obner basis, then A = (ai j (t)) has the similar property, that is, deg ai j (t) < deg aii (t) for all i > j. Now we prove this by induction on j. The first step deg ai,i−1 (t) < deg aii (t) follows from ai,i−1 (t)hi−1,i−1 (t) + aii (t)hi,i−1 (t) = 0 from (17). Suppose induction hypothesis deg aiδ (t) < deg aii (t) for j + 1 ≤ δ < i. From (17), we obtain ⎛ i ⎞ ⎜⎜⎜  ⎟⎟⎟ ⎜ deg ai j (t) = deg ⎜⎜⎝ aiδ (t)hδ j (t)⎟⎟⎟⎠ − deg h j j (t) δ= j+1   ≤ max deg aiδ (t) + deg hδ j (t) − deg h j j (t) < deg aii (t),

  tδlm = gi , h j ≡ 0

δ=0

⎡ ⎢⎢⎢ ⎢⎢⎢ ⎢ A ⎢⎢⎢⎢⎢ ⎢⎢⎢ ⎣

if

j<δ≤i

δ=0 l/l m −1 

⎧ ⎪ 0 ⎪ ⎪ ⎪ ⎪ ⎪ li ⎪ −1 t ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ hii (t) ai j (t) := ⎪ ⎪ ⎪ ⎪ i ⎪  ⎪ −1 ⎪ ⎪ ⎪ aiδ (t)hδ j (t) ⎪ ⎪ ⎪ ⎩ h j j (t) δ= j+1

0 .. . 0 tlm − 1

⎤ ⎥⎥⎥ ⎥⎥⎥ ⎥⎥⎥ ⎥⎥⎥ . ⎥⎥⎥ ⎥⎥⎥ ⎦

It is easy to observe that A = (ai j (t)) is a lower triangular matrix similar to (hi j (t)), i.e., ai j (t) = 0 if i < j. If C⊥ (or C) is a QC code, then we have A(hi j (t)) = (hi j (t))A as noticed in [17], but in general not commutative. We can calculate ai j (t) recursively as follows:

which proves the fact. From now on, we assume that H is the reduced rPOT Gr¨obner basis. We define transpose polynomial matrix of A by ⎤ ⎤ ⎡ ⎡ a21 (t) · · ·  am1 (t) ⎥⎥ ⎢⎢ b1 ⎥⎥ a11 (t)  ⎢⎢⎢  ⎥ ⎥ ⎢ ⎢⎢⎢⎢ 0 am2 (t) ⎥⎥⎥⎥ ⎢⎢⎢⎢ b2 ⎥⎥⎥⎥  a22 (t) · · ·  ⎥ ⎥⎥⎥ =: ⎢⎢⎢ ⎢⎢⎢ (18) .. .. .. ⎥⎥⎥ ⎢⎢⎢ .. ⎥⎥⎥⎥⎥ , ⎢⎢⎢ .. . . . ⎥⎥⎦ ⎢⎢⎣ . ⎥⎥⎦ ⎢⎢⎣ . 0 ··· 0  amm (t) bm

 where  a (t) is calculated modulo tli − 1 , and not modulo

 ij tl j − 1 . Since ai j (t) is the j-th component of a polynomial it might seem natural to calculate  ai j (t) modulo  

row vector, ai j (t) modulo tli − 1 , tl j − 1 . Nevertheless, we consider  which is justified by deg ai j (t) < deg aii (t) ≤ li and is a characteristic of GQC codes that is disappeared in the case of QC codes. To remove the modulo condition from Theorem 1, we redefine the scalar product of hi and b j as   hik (t)ak j (t)   , hi , b j := tβi j − 1 tlk − 1 j≤k≤i

(19)

where βi j := lcm{l j , · · · , li } and 1 ≤ j ≤ i ≤ m. Since   a(t) = a(t),  new definition agrees with (13) ex this cept “modulo tl − 1 .” Now we have deg hik (t)ak j (t) ≤ deg (hkk (t)) + deg (akk (t)) = lk , then the degree of (19) is less than or equal to βi j ≤ l; the less-than case is equivalent to (13) and the equal-to case is hi , bi = tli − 1. The latter half of the following theorem provides the objective formula for POT Gr¨obner basis. Theorem 2: Polynomial vectors (18) satisfy  $ tli − 1 1 ≤ i = j ≤ m,  hi , b j = 0 1 ≤ i  j ≤ m.

(20)

¨ TAM VAN et al.: COMPUTATION OF GROBNER BASIS FOR SYSTEMATIC ENCODING OF GQC CODES

2353

Moreover, G = {g1 , · · · , gm }, where

 gi j (t) := tdeg aii (t) bi j (t) modulo tli − 1 ,

following equations (21)

determines a POT Gr¨obner basis of GQC code C (usually not reduced). We call (21) transpose formula, which generalizes that of cyclic codes and that of QC codes by Lally et al. [17] to the case of GQC codes. In [17], their formula is proved by the fundamental row operation of a polynomial matrix; this proof cannot be applied to our case because of the complication to different orbit lengths. We first show (20) directly from (17), then we conclude (21) by degree argument. Proof of Theorem 2: In the following argument, we drop “(t)” to represent variable t of polynomials. We use induction to prove (20). Step 1: We first consider the easy case 1 ≤ i < j ≤ m. We see that From the definition (13) and the fact that H is a lower polynomial matrix, it ob  triangular viously holds that hi , b j = 0 for i < j, and then we concentrate on the case of j ≤ i. Consider two polynomial vectors hi = (hi1 , · · · , hii , 0, · · · , 0) ∈ H and b j =

am j , where 1 ≤ j ≤ i ≤ m. From (17) 0, · · · , 0, a j j , · · · , lk  and  a = a, it is trivial that h  k , bk = t − 1 for all 1 ≤ k ≤ m. Thus, we may prove only hi , b j = 0 for all j < i by induction on i − j. Step 2: We calculate the initial case i − j = 1, 2. If i − j = 1, we have &  % hi j a j j   hii ai j + l hi , b j = tβi j − 1 l t j −1 ti −1  tβi j − 1  = hi j aii + h j j ai j = 0. h j j aii If i − j = 2, we have

&  % hi j a j j hi, j+1 a j+1, j   hii ai j hi , b j = tβi j − 1 l + l + l ti −1 tj −1 t j+1 − 1 &

 % hi j h ai j a i, j+1 j+1, j = tβi j − 1 + + . h j j h j+1, j+1 a j+1, j+1 aii

From (17), we obtain −ai, j+1 h j+1, j+1 , aii −a j+1, j+1 h j+1, j a j+1, j = . hjj   Therefore, hi , b j corresponds to hi, j+1 =

 tβi j − 1  ai j h j j + ai, j+1 h j+1, j + aii hi j = 0. h j j aii Step 3: We now prove (20) for all (i − j). Suppose induction hypothesis hθ , bδ = 0 for all θ < δ with δ − θ < i − j. From (17), we receive, for all j + 1 ≤ k ≤ i − 1, the

−1  aiδ hδk , aii δ=k i−1

hik (t) =

ak j (t) =

k −1  akθ hθ j . h j j θ= j+1

Consider the following partial summation of (19): aii h j j

i−1  hik ak j lk − 1 t k= j+1

⎞⎛ k ⎞ ⎛ i−1 ⎟⎟⎟ ⎜⎜⎜  ⎟⎟⎟ 1 ⎜⎜⎜⎜ ⎜⎜⎝ aiδ hδk ⎟⎟⎟⎠ ⎜⎜⎜⎝ = akθ hθ j ⎟⎟⎟⎠ l t k − 1 δ=k θ= j+1 k= j+1   1 a h a h = lk − 1 iδ δk kθ θ j t j+1≤k≤i−1 k≤δ≤i−1 i−1 

=



j+1≤θ≤k

j+1≤θ≤δ≤i−1

aiδ hθ j



1 h a . lk − 1 δk kθ t θ≤k≤δ

(22)

For all j + 1 ≤ θ < δ ≤ i − 1, we have hθ , bδ = 0 by induction hypothesis. Therefore, from (17), the double summation (22) is equal to i−1  θ= j+1

aiθ hθ j

i−1  hθθ aθθ aiθ hθ j = −ai j h j j − aii hi j . = tlθ − 1 θ= j+1

  From this result, hi , b j is equal to &  % hi j a j j ai j hi j

hii ai j − + l tβi j − 1 l . − t j − 1 aii h j j t i − 1 Substituting tli − 1 = aii hii for all 1 ≤ i ≤ m, we have   hi , b j = 0 for all 1 ≤ i  j ≤ m. The rest of the proof is to show that (21) determines a POT Gr¨obner basis. From Corollary 1, we have bi ∈ C, then gi ∈ C. Thus, we may prove only that gii has the minimum degree among the vectors of the form (0, · · · , 0, ci , · · · , cm ) ∈ C with ci  0. We notice that Ci := {ci | (0, · · · , 0, ci , · · · , cm ) ∈ C} defines a cyclic code. Since the generator polynomial of the dual code C⊥i is hii ,  that of Ci is gii , then gii has the minimum degree. By Theorem 2, we obtain the second algorithm for computing Gr¨obner basis G of m-orbit GQC code C from the parity check matrix as follows. The flow of this algorithm is presented in Fig. 5. Transpose algorithm: Input: Parity check matrix H of a GQC code C. Output: POT Gr¨obner basis G of C. Step 1. Compute the reduced rPOT Gr¨obner basis H by Buchberger’s algorithm from matrix H. Step 2. Calculate A = (ai j (t)) by (17). Step 3. Obtain G = {g1 , · · · , gm }, where gi = (gi j (t))1≤ j≤m and $ 0 gi j (t) := tdeg(aii (t)) a ji (t)

if i > j, if i ≤ j.



IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2354

Fig. 5

Outline of computing Gr¨obner basis by transpose algorithm from parity check matrix.

⎡ 1, 0, ⎢⎢⎢ A = ⎢⎢⎢⎢⎣ t + t2 + t3 , 1 + t2 + t4 , 1 + t2 , 1 + t2 ,

Remark 2: We can construct the generator matrix G of GQC code C from its reduced POT Gr¨obner basis {g1 , · · · , gm } as follows: ⎛ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜ G = ⎜⎜⎜⎜ ⎜⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎜⎜⎜ ⎝

g11 (t) tg11 (t) .. .

g12 (t) tg12 (t) .. .

··· ··· .. .

t x1 g11 (t) 0 0 .. .

t x1 g12 (t) g22 (t) tg22 (t) .. .

··· ··· ··· .. .

0 .. .

t x2 g22 (t) .. .

0 0 .. .

0 0 .. .

··· .. . ··· ··· .. .

0

0

···

(23)

Example 5: We demonstrate the transpose algorithm. Let C3 be a binary GQC code with l1 = 6, l2 = 6, l3 = 4 defined by 1 0 1 1 1 1 0 1

1 1 0 1 0 1 1 0

0 1 1 0 1 0 1 1

1 0 1 1 1 1 0 1

1 1 0 1 0 1 1 0

1 0 0 0 1 0 0 0

0 1 0 0 0 1 0 0

1 0 1 0 0 0 1 0

0 1 0 1 0 0 0 1

0 0 1 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 0 0 1 0 0 0

0 0 0 0 0 1 0 0

0 0 0 0 0 0 1 0

⎞ 0 ⎟⎟ ⎟ 0 ⎟⎟⎟⎟ ⎟ 0 ⎟⎟⎟⎟ ⎟ 0 ⎟⎟⎟⎟ ⎟. 0 ⎟⎟⎟⎟⎟ 0 ⎟⎟⎟⎟⎟ 0 ⎟⎟⎟⎟⎠ 1

We calculate the reduced rPOT Gr¨obner basis H3 = {h1 , h2 , h3 } of dual code C⊥3 by Buchberger’s algorithm: ⎡ ⎤ ⎡ 1 + t6 , ⎢⎢⎢ h1 ⎥⎥⎥ ⎢⎢⎢ ⎢⎢⎢ h ⎥⎥⎥ = ⎢⎢⎢ t + t2 + t4 + t5 , ⎢⎣ 2 ⎥⎦ ⎢⎢⎣ h3 1 + t + t3 + t4 ,

⎤ ⎥⎥⎥ ⎥⎥⎥ . ⎥⎦

The transpose polynomial matrix of A turns into ⎤ ⎡ ⎡ a21 (t)  a31 (t) ⎥⎥ ⎢⎢ 1, t3 + t4 + t5 , 1 + t2 a11 (t)  ⎢⎢⎢  ⎥ ⎢ ⎢⎢⎢⎢ 0  a32 (t) ⎥⎥⎥⎥ = ⎢⎢⎢⎢ 0, 1 + t2 + t4 , 1 + t2 a22 (t)  ⎦ ⎣ ⎣ 0 0  a33 (t) 0, 0, 1 + t4

⎞ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟⎟⎟ ⎟ x1 t g1m (t) ⎟⎟⎟⎟⎟ ⎟⎟⎟ g2m (t) ⎟⎟ tg2m (t) ⎟⎟⎟⎟⎟ ⎟⎟⎟ .. ⎟⎟⎟ . ⎟⎟⎟ , x2 t g2m (t) ⎟⎟⎟⎟ ⎟⎟⎟ .. ⎟⎟⎟ . ⎟⎟⎟ ⎟⎟⎟ gmm (t) ⎟⎟ tgmm (t) ⎟⎟⎟⎟ ⎟⎟⎟ .. ⎟⎟⎟ . ⎟⎟⎠ xm t gmm (t) g1m (t) tg1m (t) .. .

where gi = (0, · · · , 0, gii (t), · · · , gim (t)) and xi := li − deg gii (t) − 1 for all 1 ≤ i ≤ m. Since the diagonal components gii (t) all lie in different position, the rows of this matrix are linearly independent. Moreover, the total num  − deg g (t) = k. Therefore, the ber of rows equals m l ii i=1 i matrix (23) provides the generator matrix of GQC code C, which generalizes the representation for quasi-cyclic codes in [17]. 

⎛ ⎜⎜⎜ 0 ⎜⎜⎜⎜ 1 ⎜⎜⎜ ⎜⎜⎜ 1 ⎜⎜⎜ 0 H3 := ⎜⎜⎜⎜ ⎜⎜⎜ 1 ⎜⎜⎜ 0 ⎜⎜⎜ ⎜⎜⎜ 1 ⎝ 1

0 0 1 + t4

⎤ 0, 0 ⎥⎥⎥ ⎥ 1 + t2 , 0 ⎥⎥⎥⎥ . ⎦ 1, 1

There exists a polynomial matrix A = (ai j (t)) satisfying A[hi ] = 0. From (17), we can calculate A inductively:

⎤ ⎥⎥⎥ ⎥⎥⎥ . ⎥⎦

According to Theorem 2, a POT Gr¨obner basis of GQC

code  a ji (t) modulo tli − 1 . C3 can be computed by gi j (t) := tdeg aii (t)  After reduction, we obtain the reduced POT Gr¨obner basis G3 = {g1 , g2 , g3 }: ⎤ ⎡ ⎤ ⎡ ⎢⎢⎢ g1 ⎥⎥⎥ ⎢⎢⎢ 1, 1 + t + t2 , t + t3 ⎥⎥⎥ ⎢⎢⎢⎢ g2 ⎥⎥⎥⎥ = ⎢⎢⎢⎢ 0, 1 + t2 + t4 , 1 + t2 ⎥⎥⎥⎥ . (24) ⎦ ⎣ ⎦ ⎣ g3 0, 0, 1 + t4 To check the correctness of (24), we calculate the generator matrix G3 of C3 by (23): ⎛ ⎞ ⎜⎜⎜ 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 ⎟⎟⎟ ⎜⎜⎜⎜ 0 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 ⎟⎟⎟⎟ ⎜⎜⎜ ⎟ ⎜⎜⎜ 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 1 ⎟⎟⎟⎟⎟ ⎜⎜⎜ 0 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 ⎟⎟⎟ ⎟⎟ . G3 = ⎜⎜⎜⎜ ⎜⎜⎜ 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 ⎟⎟⎟⎟⎟ ⎜⎜⎜ 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 ⎟⎟⎟ ⎜⎜⎜ ⎟⎟ ⎜⎜⎜⎝ 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 ⎟⎟⎟⎟⎠ 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 We observe that G3 × H3T = 0, as required.



Remark 3: It should be noted that Theorem 1 is valid not only for POT and rPOT ordering but also for any ordering. We can here demonstrate Theorem 1 to the term over position (TOP) ordering [12] on (Fq [t])m defined by tl ei >TOP tk e j if l > k, or l = k and i < j. The reduced TOP Gr¨obner basis g 1 , g 2 , g 3 of C3 turns into ⎡ ⎤ ⎡ t + t2 + t3 , 1 + t2 ⎢⎢⎢ g1 ⎥⎥⎥ ⎢⎢⎢ 1 + t, ⎢⎢⎢ g ⎥⎥⎥ = ⎢⎢⎢ 1, 1 + t + t2 , t + t3 ⎢⎣ 2 ⎥⎦ ⎢⎣ g 3 1 + t + t2 , 0, 0   It is easy to check that g i , h j = 0 for all i, j. 5.

⎤ ⎥⎥⎥ ⎥⎥⎥ . ⎥⎦ 

Estimation of Algorithms

In this section, we estimate the computational complexity of two algorithms and compare the one with the other. We represent the numbers of additions, subtractions, multiplications, and divisions in Fq as the coefficients of κ, λ, μ, and ν, respectively. We aim for upper bounds of the numbers of

¨ TAM VAN et al.: COMPUTATION OF GROBNER BASIS FOR SYSTEMATIC ENCODING OF GQC CODES

2355

finite-field operations in two algorithms. First, we describe it with respect to the Gaussian elimination. Although it is well-known that the complexity is O(n3 ), we calculate the order up to constant factor. We can assume that a given (n − k) × n parity check matrix H is transformed into [I|A] with permutation τ = 1 since the permutation costs no finite-field operation. Without loss of generality, we can assume that the (1, 1) component of H is nonzero. Then, dividing the other component of the first row by this value takes (n − 1)ν. Moreover, subtracting the multiple of the (i, 1) component and the first row for 2 ≤ i ≤ n − k takes (n − k − 1)(n − 1)(λ + μ). Summing up these manipulations for n − k columns, we obtain n−1 

{iν + (i − k)i(λ + μ) + (n − i)k(λ + μ)}

i=k+1

where the last term (n − i)k(λ + μ) comes from the back substitution. We ignore the first term iν since it contributes square order 12 (n+k)(n−k−1) of n. Then, we obtain (ν+λ+μ) times ' ( 1 1 (n − k − 1) n − k − (n − k) + k(n − k)2 , 3 2 which is estimated at 13 (n − k)3 + k(n − k)2 . Next, we describe the computational complexity with respect to the Buchberger’s algorithm for a given k × n generator matrix G to obtain a POT Gr¨obner basis. The estimation is similar to the above; now the algorithm is based on polynomial gcd computation. Without loss of generality, we can assume that the (1, l1 ) component of G is not zero. Then, dividing the other component of the first row by this value, and moreover, subtracting the multiple of the (i, l1 ) component and the first row for 2 ≤ i ≤ k takes (n − 1)ν + (k − 1)(n − 1)(λ + μ). The second stage of these manipulations takes (n − 2)ν + k(n − 2)(λ + μ) since the first row has a polynomial whose degree is greater than that of the other rows. Summing up these manipulations for the first orbit, we obtain ⎞ ⎤ l1 −1 ⎡⎛ m   ⎢⎢⎢⎜⎜⎜ ⎟⎟⎟ ⎥⎥ ⎢⎢⎣⎜⎜⎝ j + ⎟ li ⎟⎠ {ν + k(λ + μ)}⎥⎥⎥⎦ − (n − 1)(λ + μ), j=d1

i=2

where we denote di := deg gii (t) and the last term, which is ignored because of less contribution, comes from the special situation stated above at the first row. Furthermore, simplifying this and summing up for all orbits, we obtain (ν+λ+μ) times ⎞ ⎛ m m  ⎟⎟⎟ ⎜⎜⎜ l j − 1 + d j  + (l j − d j )⎜⎜⎝⎜ li ⎟⎟⎠⎟(k − j + 1), (25) 2 j=1 i= j+1 which is bounded by nk2 , since the second bracket ≤ n. It is necessary that we estimate the reducing computation of Gr¨obner basis, which corresponds to the back substitution of polynomial matrix. For POT Gr¨obner basis, we must start from reducing g12 (t) and not gim (t). The length

of g12 (t) is l2 in the worst case, and we have to eliminate l2 −

d2 values.  Thus, the reduction of g12 (t) takes (l2 − d2 ) d2 + m l (λ + μ). Summing up for all gi j (i < j), i i=3 we obtain (λ + μ) times ⎞ ⎛ m m   ⎟⎟⎟ ⎜⎜⎜ ⎜ (l j − d j ) ⎜⎜⎝d j + li ⎟⎟⎟⎠ ( j − 1), (26) j=2

i= j+1

which is bounded by mnk. For the total complexity of Buchberger’s algorithm to obtain the reduced Gr¨obner basis, we must add (26) to (25). Since we can bound (26) by the summation of j from 1, the last bracket of (25) is changed into k. Then, we observe that the total complexity is still nk2 . The final stage of estimation is to calculate the number of operations required for computing the polynomial matrix A from the polynomial matrix (hi j (t)) by (17). It should be noted that the multiplication of two polynomial a(t) and b(t) requires (deg a(t) deg b(t))κ + (1 + deg a(t))(1 + deg b(t))μ operations, and that the division of a(t) by b(t) requires deg b(t)(deg a(t) − deg b(t))(λ + μ) operations. We denote

i := deg hii (t); then we have deg aii (t) = li − i ,

m 

i = k,

i=1

m 

(li − i ) = n − k.

i=1

From (17), we see that the computation of ai j (t) ( j < i) is separated into two steps: iδ= j+1 aiδ (t)hδ j (t) and its division by h j j (t). Since deg aiδ < li − i (t) and deg hδ j (t) < j , the complexity of the first step is bounded by i  

(li − i − 1)( j − 1)κ + (li − i ) j μ



δ= j+1

(27)

+ (i − j − 1)(li − i + j )κ. Since we can check by direct calculation that the coefficient of κ in (27) is bounded by (i− j)(li − i ) j , thus (27) is bounded by (i− j)(li − i ) j (κ+μ). The second step requires (li − i ) j (λ+ μ). Hence, the complexity of computing ai j (t) is bounded by (i − j + 1)(li − i ) j (κ + λ + μ). On the other hand, we see from (17) that the complexity of computing aii (t) is bounded by (li − i ) i (λ + μ), which is viewed as the case of i = j for (i − j + 1)(li − i ) j (λ + μ). Summing up these results, we obtain (κ + λ + μ) times i m  

(i − j + 1)(li − i ) j ≤ mk(n − k).

i=1 j=1

Therefore, the complexity of computing polynomial matrix A is estimated as mk(n − k). Thus, we obtain estimation formulae, 1 (n − k)3 + k(n − k)2 + nk2 Echelon canonical : 3 '1 2 ( form algorithm + R2 n3 , = 3 3 n(n − k)2 + mnk + mk(n − k) Transpose algorithm : = (n − m)(1 − R)2 n2 + mn2 ,

IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2356 Table 1 Behaviour of estimation formulae for each code rate R = k/n, where R ∼ 0 means that R is near to 0. algorithm Echelon Transpose

R = 1/2

High rate R∼1

1 3 n 2

∼ n3

1 3 3 2 n + mn 4 4

∼ mn2

Low rate R∼0 ∼

1 3 n 3

∼ n3

generates m-orbit GQC code C. In [4], Chen et al. have developed a serial-in serial-out hardware architecture to encode information symbols systematically with POT Gr¨obner basis as an application of results in Heegard et al. [12]. The architecture generalizes classical encoder of cyclic codes and consists of division circuits by gii (t) and multiplication circuits with gi j (t) (i < j). We quote the estimation of their hardware complexity from [4]. The total numbers of finite-field adder elements Am and memory elements (shift registers) Dm are given as follows: Am ≤

m 

deg gii (t) +

i=1

m m−1  

(deg gi j (t) + 1)

i=1 j=i+1

≤ (n − k) +

m−1 

(m − i) deg gii (t) ≤ m(n − k),

i=1

Dm ≤

m 

deg gii (t) +

i=1

m m−1   i=1 j=i+1

deg gi j (t) +

m−1 

(δi + 1)

i=1

≤ m(n − k) + k,

Fig. 6

Coefficient of n3 in the estimation formulae.

where R := k/n. We can observe in Table 1 that, for low-rate GQC codes that mean R is near to 0, echelon canonical form algorithm has 13 n3 operations while transpose algorithm has n3 operations, and that in general the computational complexity of transpose algorithm strongly depends on m. For further comparison of two algorithms, we assume n/m = 2, 3, 4 to eliminate m in the estimation formula for transpose algorithm. Since there exist special GQC codes that satisfy m = n − 1, these assumptions are not valid for general GQC codes. Thus, we consider GQC codes that satisfy n/m ≥ 2 and call them effective. This assumption is reasonable since we have n/m ≥ min{l1 , · · · , lm } and we usually treat GQC codes that have li ’s larger than one. Actually, FG codes are effective GQC codes that have further less m than our assumption (cf. Table 2 in the next section). Furthermore, few small li ’s do not affect the effectiveness. An example of this type of effective GQC codes is Hermitian codes over GF(q2 ) that have l1 = · · · = lq = q2 − 1, lq+1 = q − 1, lq+2 = 1, and then, n = q3 and m = q + 2. Figure 6 is the comparison between the coefficients of n3 in the above estimation formulae under the assumption, where the curves near R = 0 and 1 represent limits. Thus, we can conclude that, for the effective high-rate GQC codes, the computational complexity of the transpose algorithm is less than that of the echelon canonical form algorithm. 6.

Estimation of the Circuit

In the previous sections, we have proposed two algorithms to calculate the reduced Gr¨obner basis of the form (7) that

where δi := max (k1 , k2 , · · · , ki−1 , ki + 1) − 2, and ki := li − deg gii (t). Thus, the hardware complexity for GQC codes is nearly proportional to the code length since m is small compared to n. For more practical estimation, we focus on the finite geometry (FG) LDPC codes [16], [18], [25] as an important class of GQC codes. There are two types of FG LDPC codes: type-I and type-II. Type-I FG LDPC codes are defined by the parity check matrix composed of incidence vectors (as rows) of lines and points in finite geometries (Euclidean geometry (EG) and projective geometry (PG)) and are cyclic codes. Type-II FG LDPC codes are defined by the transposed parity check matrix of type-I and are not cyclic but GQC codes. Therefore, we concentrate on type-II FG LDPC codes. We quote the required properties of this type of codes from [29]. We denote n and k as the corresponding values of type-I codes. 1. l1 ≤ l2 = · · · = lm (Actually, it becomes the equality for EG codes.) 2. g11 (t) = · · · = gm−1,m−1 (t) = 1 and deg gmm (t) = n − k 3. (n − k) = (n − k ) < n = lm The last two properties follow easily from the fact that the dual codes of FG LDPC codes are the one-generator GQC codes, which corresponds to the case of l = 1 in [29, Eq. (23)]. Therefore, the reduced POT Gr¨obner basis G = {g1 , · · · , gm } of type-II FG LDPC codes must be in the following form: ⎤ ⎡ g1m (t) ⎥⎥ ⎡ ⎤ ⎢ 1 0 ··· 0 ⎥⎥⎥ ⎢⎢⎢ g1 ⎥⎥⎥ ⎢⎢⎢⎢⎢ .. .. ⎢⎢⎢ g ⎥⎥⎥ ⎢⎢⎢ 0 1 ⎥⎥⎥⎥ . . g (t) 2 2m ⎢⎢⎢⎢ ⎥⎥⎥⎥ ⎢⎢⎢⎢ ⎥⎥⎥⎥ .. .. ⎢⎢⎢ .. ⎥⎥⎥ = ⎢⎢⎢ .. . . ⎥⎥⎥ , . . 0 . ⎢⎢⎢⎢ . ⎥⎥⎥⎥ ⎢⎢⎢⎢ . ⎥⎥⎥⎥ ⎢⎢⎢ gm−1 ⎥⎥⎥ ⎢⎢⎢ .. ⎥⎥ .. ⎣ ⎦ ⎢⎢⎢ . . 1 gm−1,m (t) ⎥⎥⎥⎥ gm ⎦ ⎣ 0 · · · · · · 0 gmm (t)

¨ TAM VAN et al.: COMPUTATION OF GROBNER BASIS FOR SYSTEMATIC ENCODING OF GQC CODES

2357

Fig. 7 Serial-in serial-out architecture for type-II FG (EG and PG) LDPC codes. Input is information {ui, j }, and output is redundant parity bits {um, j }. The control signal is used to switch for feedback shift registers after entering u1,0 , · · · , u1,l1 −1 .

where deg gim (t) < deg gmm (t) = n − k. The information block u is represented as the vector u = (u1 (t), · · · , um (t)), where ⎧ li −1 ⎪ ⎪ ⎪ ui, j (t)t j i = 1, · · · , m − 1, ⎪ ⎪ ⎪ ⎨ j=0 ui (t) = ⎪ lm −1 ⎪ ⎪ ⎪ ⎪ um, j (t)t j i = m. ⎪ ⎩

Table 2 Hardware complexity for several 3-dimensional type-II EG and PG LDPC codes. The first three rows evaluate type-II EG LDPC codes. The others evaluate type-II PG LDPC codes. s 1 2 3 1 2 3

j=n−k

The parity block u = (0, 0, · · · , 0, um (t)), where um (t) = n−k−1 j j=0 um, j (t)t , is the remainder of u with respect to the reduced Gr¨obner basis G. The corresponding codeword is the result of subtracted vector u − u. This is received at the output of architecture in Fig. 7, serial-in) serial-out architecture for FG LDPC codes. The element represents an adder (exclusive-OR element) and the rectangle represents a memory element (a shift register). The two remaining building elements correspond to multiplexer and gate elements. The gate element is a switch control with two status—open and close. The multiplexer element is signal choice control that selects signal either from input or from the feedback of shift registers. Then, the total number Am of adder elements for FG codes satisfies the following inequality: Am ≤ m(n − k) ≤ mlm ≤ 2n. Moreover, the total number Dm of required memory elements satisfies Dm ≤ mlm +

m−1  i=1

li = (m − 1)lm +

m 

li ≤ 2n.

i=1

Thus, we have proved that the hardware complexity of FG LDPC codes is O(n) order. For FG LDPC codes made from 3-dimensional EG and PG over the finite field F2s , where s = 1, 2, 3, we summarize computational results in Table 2. The last two columns of Table 2 are the numbers of adder and memory elements,

n 21 315 4599 35 357 4745

k 15 265 4227 24 296 4344

n−k 6 50 372 11 61 401

m 3 5 9 3 5 9

adder 12 76 1681 16 138 1846

memory 26 328 5769 36 438 6396

respectively. We see that the actual numbers of elements are less than the above estimation. 7.

Conclusions

One contribution of this paper is to provide algorithms of computing Gr¨obner basis for efficient systematic encoder of GQC codes. Our algorithms are applicable to not only binary GQC LDPC codes but also non-binary GQC LDPC codes and linear codes with nontrivial automorphism groups. Although the computation of Gr¨obner basis is required only once at the construction of encoder differently from decoding algorithm, our algorithms are still useful; for example, both algorithms can search effective codes rapidly in the polynomial (third power) order of code-length. For high-rate codes, we have shown that the algorithm applying transpose formula is faster than the echelon canonical form algorithm. It is expected that GQC LDPC codes improve the decoding performance of QC LDPC codes and make it close to that of the random LDPC codes. Another contribution of this paper is to demonstrate that the hardware complexity of the serial-in serial-out systematic encoder is the linear order of code-length for FG codes and FG LDPC codes. By exploiting the structure of GQC codes, we believe that many new and optimum codes are constructed, and our results in systematic encoding might become a key step to practical implementation.

IEICE TRANS. FUNDAMENTALS, VOL.E92–A, NO.9 SEPTEMBER 2009

2358

Acknowledgment This work was partly supported by the Grant-in-Aid for Young Scientists (B, research project 19760269) by the Ministry of Education, Culture, Sports, Science and Technology (MEXT), the Academic Frontier Center by MEXT for “Future Data Storage Materials Research Project,” and a research grant from SRC (Storage Research Consortium).

[21]

[22] [23] [24]

References [25] [1] W.W. Adams and P. Loustaunau, “An introduction to Gr¨obner bases,” American Mathematic Society, Providence RI, 1994. [2] K. Andrews, S. Dolinar, and J. Thorpe, “Encoders for blockcirculant LDPC codes,” Proc. International Symposium on Information Theory and Its Applications, pp.2300–2304, Adelaide, Australia, Sept. 2005. [3] T. Becker and V. Weispfenning, Gr¨obner Bases, Springer Publishers, New York, 1992. [4] J.-P. Chen and C.-C. Lu, “A serial-in serial-out hardware architecture for systematic encoding of Hermitian codes via Gr¨obner bases,” IEEE Trans. Commun., vol.52, no.8, pp.1322–1331, Aug. 2004. [5] D. Cox, J. Little, and D. O’Shea, Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra, 2nd ed., Springer Publishers, New York, 1997. [6] D. Cox, J. Little, and D. O’Shea, Using Algebraic Geometry, 2nd ed., Springer Publishers, New York, 2005. [7] S.Y. Chung, G.D. Forney, T.J. Richardson, and R.L. Urbanke, “On the design of low density parity check codes within 0.0045 dB of the Shannon limit,” IEEE Commun. Lett., vol.5, no.2, pp.58–60, Feb. 2001. [8] J.L. Fan, “Array codes as low density parity check codes,” Proc. 2nd International Symposium on Turbo Codes and Related Topics, pp.543–546, Brest, France, Sept. 2000. [9] M.P.C. Fossorier, “Quasi-cyclic low density parity check codes from circulant permutation matrices,” IEEE Trans. Inf. Theory, vol.50, no.8, pp.1788–1793, Aug. 2004. [10] H. Fujita and K. Sakaniwa, “Some classes of quasi-cyclic LDPC codes: Properties and efficient encoding method,” IEICE Trans. Fundamentals, vol.E88-A, no.12, pp.3627–3635, Dec. 2005. [11] R.G. Gallager, “Low density parity check codes,” IRE Trans. Inf. Theory, vol.IT-8, pp.21–28, Jan. 1962. [12] C. Heegard, J. Little, and K. Saints, “Systematic encoding via Gr¨obner bases for a class of algebraic geometric Goppa codes,” IEEE Trans. Inf. Theory, vol.41, no.6, pp.1752–1761, Nov. 1995. [13] Y. Kaji, “Encoding LDPC codes using the triangular factorization,” IEICE Trans. Fundamentals, vol.E89-A, no.10, pp.2510–2518, Oct. 2006. [14] N. Kamiya and E. Sasaki, “Design and implementation of highrate QC-LDPC codes,” Proc. 2006 SITA, pp.545–548, Hakodate, Hokkaido, Japan, Nov. 2006. [15] M. Kreuzer and L. Robbiano, Computational Commutative Algebra 1, Springer Publishers, Berlin, 2008. [16] Y. Kou, S. Lin, and M.P.C. Fossorier, “Low density parity check codes based on finite geometries: A rediscovery and new results,” IEEE Trans. Inf. Theory, vol.47, no.7, pp.2711–2761, Nov. 2001. [17] K. Lally and P. Fitzpatrick, “Algebraic structure of quasi-cyclic codes,” Discrete Appl. Math., vol.111, pp.157–175, July 2001. [18] S. Lin and D.J. Costello, Error Control Coding: Fundamentals and Applications, 2nd ed., Prentice-Hall, Englewood Cliffs, NJ, 2004. [19] J. Little, K. Saints, and C. Heegard, “On the structure of Hermitian codes,” J. Pure and Applied Algebra, vol.121, pp.293–314, Oct. 1997. [20] J. Little, “Automorphisms and encoding of AG and order domain

[26]

[27]

[28] [29]

[30]

[31]

codes,” to appear in volume from D1 Workshop on Applications of Gr¨obner Bases in Coding Theory and Cryptography, RISC-Linz, 2007. D.J.C. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE Trans. Inf. Theory, vol.45, no.2, pp.399–431, March 1999. S. MacLane and G. Birkhoff, Algebra, 2nd ed., Macmillan Publishing, 1979. F.J. MacWilliams and N.J.A. Sloane, The theory of error correcting codes, 9th ed., North Holland, 1988. T. Maehata and M. Onishi, “A reduced complexity, high throughput LDPC encoder using LU factorization,” Proc. IEICE Gen. Conf. 2008, B-5-157, March 2008. W.W. Peterson and E.J. Weldon, Error Correcting Codes, 2nd ed., MIT Press, Cambridge, MA, 1972. T.J. Richardson, M.A. Shokrollahi, and R.L. Urbanke, “Design of capacity approaching irregular low density parity check codes,” IEEE Trans. Inf. Theory, vol.47, no.2, pp.619–637, Feb. 2001. T.J. Richardson and R.L. Urbanke, “Efficient encoding of low density parity check codes,” IEEE Trans. Inf. Theory, vol.47, no.2, pp.638–656, Feb. 2001. I. Siap and N. Kulhan, “The structure of generalized quasi-cyclic codes,” Appl. Math. E-Notes, vol.5, pp.24–30, March 2005. H. Tang, J. Xu, S. Lin, and K.A.S. Abdel-Ghaffar, “Codes on finite geometries,” IEEE Trans. Inf. Theory, vol.51, no.2, pp.572–596, Feb. 2005. R.M. Tanner, D. Sridhara, and T. Fuja, “A class of group-structured LDPC codes,” Proc. International Symposium on Communication Theory and Applications, pp.365–370, Ambleside, U.K, July 2001. V.T. Van, H. Matsui, and S. Mita “Systematic encoding for finite geometry low density parity check codes based on Gr¨obner bases,” Proc. 2007 SITA, pp.424–429, Kashikojima, Mie, Japan, Nov. 2007.

Vo Tam Van received the B.S. and M.S. degrees from the Department of Information Technology, HCM University of Sciences, Vietnam in 2001, 2005, respectively. From 2002 to 2007, he was a lecturer in the Department of Information Technology, HCM University of Sciences, Vietnam. Now, he is a second-year Ph.D. student in the Department of Electronics and Information Science, Toyota Technological Institute, Japan. His research interests include coding theory, algebraic codes, and LDPC codes.

Hajime Matsui received the B.S. degree in 1994 from the Department of Mathematics, Shizuoka University, Japan, and the M.S. degree in 1996 from the Graduate School of Science and Technology, Niigata University, Japan, and the Ph.D. degree in 1999 from the Graduate School of Mathematics, Nagoya University, Japan. From 1999 to 2002, he was a PostDoctorate Fellow in the Department of Electronics and Information Science, Toyota Technological Institute, Japan. From 2002 to 2006, he was a Research Associate there. Since 2006, he has been working as an Associate Professor there. His research interests include number theory, coding theory, error-correcting codes, and encoding/decoding algorithms. He is a member of SITA and IEEE.

¨ TAM VAN et al.: COMPUTATION OF GROBNER BASIS FOR SYSTEMATIC ENCODING OF GQC CODES

2359

Seiichi Mita received the B.S. degree, the M.S. degree and the Ph.D. degree in electrical engineering from Kyoto University in 1969, 1971, 1989 respectively. He studied at Hitachi Central Research Laboratory, Kokubunji, Japan from 1971 to 1991 on signal processing and coding methods for digital video recording equipment for broadcast use and home use. He moved to Data Storage & Retrieval Systems Division, Hitachi, Ltd. in 1991. He developed channel coding methods and these LSI chips for magnetic disk drives. Now, he is a professor of Toyota Technological Institute in Nagoya. He is a member of the Institute of Image Information and Television Engineers in Japan. He is also a member of IEEE, Magnetic Society. He received the best paper awards of IEEE Consumer Electronics Society in 1986 and the best paper awards of the Institute of Television Engineers in Japan in 1987.

Computation of Gr¨obner Basis for Systematic Encoding ...

Sep 9, 2009 - SUMMARY. Generalized quasi-cyclic (GQC) codes form a wide and useful class of linear codes that includes thoroughly quasi-cyclic codes, fi- nite geometry (FG) low density parity check (LDPC) codes, and Hermitian codes. Although it is known that the systematic encoding of GQC codes is equivalent to ...

428KB Sizes 0 Downloads 33 Views

Recommend Documents

Systematic encoding and decoding of chain reaction codes
Nov 17, 2011 - 690-697 (Oct. 1998). Paris, et al., “Ef?cient broadcasting protocols for video on demand”,. International Symposium on Modeling, Analysis and Simulation of. Computer and Telecommunication systems (MASCOTS), vol. 6, pp. 127-132 (Jul

Systematic encoding and decoding of chain reaction codes
Nov 17, 2011 - Frojdh, et al., “File format sub-track selection and switching,” ISO/. IEC JTC1/SC29/WG11 MPEG2009 M16665, London UK., Jul. 2009, 14 pp. Gao, L. et al.: “Ef?cient Schemes for Broadcasting Popular Videos,”. Proc. Inter. Workshop

Narrow Bus Encoding for Low Power Systems
Abstract. High integration in integrated circuits often leads to the prob- lem of running out of pins. Narrow data buses can be used to alleviate this problem at the cost of performance degradation due to wait cycles. In this paper, we address bus co

Simultaneous Encoding of Potential Grasping ... - Semantic Scholar
stand how the brain selects one move- ment plan when many others could also accomplish the same result. ... ther a precision or a power grasp. When handle orientation and grip type informa- tion were concurrently ... rons encoding power or precision

Computation of Time
May 1, 2017 - a Saturday, a Sunday, or a legal holiday as defined in T.C.A. § 15-1-101, or, when the act to be done is the filing of a paper, a day on which the ...

Geometric Encoding
troid and approximate length of the space is a. 85 summary parameter derived from the boundaries. 86. Thus, global geometric coding with respect to the. 87 principal axis would involve encoding the correct. 88 location during training as the location

A Framework for Systematic Specification and E cient Verification of ...
then a description of an abstract level (such as the assembly language level), while its .... In section 6 we give veri cation benchmarks, and we last conclude.

Overview of adiabatic quantum computation
•Design a Hamiltonian whose ground state encodes the solution of an optimization problem. •Prepare the known ground state of a simple Hamiltonian.

Theoretical Foundations of Evolutionary Computation
Per Kristian Lehre, University of Birmingham, UK. [email protected]. Frank Neumann, Max Planck Institute for Informatics, Germany. [email protected]. Jonathan E. Rowe, University of Birmingham, UK. [email protected]. Xin Yao, University o

Efficient Computation of Happens-Before Relation for Event-Driven ...
focus on Android applications whose HB relation is well studied in literature [2, 8, 17]. ... chain decomposition [10], wherein all events corresponding to a chain of ...

Sparse spatial sampling for the computation of motion ... - Springer Link
Jan 10, 2006 - Abstract The avian retino-tecto-rotundal pathway plays a central role in motion analysis and features complex con- nectivity. Yet, the relation between the pathway's structural arrangement and motion computation has remained elusive. F

Encoding of variability of landmark-based spatial ... - Springer Link
Feb 24, 2010 - Abstract Recent evidence suggests humans optimally weight visual and haptic information (i.e., in inverse pro- portion to their variances). A more recent proposal is that spatial information (i.e., distance and direction) may also adhe

Appointed on retainer ship basis for preparation of Annual Accounts ...
Appointed on retainer ship basis for preparation of An ... and other related Financial Statements for KSSIDC.pdf. Appointed on retainer ship basis for preparation ...

Application for the post of ______(on deputation basis) at AIIMS ...
Annexure-I. Cont.....-2-. Application for the post of ... your signature if the space below is insufficient. Office/Inst./ ... (e)University. 12. Are you in revised scale of ...

Evolution in Materio: Exploiting the Physics of Materials for Computation
Nov 17, 2006 - computation is taking place only between nearest neighbors. There is no global ... a computing machine an infinite number of logical .... A. Introduction ...... [31] M. Sipper, Evolution of Parallel Cellular Machines, The Cellular.

pdf file encoding
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. pdf file encoding.

Phonics Encoding Decoding.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Phonics ...

pdf change encoding
Loading… Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. pdf change encoding. pdf chan

Traceable Data Types for Self-Adjusting Computation - University of ...
Jun 5, 2010 - ... and Standard ML [19]. To achieve automatic and correct updates under data modifica- ..... ment of values from the discrete type τ to each equivalence class. Formally, the ..... A halt action isn't subject to any repair. Any action.