Et les Shadoks comptaient, comptaient . . . Contexte et notations

File:CountingWithFlipFlopAndGaiRequin.tex compil. le 6 février 2017,7:52
Et les Shadoks comptaient, comptaient . . .
Contexte et notations
On désigne par Kun corps de nombres et OKson anneau d’entiers. On fixe un premier pqui se factorise
dans OKen :
pOK=pe1
1· · · peg
g
et on note fi= dimFpOK/pide sorte que Pg
i=1 eifi= [K:Q].
On introduit le facteur p-Eulérien de Kqui est la fraction rationnelle :
Zp(T) =
g
Y
i=1
1
1Tfi
A noter que les indices de ramification ein’interviennent pas dans la définition de Zp(T).
Pour un entier m1, on note am=νK(m)le nombre d’idéaux de OKde norme m. Cette suite
intervient dans la fonction zeta de Dedekind de K:
ζK(s) = X
I6=0
1
N(I)s=X
m1
am
ms
Il est important (c’est une qualité de l’anneau OK) de signaler que la norme sur les idéaux, définie par
N(I) = #OK/I, est multiplicative et que N(pi) = pfi. En conséquence :
N(pα1
1· · · pαg
g) = pα1f1+···+αgfg
On a a1= 1 et la suite (am)m1est multiplicative. Cela permet d’écrire :
X
m1
am
ms=Y
pX
r0
apr
prs
()
=Y
p
Zp1
ps
L’égalité ()sera justifiée par la proposition ci-après.
Pour une fraction rationnelle à une indéterminée Z=Z(T), on convient de parler de sa dérivée
logarithmique décalée DLD(Z)qui est la fraction rationnelle :
DLD(Z) = TZ0
Z
Par exemple :
DLD 1
1Tf=fT f
1Tf
Etant donné un entier q, puissance d’un nombre premier, un Fq-point de OKest un morphisme d’an-
neaux (ou de Z-algèbres, c’est la même chose) OKFq. Supposons par exemple, OKmonogène i.e.
OK=Z[x] = Z[X]/hFiFZ[X]est un polynôme unitaire irréductible ; alors un Fq-point de OK,
ψ:OKFqest défini par son image ξ:= ψ(x)Fqqui doit vérifier F(ξ) = 0. I.e. les Fq-points de Z[x]
sont les racines du polynôme Fdans Fq.
De manière plus générale, la Z-algèbre OKpeut-être vue comme une Z-algèbre de présentation finie :
OK=Z[x1, . . . , x`] = Z[X1, . . . , X`]/hF1,· · · , Fsi
Ceci fournit un schéma affine défini sur Z:
{F1=· · · =Fs= 0}
Un Fq-point de OKn’est autre qu’un point de ce schéma affine défini sur Fq.
On note :
Nq(OK) = nombre de Fq-points de OK
1
Un exemple dans ce formalisme. Un Fp-point de OKest un morphisme ψ:OKFp, nécessairement
surjectif ; son noyau est un idéal maximal pde OKet l’on a OK/p'Fp. Ceci prouve que pest l’un des
piayant un degré fiégal à 1. Bilan :
Np(OK) = nombre de fiégaux à 1 =ap
Cela vaut le coup de ré-écrire les choses en français, de l’encadrer et même mettre du rouge
Le nombre de points sur Fpdu Z-schéma défini par OKest égal au nombre d’idéaux de OKde norme p
De la même manière, on pourrait, pour tout anneau k, définir un k-point de OKcomme étant un
morphisme d’anneaux OKk.
Le résultat visé par les Shadoks
Proposition 1.
(1) Le coefficient de Tkdans le développement en série formelle de Zp(T)est le nombre apkd’idéaux de
norme pk:
Zp(T) = 1 + apT1+ap2T2+ap3T3+· · ·
(2) La dérivée logarithmique décalée de Zp(T)est la série génératrice de la suite (Nr)r1= (Npr(OK))r1
i.e.
TZ0
p(T)
Zp(T)=N1T+N2T2+N3T3+· · ·
(3) Pris dans l’autre sens, la série Pr1NrTrest une fraction rationnelle. Très précisemment :
X
r1
NrTr=f1Tf1
1Tf1+· · · +fgTfg
1Tfg
On introduit :
δ(f, ) = (fsi f| •
0sinon
Alors :
Npr(OK) =
g
X
i=1
δ(fi, r)
En particulier :
Np(OK) = nombre de fiégaux à 1
La preuve du premier point
On a toujours N(I)I; en effet, le groupe abélien OK/I est de cardinal N(I)donc annulé par N(I).
En particulier N(I)·1=0dans ce quotient, donc N(I)I.
Soit Iun idéal de norme pk. On a pkIet donc les facteurs premiers de Isont parmi les pi. En
conséquence, Is’écrit de manière unique :
I=pα1
1· · · pαg
g
Puisque N(I) = pα1f1+···+αgfg, on a :
()α1f1+· · · +αgfg=k
Le nombre apkd’idéaux de OKde norme pkest donc le nombre de α= (α1,· · · , αg)Ngvérifiant ().
Mais ce nombre est le coefficient de Tkdans le développement en série formelle de :
Zp(T) = 1
1Tf1· · · 1
1Tfg
Pour le voir, il suffit de développer Zp(T)sous la forme :
(1 + Tf1+T2f1+T3f1+· · · )· · · (1 + Tfg+T2fg+T3fg+· · · )
et d’examiner le coefficient de Tkdans ce produit.
2
Plus sur la dérivée logarithmique décalée
Elle transforme un produit en une somme. En conséquence :
TZ0
p(T)
Zp(T)=f1Tf1
1Tf1+· · · +fgTfg
1Tfg
La preuve des deux autres points
On rappelle le fait suivant sur les corps finis. Soient deux corps finis ket k0; à quelle condition existe-t-il
un morphisme de kdans k0et si oui combien ? La réponse est : il en existe un si et seulement si #k0est
une puissance de #k. Et dans ce cas, le nombre de morphismes de kk0est #Aut(k)i.e. fsi k'Fpf.
Justification : la première partie est classique. A noter dans ce cas qu’il existe un seul sous-corps de k0
isomorphe à kà savoir {xk0|xq=x}si q= #k. On obtient tous les morphismes de kdans k0en
composant un morphisme fixé par tous les automorphismes de k.
Et on sait que Aut(Fpf)est un groupe cyclique d’ordre fengendré par le Frobenius x7→ xp.
D’autre part, quel est le coefficient de Trdans le développement en série formelle de :
fT f
1Tf
La réponse est :
(fsi f|r
0sinon c.a.d δ(f, r) = coeff de Trdans le développement de fT f
1Tf
Soit ψ:OKFqun Fq-point de OKqest une puissance de p,q=pr. Son noyau est un idéal maximal
pde OKet on a une injection :
OK/pFq
En conséquence, OK/pest un corps de caractéristique pet donc pest l’un des pi.
Réciproquement, on obtient tous les Fq-points de OKen considérant tous les morphismes
(i)Fpfi' OK/piFq=Fpr
avec ivariable.
Combien de morphismes tels que (i)? Si rn’est pas multiple de fi, aucun, sinon fi. C.a.d. avec nos
notations δ(fi, r).
Bilan : le nombre de Fpr-points de OKest à la fois :
g
X
i=1
δ(fi, r)et le coefficient en Trde f1Tf1
1Tf1+· · · +fgTfg
1Tfg
3
Illustrations
Le polynôme de Dedekind
> F := X^3 + X^2 - 2*X + 8 ;
> assert Discriminant(F) eq -2^2 * 503 ;
> K<x> := NumberField(F) ;
> y := 4/x ;
> OK := MaximalOrder(K) ;
> assert Discriminant(OK) eq -503 ;
> assert OK eq Order([x, y]) ;
Quelques lois de factorisation
> DecompositionType(OK, 2) ;
[ <1, 1>, <1, 1>, <1, 1> ]
> DecompositionType(OK, 503) ;
[ <1, 1>, <1, 2> ]
> [<p, LegendreSymbol(-503,p), DecompositionType(OK,p)> : p in PrimesInInterval(3,10^2)] ;
[
<3, 1, [ <3, 1> ]>,
<5, -1, [ <1, 1>, <2, 1> ]>,
<7, 1, [ <3, 1> ]>,
<11, 1, [ <3, 1> ]>,
<13, 1, [ <3, 1> ]>,
<17, -1, [ <1, 1>, <2, 1> ]>,
<19, -1, [ <1, 1>, <2, 1> ]>,
<23, 1, [ <3, 1> ]>,
<29, -1, [ <1, 1>, <2, 1> ]>,
<31, -1, [ <1, 1>, <2, 1> ]>,
<37, -1, [ <1, 1>, <2, 1> ]>,
<41, -1, [ <1, 1>, <2, 1> ]>,
<43, 1, [ <3, 1> ]>,
<47, 1, [ <3, 1> ]>,
<53, -1, [ <1, 1>, <2, 1> ]>,
<59, 1, [ <1, 1>, <1, 1>, <1, 1> ]>,
<61, 1, [ <3, 1> ]>,
<67, 1, [ <3, 1> ]>,
<71, -1, [ <1, 1>, <2, 1> ]>,
<73, 1, [ <1, 1>, <1, 1>, <1, 1> ]>,
<79, 1, [ <1, 1>, <1, 1>, <1, 1> ]>,
<83, 1, [ <3, 1> ]>,
<89, -1, [ <1, 1>, <2, 1> ]>,
<97, 1, [ <1, 1>, <1, 1>, <1, 1> ]>
]
>
> // si p non carré mod 503 : g=2 et f1=1, f2=2
> assert &and [DegreeType(OK,p) eq [1,2] : p in PrimesInInterval(3,10^3) | LegendreSymbol(p,503) eq -1] ;
> // Mais si p est en carré mod 503, on peut avoir g=1 (inerte) ou g=3 (totalement décomposé)
> [p : p in PrimesInInterval(3,10^3) | LegendreSymbol(p,503) eq 1 and DegreeType(OK,p) eq [1,1,1]] ;
[ 59, 73, 79, 97, 199, 283, 383, 389, 421, 433, 547, 569, 587, 599, 647, 673, 691, 719, 797, 827,
881, 883, 887, 919, 977 ]
Détermination du schéma
> ZXY<X,Y> := PolynomialRing(Z,2) ;
> equations := OrderPresentationEquations([x,y] : PolRing := ZXY) ;
> IZ := Ideal(equations) ;
> IZ ;
Ideal of Polynomial ring of rank 2 over Integer Ring
Order: Lexicographical
Variables: X, Y
Basis:
[
2*X + Y^2 - Y + 2,
X*Y - 4,
X^2 + X + 2*Y - 2
]
> assert Evaluate(F,X) in IZ ;
> assert IZ ne Ideal([Evaluate(F,X), X*Y - 4]) ;
>
> IQ := ChangeRing(IZ,Q) ;
> assert IsMaximal(IQ) ;
> L<x,y> := Generic(IQ)/IQ ;
> assert MinimalPolynomial(x) eq F and x*y eq 4 ;
>
> A2 := AffineSpace(Generic(IZ)) ;
> A2 ;
Affine Space of dimension 2
Variables: X, Y
> OKscheme := Scheme(A2, IZ) ;
> OKscheme ;
Scheme over Integer Ring defined by
X^2 + X + 2*Y - 2,
X*Y - 4,
2*X + Y^2 - Y + 2,
Y^3 - Y^2 + 2*Y + 8
4
Fonction ζK, facteurs Eulériens et comptage
> NombreDePoints := func < q | #Points(BaseChange(OKscheme, GF(q))) > ;
>
> p := RandomPrime(4) ;
> degrees := DegreeType(OK, p) ;
> assert &and [NombreDePoints(p^r) eq &+[deltaSymbol(fi,r) : fi in degrees] : r in [1..20]] ;
>
> precision := 10^2 ;
> DedekindZetaK := LSeries(K) ;
> SK := FormalSeries(DedekindZetaK, precision) ;
> SK ;
t + 3*t^2 + 6*t^4 + t^5 + 10*t^8 + 3*t^10 + 15*t^16 + t^17 + t^19 + 6*t^20 + 2*t^25 + t^27 + t^29 + t^31 + 21*t^32 +
3*t^34 + t^37 + 3*t^38 + 10*t^40 + t^41 + 6*t^50 + t^53 + 3*t^54 + 3*t^58 + 3*t^59 + 3*t^62 + 28*t^64 + 6*t^68 +
t^71 + 3*t^73 + 3*t^74 + 6*t^76 + 3*t^79 + 15*t^80 + 3*t^82 + t^85 + t^89 + t^95 + 3*t^97 + 12*t^100
> assert &and [NombreDePoints(p) eq Coefficient(SK,p) : p in PrimesInInterval(2,precision)] ;
>
> p := 2 ;
> pZeta := 1/IntegralEulerFactor(DedekindZetaK,p) ;
> assert pZeta eq 1/(1-T)^3 ;
> S := T*Derivative(pZeta) / pZeta ;
> // S = 3*T/(1-T) = 3 * (T + T^2 + T^3 + ....)
> assert S eq 3*T/(1-T) ;
> PSR ! S ;
3*t + 3*t^2 + 3*t^3 + 3*t^4 + 3*t^5 + 3*t^6 + 3*t^7 + 3*t^8 + 3*t^9 + 3*t^10 + 3*t^11 + 3*t^12 + 3*t^13 + 3*t^14 +
3*t^15 + 3*t^16 + 3*t^17 + 3*t^18 + 3*t^19 + 3*t^20 + O(t^21)
> assert &and [NombreDePoints(p^r) eq 3 : r in [1..20]] ;
>
> p := 503 ;
> pZeta := 1/IntegralEulerFactor(DedekindZetaK,p) ;
> assert pZeta eq 1/(1-T)^2 ;
> S := T*Derivative(pZeta) / pZeta ;
>S;
-2*T/(T - 1)
> // S = 2*T/(1-T) = 2 * (T + T^2 + T^3 + ....)
> assert S eq 2*T/(1-T) ;
> PSR ! S ;
2*t + 2*t^2 + 2*t^3 + 2*t^4 + 2*t^5 + 2*t^6 + 2*t^7 + 2*t^8 + 2*t^9 + 2*t^10 + 2*t^11 + 2*t^12 + 2*t^13 + 2*t^14 +
2*t^15 + 2*t^16 + 2*t^17 + 2*t^18 + 2*t^19 + 2*t^20 + O(t^21)
> assert &and [NombreDePoints(p^r) eq 2 : r in [1..20]] ;
>
> for p in PrimesInInterval(3,30) do
for> degrees := DegreeType(OK,p) ;
for> assert &and [NombreDePoints(p^r) eq &+[deltaSymbol(fi,r) : fi in degrees] : r in [1..20]] ;
for> pZeta := 1/IntegralEulerFactor(DedekindZetaK,p) ;
for> assert pZeta eq EulerianFactor(OK, p) ;
for> S := T*Derivative(pZeta) / pZeta ;
for> assert &and [NombreDePoints(p^r) eq Coefficient(PSR!S,r) : r in [1..Ilog(p,precision)]] ;
for> end for ;
Le source OrderPresentationIdeal.magma
clear ;
load "FlipFlopZetaFunctionTools.magma" ;
SetColumns(120) ;
Q := RationalField() ;
ZX<X> := PolynomialRing(Z) ;
// QY = Q[Y] but magma-multivariate (to use AffineAlgebraMapKernel)
PolynomialLift := function(QY, y)
L := Parent(y) ;
assert IsSimple(L) ;
c := Eltseq(y) ;
R := &+[c[i]*Y^(i-1) : i in [1..#c]] where Y is QY.1 ;
assert y eq Evaluate(R,[x]) where x is L.1 ;
return R ;
end function ;
// S = sequence d’éléments entiers d’un corps de nombres
OrderPresentationEquations := function(S : PolRing := PolynomialRing(Z, #S))
L := Universe(S) ;
assert IsSimple(L) ;
assert &and [IsIntegral(y) : y in S] ;
P := MinimalPolynomial(L.1) ;
QY<Y> := PolynomialRing(Q,1) ;
QYquoP, pi := QY / Ideal(Evaluate(P,Y)) ;
S := [pi(PolynomialLift(QY,y)) : y in S] ;
QS := PolynomialRing(Q, #S) ;
Theta := hom < QS -> QYquoP | S > ;
I := AffineAlgebraMapKernel(Theta) ;
equations := Basis(I) ;
equations := ChangeUniverse(equations, PolRing) ;
return equations ;
end function ;
5
1 / 6 100%

Et les Shadoks comptaient, comptaient . . . Contexte et notations

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !