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

17
Error Correcting Codes from Algebraic Geometry Anton Stolbunov Trondheim, January 23, 2012 www.ntnu.no Anton Stolbunov, Error Correcting Codes from Algebraic Geometry

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

Page 1: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

Error Correcting Codes from Algebraic Geometry

Anton Stolbunov

Trondheim, January 23, 2012

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

Page 2: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 3: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 4: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 5: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 6: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 7: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 8: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 9: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 10: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 11: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 12: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 13: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 14: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 15: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 16: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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

Page 17: Error Correcting Codes from Algebraic Geometry · Meet Algebraic Geometry (AG) Codes [Goppa 1977]introduced AG-codes as linear codes coming from vector spaces of rational functions

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