Professional Documents
Culture Documents
Rings
Quasi-Cyclic Codes over Rings
Applications
1-Generator Codes
Patrick Solé
References
This talk is based on joint work with San Ling (NTU, Singapore)
on quasi cyclic codes. It is important to notice that, even if the
alphabet is a field chain rings are necessary to analyse their
structure: thus I and II were originally one article forced to split by
the will of some IT editor!
I S. Ling & P. Solé, On the algebraic structure of quasi-cyclic
codes I: finite fields. IEEE Transactions on Information Theory
47, 2751 2760 (2001)
I S. Ling & P. Solé, On the algebraic structure of quasi-cyclic
codes II: chain rings. Designs, Codes and Cryptography 30,
113 130 (2003)
I S. Ling & P. Solé, On the algebraic structure of quasi-cyclic
codes III: generator theory. IEEE Transactions on Information
Theory 51, 2692 2700 (2005)
I S. Ling, H. Niederreiter & P. Solé, On Codes
Quasi-Cyclic the over
algebraic
Rings structure
Outline
Rings
Quasi-Cyclic Codes over Rings
Applications
1-Generator Codes
Contents
Rings
Quasi-Cyclic Codes over Rings
Codes over Rings
Quasi-Cyclic Codes
The Ring R(A, m)
Fourier Transform & Trace Formula
Applications
Quasi-Cyclic Codes of Index 2
m = 3 & Leech Lattice
m = 6 and the Golay code
Vandermonde Construction
Codes over Z2k
1-Generator Codes
Quasi-Cyclic Codes over Rings
Outline
Rings
Quasi-Cyclic Codes over Rings
Applications
1-Generator Codes
Rings
k := A/M is a field.
Rings
k := A/M is a field.
Chain Rings
Chain Rings
Chain Rings
Example
1. Finite fields Fq
2. Integer rings Zpr
3. Galois rings GR(p r , m)
4. Fq [u]/(u k )
Example
I If ` = 2 and first circulant block is identity matrix, code
equivalent to a so-called pure double circulant code.
I Up to equivalence, generator matrix of such a code consists of
m × m circulant matrices.
Quasi-Cyclic Codes
m: positive integer.
Quasi-Cyclic Codes
m: positive integer.
Define φ : A`m → R ` by
where cj (Y ) = m−1 i
P
i=0 cij Y ∈ R.
Quasi-Cyclic Codes
Lemma
φ induces one-to-one correspondence
Proof
Proof continued
(Y c0 (Y ), Y c1 (Y ), . . . , Y c`−1 (Y )) ∈ R `
corresponds to
Proof continued
(Y c0 (Y ), Y c1 (Y ), . . . , Y c`−1 (Y )) ∈ R `
corresponds to
Quasi-Cyclic Codes
Conjugation map ¯ on R: identity on the elements of A and sends
Y to Y −1 = Y m−1 , and extended linearly.
Quasi-Cyclic Codes
Conjugation map ¯ on R: identity on the elements of A and sends
Y to Y −1 = Y m−1 , and extended linearly.
Euclidean inner product on A`m : for
and
define
m−1
XX `−1
a·b= aij bij .
i=0 j=0
Quasi-Cyclic Codes
Hermitian inner product on R ` : for
Quasi-Cyclic Codes
Hermitian inner product on R ` : for
Proposition
a, b ∈ A`m . Then
m
hφ(a), φ(b)i = 0.
Proof
Condition hφ(a), φ(b)i = 0 equivalent to
`−1 `−1 m−1 m−1
! !
X X X X
i −k
0= aj b j = aij Y bkj Y . (1)
j=0 j=0 i=0 k=0
Proof
Condition hφ(a), φ(b)i = 0 equivalent to
`−1 `−1 m−1 m−1
! !
X X X X
i −k
0= aj b j = aij Y bkj Y . (1)
j=0 j=0 i=0 k=0
Proof
Condition hφ(a), φ(b)i = 0 equivalent to
`−1 `−1 m−1 m−1
! !
X X X X
i −k
0= aj b j = aij Y bkj Y . (1)
j=0 j=0 i=0 k=0
Proof
Quasi-Cyclic Codes
Corollary
C : quasi-cyclic code over A of length `m and of index `
φ(C ): its image in R ` under φ.
Then φ(C )⊥ = φ(C ⊥ ),
where dual in A`m is wrt Euclidean inner product,
while dual in R ` is wrt Hermitian inner product.
In particular,
When m > 1,
R(A, m) = A[Y ]/(Y m − 1) is never a local ring.
But always decomposes into product of local rings.
When m > 1,
R(A, m) = A[Y ]/(Y m − 1) is never a local ring.
But always decomposes into product of local rings.
Characteristic of A: p n (p prime).
Write m = p a m0 , where (m0 , p) = 1.
0
Y m − 1 factors into distinct irreducible factors in k[Y ].
When m > 1,
R(A, m) = A[Y ]/(Y m − 1) is never a local ring.
But always decomposes into product of local rings.
Characteristic of A: p n (p prime).
Write m = p a m0 , where (m0 , p) = 1.
0
Y m − 1 factors into distinct irreducible factors in k[Y ].
By Hensel lifting, may write
0
Y m − 1 = f1 f2 · · · fr ∈ A[Y ],
Product unique:
0
if Y m − 1 = f10 f20 · · · fs0 is another decomposition into basic
irreducible polynomials,
then r = s and,
after suitable renumbering of the fj0 ’s, fj is associate of fj0 , for each
1 ≤ j ≤ r.
0
Y m − 1 = −f1∗ f2∗ · · · fr∗ .
f basic irreducible ⇒ so is f ∗ .
By uniqueness of decomposition
0
Y m − 1 = δg1 · · · gs h1 h1∗ · · · ht ht∗ ,
δ: unit in A,
g1 , . . . , gs : those fj ’s associate to their own reciprocals,
h1 , h1∗ , . . . , ht , ht∗ : remaining fj ’s grouped in pairs.
Quasi-Cyclic Codes over Rings
Outline
Codes over Rings
Rings
Quasi-Cyclic Codes
Quasi-Cyclic Codes over Rings
The Ring R(A, m)
Applications
Fourier Transform & Trace Formula
1-Generator Codes
Suppose further:
if characteristic of A is p n (n > 1), then a = 0,
i.e., m = m0 relatively prime to p.
When characteristic of A is p (e.g., finite field), m need not be
relatively prime to p.
Suppose further:
if characteristic of A is p n (n > 1), then a = 0,
i.e., m = m0 relatively prime to p.
When characteristic of A is p (e.g., finite field), m need not be
relatively prime to p.
Then
a 0 0 a
Y m − 1 = Y p m − 1 = (Y m − 1)p
a a a a a a a
= δ p g1p · · · gsp h1p (h1∗ )p · · · htp (ht∗ )p ∈ A[Y ].
Consequently,
!
s t
!
A[Y ] M A[Y ] M A[Y ] A[Y ]
R= = ⊕ a ⊕ ,
(Y m − 1) (gi )pa (hj ) p (hj∗ )pa
i=1 j=1
(3)
(with coordinatewise addition and multiplication).
Consequently,
!
s t
!
A[Y ] M A[Y ] M A[Y ] A[Y ]
R= = ⊕ a ⊕ ,
(Y m − 1) (gi )pa (hj ) p (hj∗ )pa
i=1 j=1
(3)
(with coordinatewise addition and multiplication).
a a 00 a
Gi := A[Y ]/(gi )p , Hj0 := A[Y ]/(hj )p , Hj := A[Y ]/(hj∗ )p
s
! t
00 `
M M `
R` = Gi` ⊕ Hj0 ⊕ Hj .
i=1 j=1
s
! t
M M 00
C= Ci ⊕ Cj0 ⊕ Cj ,
i=1 j=1
Hence,
00 00
c(Y ) = (c1 (Y ), . . . , cs (Y ), c10 (Y ), c1 (Y ), . . . , ct0 (Y ), ct (Y )), (4)
00 00
ci (Y ) ∈ Gi (1 ≤ i ≤ s), cj0 (Y ) ∈ Hj0 and cj (Y ) ∈ Hj (1 ≤ j ≤ t).
A[Y ] A[Y ]
−→
(f ) (f ∗ ) (5)
c(Y ) + (f ) 7−→ c(Y −1 ) + (f ∗ ).
(Note: Y −1 = Y m−1 .)
Then
00 00
r = (r1 , . . . , rs , r1 , r10 , . . . , rt , rt0 ).
Then
00 00
r = (r1 , . . . , rs , r1 , r10 , . . . , rt , rt0 ).
Remark
When deg(f ) = 1, since r 7→ r is identity,
Hermitian inner product (6) is usual Euclidean inner product · on
A.
Proposition
a = (a0 , a1 , . . . , a`−1 ) ∈ R ` and b = (b0 , b1 , . . . , b`−1 ) ∈ R ` .
00
0 , a , . . . , a0 , a ) 00
ai = (ai1 , . . . , ais , ai1 i1 it it
0 , b 00 , . . . , b 0 , b 00 ),
bi = (bi1 , . . . , bis , bi1 i1 it it
00 00 00
aij , bij ∈ Gj , aij0 , bij0 , aij , bij ∈ Hj0 (with Hj0 , Hj identified). Then
P`−1
ha,
Pbi = i=0 aP i bi
P 0 00 P 00 0 P 0 00 P 00 0
= a b
i i1 i1 , . . . , i ais bis , i ai1 bi1 , i ai1 bi1 , . . . , i ait bit , i ait bit .
P
In particular, ha, bi = 0 ⇔ i aij bij = 0 (1 ≤ j ≤ s) and
0 00 00 0
P P
i aik bik = 0 = i aik bik (1 ≤ k ≤ t).
Quasi-Cyclic Codes over Rings
Outline
Codes over Rings
Rings
Quasi-Cyclic Codes
Quasi-Cyclic Codes over Rings
The Ring R(A, m)
Applications
Fourier Transform & Trace Formula
1-Generator Codes
Theorem
Linear code C over R = A[Y ]/(Y m − 1) of length ` is self-dual wrt
Hermitian inner product if and only if
s
! t
M M
C= Ci ⊕ Cj0 ⊕ (Cj0 )⊥ ,
i=1 j=1
x = x0 + x1 t + · · · + xd−1 t d−1 ,
Galois Extensions
x ∈ B, trace
Fourier Transform
In (3),
!
s t
!
A[Y ] M A[Y ] M A[Y ] A[Y ]
R= = ⊕ ⊕ ∗ pa .
(Y m − 1) (gi )pa (hj )pa (hj )
i=1 j=1
Fourier Transform
In (3),
!
s t
!
A[Y ] M A[Y ] M A[Y ] A[Y ]
R= = ⊕ ⊕ ∗ pa .
(Y m − 1) (gi )pa (hj )pa (hj )
i=1 j=1
Fourier Transform
For c = g ∈Z/mZ cg Y g ∈ A[Y ]/(Y m − 1),
P
X
ĉh = cg ζ gh ,
g ∈Z/mZ
Fourier Transform
For c = g ∈Z/mZ cg Y g ∈ A[Y ]/(Y m − 1),
P
X
ĉh = cg ζ gh ,
g ∈Z/mZ
Fourier Transform
For c = g ∈Z/mZ cg Y g ∈ A[Y ]/(Y m − 1),
P
X
ĉh = cg ζ gh ,
g ∈Z/mZ
Inverse transform:
X
cg = m−1 ĉh ζ −gh .
h∈Z/mZ
Fourier Transform
Well known:
I ĉqh = F (ĉh )
I for h ∈ Ui , ĉh ∈ Gi , while for h ∈ Vj (resp. Wj ), ĉh ∈ Hj0
00
(resp. Hj ).
Fourier Transform
Well known:
I ĉqh = F (ĉh )
I for h ∈ Ui , ĉh ∈ Gi , while for h ∈ Vj (resp. Wj ), ĉh ∈ Hj0
00
(resp. Hj ).
Backward direction of (3):
00
Gi , Hj0 and Hj : Galois extensions of A corresponding to gi , hj and
hj∗ , with corresponding cyclotomic cosets Ui , Vj and Wj .
For each i, fix some ui ∈ Ui .
For each j, fix some vj ∈ Vj and wj ∈ Wj .
00 00
Let ĉi ∈ Gi , ĉj0 ∈ Hj0 and ĉj ∈ Hj .
00 00
, ĉs , ĉ10 , ĉ1 , . . . , ĉt0 , ĉt ),
To (ĉ1 , . . .P
associate g ∈Z/mZ cg Y g ∈ A[Y ]/(Y m − 1), where
s t
00
X X
mcg = TrGi /A (ĉi ζ −gui )+ (TrHj0 /A (ĉj0 ζ −gvj )+TrH 00 /A (ĉj ζ −gwj )),
j
i=1 j=1
Trace Formula
Theorem
m relatively prime to characteristic of A.
Quasi-cyclic codes over A of length `m and of index ` given by
following construction:
Write Y m − 1 = δg1 · · · gs h1 h1∗ · · · ht ht∗ , (δ, gi , hj , hj∗ as earlier).
00
A[Y ]/(gi ) = Gi , A[Y ]/(hj ) = Hj0 and A[Y ]/(hj∗ ) = Hj .
Ui , Vj , Wj : corresponding q-cyclotomic coset of Z/mZ.
ui ∈ Ui , vj ∈ Vj and wj ∈ Wj .
00 00
Ci , Cj0 , Cj : codes of length ` over Gi , Hj0 , Hj , resp.
Trace Formula
Theorem
00 00
For xi ∈ Ci , yj0 ∈ Cj0 , yj ∈ Cj , and 0 ≤ g ≤ m − 1:
s t
00
X X
−gui
cg = TrGi /A (xi ζ )+ (TrHj0 /A (yj0 ζ −gvj )+TrH 00 /A (yj ζ −gwj )).
j
i=1 j=1
00 00
Then C = {(c0 , . . . , cm−1 ) | xi ∈ Ci , yj0 ∈ Cj0 and yj ∈ Cj } is
quasi-cyclic code over A of length `m and of index `.
Converse also true.
Moreover, C self-dual ⇔ Ci self-dual wrt Hermitian inner product
00
and Cj = (Cj0 )⊥ for each j wrt Euclidean inner product.
`=2
Theorem
m: any positive integer.
Self-dual 2-quasi-cyclic codes over Fq of length 2m exist ⇔ exactly
one of following satisfied:
1. q is a power of 2;
2. q = p b (p prime ≡ 1 mod 4); or
3. q = p 2b (p prime ≡ 3 mod 4).
Proof
Proof
Proof
Proof
Proof
Proof
Proof
Proof
Proof
Proof
Proof
Sufficiency:
If any condition in Theorem satisfied, then X 2 + 1 = 0 has solution
in G /(t) = Fqe .
Proof
Sufficiency:
If any condition in Theorem satisfied, then X 2 + 1 = 0 has solution
in G /(t) = Fqe .
Such a solution lifts to one in G /(t c ), for any 1 ≤ c ≤ d.
Proof
Sufficiency:
If any condition in Theorem satisfied, then X 2 + 1 = 0 has solution
in G /(t) = Fqe .
Such a solution lifts to one in G /(t c ), for any 1 ≤ c ≤ d.
Hence, there exists i ∈ G such that i 2 + 1 = 0.
Proof
Sufficiency:
If any condition in Theorem satisfied, then X 2 + 1 = 0 has solution
in G /(t) = Fqe .
Such a solution lifts to one in G /(t c ), for any 1 ≤ c ≤ d.
Hence, there exists i ∈ G such that i 2 + 1 = 0.
Clear: free code with generator matrix (1, i) self-dual of length 2.
Proof
Necessity:
Assume q odd (case q even trivially true)
Proof
Necessity:
Assume q odd (case q even trivially true)
Let G = G1 corresponding to Y − 1 in (3).
Depth d odd.
a
In fact, G = Fq [t]/(t)p and Y 7→ Y −1 induces identity on G .
(Hermitian and Euclidean inner products coincide.)
Proof
Necessity:
Assume q odd (case q even trivially true)
Let G = G1 corresponding to Y − 1 in (3).
Depth d odd.
a
In fact, G = Fq [t]/(t)p and Y 7→ Y −1 induces identity on G .
(Hermitian and Euclidean inner products coincide.)
Any nonzero element of G : t λ a (a unit in G ).
Nonzero codeword of length 2 of one of:
(i) (0, t µ b), (ii) (t λ a, 0) or (iii) (t λ a, t µ b).
Proof
Proof
Proof
Proof
Proof
If both λ, µ ≥ d+1
2 ,
then (7) automatically satisfied.
Quasi-Cyclic Codes over Rings
Outline Quasi-Cyclic Codes of Index 2
Rings m = 3 & Leech Lattice
Quasi-Cyclic Codes over Rings m = 6 and the Golay code
Applications Vandermonde Construction
1-Generator Codes Codes over Z2k
Proof
d−1
If at least one of them is at most 2 :
Proof
d−1
If at least one of them is at most 2 :
If λ 6= µ,
then (7) never satisfied.
Hence, need λ = µ.
Proof
d−1
If at least one of them is at most 2 :
If λ 6= µ,
then (7) never satisfied.
Hence, need λ = µ.
Then (7) implies
a2 + b 2 ∈ (t d−2λ ). (8)
Proof
d−1
If at least one of them is at most 2 :
If λ 6= µ,
then (7) never satisfied.
Hence, need λ = µ.
Then (7) implies
a2 + b 2 ∈ (t d−2λ ). (8)
Proof
d−1
If at least one of them is at most 2 :
If λ 6= µ,
then (7) never satisfied.
Hence, need λ = µ.
Then (7) implies
a2 + b 2 ∈ (t d−2λ ). (8)
ζ ∈ GR(4, 2) satisfies ζ 2 + ζ + 1 = 0.
Quasi-Cyclic Codes over Rings
Outline Quasi-Cyclic Codes of Index 2
Rings m = 3 & Leech Lattice
Quasi-Cyclic Codes over Rings m = 6 and the Golay code
Applications Vandermonde Construction
1-Generator Codes Codes over Z2k
Theorem
Λ(κ8 ∆O80 )/2 is the Leech lattice Λ24 .
Proof
Proof
Proof
Proof
Proof
Proof
Proof
Proof
m=6
A = F2
Vandermonde Construction
Y m − 1 = (Y − 1)(Y − ζ) · · · (Y − ζ m−1 ).
Vandermonde Construction
fˆ0
f0
f1 fˆ1
.. = V −1 .. ,
. .
fm−1 fˆm−1
fˆi : Fourier
coefficients
V = ζ ij 0≤i,j≤m−1 : m × m Vandermonde matrix.
Vandermonde Construction
`
a0 , . .
. , am−1∈ A : vectors.
a0
..
.
V −1 ai ∈ R .
`
..
.
– Vandermonde product
Vandermonde Construction
Theorem
A, m as above.
C0 , . . . , Cm−1 : linear codes of length ` over A.
Then the Vandermonde product of C0 , . . . , Cm−1 is a quasi-cyclic
code over A of length `m and of index `.
Moreover, every `-quasi-cyclic code of length `m over A is
obtained via the Vandermonde construction.
so,
Zpei [Y ] Zpei [Y ]
i i
= Zpei ⊕ , (10)
(Y 3 − 1) i (Y 2 + Y + 1)
for every 1 ≤ i ≤ r .
Quasi-Cyclic Codes over Rings
Outline Quasi-Cyclic Codes of Index 2
Rings m = 3 & Leech Lattice
Quasi-Cyclic Codes over Rings m = 6 and the Golay code
Applications Vandermonde Construction
1-Generator Codes Codes over Z2k
Therefore,
Z2k [Y ] Z2k [Y ]
3
= Z2k ⊕ 2
.
(Y − 1) (Y + Y + 1)
(k relatively prime to 3)
Therefore,
Z2k [Y ] Z2k [Y ]
3
= Z2k ⊕ 2
.
(Y − 1) (Y + Y + 1)
(k relatively prime to 3)
`-quasi-cyclic code of length 3` over Z2k ↔ (C1 , C2 ),
C1 : code of length ` over Z2k
C2 : code of length ` over Z2k [Y ]/(Y 2 + Y + 1).
Proposition
k: integer coprime with 3
C : self-dual code over Z2k .
Then C Type II `-quasi-cyclic code of length 3` if and only if its
Z2k component C1 of Type II.
Proof
Necessity:
C contains (x, x, x), where x ranges over C1 , and, by hypothesis,
(4k, 3) = 1.
Proof
Necessity:
C contains (x, x, x), where x ranges over C1 , and, by hypothesis,
(4k, 3) = 1.
Sufficiency:
A spanning set of codewords of Euclidean weights ≡ 0 mod 4k is
Proof
Note: self-duality of C2 entails (a + ζb)(a + ζb) = 0.
Proof
Note: self-duality of C2 entails (a + ζb)(a + ζb) = 0.
Since
ζ + ζ = −1 & ζζ = 1,
have
a · a + b · b − a · b ≡ 0 mod 2k.
Proof
Note: self-duality of C2 entails (a + ζb)(a + ζb) = 0.
Since
ζ + ζ = −1 & ζζ = 1,
have
a · a + b · b − a · b ≡ 0 mod 2k.
By bilinearity of ( , ):
(a − b, a − b) = a · a + b · b − 2a · b,
Norm of (−a, b, a − b):
a · a + b · b + (a − b) · (a − b) = 2(a · a + b · b − a · b),
multiple of 4k.
Quasi-Cyclic Codes over Rings
Outline
Rings
Quasi-Cyclic Codes over Rings
Applications
1-Generator Codes
1-Generator Codes
Back to local rings.
1-Generator Codes
Back to local rings.
Quasi-cyclic code C is 1-generator if and only if its generator
matrix over R contains only one row:
generator polynomial:
1-Generator Codes
Theorem
m relatively prime to characteristic of A.
C : 1-generator `-QC code over A of length n = m` with generator
g (Y )|Y m − 1,
g (Y ), fi (Y ) ∈ A[Y ]/(Y m − 1),
(fi (Y ), h(Y )) = 1, where h(Y ) = (Y m − 1)/g (Y ).
Then: C free A-module of rank m − deg g .
Proof
R = A[Y ]/(Y m − 1)
Consider Πi : R ` → R defined by:
Π(a0 (Y ), a1 (Y ), . . . , a`−1 (Y )) = ai (Y ).