Coding theory / 11

Divisors, Picard groups, and variety codes

On higher-dimensional varieties, AG codes are built from global sections of line bundles and evaluated through fibers.

On a normal variety, a prime divisor is an irreducible codimension-one subvariety. A Weil divisor is a finite integral combination of prime divisors. A rational function \(f\) has a divisor \((f)\), and principal divisors define linear equivalence.

A locally principal divisor \(D\) defines an invertible sheaf \(\mathcal L(D)\). On smooth varieties, divisor classes and invertible sheaves match through the Picard group.

Example 1: hyperplanes on projective space

On \(\mathbb P^r\), a hyperplane \(H\) defines \(\mathcal L(H)\simeq\mathcal O(1)\). The divisor \(dH\) corresponds to \(\mathcal O(d)\), whose sections are degree \(d\) homogeneous polynomials.

Example 2: principal divisors do not change the line bundle class

If \(D_1-D_2=(f)\), then multiplication by \(f\) identifies \(\mathcal L(D_1)\) and \(\mathcal L(D_2)\). This is the higher-dimensional version of the curve Picard relation.

Global sections and zero divisors

A nonzero section \(s\in H^0(X,\mathcal L(D))\) determines an effective divisor of zeros \(Z(s)\) linearly equivalent to \(D\). The code distance problem becomes a question about how many rational evaluation points can lie on zero divisors in a linear system.

Example 3: plane curves as zero divisors

For \(X=\mathbb P^2\) and \(\mathcal L=\mathcal O(d)\), a section is a homogeneous form of degree \(d\). Its zero divisor is a plane curve of degree \(d\). The number of rational evaluation points on that curve controls the weight of the corresponding codeword.

Example 4: product surfaces

On \(\mathbb P^1\times\mathbb P^1\), a section of \(\mathcal O(a,b)\) has a zero divisor of bidegree \((a,b)\). It can contain vertical and horizontal fibers, which strongly affects the number of rational zeros.

Germ-map construction

Let \(X/\mathbb F_q\) be projective, \(\mathcal L\) an invertible sheaf, and \(P_1,\ldots,P_n\in X(\mathbb F_q)\). For each point, choose a trivialization of the fiber \(\mathcal L_{P_i}\simeq\mathbb F_q\). Evaluation of global sections gives

\[\alpha:H^0(X,\mathcal L)\to\mathbb F_q^n.\]

The code is \(C(X,P,\mathcal L)=\operatorname{im}\alpha\). Different trivializations multiply coordinates by nonzero scalars, so they produce monomially equivalent codes.

Example 5: curve codes recovered

If \(X\) is a curve and \(\mathcal L=\mathcal L(G)\), then \(H^0(X,\mathcal L)=L(G)\). The germ map is the evaluation map defining \(C_L(D,G)\).

Example 6: projective Reed-Muller codes

Taking \(X=\mathbb P^r\) and \(\mathcal L=\mathcal O(d)\) gives codes from evaluating homogeneous degree \(d\) forms at rational projective points. This is a basic higher-dimensional AG code before surface-specific geometry enters.