Generalized quasi-cyclic low-density parity-check codes based on finite geometries Vo Tam Van, Hajime Matsui, Seiichi Mita Dept. Electronics and Information Science Toyota Technological Institute 2–12–1 Hisakata, Tenpaku, Nagoya, 468–8511, Japan Email: {sd07501,hmatsui,smita}@toyota-ti.ac.jp Abstract—In this study, we proved that several promising classes of codes based on finite geometries cannot be classified as quasi-cyclic (QC) codes but should be included in broader generalized quasi-cyclic (GQC) codes. Further, we proposed an algorithm (transpose algorithm) for the computation of the Gr¨obner bases from the parity check matrices of GQC codes. Because of the GQC structure of such codes, they can be encoded systematically using Gr¨obner bases and their encoder can be implemented using simple feedback-shift registers. In order to demonstrate the efficiency of our encoder, we proved that the number of circuit elements in the encoder architecture is proportional to the code length for finite geometry (FG) LDPC codes. For codes constructed using points and lines of finite geometries, the hardware complexity of the serial-in serial-out encoder architecture of the codes is linear order O(n). To encode a binary codeword of length n, less than 2n adder and 3n memory elements are required. Index Terms—automorphism group, Buchberger’s algorithm, generalized quasi-cyclic (GQC) codes, circulant matrix, finite geometry low-density parity-check (LDPC) codes.

I. I NTRODUCTION Low-density parity-check (LDPC) codes were first discovered by Gallager [3] in 1962 and were rediscovered and generalized by MacKay [10] in 1999. The methods for constructing LDPC codes can be classified as random and algebraic construction methods. The performance of irregular LDPC codes with code lengths longer than 107 bits constructed by random construction methods [10] has been observed to be close to the Shannon limit. However, the encoding of these LDPC codes is quite complex because the code structure is not cyclic or quasi-cyclic. For several classes of QC LDPC codes, Li et al. [11] proposed efficient methods for determining a generator matrix in a block circulant form from a given block circulant parity check matrix. For GQC codes, Heegard et al. [4] showed that systematic encoding was equivalent to the division algorithm of Gr¨obner bases, which generalize the generator polynomials in cyclic codes. On the basis of the results reported by Heegard et al., Chen et al. [2] constructed a serial-in serial-out encoder architecture. Thus, the encoding problem for GQC codes was changed to that of the computation of Gr¨obner bases. For the computation of Gr¨obner bases for encoding GQC codes, Little [8] provided an algorithm for Hermitian codes, and Lally et al. [6] provided an algorithm for QC codes. However, there exists no algorithm that can be used for all GQC codes.

978-1-4244-4983-5/09/$25.00 © 2009 IEEE

Our objective is to develop algorithms for the computation of the Gr¨obner bases for all GQC codes. The special case for which our formula is applicable was identified by Lally et al. [6] for QC codes. In order to apply this formula to the case of GQC codes, we developed a formula with a completely different proof from that of the formula developed by Lally et al.. Our proposed algorithm is based on a novel formula that produces Gr¨obner basis from that of dual codes. Then, we proved that several promising classes of codes based on finite geometries [13] are GQC codes. Another example of GQC codes is the class of algebraic geometry codes with automorphism groups [4], including Hermitian codes [8]. It should be noted that GQC codes include two remarkable classes of Hermitian codes and finite geometry (FG) codes besides QC codes. Thus, GQC codes form the vastest algebraic class of linear codes with compact encoder architecture. Therefore, we can choose more appropriate and high-performance codes from among GQC codes than from among QC codes. Further, for codes constructed using points and lines of finite geometries, the hardware complexity of the serial-in serial-out encoder architecture of the codes is linear order O(n). To encode a binary codeword of length n, less than 2n adder and 3n memory elements are required. This paper is organized as follows. Section 2 provides the definition of GQC codes and the Gr¨obner basis techniques. Section 3 presents the GQC LDPC codes based on finite geometries. Section 4 presents the transpose algorithm for the computation of the Gr¨obner bases of all GQC codes. In section 5, we prove the linearity of the circuit scale of the encoder architecture for FG-LDPC codes. Finally, this paper is concluded in section 6. II. P RELIMINARIES This section provides a brief review of GQC codes; further details can be found in [12],[14]. In addition, we review the Gr¨obner bases of modules over polynomial rings; the complete theory of Gr¨obner basis is referred to [1]. A. Generalized quasi-cyclic (GQC) codes Consider a linear code C ⊂ Fqn of length n, where q is a prime power and Fq is a finite field of q elements. Let S be the set of locations (i.e., coordinate positions) of codewords in C: C 3 c = (cs ), s ∈ S. Without loss of generality, we set

