27
Quasi-cyclic codes Jay A. Wood Department of Mathematics Western Michigan University http://homepages.wmich.edu/jwood/ Algebra for Secure and Reliable Communications Modeling Morelia, Michoac´ an, Mexico October 12, 2012

Quasi-cyclic codes - Homepages Wmich - Western Michigan

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Quasi-cyclic codes

Jay A. Wood

Department of MathematicsWestern Michigan University

http://homepages.wmich.edu/∼jwood/

Algebra for Secure and Reliable CommunicationsModeling

Morelia, Michoacan, MexicoOctober 12, 2012

Introduction

I This will be an elementary introduction to cyclicand quasi-cyclic codes from the point of view of ringtheory.

I At least I hope so!

JW (WMU) Quasi-cyclic codes October 12, 2012 2 / 27

Cyclic codes

I Let A be an alphabet.

I The shift operator on An is the map T : An → An

given by

(a0, a1, . . . , an−2, an−1) 7→ (an−1, a0, a1, . . . , an−2).

I A linear code C ⊂ An is a cyclic code if T (C ) ⊂ C .That is, the shift of any codeword is again acodeword.

JW (WMU) Quasi-cyclic codes October 12, 2012 3 / 27

Examples

I A = F2, n = 7

I Let C be the code spanned by the row vectors:

101110001011100010111

I T of row 1 is row 2; T of row 2 is row 3. T of row 3is the sum of rows 1 and 3. Use linearity in general.

JW (WMU) Quasi-cyclic codes October 12, 2012 4 / 27

Viewing codewords as polynomials

I Suppose the alphabet is a finite commutative ringR .

I View a codeword as a polynomial:

(a0, a1, . . . , an−2, an−1)l

a0 + a1x + a2x2 + · · ·+ an−1x

n−1

JW (WMU) Quasi-cyclic codes October 12, 2012 5 / 27

Shift as multiplication by x

I In the 1950s, Prange observed: if we consider thepolynomials modulo xn − 1, then the shift operatorcorresponds to multiplication by x .

x(a0 + a1x + a2x2 + · · ·+ an−1x

n−1)= a0x + a1x

2 + · · ·+ an−2xn−1 + an−1x

n

≡ an−1 + a0x + a1x2 + · · ·+ an−2x

n−1 mod (xn − 1)l

(an−1, a0, a1, . . . , an−2)

JW (WMU) Quasi-cyclic codes October 12, 2012 6 / 27

Cyclic codes as ideals

I This establishes an isomorphism

Rn ∼= R[x ]/(xn − 1)

as (free) R-modules such that the shift operator Tcorresponds to multiplication by x in the ringstructure of R[x ]/(xn − 1).

I Linear cyclic codes in Rn correspond to ideals inR[x ]/(xn − 1).

JW (WMU) Quasi-cyclic codes October 12, 2012 7 / 27

Structure of R [x ]/(xn − 1)

I For R a finite commutative ring, about all we cansay about R[x ]/(xn − 1) is that it too is a finitecommutative ring, of order |R |n.

I Every finite commutative ring splits (as rings) as thedirect sum of local rings.

I If R[x ]/(xn − 1) ∼= ⊕Ri , with Ri local, then theideals of R[x ]/(xn − 1) are direct sums of ideals ofthe Ri .

I Structure of ideals of local rings is worth studying ingeneral. We look at a special example.

JW (WMU) Quasi-cyclic codes October 12, 2012 8 / 27

Finite fields

I Let R = Fq, a finite field.

I Fq[x ] is a principal ideal ring.

I The ideals of Fq[x ]/(xn − 1) correspond to theideals of Fq[x ] that contain the ideal (xn − 1).

I An ideal (g) ⊂ Fq[x ] contains (xn − 1) iff thepolynomial g divides xn − 1.

JW (WMU) Quasi-cyclic codes October 12, 2012 9 / 27

Factoring xn − 1

I In the principal ideal ring Fq[x ] there is uniquefactorization into irreducibles.

I Factorxn − 1 = f s1

1 f s22 · · · f

skk ,

where the fi are distinct monic irreduciblepolynomials. The si are positive integers.

JW (WMU) Quasi-cyclic codes October 12, 2012 10 / 27

Chinese remainder theorem

