Counting points on smooth plane quartics

Similar documents
Counting points on hyperelliptic curves

Computing L-series of geometrically hyperelliptic curves of genus three. David Harvey, Maike Massierer, Andrew V. Sutherland

A survey of p-adic approaches to zeta functions (plus a new approach)

Computing L-series coefficients of hyperelliptic curves

Computing zeta functions of certain varieties in larger characteristic

Counting points on curves: the general case

Computing zeta functions of nondegenerate toric hypersurfaces

Counting Points on Curves using Monsky-Washnitzer Cohomology

The Sato-Tate conjecture for abelian varieties

Point counting and real multiplication on K3 surfaces

Computations with Coleman integrals

Coleman Integration in Larger Characteristic

Coleman Integration in Larger Characteristic

Counting Points on Curves of the Form y m 1 = c 1x n 1 + c 2x n 2 y m 2

On the evaluation of modular polynomials

FINITE GROUPS AND EQUATIONS OVER FINITE FIELDS A PROBLEM SET FOR ARIZONA WINTER SCHOOL 2016

Towards a precise Sato-Tate conjecture in genus 2

L-Polynomials of Curves over Finite Fields

Equidistributions in arithmetic geometry

Frobenius Distributions

Identifying supersingular elliptic curves

Counting points on elliptic curves over F q

Higher Hasse Witt matrices. Masha Vlasenko. June 1, 2016 UAM Poznań

Class numbers of algebraic function fields, or Jacobians of curves over finite fields

Hyperelliptic-curve cryptography. D. J. Bernstein University of Illinois at Chicago

Class polynomials for abelian surfaces

Elliptic and Hyperelliptic Curve Cryptography

Introduction to Arithmetic Geometry

Polynomial arithmetic and applications in number theory

Hypersurfaces and the Weil conjectures

Constructing genus 2 curves over finite fields

Solving Cubic Equations: An Introduction to the Birch and Swinnerton-Dyer Conjecture

GENERATION OF RANDOM PICARD CURVES FOR CRYPTOGRAPHY. 1. Introduction

Elliptic Curves Spring 2013 Lecture #8 03/05/2013

HMMT February 2018 February 10, 2018

MATH CSE20 Homework 5 Due Monday November 4

Elliptic Curves, Factorization, and Cryptography

Two Types of Equations. Babylonians. Solving Certain Cubic Equations: An Introduction to the Birch and Swinnerton-Dyer Conjecture

Elliptic Curves and Mordell s Theorem

Non-generic attacks on elliptic curve DLPs

Computing the image of Galois

Arithmetic Mirror Symmetry

Elliptic Curves Spring 2013 Lecture #12 03/19/2013

VARIETIES WITHOUT EXTRA AUTOMORPHISMS I: CURVES BJORN POONEN

Linear recurrences with polynomial coefficients and application to integer factorization and Cartier-Manin operator

Integer multiplication and the truncated product problem

Igusa Class Polynomials

Computation of zeta and L-functions: feasibility and applications

Computing zeta functions in families of C a,b curves using deformation

18.S34 linear algebra problems (2007)

Computing Bernoulli numbers

1. Introduction. Mathematisches Institut, Seminars, (Y. Tschinkel, ed.), p Universität Göttingen,

Congruent Number Problem and Elliptic curves

Counting points on genus 2 curves over finite

HOME ASSIGNMENT: ELLIPTIC CURVES OVER FINITE FIELDS

Counting points on elliptic curves: Hasse s theorem and recent developments

A p-adic Birch and Swinnerton-Dyer conjecture for modular abelian varieties

A heuristic quasi-polynomial algorithm for discrete logarithm in small characteristic

Seminar on Motives Standard Conjectures

AMICABLE PAIRS AND ALIQUOT CYCLES FOR ELLIPTIC CURVES OVER NUMBER FIELDS

Cubic hypersurfaces over finite fields

Elliptic Curves over Finite Fields

Kummer Surfaces. Max Kutler. December 14, 2010

inv lve a journal of mathematics 2009 Vol. 2, No. 3 Numerical evidence on the uniform distribution of power residues for elliptic curves

CS286.2 Lecture 8: A variant of QPCP for multiplayer entangled games

8.1 Bifurcations of Equilibria

Diophantine equations and beyond

Numerical computation of endomorphism rings of Jacobians

8 Elliptic Curve Cryptography

Computing the endomorphism ring of an ordinary elliptic curve

Old and new algorithms for computing Bernoulli numbers

Genus 2 Curves of p-rank 1 via CM method

8 Point counting. 8.1 Hasse s Theorem. Spring /06/ Elliptic Curves Lecture #8

Rational Curves On K3 Surfaces

