Riemann-Roch and algebraic geometry codes

1 Riemann-Roch: statement

Theorem 1.1 [Riemann] Let D be a divisor on a nonsingular projective curve X of genus g. Then

l(D) ≥ deg(D) + 1 − g.

Theorem 1.2 [Roch] In fact,

l(D) − l(W − D) = deg(D) + 1 − g

where W is a canonical divisor of X.

This theorem says something about the dimensions l(D) of linear spaces L(D) associated with the curve X. All required definitions follow.

2 Divisors

A divisor on a smooth (i.e., nonsingular) projective curve X is a formal sum of points:

D = ∑ n_{P} P

where P ∈ X, n_{P} ∈ Z, only finitely many nonzero.

The degree of the divisor D is

deg D = ∑ n_{P} .

Clearly, divisors form an Abelian group under addition, and deg is a homomorphism from this group to Z.

(If k is not algebraically closed, one uses sums of closed points, where a closed point is a minimal 0-dimensional subvariety defined over k, that is, the orbit of a point defined over k̄ under the Galois group.)

(If X is not necessarily a curve, a divisor is a formal sum of subvarieties of codimension 1.)

One writes

D ≥ 0

if n_{P} ≥ 0 for all P.

3 Principal divisors

Given f ∈ k(X), f ≠ 0, the principal divisor (f) is defined by

(f) = ∑ v_{P} (f)P

where v_{P} (f) = #zeros − #poles of f at P.

Now deg(f) = 0.

The principal divisors form a subgroup of the group of divisors: (f)+(g) = (fg). The Picard group (or divisor class group) is the quotient group

Pic(X) = {divisors}/{principal divisors}.

4 The spaces L(D)

Given a divisor D on a curve X, define

L(D) = {0} ∪ {f ∈ k(X), f ≠ 0 | (f) + D ≥ 0}.

These spaces are finite-dimensional. Let l(D) = dim_{k} L(D).

Now we can read the statement of Riemann’s theorem. It says that the dimension of the space L(D) is at least 1 − g + ∑ n_{P}, where L(D) is the space of of rational functions f on X where if n_{P} < 0 the function f is required to have a zero of multiplicity at least −n_{P} at P, and if n_{P} = 0 the function f must be regular at P (that is, have no pole there), and if n_{P} > 0 the function f is allowed to have an n_{P} -fold pole at P.

5 Canonical divisors

Let ω be a rational differential form. Then W = (ω) = ∑ v_{P} (ω)P is called a canonical divisor. Here v_{P} (ω) = #zeros − #poles of ω at P, where by definition v_{P} (ω) = v_{P} (f) if ω = fdt locally at P.

Any two canonical divisors differ by a principal divisor.

6 Genus

We have g = l(W) = dim_{k} L(W).

Indeed, L(W) = {f | (f) + (ω) ≥ 0} = {f | fω is a regular diff. form}, so l(W) = dim_{k} L(W) = dim_{k} Ω[X] = g.

7 Corollaries

We saw that when g is defined as dim_{k} Ω[X] then g = l(W). But when g is defined by the statement of Riemann-Roch, l(D) − l(W − D) = deg(D) + 1 − g, then the same conclusion holds.

Corollary 7.1 l(W) = g.

Proof Pick D = 0 and use l(0) = 1. □

Corollary 7.2 deg(W) = 2g − 2.

Proof Pick D = W. □

Corollary 7.3 If deg(D) > 2g − 2 then l(D) = deg(D) + 1 − g.

Proof If deg(D) < 0 then l(D) = 0. □

8 Algebraic Geometry Codes

Pick a divisor D, say with 2g − 1 < deg D < n, and let P_{1}, ..., P_{n} be points outside the support of D.

Make a code

C = {(f(P_{1}), ..., f(P_{n})) | f ∈ L(D)}.

Theorem 8.1 The code C has word length n, dimension k = l(D) = deg(D) + 1 − g and minimum distance d ≥ n − deg(D).

Proof That C has word length n is clear. The statement about the dimension was a corollory above. If C has minimum distance d, then there is a function f such that f ∈ L(D′) where D′ = D − ∑_{f(P_{i})=0} P_{i}, with deg(D′) = deg(D) − (n − d) ≥ 0. □

This means that if g is small we get reasonably good codes: the Singleton bound says k + d ≤ n + 1 and the codes constructed here have k + d ≥ n + 1 − g.