Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa...

Post on 03-Jul-2020

10 views 0 download

Transcript of Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa...

Error Correcting Codes from Algebraic Geometry

Anton Stolbunov

Trondheim, January 23, 2012

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

2 / 17

Outline

Introduction to Coding Theory

Introduction to Algebraic Geometry

Algebraic Geometry Codes

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

3 / 17

Communication over Noisy Channel

[Shannon 1948] proved that reliable communication is possible atany rate below the channel “capacity”.Also described a code due to Hamming for correcting up to oneerror in a 7-bit block that encodes 4 bits of information.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

4 / 17

Error Correcting CodesBlock codes Fixed-size blocks processed independently. E.g.:

— Hamming codes [1950];— Reed-Solomon codes [1960];— algebraic geometry codes [Goppa 1977];— LDPC [Gallager 1960], [MacKay and Neal 1995].

Convolutional codes Processing of symbols in a stream dependson previous symbols. Soft-decision algorithms. E.g.:— Viterbi algorithm [1967];— turbo codes [Berrou et al. 1993].

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

5 / 17

Linear CodesA (block) code C over Fq is a subset of Fn

q.A linear code C is an Fq-vector subspace of Fn

q.

Parameters of a linear code C = [n, k ,d ]qn block length;k dimension of C. k = dimFq (C). k is information length;

d distance of C. d = min{d(~a, ~b) : ~a 6= ~b ∈ C}, whered(~a, ~b) = #{i : ai 6= bi} is the Hamming distance.

Code C can correct up to⌊

d−12

⌋errors;

q alphabet size.

Example{000,111} is a [3,1,3]2 linear code with F2-basis {111}.A codeword encodes one bit of data. Can correct up to one error.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

6 / 17

How Good Can a Block Code Be?We want to maximize dimension k and distance d given n and q.Bounds for small n: precomputed at www.codetables.deAsymptotic bounds as block size n→∞

R := k/n information rate,

δ := d/n relative distance.

Figure for binary codes, q = 2.

The Gilbert-Varshamovasymptotic bound [1952] is alower bound, meaning thatsuch codes exist. Remainingfunctions are upper bounds.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

7 / 17

Meet Algebraic Geometry (AG) Codes

[Goppa 1977] introduced AG-codes as linear codes coming fromvector spaces of rational functions on curves.Dimension and distance of AG-codes are determinedby the Riemann-Roch theorem;

[Tsfasman, Vladut and Zink 1982] if q ≥ 49 is a square then thereis a sequence of AG-codes over Fq that exceeds theasymptotic Gilbert-Varshamov bound.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

8 / 17

Projective Plane

Let F be a field.The projective plane P2(F ) is the set of equivalence classes

P2(F ) :={

F 3 \ (0,0,0)}/ ∼

with the equivalence relation (X ,Y ,Z ) ∼ (aX ,aY ,aZ ), a ∈ F ∗.

ExampleP2(F3) consists of 13 points:(0 : 0 : 1), (1 : 0 : 1), (2 : 0 : 1),(0 : 1 : 1), (1 : 1 : 1), (2 : 1 : 1),(0 : 2 : 1), (1 : 2 : 1), (2 : 2 : 1),(0 : 1 : 0), (1 : 1 : 0), (2 : 1 : 0), (1 : 0 : 0).

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

9 / 17

Projective Algebraic CurvesA polynomial f ∈ F [X ,Y ,Z ] is called homogeneous if everymonomial of f has the same degree.Then the equation f (P) = 0 is well defined for P ∈ P2(F ).

A projective algebraic curve A defined by an irreduciblehomogeneous polynomial f ∈ F [X ,Y ,Z ] is the zero set

A :={

P ∈ P2(F ) : f (P) = 0}.

The set of F -rational points of A is A(F ) := A ∩ P2(F ).

Example (cont.)F3-points of the curve defined by Y 2Z + 2X 3 + XZ 2 + 2Z 3 areA(F3) = {(0 : 1 : 1), (0 : 2 : 1), (1 : 1 : 1), (1 : 2 : 1), (2 : 1 : 1),(2 : 2 : 1), (0 : 1 : 0)}.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

10 / 17

Functions on Projective CurvesLet A be a smooth projective curve defined by an irreduciblehomogeneous polynomial f ∈ F [X ,Y ,Z ].

The set of equivalence classes F (A) :={g(X ,Y ,Z )

h(X ,Y ,Z ): g,h ∈ F [X ,Y ,Z ] homog. of same degree,h 6∈ (f )

}/ ∼

with the equivalence relationgh∼ g′

h′⇐⇒ gh′ − g′h ∈ (f )

is called the field of F -rational functions of A.

x(P) is independent of representations of x ∈ F (A) and P ∈ A(F ).

Example (cont.)Let f = Y 2Z + 2X 3 + XZ 2 + 2Z 3 over F3. ThenY 2

Z 2 ∼X 3 + 2XZ 2 + Z 3

Z 3 since Y 2Z 3 +Z 2(2X 3 +XZ 2 + 2Z 3) = Z 2f .

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

11 / 17

Zeros and Poles of Functions on CurvesLet

