Counting points on curves Edgar Costa Dartmouth College Qu - - PowerPoint PPT Presentation

counting points on curves
SMART_READER_LITE
LIVE PREVIEW

Counting points on curves Edgar Costa Dartmouth College Qu - - PowerPoint PPT Presentation

Counting points on curves Edgar Costa Dartmouth College Qu ebec-Maine Number Theory conference, 8th October 2016 (joint work with David Harvey, UNSW) 1 / 22 Edgar Costa (Dartmouth College) Counting points on curves Setup p = prime C P


slide-1
SLIDE 1

Counting points on curves

Edgar Costa

Dartmouth College

Qu´ ebec-Maine Number Theory conference, 8th October 2016

(joint work with David Harvey, UNSW)

1 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-2
SLIDE 2

Setup

p = prime C ⊂ Pn

Fp = algebraic curve defined over Fp

The Hasse–Weil zeta function of C is the generating function ZC(t) := exp

  • a>0

#C(Fpa)ta a

  • 2 / 22

Edgar Costa (Dartmouth College) Counting points on curves

slide-3
SLIDE 3

Example

Let p = 5 and C be genus 3 curve given in P2 by x4 + xy3 + 2y4 − z4 = 0

3 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-4
SLIDE 4

Example

Let p = 5 and C be genus 3 curve given in P2 by x4 + xy3 + 2y4 − z4 = 0 By naive point enumeration, we find that #C(Fp) = 9, #C(Fp4) = 581, #C(Fp2) = 29, #C(Fp5) = 3309, #C(Fp3) = 156, . . .

3 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-5
SLIDE 5

Example

Let p = 5 and C be genus 3 curve given in P2 by x4 + xy3 + 2y4 − z4 = 0 By naive point enumeration, we find that #C(Fp) = 9, #C(Fp4) = 581, #C(Fp2) = 29, #C(Fp5) = 3309, #C(Fp3) = 156, . . . thus: ZC(t) = 1 + 9t + 55t2 + 304t3 + 1579t4 + 8029t5 + 40404t6 + · · ·

3 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-6
SLIDE 6

Example

Let p = 5 and C be genus 3 curve given in P2 by x4 + xy3 + 2y4 − z4 = 0 By naive point enumeration, we find that #C(Fp) = 9, #C(Fp4) = 581, #C(Fp2) = 29, #C(Fp5) = 3309, #C(Fp3) = 156, . . . thus: ZC(t) = 1 + 9t + 55t2 + 304t3 + 1579t4 + 8029t5 + 40404t6 + · · · = 1 + 3t + 6t2 + 19t3 + 6 · 5t4 + 3 · 52t5 + 1 · 53t6 (1 − t)(1 − 5t)

3 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-7
SLIDE 7

Typical algorithms

Naively computing #C(Fp), #C(Fp2), · · · , #C(Fpg) is not practical! Looping over Fpg takes at least O(pg) time.

4 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-8
SLIDE 8

Typical algorithms

Naively computing #C(Fp), #C(Fp2), · · · , #C(Fpg) is not practical! Looping over Fpg takes at least O(pg) time. One can them compute the last line with variety of methods. ℓ-adic cohomology p-adic cohomology

4 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-9
SLIDE 9

New method

Today I will overview a new elementary method to compute LC(t).

5 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-10
SLIDE 10

New method

Today I will overview a new elementary method to compute LC(t). Simple Practical Cohomology free!

5 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-11
SLIDE 11

New method - Input/Output

Input: F(x, y, z) homogeneous polynomial of degree d Output: LC(t), where C is the desingularization of the zero locus of F(x, y, z) in P2

6 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-12
SLIDE 12

New method - Input/Output

Input: F(x, y, z) homogeneous polynomial of degree d Output: LC(t), where C is the desingularization of the zero locus of F(x, y, z) in P2 Assumption: The polynomials F(0, y, z), F(x, 0, y) and F(x, y, 0) have no repeated factors. Geometrically, the curve given by F intersects the coordinate axes (x = 0, y = 0, and z = 0) transversally.

6 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-13
SLIDE 13

New method - Ingredients

C curve of genus g that is the desingularization of {F = 0} ⊂ P2 Goal: compute #C(Fpa)

7 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-14
SLIDE 14

New method - Ingredients

C curve of genus g that is the desingularization of {F = 0} ⊂ P2 Goal: compute #C(Fpa) Approach: Compute #{F(x, y, z) = 0 : (x, y, z) ∈ P2(Fpa), xyz = 0} Compute #{F(x, y, z) = 0 : (x, y, z) ∈ P2(Fpa), xyz = 0} Resolve the singularities of F(x, y, z) = 0 (over Fp) Altogether, we can deduce #C(Fpa).

7 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-15
SLIDE 15

New method - Ingredients

C curve of genus g that is the desingularization of {F = 0} ⊂ P2 Goal: compute #C(Fpa) Approach: ⇒Compute #{F(x, y, z) = 0 : (x, y, z) ∈ P2(Fpa), xyz = 0} Compute #{F(x, y, z) = 0 : (x, y, z) ∈ P2(Fpa), xyz = 0} Resolve the singularities of F(x, y, z) = 0 (over Fp) Altogether, we can deduce #C(Fpa).

7 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-16
SLIDE 16

New method - Trace formula

Let Bℓ = {u ∈ N3 :

i ui = ℓ}.

For u ∈ Bdn, let (F n)u be the coefficient of xu0yu1zu2 in F n. (Ms)v,u :=

  • F s(p−1)

pv−u

for v, u ∈ Bds.

8 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-17
SLIDE 17

New method - Trace formula

Let Bℓ = {u ∈ N3 :

i ui = ℓ}.

For u ∈ Bdn, let (F n)u be the coefficient of xu0yu1zu2 in F n. (Ms)v,u :=

  • F s(p−1)

pv−u

for v, u ∈ Bds. M0, M1, . . . , Mλ #C(Fpa) mod pλ ∀a

8 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-18
SLIDE 18

New method - Trace formula

Let Bℓ = {u ∈ N3 :

i ui = ℓ}.

For u ∈ Bdn, let (F n)u be the coefficient of xu0yu1zu2 in F n. (Ms)v,u :=

  • F s(p−1)

pv−u

for v, u ∈ Bds. M0, M1, . . . , Mλ #C(Fpa) mod pλ ∀a Harvey (2015) For p not small: #{F(x, y, z) = 0 : (x, y, z) ∈ P2(Fpa), xyz = 0} = (pa − 1)2

λ

  • s=0
  • λ

s

  • Tr(Ma

s ) mod pλ

8 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-19
SLIDE 19

M1 for p = 7, d = 5

9 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-20
SLIDE 20

M1 for p = 13, d = 5

10 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-21
SLIDE 21

M1 for p = 53, d = 5

11 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-22
SLIDE 22

M3 for p = 53, d = 5

12 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-23
SLIDE 23

M3 for p = 199, d = 5

13 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-24
SLIDE 24

New method - Key idea

There are relations between neighbouring coefficients of F n. We can derive these relations from: F n+1 = F · F n ∂xF n+1 = (n + 1)∂xF · F n

  • r any other derivative.

14 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-25
SLIDE 25

Example, d = 4 and n = 4

The coefficient (F n+1)(12,3,5) is known if given F n on:

15 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-26
SLIDE 26

Example, d = 4 and n = 4

Indeed, there are 2 independent equations involving the red dots

16 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-27
SLIDE 27

Example, d = 4 and n = 4

Combining enough relations we can move a larger triangle.

17 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-28
SLIDE 28

Example, d = 4 and n = 4

Combining enough relations we can move a larger triangle.

18 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-29
SLIDE 29

Example, d = 4 and n = 4

Combining enough relations we can move a larger triangle.

19 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-30
SLIDE 30

New method - Altogether

Start with a triangle at one of the vertices, where the coefficients

  • f F s(p−1) are trivial to compute.

Move it around until we have computed by all the target coefficients. Assemble Ms in O(p) time

20 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-31
SLIDE 31

Toy implementation in sage

Setup: d = 6 and genus = 5 p = 1009 : 7 minutes p = 1999 : 14 minutes

21 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-32
SLIDE 32

Toy implementation in sage

Setup: d = 6 and genus = 5 p = 1009 : 7 minutes p = 1999 : 14 minutes Tuitman’s algorithm in Magma: p = 1009 : 8 minutes p = 1999 : 24 minutes Disclaimer: this is NOT a fair comparison.

21 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-33
SLIDE 33

Future

Short term: Finish C++ implementation precision bounds Long term, perhaps consider the two obvious improvements: reduce the running time to p1/2+o(1). average polynomial time

22 / 22 Edgar Costa (Dartmouth College) Counting points on curves

slide-34
SLIDE 34

Future

Short term: Finish C++ implementation precision bounds Long term, perhaps consider the two obvious improvements: reduce the running time to p1/2+o(1). average polynomial time

Thank you!

22 / 22 Edgar Costa (Dartmouth College) Counting points on curves