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