The product formula for algebraic function fields #
This file proves that the principal divisor of every nonzero function has degree zero. More
precisely, for a function z transcendental over k, both its zero divisor and its pole divisor
have degree [F : k(z)]. This is Stichtenoth, Algebraic Function Fields and Codes, 2nd ed.,
Theorem 1.4.11.
Here k is not assumed to be the exact constant field of F, so a function outside k may still
be algebraic over k. Accordingly the hypothesis throughout is transcendence over k, which is
strictly stronger than nonconstancy.
Main results #
TauCeti.Divisor.degree_zerosandTauCeti.Divisor.degree_polescompute the two effective parts of the principal divisor of a function transcendental overk.TauCeti.Divisor.degree_principalis the product formula.TauCeti.Place.finrank_adjoin_eq_mul_degree_of_ord_eq_neg:[F : k(z)] = n * deg Pfor a functionzwhose only pole isP, of ordern.TauCeti.Divisor.succ_le_dim_nsmul_polesis the growth estimate for the powers of one transcendental function,ℓ(l (x)_∞) ≥ l + 1.TauCeti.Divisor.degreeClassdescends degree to the divisor class group, withTauCeti.Divisor.ker_degreeClass_eq_picZeroidentifying its kernelCl⁰(F)with the abstractPic⁰, andTauCeti.Divisor.degree_eq_of_linearlyEquivalentrecords invariance under linear equivalence.TauCeti.riemannRochSpace_eq_bot_of_degree_negandTauCeti.Divisor.dim_eq_zero_of_degree_negare the negative-degree consequence, andTauCeti.Divisor.dim_le_degree_add_finrank_of_riemannRochSpace_ne_botboundsℓ(D)bydeg D + [algebraicClosure k F : k]wheneverL(D)is nonzero, andTauCeti.Divisor.exists_mem_dim_sub_ofPoint_ltshows that such anL(D)drops when some place of a set of sufficiently large total degree is removed.
References #
- H. Stichtenoth, Algebraic Function Fields and Codes, 2nd ed., GTM 254, Springer, 2009, Proposition 1.4.9, Theorem 1.4.11, and Corollary 1.4.12.
The growth estimate behind Stichtenoth's proofs of Theorems 1.4.11 and 1.4.14, in divisor
form: if the functions c i are linearly independent over k⟮x⟯ and all their poles are
dominated by one divisor C, then the #ι * (l + 1) products c i * x ^ j with j ≤ l are
linearly independent elements of L(l (x)_∞ + C).
ℓ(l (x)_∞) ≥ l + 1 for a function x transcendental over k: the Riemann--Roch
space of l times the pole divisor of x has dimension at least l + 1. Compared against
Riemann--Roch in large degree, this is the lower bound behind the product formula and behind
the vanishing of the genus of a rational function field.
Stichtenoth, Theorem 1.4.11: the pole divisor of a function z transcendental over k
has degree [F : k(z)]. No exact-constant-field hypothesis is needed; correspondingly the
hypothesis is transcendence over k, not mere nonconstancy.
Stichtenoth, Theorem 1.4.11: the zero divisor of a function z transcendental over k
has degree [F : k(z)]. No exact-constant-field hypothesis is needed; correspondingly the
hypothesis is transcendence over k, not mere nonconstancy.
The product formula for an algebraic function field (Stichtenoth, Theorem 1.4.11): every principal divisor has degree zero.
The function-field order system satisfies the weighted degree-zero condition required to descend degree to divisor classes.
The degree of the rational subfield generated by a function with a single pole: a function
z with a pole of order n ≠ 0 at P that is regular at every other place has
[F : k(z)] = n * deg P, the degree of its pole divisor nP (Stichtenoth, Theorem 1.4.11).
The degree homomorphism on the divisor class group of an algebraic function field.
Equations
- TauCeti.Divisor.degreeClass hF = TauCeti.AlgebraicGeometry.WeilDivisor.OrderSystem.weightedDegreeClass (fun (P : TauCeti.Place k F) => ↑P.degree) ⋯
Instances For
The degree of a divisor class is the degree of any representative.
Cl⁰(F) is the abstract Pic⁰ of the function-field order system: the kernel of the
degree map on divisor classes is the weighted-degree-zero part of the class group, for the
residue-degree weights.
The degree-zero divisors map onto Cl⁰(F), a divisor going to its class. This is the
order system's weightedDegreeZeroClassHom at the residue-degree weights, precomposed with the
identification of the two degree-zero subgroups; no divisor-class reasoning is redone here.
Equations
- TauCeti.Divisor.degreeZeroClassHom hF = ((TauCeti.Place.orderSystem hF).weightedDegreeZeroClassHom (fun (P : TauCeti.Place k F) => ↑P.degree) ⋯).comp (AddSubgroup.inclusion ⋯)
Instances For
The class of a degree-zero divisor is its divisor class, read in the full class group.
Every degree-zero class is the class of a degree-zero divisor. The surjectivity is the order system's, transported along the identification of the two degree-zero subgroups.
A degree-zero divisor has trivial class exactly when it is principal.
Linearly equivalent divisors have the same degree (Stichtenoth, Corollary 1.4.12(a)).
A divisor of negative degree has no nonzero functions in its Riemann–Roch space (Stichtenoth, Corollary 1.4.12(b)).
A divisor with a nonzero Riemann–Roch space satisfies
ℓ(D) ≤ deg D + [algebraicClosure k F : k] (Stichtenoth, Proposition 1.4.9 with
Corollary 1.4.12(a)).
A nonzero Riemann–Roch space drops along a set of large degree. If ℓ(D) > 0 and the
places of a finite set T have total degree exceeding deg D + [algebraicClosure k F : k] - ℓ(D),
then removing some place of T strictly shrinks L(D). Over an exact constant field the
threshold is deg D + 1 - ℓ(D).