LECTURE 2 FRANZ LEMMERMEYER

Superspecial curves of genus 4 in small charactersitic 8/5/2016 1

Numerical verification of BSD

Introduction to Arithmetic Geometry Fall 2013 Lecture #24 12/03/2013

Igusa Class Polynomials

Mod 2 linear algebra and tabulation of rational eigenforms

Examples of numerics in commutative algebra and algebraic geo

Discrete logarithms: Recent progress (and open problems)

Finding small factors of integers. Speed of the number-field sieve. D. J. Bernstein University of Illinois at Chicago

Explicit Examples of Strebel Differentials

A WHIRLWIND TOUR BEYOND QUADRATICS Steven J. Wilson, JCCC Professor of Mathematics KAMATYC, Wichita, March 4, 2017

Elliptic Curves. Dr. Carmen Bruni. November 4th, University of Waterloo

Elliptic Curve Discrete Logarithm Problem

Computing modular polynomials with the Chinese Remainder Theorem

Experience in Factoring Large Integers Using Quadratic Sieve

PROBLEMS ON LINEAR ALGEBRA

0. Introduction 1 0. INTRODUCTION

Contents. 1 Vectors, Lines and Planes 1. 2 Gaussian Elimination Matrices Vector Spaces and Subspaces 124

Isogeny graphs, modular polynomials, and point counting for higher genus curves

QUALIFYING EXAMINATION Harvard University Department of Mathematics Tuesday January 20, 2015 (Day 1)

Calcul d indice et courbes algébriques : de meilleures récoltes

Calculation and arithmetic significance of modular forms

Lecture VI: Projective varieties

Factoring Algorithms Pollard s p 1 Method. This method discovers a prime factor p of an integer n whenever p 1 has only small prime factors.

COMPUTING ENDOMORPHISM RINGS OF JACOBIANS OF GENUS 2 CURVES OVER FINITE FIELDS

Cohomological Formulation (Lecture 3)

Transcription:

Counting points on smooth plane quartics David Harvey University of New South Wales Number Theory Down Under, University of Newcastle 25th October 2014 (joint work with Andrew V. Sutherland, MIT) 1 / 36

Zeta functions of curves p = a prime C = a curve of genus g over F p The zeta function of C is the generating function Z(T ) := exp #C(F p k ) k k 1 T k. 2 / 36

Zeta functions of curves Example: let p = 7 and let C be the zero locus in P 2 of F = X 4 + 2Y 4 Z 4 + XY 3 2YZ 3 + 2ZX 3. By naive point enumeration, we find that #C(F p ) = 3, #C(F p 4) = 2587, #C(F p 2) = 55, #C(F p 5) = 17183, #C(F p 3) = 345, #C(F p 6) = 117091, and thus Z(T ) = 1 + 3T + 32T 2 + 202T 3 + 1497T 4 + 10317T 5 + 72400T 6 + 3 / 36

Zeta functions of curves The zeta function always has the form Z(T ) = where L(T ) Z[T ] has degree 2g. L(T ) (1 T )(1 pt ) Much of my research is about algorithms for computing L(T ). In our example, L(T ) = 1 5T + 15T 2 33T 3 + 15 7T 4 5 7 2 T 5 + 7 3 T 6. 4 / 36

Smooth plane quartics In this talk we focus on smooth plane quartics. So C is the zero locus in P 2 of a homogeneous F (X, Y, Z) of degree 4. Smooth means that F X, F Y, F Z have no common zeroes in P2. Equivalently, these are the non-hyperelliptic curves of genus 3 over F p. 5 / 36

Smooth plane quartics For any such curve, L(T ) has the form L(T ) = 1 + a 1 T + a 2 T 2 + a 3 T 3 + pa 2 T 4 + p 2 a 1 T 5 + p 3 T 6 where a 1, a 2, a 3 are integers. Given F as input, our mission is to compute a 1, a 2, a 3. 6 / 36

Smooth plane quartics Equivalently, we are computing the Frobenius eigenvalues for C. In our example, the complex roots of L(1/T ) are { 1.315 ± 2.296i, 1.559 ± 2.138i, 2.256 ± 1.382i}. They all have absolute value p. 7 / 36

The Sato Tate conjecture A major application of such algorithms is to study the Sato Tate conjecture. Assume C is a smooth plane quartic over the rational numbers, defined by F Z[X, Y, Z]. For all but finitely many primes, F modulo p defines a smooth plane quartic over F p. So we can define L p (T ) for these primes. The Sato Tate conjecture predicts how the Frobenius eigenvalues are distributed as p varies. 8 / 36