158

S = {1, 2, · · · , n}. Then, supposing there is a decomposition of S into m disjoint orbits as follows: S=

m [

Oi ,

|S| = n =

i=1

m X

li ,

li := |Oi |,

(1)

i=1

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

(2)

where ci is a shortened codeword obtained by removing components outside Oi . Consider simultaneous local cyclic shifts σ of each ci satisfying σ(c) := (σ(c1 ), · · · , σ(cm )), σ(ci ) := (ci,li −1 , ci,0 , · · · , ci,li −2 ) for ci = (ci,0 , ci,1 , · · · , ci,li −1 ).

(3)

Definition 1: If m < n and σ(c) ∈ C for all c ∈ C, then we call a pair of C and σ a generalized quasi-cyclic code (GQC code). 2 Note that, we deals with all GQC codes; Siap et al. [12] mainly focused on one-generator GQC codes. If l1 = l2 = · · · = lm , C is a QC code. Moreover, if m = 1, the code is cyclic. In order to increase the randomness of the codes, the combination of various circulant matrices to generate new GQC codes should be possible [14]. B. Gr¨obner basis of GQC codes Let C be a GQC code with a permutation σ. Under the action of hσi, we can decompose c ∈ C into m shortened codewords as described in (2). Pick ci and label it as ci = (ci,j ) where j = 0, · · · , li − 1 with li := |Oi |. Then, a codeword in C can be represented as an m-tuple of polynomials in Fq [t]: c = (c1 (t), c2 (t), · · · , cm (t)), where ci (t) =

liP −1

j

ci,j t . Thus, C is regarded as a linear ¡ ¢´ Lm ³ subspace of M , where M := i=1 Fq [t]/ tli − 1 . As in [14], C is closed under the multiplication by t and C is considered as an Fq [t]-submodule of M . Therefore, if we consider the following natural map: π : Fq [t]m → M , then to each code C, we can associate the corresponding submodule C := π −1 (C) of the free module Fq [t]m . Let ei be the i-th standard basis vector in the Fq [t]-module Fq [t]m . The position over term (POT) ordering [1] on Fq [t]m is defined as tl ei >POT tk ej if i < j or if i = j and l > k. Then, e1 >POT e2 >POT · · · >POT em . Similarly, the reverse POT (rPOT) ordering [1] is defined as tl ei >rPOT tk ej if i > j or if i = j and l > k. Then, e1

j=0

= (g11 (t), g12 (t), · · · , g1m (t)), = (0, g22 (t), · · · , g2m (t)), .. .. .. .. . . . . = (0, ··· , 0, gmm (t))

III. GQC AND FINITE GEOMETRY LDPC CODES Let q be a power of p where p is a prime number, say q := ps . Consider the finite field Fqm over Fq as a realization of the m-dimensional Euclidean geometry EG(m, q). Let α be a primitive element of Fqm . Then, q m points of EG(m, q) can be represented by the elements of Fqm as follows: 0 = α−∞ , 1 = α0 , α1 , · · · , αn0 −1 , where n0 := q m − 1 and 0 represents the origin of the geometry. For 0 ≤ µ < m, the µ-flat F in EG(m, q) consists of q µ points of the form µ P α l0 + βt αlt , where αl0 , αl1 , · · · , αlµ are µ + 1 Fq -linearly t=1

independent elements in Fqm and βt ∈ Fq . If l0 = −∞, then F passes through the origin point. It has been shown [7][13] that there are NEG (m, µ, q) µ-flats in EG(m, q) and AEG (m, µ, q) µ-flats containing the origin of the geometry, where NEG (m, µ, q)

= q

m−µ

µ Y q m−i+1 − 1 i=1

AEG (m, µ, q)

=

q µ−i+1 − 1

µ Y q m−i+1 − 1 i=1

q µ−i+1 − 1

,

.

(6)

Note that for 1 ≤ i < n0 , the elements αl0 +i , αl1 +i , · · · , αlµ +i are also linearly independent even if l0 = −∞. Hence, they span another µ-flat, denoted by αi F. For i = 1, αF is referred to as the right cyclic shift of F. Moreover, it is clear that α0 F = αn0 F = F. An m-dimensional projective geometry P G(m, q) also consists of points and flats. Let Fqm+1 be the finite field over Fq and α be a primitive element of Fqm+1 . Let n0 =

q m+1 − 1 q−1

and β = αn0 .

Then, β is a primitive element of Fq . The nonzero elements in Fqm+1 can be expressed as powers of α and used to represent the points in P G(m, q). Note that a projective geometry does not have an origin. Two elements αi and αj represent the same point if and only if αi = ηαj for some nonzero element η ∈ F∗q . Let (αi ) denote the point represented by αi . Let (αl0 ), (αl1 ), · · · , (αlµ ) be µ + 1 linearly independent µ µ points. ¶ P lt Then, a µ-flat F consists of the points in the form ηt α t=0

where ηt ∈ Fq and not simultaneously zero. The total number of µ-flats is NP G (m, µ, q), where NP G (m, µ, q) =

µ Y q m−i+1 − 1 i=0

q µ−i+1 − 1

.

(7)

As in the case of EG(m, q), it can be easily shown that (αl0 +i ), (αl1 +i ), · · · , (αlµ +i ) are also linearly independent for µ µ ¶ P lt +i all 1 ≤ i < n0 . Hence, points of the form ηt α t=0

(4)

(5)

constitute another µ-flat, denoted by αi F. Moreover, as in the case of EG(m, q), α0 F = αn0 F = F. We use F G(m, q) to denote either EG(m, q) or P G(m, q). Let δ be the smallest positive integer such that αδ F = F.

159

Then, δ is called the cycle span of F. If δ = n0 , F is referred to as primitive. Proposition 1: Let δ be the cycle span of a µ-flat F in F G(m, q) then, δ | n0 . 2 Let F be a µ-flat in F G(m, q) and δ the cycle span of F; then, F, αF, · · · , αδ−1 F are distinct µ-flats. Therefore, all the µ-flats in F G(m, q) can be partitioned into the following f disjoint cyclic classes: © 0 ª (F1 ) = α F1 = F1 , α1 F1 , · · · , αδ1 −1 F1 © 0 ª (F2 ) = α F2 = F2 , α1 F2 , · · · , αδ2 −1 F2 .. . © 0 ª (Ff ) = α Ff = Ff , α1 Ff , · · · , αδf −1 Ff , where δi is the cycle span of Fi , and Fi is an arbitrary µflat in the i-th cyclic class and used as a representative of the class. For 0 ≤ µ1 < µ2 ≤ m, let n = NF G (m, µ1 , q) and J = NF G (m, µ2 , q) be the number of µ1 -flats and µ2 -flats in F G(m, q), respectively. Suppose all the µ2 -flats and µ1 flats can be partitioned into f and l disjoint cyclic classes, denoted by (F1 ), (F2 ), · · · , (Ff ) and (L1 ), (L2 ), · · · , (Ll ), respectively. Let F be a µ2 -flat in F G(m, q). An n-tuple over the finite field F2 whose n components correspond to the n µ1 -flats in F G(m, q) can be defined as vF = (v1 , v2 , · · · , vn ), where vi = 1 if and only if the i-th µ1 -flat of F G(m, q) is contained in the µ2 -flat F, and vi = 0 otherwise. This ntuple is called the incidence vector of the µ2 -flats over the µ1 -flats in F G(m, q). This vector simply displays the µ1 -flats of F G(m, q) contained in the µ2 -flat F. The construction of a matrix H whose row vectors are all the incidence vectors of µ2 -flats over µ1 -flats in F G(m, q) (refer to Appendix A in [13]) is discussed below. By constructing all the matrices Hij for each pair of (Fi ) and (Lj ) with 1 ≤ i ≤ f and 1 ≤ j ≤ l, H can be expresses as follows: H1 H11 H12 · · · H1,l H2 H22 · · · H2,l H21 . (8) H= . = ··· ··· ··· ··· .. Hf,1 Hf,2 · · · Hf,l Hf It is obvious that if Fi contains αw Lj for all 0 ≤ w < n0 − 1, then αFi must contain αw+1 Lj . This implies that the incidence vector of αFi is a right cyclic shift of the incidence vector of Fi , over the µ1 -flats in (Lj ). Let δFi , δLj be the cycle span of (Fi ) and (Lj ), respec0 0 0 0 tively. Let Hi = [Hi,1 Hi,2 · · · Hi,l ] be an n0 × n equivalent matrix obtained from Hi by duplicating the matrix Hi n0 /δFi times. From Proposition 1, δFi |n0 and δLj |n0 are obtained for 0 all 1 ≤ i ≤ f and 1 ≤ j ≤ l. Therefore Hi,j is composed of n0 /δLj circulant matrices of size δLj × δLj . Let CHi be the code generated by the null space of Hi . It 0 follows from the structure of Hi that CHi is a GQC code. Hence, CH generated by the null space of H is a GQC code. If µ1 = 0, CH reduces to a cyclic code. Another special case is that all µ1 -flats are primitive; for example, µ1 = 1, m is

even, and CH is constructed on the base of P G(m, q) [13]. Then CH reduces to a QC code. It is clear that the null space of H T also generates a GQC code. 2 IV. P ROPOSED ALGORITHM Assume that H is the rPOT Gr¨obner basis of an m-orbit GQC code C ⊥ . Since H is a basis of C ⊥ , there exists an m × m polynomial matrix A = (aij ) satisfying t l1 − 1 0 ··· 0 h1 .. .. h2 . 0 t l2 − 1 . . A . = .. .. .. .. . . . 0 lm hm 0 ··· 0 t −1 It can be seen that A = (aij ) is a lower triangular matrix similar to (hij ), i.e., aij = 0 if i < j. If C ⊥ (or C) is a QC code, then A(hij ) = (hij )A according to [6]. However, this commutativity does not hold in general. We can calculate aij recursively as follows: 0 if j > i, li t −1 if j = i, hii aij := (9) i X −1 aiδ hδj if j < i. h jj δ=j+1

It should be noted that if H is the reduced rPOT Gr¨obner basis, then A = (aij ) has the following property: deg aij < deg aii for all i > j. This can be proved by induction on j. The first step deg ai,i−1 < deg aii follows from ai,i−1 hi−1,i−1 + aii hi,i−1 = 0 from the last condition in (9). Suppose the induction hypothesis deg aiδ < deg aii for j + 1 ≤ δ < i. From (9), we obtain i X deg aij = deg aiδ hδj − deg hjj δ=j+1

≤ max {deg aiδ + deg hδj − deg hjj } < deg aii , j<δ≤i

which proves the above mentioned statement. Hereafter, we assume that H is the reduced rPOT Gr¨obner basis. The transpose polynomial matrix of A can be expressed as b a11 b a21 · · · b am1 b1 0 b b2 a22 · · · b am2 =: (10) .. .. , . .. .. .. . . . . 0

···

0

b amm

bm ¢ where ¡ b aij is¢ calculated in Fq [t]/ tli − 1 , and not in Fq [t]/ tlj − 1 . Since aij is the j-th component of a polynomial row aij ¡ l vector, ¢ it might seem natural to calculate b j in F [t]/ t − 1 . Nevertheless, we consider b a modulo ij ¡l q ¢ t i − 1 , which is justified by the condition deg aij < deg aii ≤ li and is a characteristic of GQC codes that can not appear in the case of QC codes.

160

¡

The scalar product of hi and bj is defined as ¡ ¢ X hik akj hhi , bj i := tβij − 1 , t lk − 1

(11)

j≤k≤i

where βij := lcm(lj , · · · , li ) and 1 ≤ j ≤ i ≤ m. Since b b a = a, deg (hik akj ) ≤ deg (hkk ) + deg (akk ) = lk ; then, the degree of (11) is less than or equal to βij . The latter half of the following theorem provides the objective formula for calculating the POT Gr¨obner basis. Theorem 1: Polynomial vectors (10) satisfy ½ l t i − 1 1 ≤ i = j ≤ m, hhi , bj i = (12) 0 1 ≤ i 6= j ≤ m. Moreover, G = {g1 , · · · , gm }, where gij := tdeg aii bij

¡ ¢ mod tli − 1 ,

(13)

determines a POT Gr¨obner basis of the GQC code C (usually not reduced). Proof: The proof has been omitted due to space limit. 2 From Theorem 1, we obtain the algorithm for computing the Gr¨obner basis G of the m-orbit GQC code C from the parity-check matrix as follows. 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 from the matrix H by using Buchberger’s algorithm. Step 2. Calculate A = (aij ) by using (9). Step 3. Obtain G = {g1 , · · · , gm }, where ½ 0 if i > j, gi = (gij )1≤j≤m , gij := tdeg(aii ) b aji if i ≤ j. 2 Example 1: We demonstrate the transpose algorithm. Let C3 be a binary GQC code with l1 = 6, l2 = 6, and l3 = 4 as follows: 0 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 H3 := 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 . 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 1 We calculate the reduced rPOT Gr¨obner basis H3 = {h1 , h2 , h3 } of the dual code C3⊥ by using Buchberger’s algorithm: h1 1 + t6 , 0, 0 h2 = t + t2 + t4 + t5 , 1 + t2 , 0 . h3 1 + t + t3 + t4 , 1, 1 There exists a polynomial matrix A = (aij ) satisfying A[hi ] = 0. From (9), A can be calculated inductively: 1, 0, 0 . 0 A = t + t2 + t3 , 1 + t2 + t4 , 1 + t2 , 1 + t2 , 1 + t4

The transpose polynomial matrix of A can be b a11 , b a21 , b a31 1, t3 + t4 + t5 , 0, b a22 , b a32 = 0, 1 + t2 + t4 , 0, 0, b a33 0, 0,

expressed as 1 + t2 1 + t2 . 1 + t4

According to Theorem 1, the POT Gr¨obner basis of the GQC ¡code C¢3 can be computed from gij := tdeg aii b aji mod tli − 1 . 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 . g3 0, 0, 1 + t4 2 V. E FFECTIVE ENCODER IMPLEMENTATION A. Serial-in serial-out architecture In the previous sections, we have proposed the algorithm for the calculation of the Gr¨obner basis G that generates a κ-orbit GQC code C (m is replaced by κ for latter use). Chen et al. [2] have developed a serial-in serial-out hardware architecture to encode the information symbols systematically with the POT Gr¨obner basis, as an application of the results obtained by Heegard et al. [4]. The architecture generalizes the classical encoder of cyclic codes and involves the division circuits by gii (t) and multiplication circuits with gij (t) (i < j). We describe the method for the estimation of hardware complexity from equations (17) and (18) in [2]. The total numbers of finite-field adder elements Aκ and memory elements (shift registers) Dκ are given by Aκ ≤

κ X

deg gii +

i=1

κ X i=1

κ X

(deg gij + 1)

i=1 j=i+1

≤ (n − k) + Dκ ≤

κ−1 X

κ−1 X

(κ − i) deg gii ≤ κ(n − k),

i=1 κ−1 X

deg gii +

κ X

deg gij +

i=1 j=i+1

κ−1 X

(γi + 1)

i=1

≤ κ(n − k) + k, where γi := max (k1 − 2, k2 − 2, · · · , ki−1 − 2, ki − 1), and ki := li − deg gii . We can conclude that the hardware complexity for GQC codes is nearly proportional to the code length since the number of orbits κ is small compared to n. B. Hardware complexity of FG-LDPC codes To demonstrate the efficiency of our encoder, we investigated the FG-LDPC codes constructed using points and lines of finite geometries. Further, we investigated the Euclidean geometry EG(m, q) and projective geometry P G(m, q) for all m ≥ 2. Let n = NEG (m, 0, q) = q m and J = NEG (m, 1, q) = q m−1 (q m − 1)/(q − 1) be the number of 0-flats (points) and 1-flats (lines) in EG(m, q), respectively. There are (n − 1) points that do not pass through the origin of the geometry. Hence, n points in EG(m, q) can be divided into two cyclic

161

classes of sizes l1 = 1 and l2 = n−1. Similarly, the incidence vector of all lines in EG(m, q) that do not contain the origin can be partitioned into K1 = (q m−1 −1)/(q−1) cyclic classes of size (n − 1) [5][13]. The other incidence vector of the remaining lines that pass through the origin can be placed into one cyclic class of size (n − 1)/(q − 1). Therefore, J lines in EG(m, q) can be divided into K1 + 1 cyclic classes of sizes l1 = (n − 1)/(q − 1) and l2 = · · · = lK1 +1 = n − 1. Let 1 HEG(m,q) be a J × n parity-check matrix constructed using n points and J lines in EG(m, q). A GQC code, denoted 1 by CEG(m,q) and called a type-I GQC EG-LDPC code, can 1 be obtained from the null space of HEG(m,q) . It is clear that 1 CEG(m,q) has two orbits of sizes l1 = 1 and l2 = n − 1. Therefore, Aκ and Dκ of type-I EG-LDPC codes satisfy the following inequalities: Aκ ≤ 2(n − k) ≤ 2n

and

Dκ ≤ 2n + n = 3n.

(14)

1 2 2 is a matrix Let HEG(m,q) = [HEG(m,q) ]T . Then, HEG(m,q) with n rows and J columns. A GQC code, denoted by 2 CEG(m,q) and called a type-II GQC EG-LDPC code, can be 2 obtained from the null space of HEG(m,q) . It is known that the parity symbols of the type-I FG-LDPC code are equivalent to the parity symbols of type-II FG-LDPC code. Therefore, if we denote n0 and k 0 as the corresponding code length and information symbols of type-II EG(m, q) codes, then n0 = J and (n0 − k 0 ) = (n − k) < n. Further, it is clear that 2 CEG(m,q) has K1 + 1 orbits of sizes l1 = (n − 1)/(q − 1) and l2 = · · · = lK1 +1 = (n − 1). Therefore, Aκ and Dκ of type-II EG-LDPC codes satisfy the following inequalities:

Aκ ≤ (K1 + 1)n ≤ 2J

and Dκ ≤ 2J + J = 3J.

(15)

Similarly, type-I PG-LDPC codes are defined as follows. Let n = (q m+1 − 1)/(q − 1) and J = n(q m − 1)/(q 2 − 1) be the number of points and lines in P G(m, q), respectively. There is no origin in projective geometry. Hence, the n points in P G(m, q) can be divided into one cyclic classes of size l1 = n. If m is even, the incidence vector of each line in P G(m, q) can be partitioned into K2 := (q m − 1)/(q 2 − 1) cyclic classes of the same size l1 = l2 = · · · = lK2 = n (QC codes) [13]. For an odd m ≥ 3, the incidence vector of each line in P G(m, q) can be partitioned into one cyclic class of size l1 = n/(q + 1) and K3 := q(q m−1 − 1)/(q 2 − 1) cyclic classes of the same size l2 = · · · = lK3 +1 = n. Let HP1 G(m,q) be a J × n parity-check matrix constructed using n points and J lines in P G(m, q). A GQC code, denoted by CP1 G(m,q) and called type-I GQC PG-LDPC code, can be obtained from the null space of HP1 G(m,q) . It is clear that CP1 G(m,q) has only one orbit of size l1 = n. Hence, Aκ and Dκ of type-I PG-LDPC codes satisfy the following inequalities: Aκ ≤ 1(n − k) ≤ n

and

Dκ ≤ n + n = 2n.

(16)

Let HP2 G(m,q) = [HP1 G(m,q) ]T . Then, HP2 G(m,q) is a matrix with n rows and J columns. A GQC code, denoted by CP2 G(m,q) and called type-II GQC PG-LDPC code, can be obtained from the null space of HP2 G(m,q) . As in the case

of EG(m, q) codes, n0 and k 0 denote the corresponding code length and information symbols of type-II P G(m, q) codes; then n0 = J and (n0 − k 0 ) = (n − k) < n. It is clear when m is even, CP2 G(m,q) has K2 orbits; when m is odd, it has K3 + 1 orbits. Therefore, Aκ and Dκ of type-II PG-LDPC codes satisfy the following inequalities: Aκ Dκ

≤ ≤

max{K2 n, (K3 + 1)n} ≤ 2J, 2J + J = 3J.

(17)

Note that when m is even, the codes are QC PG-LDPC codes and Aκ is strictly bounded by n for both type-I and type-II PG-LDPC codes. From equation (14), (15), (16), and (17), we conclude that the hardware complexity of FG-LDPC codes constructed using points and lines is O(n). 2 VI. C ONCLUSION In this study, we proved that LDPC codes based on finite geometries (EG and PG) are GQC codes. Further, we presented the transpose algorithm for the computation of Gr¨obner bases for constructing an efficient systematic encoder. We also demonstrated that the hardware complexity of the serial-inserial-out systematic encoder is the linear order of code-length for FG-LDPC codes. We believe that many new optimum codes can be constructed by manipulating the GQC structure of FG-LDPC codes and that our bindings on systematic encoding might be a key step toward the practical implementation of such codes. R EFERENCES [1] W.W. Adams, P. Loustaunau, “An introduction to Gr¨obner bases,” Graduate Studies in Mathematics 3, American Mathematical Society, Providence, RI, 1994. [2] J.-P. Chen, C.-C. Lu, “A serial-in serial-out hardware architecture for systematic encoding of Hermitian codes via Gr¨obner bases,” IEEE Trans. on Comm., vol.52, no.8, pp.1322-1331, Aug. 2004. [3] R. G. Gallager, “Low density parity check codes,” IRE Trans. Inf. Theory, vol.IT-8, pp.21-28, Jan. 1962. [4] C. Heegard, J. Little, 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. [5] Y. Kou, S. Lin, 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. [6] K. Lally, P. Fitzpatrick, “Algebraic structure of quasi-cyclic codes,” Discrete Applied Mathematics, 111, pp.157-175, Jul. 2001. [7] S. Lin, D.J. Costello, “Error Control Coding: Fundamentals and Applications,” 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 2004. [8] J. Little, K. Saints, C. Heegard, “On the structure of Hermitian codes,” Journal of Pure and Applied Algebra 121, pp.293-314, Oct. 1997. [9] J. Little, “Automorphisms and encoding of AG and order domain codes,” to appear in the proceeding of the D1 Workshop on applications of Gr¨obner bases in coding theory and cryptography, RISC-Linz, 2007. [10] D.J.C. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE Trans. Inf. Theory, vol.IT-45, no.2, pp.399-431, Mar. 1999. [11] Z. Li, L. Chen, L. Zeng, S. Lin, W.H. Fong “Efficient encoding of quasicyclic low density parity check codes,” IEEE Trans. Comm., vol.54, no.1, pp.71-81, Jan. 2006. [12] I. Siap, N. Kulhan, “The structure of generalized quasi-cyclic codes,” Applied Mathematics E-Notes, vol.5, pp.24-30, Mar. 2005. [13] H. Tang, J. Xu, S. Lin, K. Abdel-Ghaffar, “Codes on finite geometries,” IEEE Trans. Inf. Theory, vol. 51, no. 2, pp. 572-596, Feb. 2005. [14] V.T. Van, H. Matsui, S. Mita “Computation of Gr¨obner basis for systematic encoding of generalized quasi-cyclic codes,” arXiv: cs/0811.4033, 2008.

162