I There is a natural ring homomorphism

Fq[x ]

(xn − 1)→

k⊕i=1

Fq[x ]

(f sii )

,

given by reduction mod f sii .

I The Chinese remainder theorem (CRT) says thatthis homomorphism is an isomorphism. (Exercise.)

I Ideals on the left (cyclic codes) are sums of idealsfrom the right.

JW (WMU) Quasi-cyclic codes October 12, 2012 11 / 27

Examples

I Let q = 2, so that − = +.

x2 − 1 = (x + 1)2

x3 − 1 = (x + 1)(x2 + x + 1)

x4 − 1 = (x + 1)4

x5 − 1 = (x + 1)(x4 + x3 + x2 + x + 1)

x6 − 1 = (x + 1)2(x2 + x + 1)2

x7 − 1 = (x + 1)(x3 + x + 1)(x3 + x2 + 1)

x8 − 1 = (x + 1)8

JW (WMU) Quasi-cyclic codes October 12, 2012 12 / 27

Multiplicity one

I When does xn − 1 factor over Fq into distinctirreducibles, all of multiplicity one?

I This happens when n, q are relatively prime.

I q is a unit in Z/nZ, so q` ≡ 1 mod n for somesmallest positive integer `. Then n|(q` − 1).

I There is a cyclic n-subgroup in the multiplicativegroup of Fq`, so xn − 1 splits into distinct linearfactors over Fq`.

I Multiply factors in Frobenius orbits to get distinctfactors over Fq. (Cyclotomic cosets.)

JW (WMU) Quasi-cyclic codes October 12, 2012 13 / 27

Relatively prime case (a)

I When gcd(q, n) = 1, xn − 1 factors asxn − 1 = f1f2 · · · fk , distinct irreducibles.

I Chinese remainder theorem gives

Fq[x ]

(xn − 1)→

k⊕i=1

Fq[x ]

(fi).

I The rings on the right are all field extensions of Fq,because the fi are irreducible.

JW (WMU) Quasi-cyclic codes October 12, 2012 14 / 27

Relatively prime case (b)

I The only ideals in a field are 0 and the field itself.

I Ideals on the left (cyclic codes) are generated by gof the form

g = f δ11 f δ22 · · · fδkk ,

where each δi = 0 or 1.

I There are 2k such cyclic codes.

I Write then down for q = 2, n = 7 (k = 3).

JW (WMU) Quasi-cyclic codes October 12, 2012 15 / 27

General case for fields

I The Chinese remainder theorem gives

Fq[x ]

(xn − 1)→

k⊕i=1

Fq[x ]

(f sii )

.

I The rings Fq[x ]/(f sii ) are chain rings, because the

ideals of Fq[x ]/(f sii ) correspond to ideals of Fq[x ]

that contain (f sii ). That is, to (g) where g |f si

i .

Since fi is irreducible, g = f jii for ji ≤ si .

I There are∏k

i=1(si + 1) such cyclic codes.

JW (WMU) Quasi-cyclic codes October 12, 2012 16 / 27

Examples q = 2, n = 4

I Over F2, x4 − 1 = (x + 1)4. For g = (x + 1)j , hereare the first rows of the cyclic codes.

j (x + 1)j first row0 1 10001 1 + x 11002 1 + x2 10103 1 + x + x2 + x3 11114 1 + x4 ≡ 0 0000

JW (WMU) Quasi-cyclic codes October 12, 2012 17 / 27

Examples q = 2, n = 6I Over F2, x6 − 1 = (x + 1)2(x2 + x + 1)2. There are

now 32 = 9 cyclic codes. First rows:

jk first row00 10000010 11000020 10100001 11100011 10010021 11011002 10101012 11111122 000000

JW (WMU) Quasi-cyclic codes October 12, 2012 18 / 27

Quasi-cyclic codes

I Work over Fq, and suppose n = `m.

I A linear code C ⊂ Fnq = F`mq is quasi-cyclic of index

` or `-quasi-cyclic if T `(C ) ⊂ C .

I Example: q = 2, ` = 2, m = 4, n = 8. All thecodewords (left column is a quasi-cyclic subcode):

00000000100010000010001010101010

01010101110111010111011111111111

JW (WMU) Quasi-cyclic codes October 12, 2012 19 / 27

Quasi-cyclic codes as codes over a ring

I Set R = Fq[x ]/(xm − 1). Label a vector in F`mq by

a = (a00, a01, . . . , a0,`−1,

a10, a11, . . . , a1,`−1, . . . ,

am−1,0, am−1,1, . . . , am−1,`−1).

I Set Aj =∑m−1

i=0 aijxi ∈ Fq[x ].

I Map F`mq → R` by a 7→ (A0,A1, . . . ,A`−1).

I Then `-quasi-cyclic codes correspond to R-linearcodes in R`.

JW (WMU) Quasi-cyclic codes October 12, 2012 20 / 27

Work of Ling and Sole

I As for cyclic codes, the ring R can be decomposedvia the Chinese remainder theorem.

I This allows R-linear codes in R` to be decomposedinto codes over local rings (fields and chain rings,here).

I Ling and Sole, in a series of papers, 2001–2006,describe the structure of quasi-cyclic codes withcoefficients in Fq or in chain rings. They describethe dual codes and characterize self-dual codes.

JW (WMU) Quasi-cyclic codes October 12, 2012 21 / 27

Another direction

I The ring R = Fq[x ]/(xm − 1) is isomorphic toFq[Cm], the group algebra of the cyclic m-groupwith coefficients in Fq.

I Write Cm multiplicatively, asCm = {e, g , g 2, g 3, . . . , gm−1}, with gm = e.

I An element a ∈ Fq[Cm] has the form

a =∑m−1

i=0 aigi , with ai ∈ Fq.

I Fq[Cm] ∼= Fq[x ]/(xm − 1) by sending g to x .

JW (WMU) Quasi-cyclic codes October 12, 2012 22 / 27

F2 + uF2

I Multiply in the ring F2 + uF2, with u2 = 0, by

(a0 + a1u)(b0 + b1u) = a0b0 + (a0b1 + a1b0)u.

I Set v = 1 + u. Notice that v 2 = 1 + u2 = 1.

I Use 1, v as basis instead. Then

(c0 + c1v)(d0 + d1v) = c0d0 + (c0d1 + c1d0)v + c1d1v2

= (c0d0 + c1d1) + (c0d1 + c1d0)v .

JW (WMU) Quasi-cyclic codes October 12, 2012 23 / 27

F2 + uF2∼= F2[C2]

I Compare this with the multiplication in the groupalgebra F2[C2]:

(c0e + c1g)(d0e + d0g) = c0d0e + (c0d1 + c1d0)g + c1d1g2

= (c0d0 + c1d1)e + (c0d1 + c1d0)g

I We see that F2 + uF2∼= F2[C2]. The same proof

works for q = 2t . (Not true for odd q.)

JW (WMU) Quasi-cyclic codes October 12, 2012 24 / 27

Maschke’s theorem (a)

I The fact that Fq[x ]/(xn − 1) splits into a sum offields when gcd(q, n) = 1 is a special case ofMaschke’s theorem in group representation theory.

I Suppose k is a field of characteristic p and G is afinite group. If p does not divide the order of G(always true for characteristic zero), then the groupalgebra k[G ] is a semisimple ring (a sum of matrixrings over division algebras over k).

JW (WMU) Quasi-cyclic codes October 12, 2012 25 / 27

Maschke’s theorem (b)

I For G = Cn, the group is abelian. ThenFq[x ]/(xn − 1) ∼= Fq[Cn] is a commutative ring. Ifgcd(q, n) = 1, then Maschke’s theorem applies, andFq[x ]/(xn − 1) splits as a sum of matrix rings.

I In order to be commutative and finite, the matrixrings must be 1× 1, hence just fields (extensions ofFq).

JW (WMU) Quasi-cyclic codes October 12, 2012 26 / 27

Codes over group algebras

I This leads one to contemplate codes over groupalgebras.

I Compare to “group codes” in the literature.

I Even more generally: codes over algebras. By fixinga vector space basis for an algebra R over Fq, onecan view R-linear codes C ⊂ Rn as Fq-codes oflength n · dimFq

R , with additional symmetry comingfrom the R-module structure.

I This area should be wide open for investigation.

JW (WMU) Quasi-cyclic codes October 12, 2012 27 / 27