Coding theory / 03

Curves, divisors, and Riemann-Roch

The passage from polynomial codes to AG codes replaces the projective line by an arbitrary smooth projective curve.

Let \(X/\mathbb F_q\) be a smooth projective curve with function field \(\mathbb F_q(X)\). A divisor is a formal finite sum \(D=\sum_P n_P P\). It is effective, written \(D\ge0\), if all coefficients are nonnegative. A nonzero rational function \(f\) has divisor

\[(f)=\sum_P v_P(f)P,\]

recording zeros and poles. Two divisors are linearly equivalent when they differ by a principal divisor. The quotient of divisors by principal divisors is the Picard group.

For a divisor \(G\), the Riemann-Roch space is

\[L(G)=\{f\in\mathbb F_q(X)^*:(f)+G\ge0\}\cup\{0\}.\]

It consists of rational functions whose poles are bounded by \(G\).

Example 1: the projective line

On \(\mathbb P^1\) with coordinate \(x\) and point \(P_\infty\), the space \(L(mP_\infty)\) is spanned by

\[1,x,x^2,\ldots,x^m.\]

Thus Reed-Solomon codes are AG codes on \(\mathbb P^1\): the pole bound is simply a polynomial degree bound.

Example 2: an elliptic curve has a pole-order gap

On an elliptic curve with point \(O\), there is no nonconstant function with a single simple pole at \(O\). The first nonconstant spaces are generated by functions with pole orders \(2\) and \(3\). This gap is one visible effect of genus in decoding.

Riemann-Roch

Let \(K\) be a canonical divisor and \(g\) the genus. The Riemann-Roch theorem says

\[\ell(G)-\ell(K-G)=\deg G+1-g,\]

where \(\ell(G)=\dim_{\mathbb F_q}L(G)\). If \(\deg G>2g-2\), then \(\ell(K-G)=0\) and

\[\ell(G)=\deg G+1-g.\]

This formula is the source of the dimension estimates in Chapter 2.

Example 3: genus zero gives exact polynomial dimension

For \(X=\mathbb P^1\), \(g=0\) and \(K\sim -2P_\infty\). For \(G=mP_\infty\) with \(m\ge0\), Riemann-Roch gives \(\ell(G)=m+1\), matching the basis \(1,x,\ldots,x^m\).

Example 4: genus one changes the count by one

For an elliptic curve, \(g=1\) and a canonical divisor has degree \(0\). If \(G=mO\) with \(m>0\), then \(\ell(G)=m\). The loss of one dimension compared with \(\mathbb P^1\) is the genus correction.

Differentials and residues

A rational differential \(\omega\) has a divisor \((\omega)\) of zeros and poles. Its residue at a point \(P\) is denoted \(\operatorname{res}_P(\omega)\). The global residue theorem says the sum of all residues is zero. This theorem is what later makes residue codes dual to evaluation codes.

Example 5: residues on the line

On \(\mathbb P^1\), the differential \(dx/(x-a)\) has residue \(1\) at \(x=a\) and residue \(-1\) at infinity. This is the simplest instance of the global residue theorem.

Example 6: principal divisors have degree zero

For \(f=(x-a)/(x-b)\) on \(\mathbb P^1\), the divisor is \((a)-(b)\). It has degree zero. Linear equivalence therefore preserves degree, which is why degree is the first numerical invariant of a divisor class on a curve.