gh∈ F (A) be a function on A, and P ∈ A(F ) a point. Define:

ordP(g) := 0 + [multiplicity of intersection of (g = 0) and A at P],

ordP

(gh

):= ordP(g)− ordP(h).

P is called a zero ofgh

if ordP

(gh

)> 0, and a pole if ordP

(gh

)< 0.

Example (cont.)Let f = Y 2Z + 2X 3 + XZ 2 + 2Z 3 over F3. Consider the function X

Z .(X = 0) ∩ A(F3) = {(0 : 1 : 1), (0 : 2 : 1), (0 : 1 : 0)};(Z = 0) ∩ A(F3) = {(0 : 1 : 0)} with multiplicity 3 by Bezout’s th.

Hence ord(0:1:0)

(XZ

)= 1− 3 = −2, and ord(0:1:1)

(XZ

)= 1.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

12 / 17

Riemann-Roch SpaceAn F -rational divisor on a curve A is a formal sum of points

D := v1P1 + · · ·+ vr Pr ,

where supp(D) := {P1, . . . ,Pr} ⊆ A(F ) and all vi ∈ Z.

The Riemann-Roch space associated to D is

LF (D) :=

{x ∈ F (A) : ordP(x) ≥ −vP , P ∈ supp(D);

ordP(x) ≥ 0, P ∈ A(F ) \ supp(D)

}∪{0}.

LF (D) is an F -vector space of rational functions on A.

Example (cont.)Let the curve A be as before, choose a divisor D = 3 (0 : 1 : 0).The space LF3(D) has a basis

{1, X

Z ,YZ

}over F3. #LF3(D) = 27.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

13 / 17

Algebraic Geometry CodesNotation

A a smooth projective curve over a finite field Fq;Q = {Q1, . . . ,Qn} ⊂ A(Fq) a set of distinct points;D a divisor on A such that supp(D) ∩Q = ∅.

The AG-code associated with Q and D is

CL(Q,D) :={(x(Q1), . . . , x(Qn)) : x ∈ LFq (D)

}⊆ Fn

q.

Example (cont.)Let the divisor D = 3 (0 : 1 : 0) be as before, and choose Q ={(0 : 1 : 1), (0 : 2 : 1), (1 : 1 : 1), (1 : 2 : 1), (2 : 1 : 1), (2 : 2 : 1)}.Function X+Y

Z yields the codeword (1 2 2 0 0 1).

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

14 / 17

Dimension and Distance of AG-CodesNotation

deg(D) :=∑r

i=1 vi degree of divisor D =∑r

i=1 viPi ;g := (dA − 1)(dA − 2)/2 genus of a smooth curve A

defined by an irreducible polynomial of degree dA.

Theorem (Goppa, using Riemann-Roch)Suppose n = #Q > deg(D). Then CL(Q,D) is [n, k ,d ]q code with

k = dim(LFq (D)) ≥ deg(D) + 1− g,d ≥ n − deg(D).

If n > deg(D) > 2g − 2, then k = deg(D) + 1− g.

Example (cont.)We have: deg(D) = 3 and g = 1, hence CL is a [6,3,3]3 code.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

15 / 17

Encoding with AG-CodesLet deg(D) < n, and let {x1, . . . , xk} be a basis of LFq (D).Then rows of the matrix

G :=

x1(Q1) x1(Q2) · · · x1(Qn)x2(Q1) x2(Q2) · · · x2(Qn)

......

. . ....

xk (Q1) xk (Q2) · · · xk (Qn)

form a basis for CL(Q,D). G is called a generator matrix for CL.

A message m ∈ Fkq is encoded as the codeword mG ∈ Fn

q.

Example (cont.)Encoding of m = (0 1 2):

mG = (0 1 2)

1 1 1 1 1 10 0 1 1 2 21 2 1 2 1 2

= (2 1 0 2 1 0).

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

16 / 17

Decoding AG-Codes

d∗ := n − deg(D) is called the designed distance of CL(Q,D).

Unique decodingCan correct up to

⌊d∗−1

2

⌋errors in time O(n3) using the majority

voting scheme algorithm [Feng and Rao 1993], [Duursma 1993].

List decodingCan correct beyond d/2 errors producing a list of candidatemessages in polynomial time [Shokrollahi and Wasserman 1999],[Guruswami and Sudan 1999].

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

17 / 17

Further Reading1

Patrick J. MorandiError correcting codes and algebraic curvesLecture Notes. New Mexico State University, 2001.

Henning StichtenothAlgebraic function fields and codesSecond edition. Graduate Texts in Mathematics, 254.Springer-Verlag, Berlin, 2009.

Eds.: Edgar Martnez-Moro, Carlos Munuera and Diego RuanoAdvances in algebraic geometry codesSeries on Coding Theory and Cryptology, 5. World ScientificPublishing Co. Pte. Ltd., Hackensack, NJ, 2008.

1Figures on slides 3 and 6 are from W.C. Huffman and V. Pless, Fundamentals ofError-Correcting Codes, Cambridge University Press 2003. Images on slide 4 weredownloaded from www.images.google.com and www.barcode-generator.org.

www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry