Solving p -adic differential equations in point counting algorithms Hendrik Hubrechts Katholieke Universiteit Leuven (Belgium) Oxford, March 16, 2010
Solving p -adic Computing the zeta function of a hyperelliptic curve (HEC) differential equations Hendrik Hubrechts ◮ Let p be prime, F p n a finite field. We suppose here p ≥ 3. ◮ A hyperelliptic curve ¯ C / F p n of genus g of equation Y 2 = ¯ Q ( X ) = X 2 g +1 + a 2 g X 2 g + · · · + a 1 X + a 0 . ¯ Q ( X ) where ◮ We can lift this setting to Y 2 = Q ( X ) over Z p n ⊂ Q p n . ◮ (Kedlaya) For computing the zeta function of ¯ C : suffices to determine matrix F of p th power Frobenius on H − MW , a 2 g -dimensional vector space over Q p n with basis { X i dX / Y 3 , i = 0 , . . . , 2 g − 1 } . ◮ With σ : Q p n → Q p n the Frobenius automorphism, the matrix F · F σ · · · F σ n − 1 determines the zeta function. Algorithmic (Kedlaya): can all be done with sufficient precision p n · c in ˜ O n ( n 3 ) bit operations, and bit space O n ( n 3 ).
Solving p -adic Deformation of hyperelliptic curves differential equations Hendrik Hubrechts Y 2 = Q ( X , t ) = X 2 g +1 + · · · ∈ Z p n [ X , t ] : ¯ such that for almost all ¯ t 0 ∈ F alg cl Q ( X , ¯ t 0 ) is squarefree. p n ◮ Goal: Given Frobenius F (0) for t = 0, find Frobenius F ( t 0 ) for some given root of unity t 0 . ∂ Q ( X , t ) ◮ Bad fibers: roots modulo p of r ( t ) := Res X ( Q ( X , t ); ). ∂ X ◮ Requirements for r ( t ): ¯ r (0) � = 0; ¯ r ( t ) squarefree; gcd( r ( t ) , r σ ( t p )) = 1. deg r ( t ) = deg ¯ r ( t ); ◮ Idea (Lauder): Take ‘relative version’ of Kedlaya’s construction: H − MW ( t ), free module of rank 2 g over �� � � ord ( g i ( t )) A † := � g i ( t ) r ( t ) i � lim inf > 0 . � � | i | i i ∈ Z
Solving p -adic Deformation — differential equation differential equations Hendrik Hubrechts ◮ We can consider the ‘generic matrix of Frobenius’ F ( t ) over A † , on H − MW ( t ). We indeed have that F ( t 0 ) is the matrix of Frobenius for the corresponding curve Y 2 = Q ( X , t 0 ). ◮ Derivation w.r.t. t gives the connection ∇ : H − MW ( t ) → H − MW ( t ) ⊗ A † Ω 1 A † , d ϕ ϕ �→ dt dt . ◮ Let G ( t ) be the matrix of ∇ , still w.r.t. the basis { X i dX / Y 3 , i = 0 , . . . , 2 g − 1 } . Note that G ( t ) can be computed easily. ◮ From the commutation of Frobenius and the connection follows dF ( t ) + G ( t ) · F ( t ) = pt p − 1 F ( t ) · G σ ( t p ) . dt
Solving p -adic More differential equations differential equations Hendrik Hubrechts ◮ In our setting: G ( t ) = H ( t ) r ( t ) , where H ( t ) consists of polynomials. This gives rr σ dF dt + r σ HF = pt p − 1 rFH σ . ◮ We have to work modulo p nc , then nc 2 � f i ( t ) · r ( t ) i mod p nc . F ( t ) ≡ − nc 1 ◮ Define K ( t ) := r ( t ) nc 1 · F ( t ), then K ( t ) mod p nc consists of polynomials of degree at most nc 3 . ◮ The differential equation for K ( t ) becomes: rr σ dK dt − ( nc 1 ) r σ dr dt K + r σ HK = pt p − 1 rKH σ .
Solving p -adic Solving the equations differential equations Hendrik Hubrechts rr σ dK dt − ( nc 1 ) r σ dr dt K + r σ HK = pt p − 1 rKH σ . ◮ Assumption. We know K 0 = r (0) nc F (0). ◮ Isolating the coefficient of t i − 1 in the equation for K ( t ) = � K i t i : 1 K i ≡ i · r (0) r σ (0) · (linear combination of K i − 1 , . . . , K i − ζ ) with ζ = O n (1) . 1 �� nc 3 i =0 K i t i � ◮ Result: F ( t ) ≡ . r ( t ) nc Complexity to find F ( t ) (and also F ( t 0 ) and the zeta function): We need nc 3 iterations, each one consists of ζ · ˜ O n ( n 2 ) bit operations. Total bit operations: ˜ O n ( n 3 ), bit space O n ( n 3 ). Note that the bit size cannot be smaller!
Solving p -adic Applications differential equations Hendrik Hubrechts 1. Point counting in families defined over F p : ˜ O n ( n 2 ). 2. Memory efficient point counting. 3. Time efficient point counting. 4. Fibration method (work in progress!).
Solving p -adic The Chudnovsky and Chudnosky trick for recurrence relations. differential equations Hendrik Hubrechts ◮ Suppose we want to compute a N for N >> 0 (and N ∈ Z 2 ) from a i +1 := f ( i ) · a i , given a 0 , where f ( t ) ∈ Q ( t ), ‘degree f ’ ≤ α . ◮ First compute √ √ √ √ ϕ ( n ) := ϕ ( n N ) · ϕ ( n N + 1) · · · ϕ ( n N + ( N − 1)) . √ Can be done in ˜ O ( N ) ‘operations’ via binary product. Note: √ ‘degree ϕ ’ ≤ N α . ◮ Then compute √ √ a N = f (0) · f (1) · · · f ( N − 1) · f ( N ) · · · f ( N − 1) a 0 = √ ϕ (0) · ϕ (1) · · · ϕ ( N ) a 0 . √ This can again be done in ˜ O ( N ) ‘operations’ via fast multipoint evaluation followed by a binary product.
Recommend
More recommend