Algo Zeta En
Algo Zeta En
Algo Zeta En
13 avril 2024
Résumé
By exploiting power elementary symmetric polynomials and Newton’s identities,
we find an algorithm that allows us to compute the zeta function of certain varieties
that are extensions of a variety where the zeta function is already known.
2 Algorithms 5
2.1 Usual algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Calcul de Q en fonction de P . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Application au calcul de la fonction zêta d’une variété . . . . . . . . . . . . . 10
Références 13
Through Newton’s identities, we will deduce in this section the expression of the poly-
nomial :
r−1
i
∏ P (ξ T )
i=0
1
1.1 Notations
We will maintain these notations throughout the section.
1.1.1. We decompose P into
b b
P (T ) =∶ a0 ∏(1 − αj T ) ∶= ∑ ak T k
j=1 k=0
b
where (αj )1≤j≤b is an element of Q .
1.1.2. We have the following sequence of equalities :
r−1 r b b
i s i rs r
∏ P (ξ T ) = ∏ ∏(1 − αj ξ T ) = ∏(1 − αj T ).
i=0 i=1 j=1 j=1
So ∏r−1 i r
i=0 P (ξ T ) is an element of Z[T ].
We then define the polynomial Q of degree b with integer coefficients by
r−1
Q(T r ) ∶= ∏ P (ξ i T )
i=0
We decompose Q into
b b
Q(T ) =∶ ar0 ∏(1 − βj T ) ∶= ∑ bk T k
j=1 k=0
b
where (βj )1≤j≤b is an element of Q .
(2) Let s be a natural number. The sth power Newton sum is the polynomial σ1,s , simply
denoted Ss .
These polynomials are related to each other by the Newton’s identities (Girard,
1629) :
k−1
(−1)k kσk,s + ∑ (−1)i σi,s Ss(k−i) = 0 (∀k ≥ 1, ∀s ≥ 0). (1)
i=0
2
(ii)
k−1
∑ bi Sr(k−i) (α) + kbk = 0.
i=0
where α ∶= (α1 , . . . , αb ).
Démonstration. The relation (i) is deduced from Newton’s identities (1) by taking s equal
to 1 and from the relations
The relation (ii) is deduced from Newton’s identities (1) by taking s equal to r and
from the relations
bk = (−1)k ar0 σk,r (α) (∀0 ≤ k ≤ b).
We also set
∑ ∶= ∑ .
∣u∣1 =k u ∶= (u1 , . . . , ub ) ∈ Nb
∣u∣1 = k
3
⎛ 1 ∣v∣0 ! ⎞
= ∑ ⎜ ∑ ∣v∣ (−a)v ⎟ T s .
s≥1 ⎝∣v∣1 =s a 0 ∣v∣0 v! ⎠
0
1.3 A Example
We provide an example explaining the results of the previous section.
4
● for k = 2, the solutions of ∣u∣1 = 2 are (2, 0, 0) and (0, 1, 0), thus
2
⎛ (∣v∣0 − 1)! v ⎞ (∣v∣0 − 1)! v
b2 = 2 ⎜ ∑ (−1)∣v∣0 a ⎟ − 2 ∑ (−1)∣v∣0 a .
⎝∣v∣1 =2 v! ⎠ ∣v∣1 =4 v!
The solutions of ∣v∣1 = 4 are (4, 0, 0), (2, 1, 0), (0, 2, 0), and (1, 0, 1), thus
(−19)2
b2 = 2 × 192 − 2 × = 361;
2
● for k = 3, the solutions of ∣u∣1 = 3 are (3, 0, 0), (1, 1, 0), and (0, 0, 1), thus
3
4⎛ (∣v∣0 − 1)! v ⎞
b3 = − ⎜ ∑ (−1)∣v∣0 a ⎟
3 ⎝∣v∣ =2 v! ⎠
1
The solutions of ∣v∣1 = 6 are (6, 0, 0), (4, 1, 0), (2, 2, 0), (0, 3, 0), (3, 0, 1), (1, 1, 1),
and (0, 0, 2), thus
2 Algorithms
We fix a prime number p, a power q of p, and an integer r greater than 1.
If we know the zeta function of a variety X over Fq (i.e., a Fq -scheme of finite type
separated), we will deduce from the results of the previous section an algorithm calculating
the zeta function of
XFqr ∶= X ⊗Fq Fqr .
5
2.1 Usual algorithms
We fix an integer N greater than 1. Let A ∶= Z/pN Z.
2.1.2. Consider polynomials A and B in A[T ] of degrees n and m respectively such that
n ≥ m. Suppose A is monic. We recall an algorithm that allows us to compute the Euclidean
division of A by B. The polynomial T m B(1/T ) is invertible modulo T n−m+1 because its
value at 0 is 1. Let A ∶= BQ + R be the Euclidean division of A by B where R is a
polynomial in A[T ] such that deg R < m. We have
So the polynomial T n−m Q(1/T ) (and thus Q by reversing the coefficients) is obtained by
letting T tend to infinity since
DivEucl(A, B)
Steps 1 and 4 simply involve reversing the coefficients, which are done in n + m opera-
tions and n − m operations respectively.
Step 2.1 is performed in O((n−m)1+ϵ ) operations. If we denote cn−m+1 as the complexity
of Step 2, we have the relation
6
hence cn−m+1 is
O((n − m)1+ϵ ) = O(n1+ϵ ).
Steps 3 and 5 involve polynomial multiplications, which are performed in O((n−m)1+ϵ ) =
O(n1+ϵ ) operations and O(m1+ϵ ) operations respectively. Thus, the number of elementary
operations is
O(n1+ϵ ).
2.1.3. We recall an algorithm that allows computing the s-th term of a linear recurrent
sequence with coefficients in A of order b. Here is the algorithm :
Through the Euclidean division algorithm, multiplication in A[T ]/(R) has a complexity
of O(b1+ϵ ). The number of recursive calls is O(log s). Thus, the number of elementary
operations is
O(b1+ϵ log s).
7
(ii) Soit λ un réel supérieur à 1 tel que
Alors on a
∥Q∥ ≤ 2b ∣a0 ∣r λbr .
Montrons (ii). Soit k un entier tel que 0 ≤ k ≤ b. Des relations existant entre les
coefficients et les racines du polynôme Q, on déduit les inégalités
b
bk b
∣ r
∣ ≤ ∑ ∣β i1 ∣⋯∣βik ∣ ≤ ∑ ( )λrk
a0 1≤i1 <...<ik ≤b k=0 k
≤ 2b λrb .
Démonstration. Voici toutes les étapes de l’algorithme, on donne leurs validités et leurs
complexités.
8
AlgoRec(P, r, M )
Entrée : un polynôme P de degré b à coefficients entiers tel que P (0) soit non nul, un
entier r supérieur à 1 et un entier naturel MQ .
Sortie : le polynôme Q tel que
r−1
Q(T r ) = ∏ P (ξ i T ).
i=0
A ∶= Z/pN Z
O (b2 N 1+ϵ ) .
étape 2 : la suite (δ rk srk )1≤k≤[b/r] est déjà calculé dans l’étape 1. En appliquant l’al-
gorithme SuiteRec, on calcule δ rk srk en O(b1+ϵ log rk) étapes pour tout entier tel que
[b/r] + 1 ≤ k ≤ b.
Le nombre d’opérations dans l’étape 2 est
b!
O (b1+ϵ log (r )) = O(b2+ϵ + b1+ϵ log r).
[b/r]!
étape 3 : on applique les relations de récurrences linéaires (ii) du corollaire (1.2.2). Pour
être exacts, les calculs doivent se faire modulo δ rk bMQ (on prend alors N = [logp (b)MQ +
rb logp δ] + 1).
Pour tout entier k tel que 1 ≤ k ≤ b, le calcul de bk à partir des (bj )1≤j≤k−1 se fait en
2k + 1 opérations dans A. Le nombre d’opérations dans l’étape 3 est donc O(b2 ).
9
Ainsi la complexité de l’étape 3 vaut
O (b2+ϵ N 1+ϵ ) .
Remarque 2.2.4. La complexité qui nous intéresse est celle en r. On déduit de la propo-
sition (2.2.2) que pour avoir des algorithmes efficaces, il sera plus intéressant d’avoir des
informations sur les racines de P que sur la norme de Gauss de P car pr,b est exponentielle
en r (voir la section (I.3) de [F-S09]).
Remarque 2.2.5. (1) On pourrait aussi exploiter le corollaire (1.2.4), il faudrait chercher
les solutions des équations du type
∣v∣1 = m (3)
où v est un élément de Nb et m est un entier naturel.
D’après la section (I.3) de [F-S09], on voit que le nombre d’étapes est exponentiel en
r. La formule de la proposition (1.2.4) n’est pas efficace.
(2) On peut s’attendre à ce que la complexité d’un algorithme exploitant le résultant ait
une complexité au moins en r2 ce qui est moins bon que notre algorithme exploitant
les formules de récurrence. On pourrait certainement faire mieux car la matrice dont
on calcule le déterminant est creuse.
Pour tout entier n supérieur à 1, on note X(Fqn ) l’ensemble des points Fqn -rationnels
de X. La fonction zêta de X est définie par
#X(Fqn ) n
Z(X, T ) ∶= exp ( ∑ T ).
n≥1 n
b
où (γj )1≤j≤b est un élément de Q .
On dit que R est un polynôme mixte (relativement à q) de poids inférieurs à
µ si R est constant ou si
′
∀j ∈ {1, . . . , b}, ∃µ′ ∈ N, µ′ ≤ µ, ∣γj ∣ = q µ /2 .
où pour tout entier j tel que 0 ≤ j ≤ 2d, Pj est un polynôme à coefficients entiers mixte de
poids inférieurs à j.
10
Démonstration. Le rationalité découle de la formule des traces de Grothendieck-Lefschetz
(voir le théorème (13.4) de [Mil80]).
La mixité découle du théorème (4.1) de [LS04].
Proposition 2.3.3. On a
r−1
Z(XFqr , T r ) = ∏ Z(X, ξ i T )
i=0
Ainsi
#XFqr (Fqrn )
Z(XFqr , T r ) ∶= exp ( ∑ T rn )
n≥1 n
#X(Fqrn ) rn
= exp ( ∑ T ) car #X(Fqrn ) = #XFqr (Fqrn )
n≥1 n
r−1 #X(Fqν ) νi ν
= exp ( ∑ ∑ ξ T )
i=0 ν≥1 ν
r−1
= ∏ Z(X, ξ i T ).
i=0
Proposition 2.3.4. Supposons que l’on connaisse la fonction zêta de X et que sa décom-
position soit comme dans le théorème (2.3.2)
2d j+1
Z(X, T ) = ∏ Pj (T )(−1)
j=0
où
b ∶= max deg(Pj ) et δ ∶= max ∣Pj (0)∣.
0≤j≤2d 0≤j≤2d
11
Lemme 2.3.5. Le polynôme Qj est exact modulo 2b δ r q dbr .
Démonstration. On a d’après le point (ii) de la proposition (2.2.2)
∥Qj ∥ ≤ 2deg(Pj ) ∣Pj (0)∣r q j deg(Pj )r/2 ≤ 2b δ r q dbr .
ZetaExt((Pj )0≤j≤2d , r, M )
Exemple 2.3.6. Soit C une courbe hyperelliptique de genre g sur Fp avec un point de
Weierstrass rationnel. La fonction zêta de C s’écrit
P1 (T )
Z(C, T ) =
(1 − T )(1 − pT )
où P1 (T ) = 1 + a1 T + . . . + a2g T 2g ∈ Z[T ]. On peut calculer la fonction zêta de CFpr de deux
façons :
(1) D’après [Ked01], la complexité du calcul de Z(CFpr , T ) est un
O(g 4+ϵ r3+ϵ ).
(2) Toujours d’après [Ked01], la complexité du calcul de Z(C, T ) est O(g 4+ϵ ). Par l’algo-
rithme ZetaExt, on peut alors calculer la fonction zêta de CFpr en
O(g 7+ϵ r1+ϵ ).
L’algorithme développé a donc une meilleure complexité en r que l’algorithme de Kedlaya
pour le calcul de la fonction zêta de CFpr .
12
Références
[F-S09] Philippe Flajolet et Robert Sedgewick, Analytic Combinatorics, Cambridge Uni-
versity Press, (2009).
[Ked01] K. Kedlaya, Counting points on hyperelliptic curves using Monsky-Washnitzer co-
homology, J. Ramanujan Math. Soc., 16, (2001).
[LS04] Bernard Le Stum, Frobenius action, F-isocrystals and slope filtration, Geometric
aspects of Dwork theory. Vol. I, II, Walter de Gruyter GmbH & Co. KG, Berlin, 837-
843, (2004).
[Mil80] James Stuart Milne, Étale Cohomology, Princeton Math. Series vol. 33, Princeton
University Press, (1980).
13