Coding Theory 11: Divisors, Picard Groups, and Variety Codes
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.
