Algorithmics of Function Fields 2 Number Theory Lecture 2 Class Groups Mathematical Algorithmic Number Theory Background Computing in the Class Group for Function Fields Computing the Class Group Applications Class Fields Mathematical Background Computing Ray Summer School UNCG 2016 Class Groups Computing Class Fields Florian Hess Applications Zeta functions and L-series Mathematical Background Computing L-series Applications Exercises 1 / 40
Algorithmics of Function Fields 2 Number Theory Class Groups Mathematical Background Computing in the Class Group Class Groups Computing the Class Group Applications Class Fields Mathematical First Part Background Computing Ray Class Groups Computing Class Fields Applications Zeta functions and L-series Mathematical Background Computing L-series Applications Exercises 2 / 40
Notation Algorithmics of Function Fields 2 Number Consider complete regular curves C over a field K . We can Theory then equivalently work with F = K ( C ) only. Class Groups Mathematical Notation: Background Computing in ◮ Group of divisors Div( F / K ). the Class Group Computing the Class Group ◮ Subset of divisors of degree d : Div d ( F / K ). Applications Class Fields ◮ Subgroup of principal divisors of Princ( F / K ). Mathematical Background Computing Ray ◮ Class group or Picard group: Pic( F / K ). Class Groups Computing Class ◮ Subgroup of class of degree d : Pic d ( F / K ). Fields Applications Zeta functions and L-series By definition, Mathematical Background Computing L-series Pic( F / K ) = Div( F / K ) / Princ( F / K ) , Applications Exercises Pic 0 ( F / K ) = Div 0 ( F / K ) / Princ( F / K ) . 3 / 40
Some Facts Algorithmics of Function Fields 2 Number Theory We have Class Groups Pic( F / K ) = Pic 0 ( F / K ) ⊕ � A � , Mathematical Background Computing in where A is a divisor of F / K with minimal positive degree. the Class Group Computing the Class Group Applications If K is a finite field are algebraically closed then deg( A ) = 1. In Class Fields Mathematical the latter case A can be chosen to be a prime divisor. Background Computing Ray Class Groups Computing Class If K is finitely generated over its prime field then Pic 0 ( F / K ) is Fields Applications finitely generated. Zeta functions and L-series Mathematical If K is a finite field then Pic 0 ( F / K ) is finite. Then usually Background Computing L-series Applications #Pic 0 ( F / K ) ≈ (# K ) g . Exercises 4 / 40
Computing in the Class Group Algorithmics of Function Fields 2 Number Representation of divisors: Theory ◮ Divisors can be represented as a sum of places with integral coefficients, or as a pair of fractional ideals. Class Groups Mathematical ◮ Addition of divisors either by addition of coefficient vectors Background Computing in or multiplication of ideals. the Class Group Computing the Class Group ◮ Equality by coefficientwise comparison or comparison of Applications Hermite normal forms. Class Fields Mathematical Background Computing Ray Representation of divisor classes: Class Groups Computing Class ◮ By divisors, which can be “suitably” chosen, for example Fields Applications reduced divisors. Zeta functions and L-series ◮ Comparison via unique divisor class representatives, if they Mathematical Background can be computed, or by the test Computing L-series Applications deg( D ) = deg( E ) and L ( D − E ) � = 0 . Exercises ◮ This is usally efficient (polynomial time) in terms of operations in K . 5 / 40
Computing in the Class Group Algorithmics of Function Fields 2 Number Theory Reduction of divisors: ◮ Fix a divisor A of positive degree. Class Groups Mathematical D ≥ 0 and f ∈ F × such that ◮ For every D there is ˜ Background Computing in the Class Group Computing the D = ˜ Class Group D − rA + div( f ) Applications Class Fields and deg(˜ Mathematical D ) ≤ g + deg( A ) − 1 . Background Computing Ray Class Groups ◮ If A is a prime divisor of degree one and r is minimal Computing Class Fields then ˜ D is uniquely determined. Applications Zeta functions and L-series Class representatives: Mathematical Background Computing ◮ Thus [ D ] = [˜ D − rA ] for every divisor class. L-series Applications ◮ If A is a prime divisor of degree one then ˜ D − rA can be Exercises uniquely chosen. 6 / 40
Computing in the Class Group Algorithmics of Function Fields 2 Number Theory Class Groups Mathematical Background Computing in Reduction of divisors: the Class Group Computing the ◮ The reduced divisor ˜ Class Group D can be computed by an iterative Applications double-and-add method such that the runtime is Class Fields Mathematical polynomial in g , deg( A ) and the length of D . Background Computing Ray Class Groups ◮ Moreover, f is computed as a product of powers of Computing Class Fields elements of F and has length polynomial in g , deg( A ) and Applications Zeta functions the length of D . and L-series Mathematical Background Computing L-series Applications Exercises 7 / 40
Computing in the Class Group Algorithmics of Function Fields 2 Number Theory These ideas can be optimised, for example by precomputations, and worked out in great detail. Class Groups Mathematical Background A (biased) selection of results: Computing in the Class Group ◮ Cantor: If F / K is hyperelliptic then operations in Computing the Class Group Applications Pic 0 ( F / K ) can be reduced to fast polynomial arithmetic Class Fields in degree O ( g ), so the runtime is O ∼ ( g ). Mathematical Background Computing Ray ◮ Makdisi: If F / K is arbitrary then operations in Pic 0 ( F / K ) Class Groups Computing Class can be reduced to fast matrix arithmetic in dimension Fields Applications O ( g ), so the runtime is O ∼ ( g ω ). Zeta functions and L-series ◮ Hess-Junge: If F / K has a rational subfield of index n , Mathematical Background where n = O ( g ) is always possible, then operations in Computing L-series Pic 0 ( F / K ) can be reduced to fast polynomial matrix Applications Exercises arithmetic in dimension O ( n ) and degree O ( g / n ), so the runtime is O ∼ ( n ω ( g / n )). 8 / 40
Computing the Class Group Algorithmics of Function Fields 2 Number Theory We assume that K is finite! Write q = # K . Class Groups Mathematical Background Have Pic 0 ( F / K ) ∼ = Z / c 1 Z × · · · × Z / c 2 g Z . with c i | c i +1 . Computing in the Class Group Computing the Class Group Applications Goal: Class Fields ◮ Compute the c i . Mathematical Background Computing Ray ◮ Compute images and preimages under a fixed isomorphism Class Groups Computing Class Fields Applications φ : Pic( F / K ) → Z ⊕ Z / c 1 Z × · · · × Z / c 2 g Z . Zeta functions and L-series Mathematical Background Computing Denote by A a fixed divisor of degree one that maps under φ to L-series Applications the first cyclic factor of the codomain of φ . Exercises 9 / 40
Computing the Class Group Algorithmics of Function Fields 2 Number Theory Algorithms that work for any finite abelian group G : ◮ Classic runtime O ((# G ) 1 / 2 ). Class Groups Mathematical Background ◮ Improvements often lead to O ((# G ) 1 / 3 ). Computing in the Class Group ◮ So here roughly O ∼ ( q g / 2 ) or O ∼ ( q g / 3 ). Computing the Class Group Applications Class Fields Algorithms that use G = Pic 0 ( F / K ) usually employ an index Mathematical Background Computing Ray calculus strategy: Class Groups Computing Class ◮ If q is small and g is large, the (heuristic) runtime is Fields Applications q ( c + o (1)) g 1 / 2 log( g ) 1 / 2 , and q ( d + o (1)) g 1 / 3 log( g ) 2 / 3 ( † ) in Zeta functions and L-series special families. Mathematical Background ◮ If q is large and g ≥ 2 fixed, then O ∼ ( q 2 − 2 / g ) ( † ) . Computing L-series Applications Exercises ( † ) : This is for discrete logarithms, so restrictions may apply. 10 / 40
Index Calculus Algorithmics of Function Fields 2 Number Theory Setup: Class Groups ◮ Let S denote the set of places of F / K of degree ≤ r , Mathematical Background called factor basis. Computing in the Class Group ◮ Let [ D 1 ] , . . . , [ D s ] denote generators of Pic 0 / F / K ). Computing the Class Group Applications Class Fields Relation search: Mathematical Background Computing Ray ◮ Choose random λ i and compute [˜ D − lA ] = � i λ i [ D i ] Class Groups Computing Class with ˜ Fields D reduced. Applications ◮ Factor ˜ D over S , if possible and obtain Zeta functions and L-series Mathematical Background � λ i [ D i ] = [˜ � D − lA ] = − l [ A ] + n P [ P ] . Computing L-series Applications i P ∈ S Exercises ◮ Store λ i and n P as rows of a matrix and repeat. 11 / 40
Recommend
More recommend