The Sato Tate conjecture Sato Tate recently proved for genus 1 (elliptic curves). Still wide open for g 2. Over the last few years, Kedlaya and Sutherland (and others) have investigated it numerically for hyperelliptic curves of genus 2 and 3. 9 / 36

Distribution of the normalized trace (sum of eigenvalues) for the hyperelliptic genus 3 curve y 2 = x 7 x + 1, for p 2 30 : Took about 4 CPU days to generate the data. (Prior to my average polynomial time algorithm, would have needed about 4 CPU years.) 10 / 36

Same graph for y 2 = x 7 + 3x 6 + 2x 5 + 6x 4 + 4x 3 + 12x 2 + 8x, which has interesting automorphisms. 11 / 36

Computing L(T ) naive algorithm To compute L(T ), it s enough to count points over F p, F p 2 and F p 3. Let s ignore the points at infinity (which are easy to count separately). To count the number of points over F p i, the naive algorithm is to plug in every possible value of x 0 F p i into F (x 0, y, 1), and count the number of roots of the resulting quartic polynomial in F p i [y]. Thus we can compute L(T ) in time O(p 3+ε ). For p 1000, an efficient implementation would take a few hours (?). 12 / 36

Computing L(T ) existing methods I will briefly discuss existing implementations of: Deformation method. Monsky Washnitzer cohomology. Abbott Kedlaya Roe (AKR). DISCLAIMER: Performance depends on hardware and choice of language. This is NOT intended to be a rigorous, fair comparison. 13 / 36

Computing L(T ) existing methods Deformation method (Lauder, 2004). State of the art is C/FLINT implementation of Jan Tuitman and Sebastian Pancratz (2013). Last week I asked Jan to run some examples for me. For a random plane quartic over F p with p = 1009, can compute L(T ) in about 3 minutes using 650 MB RAM. Time and space are both O(p 1+ε ), both in theory and in practice. 14 / 36

Computing L(T ) existing methods Monsky Washnitzer cohomology (Kedlaya, 2001). Originally only for hyperelliptic curves. Generalised to nondegenerate curves by Denef Castryck Vercauteren (2006). Never been implemented in full. Jan Tuitman has worked out an even more general variant (2014). For p = 1009, his current Magma implementation gets L(T ) (modulo p) in about 40 seconds, using about 20 MB RAM. Again time and space are O(p 1+ε ). 15 / 36

Computing L(T ) existing methods [ASIDE: To compute L(T ), it is enough to compute L(T ) modulo p. Given L(T ) modulo p, can lift to L(T ) Z[T ] by applying a baby-step giant-step algorithm to J(F p ), the Jacobian of the curve. This has complexity O(p 1/4+ε ). Not yet implemented, but anticipated to be lightning fast.] 16 / 36

Computing L(T ) existing methods Abbott Kedlaya Roe (2005). Works for any smooth projective hypersurface, of any degree and dimension. Original complexity was probably O(p 3+ε ). Around 2010, I improved this to O(p 1+ε ) (unpublished). The space complexity drops to O(log p), i.e., essentially constant. Edgar Costa s current C++/NTL implementation can handle p = 1009 in about 0.01 seconds. 17 / 36

Computing L(T ) existing methods Briefly, a few related algorithms: Schoof Pila (1990): theoretically O((log p) C ) for some C (probably C 12?), but not practical for interesting range of p. Ritzenthaler (2004): AGM method, but only over F 2 n. Bauer Teske Weng (2005): only Picard curves, i.e., Y 3 Z = c 0 X 4 + + c 4 Z 4. 18 / 36

New algorithm Today I will give an overview of a new algorithm. It is closely related to the one implemented by Costa, but conceptually much simpler. My current C code can do p = 1009 in about 0.001 seconds. As before, time complexity is O(p 1+ε ) and space complexity is O(log p). 19 / 36

New algorithm Let C be the smooth plane quartic, defined by F F p [X, Y, Z] (degree 4). Let (F n ) i,j,k be the coefficient of X i Y j Z k in F n. The Hasse Witt matrix of C is the 3 3 matrix over F p defined by (F p 1 ) p 1,p 1,2p 2 (F p 1 ) 2p 1,p 1,p 2 (F p 1 ) p 1,2p 1,p 2 W := (F ) p 2,p 1,2p 1 (F p 1 ) 2p 2,p 1,p 1 (F p 1 ) p 2,2p 1,p 1. (F p 1 ) p 1,p 2,2p 1 (F p 1 ) 2p 1,p 2,p 1 (F p 1 ) p 1,2p 2,p 1 (This the matrix of the Cartier Manin operator with respect to a certain basis for the space of regular differentials on the curve.) 20 / 36

Target coefficients of F p 1 for p = 7: Z 4p 4 X 4p 4 Y 4p 4 21 / 36

New algorithm It turns out that L(T ) = det(i WT ) (mod p), i.e., L(T ) is the characteristic polynomial of W modulo p (modulo some change of variables). So all we need to do is efficiently compute the nine coefficients (F p 1 ) i,j,k appearing in the formula for W. 22 / 36

New algorithm Key idea: there are relations between neighbouring coefficients of F p 2. Let us sketch how to derive these relations. Start with F p 1 = F F p 2. Equating coefficients of X i Y j Z k yields (F p 1 ) i,j,k = F i0,j 0,k 0 (F p 2 ) i i0,j j 0,k k 0. i 0 +j 0 +k 0 =4 This expresses a given coefficient of F p 1 as a linear combination of a bunch of nearby coefficients of F p 2. 23 / 36

Example: the coefficient of (F p 1 ) 12,5,7 is a linear combination of the following coefficients of F p 2 : Z 4p 8 X 4p 8 Y 4p 8 24 / 36

New algorithm But there is another way to get such a relation. Define X := X X. By the chain rule we have Equating coefficients gives i(f p 1 ) i,j,k = X (F p 1 ) = X F F p 2. i 0 +j 0 +k 0 =4 i 0 F i0,j 0,k 0 (F p 2 ) i i0,j j 0,k k 0. 25 / 36

New algorithm Eliminating the coefficient of F p 1, we get (i + i 0 )F i0,j 0,k 0 (F p 2 ) i i0,j j 0,k k 0 = 0. i 0 +j 0 +k 0 =4 This is a nontrivial relation among nearby coefficients of F p 2. 26 / 36

Now consider a larger triangle, of side length 6: Z 4p 8 X 4p 8 Y 4p 8 27 / 36

Algebraic magic: the relation derived above, plus an analogous relation for Y, are enough to move the triangle around: = 28 / 36

New algorithm I am being slightly dishonest. We need one additional condition: that F is nondegenerate. This means: 1 F (1, 0, 0), F (0, 1, 0) and F (0, 0, 1) are nonzero, and 2 F (0, Y, Z), F (X, 0, Z) and F (X, Y, 0) have no repeated factors. 29 / 36

New algorithm Condition (1) means that the curve does not pass through the points (1, 0, 0), (0, 1, 0), (0, 0, 1). Condition (2) means that the curve intersects the coordinates axes (X = 0, Y = 0 and Z = 0) transversally. Nondegeneracy is a very mild condition. Almost every smooth plane quartic satisfies it. If we are given an equation that is not nondegenerate, a random coordinate change will likely produce a nondegenerate one (provided p is not too small), and this does not change the zeta function. 30 / 36

New algorithm So now the algorithm is very simple to explain: Start with a triangle at one of the vertices, e.g. near X 4p 8. The coefficients of F p 2 here are trivial to compute. Move it around until we arrive at the target coefficients. Deduce the relevant coefficients of F p 1 by using the relation F p 1 = F F p 2. Assemble the Hasse Witt matrix W. We re done! 31 / 36

New algorithm Notice we have not used the smoothness of C anywhere. Taking smoothness into account, it is possible to work with 16 16 matrices instead of 28 28. This yields a speedup by a factor of about 3. 32 / 36

New algorithm Let s be more precise about the running time. Let M(n) be the bit complexity of multiplying n-bit integers. The new algorithm runs in time O(p M(log p)), i.e., it performs O(p) additions/multiplications of integers with O(log p) bits. (The version with Costa is the same.) Previous algorithms, including Kedlaya, Lauder, etc, all run in time O(M(p log p)), because they multiply polynomials of degree p with coefficients of bit size O(log p). In theory, we save a factor of about log p. The improved space complexity also makes a huge difference in practice. 33 / 36

Variants Two possible variants: square root time version average polynomial time version 34 / 36

Square root time complexity Using the Strassen Pollard approach, can improve time complexity to O(p 1/2+ε ), at the expense of increasing space complexity to O(p 1/2+ε ). To my knowledge this has only been implemented for hyperelliptic curves (by Bostan Gaudry Schost and myself) and superelliptic curves (Minzlaff 2010). Should be competitive for moderate size p; will try it soon. 35 / 36

Average polynomial time complexity Now suppose C is a plane quartic defined over Q. Using the same ideas from my paper on the hyperelliptic case (2014), we can construct an algorithm that computes L p (T ) for all primes p N in time O(N log 3+ε N). In other words, the average time per prime is O((log p) 4+ε ). Sutherland and I are working on an implementation of this right now. Based on our experience with hyperelliptic curves, we expect it to be extremely fast. More details soon! 36 / 36