J
OURNAL DE
T
HÉORIE DES
N
OMBRES DE
B
ORDEAUX
H
ENRI
C
OHEN
Calcul du nombre de classes d’un corps quadratique
imaginaire ou réel, d’après Shanks, Williams,
McCurley, A. K. Lenstra et Schnorr
Journal de Théorie des Nombres de Bordeaux, tome
1, n
o1 (1989),
p. 117-135
<http://www.numdam.org/item?id=JTNB_1989__1_1_117_0>
© Université Bordeaux 1, 1989, tous droits réservés.
L’accès aux archives de la revue « Journal de Théorie des Nombres de Bordeaux » (http://jtnb.cedram.org/) implique l’accord avec les condi-tions générales d’utilisation (http://www.numdam.org/conditions). Toute uti-lisation commerciale ou impression systématique est constitutive d’une infraction pénale. Toute copie ou impression de ce fichier doit conte-nir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
Calcul du nombre de classes
d’un
corpsquadratique
imaginaire
ouréel
d’après
Shanks,
Williams,
McCurley,
A. K. Lenstra et Schnorrpar HENRI COHEN
Résumé - Dans cette note nous décrivons différentes méthodes utilisées en pratique pour calculer le nombre de classes d’un corps quadratique
ima-ginaire ou réel ainsi que pour calculer le régulateur d’un corps quadratique
réel. En particulier nous décrivons l’infrastructure de Shanks ainsi que la méthode sous-exponentielle de McCurley.
Abstract - In this paper we briefly describe practical methods to
com-pute the class number of real and imaginary quadratic fields and of the
regulator of real quadratic fields. In particular we describe Shanks’
infra-structure method and McCurley’s subexponential algorithm for computing class numbers.
Depuis
l’introduction par Gaufi du groupe des classes d’un corpsquadra-tique
(en
langage
moderne),
le calcul de la structure et du cardinal deces groupes a
toujours
été unproblème
intéressant. Ces dernièresannées,
l’intérêt pour ce
problème
a été ravivé parplusieurs
choses : lesconjec-tures de H. W. Lenstra et de l’auteur
qui
prédisent
quantitativement
lecomportement
asymptotique
de cesstructures ;
certaines méthodes defac-torisation
qui
utilisent(parfois implicitement)
ces groupes declasses,
aussibien de corps
quadratiques imaginaires
(Shanks,
H. W.Lenstra-Schnorr)
que de corpsquadratiques
réels(méthode
SQUFOF
deShanks).
Le but
principal
de cetexposé
est de décrirequelques
unes des méthodesdécouvertes ces dernières années pour résoudre le
problème
du calcul des nombres de classes. Donnons dès àprésent
lesprincipaux
résultats.On suppose la validité de
l’hypothèse
de Riemanngénéralisée
(GRH).
Onnote
h(D)
etR(D)
le nombre de classes et lerégulateur
du corpsquadra-tique
e Si D
0,
h(D)
peut
être calculé entemps
probabiliste
O(L(IDI)a+E)
pour tout c >
0,
où a = et oùL(x~
=exp( v’log x
og
og
x)
. Si D >
0,
h(D)
etR(D)
peuvent
être calculés entemps
pour tout 6 > 0
(essentiellement
dû à Shanks([8], ~9~)).
Notons que GRH est nécessaire non seulement pour obtenir des
estima-tions raisonnables du
temps
d’exécution desalgorithmes,
maiségalement
pour assurer l’exactitude du calcul deh(D).
D’autrepart
dans le cas D >0,
on ne sait pas calculer leproduit
h(D)R(D)
plus
vitequ’en
calculant
h(D)
et
R(D)
séparément.
Le résultat pour D 0 semble être la limite des moyens
actuels,
endehors d’une amélioration de
l’exposant
aqui
pourraprobablement
êtredescendu à 1 : en
effet,
la connaissance deh(D)
permet
de factoriser Dtrès
rapidement
(voir [8]),
et tous lesalgorithmes rapides
de factorisationconnus ont ce
type
detemps
d’exécution(avec
l’exposant
1).
Ceci est dû authéorème de de
Bruijn,
Canfield-Erdôs-Pomerance sur les nombres "lisses" :si on pose
alors oo on a :
Par
contre,
le résultat pour D > 0 sembleplutôt
montrer notreigno-rance des
phénomènes
liés aux unités. Parexemple,
il sembleraitplausible
que l’on arrive à calculer
h(D)R(D)
plus
rapidement
queh(D)
etR(D)
séparément,
etpourquoi
pas en tempsL(D)°.
Le
plan
de cet article est le suivant : dans les troisprochains
para-graphes,
nous exposons trois méthodes pour calculerh(D).
Bienqu’il
soitnécessaire à
chaque
fois dedistinguer
le cas D > 0 du cas D0,
cesméthodes sont
analogues
et ont destemnps
d’exécutioncomparables
dans les deux situations si on suppose lerégulateur
R(D)
déjà
calculé. Dans leparagraphe
5,
nous exposons la méthode deMcCurley
pour calculerh(D)
quand
D 0.Enfin,
dans le sixième et dernierparagraphe,
nous exposonsla méthode de
Shanks,
amélioréedepuis
par Williams etLenstra,
pour calculer lerégulateur
R(D).
Notons que le calcul d’une table de
h(D)
pose desproblèmes
un peudifférents,
et que dans ce cas l’utilisation de méthodes individuelles commecelles
présentées
ici est rarement la meilleure solution.Signalons
enfin que laplupart
de ces méthodes segénéralisent
à des corpsde nombres
quelconques,
auprix
debeaucoup
d’efforts. Voir parexemple
2. Utilisation des formes
quadratiques
réduites.2.1.
Corps quadratiques
imaginaires.
Soit K =
(1(~)
un corpsquadratique imaginaire,
où D 0 est le discriminant du corps.Rappelons qu’une
formequadratique
avec a,
b,
c EZ,
a >0,
(a, b, c)
= 1 de discriminant D =b2 - 4ac
est réduitesi
b ~
a c et siquand
Ibl
= a ou a = c on a enplus
b > 0. Il revient aumême de dire que
le domaine fondamental habituel de
ij/ SL2(Z).
Par abus denotation,
nousécrirons
(a, b, c)
pour la formequadratique
ayant ces coefficients.Il est facile de montrer
qu’à
toute classe d’idéaux decorrespond
exactement une forme
réduite,
donc queh(D)
estégal
au nombre de formesréduites. Pour
compter
cesformes,
on remarque que les conditions deréduction
impliquent
que~D~
=4ac-b2 >
4a2 -a2,
doncque a
On
remarque
deplus
que D(mod 2).
Pourchaque
couple
de valeurspossibles
de(a, b)
on calcule alors c =(b2 -
D)/(4a)
et on vérifie que c E Zet que les autres conditions de réduction sont satisfaites.
Prenons par
exemple
D = -23. On a alors a 2 donc a = 1 ou a = 2.D’autre
part
b doit êtreimpair.
Les conditions de réduction montrentimmédiatement
qu’il
y a exactement 3 formesréduites,
à savoir(1,1, 6),
(2,1, 3)
et(2, -l, 3),
donch(-23)
= 3.Tel
qu’il
est décritci-dessus,
letemps
d’exécution de cetalgorithme
estO(D),
cequi
est assez lent. Toutefois cetalgorithme
peut
être utilisé ef-ficacement pour la construction detables,
et d’autrepart
il estpossible
de l’améliorer au
prix
de grossescomplications,
et de faire descendre sontemps
d’exécution àO(Dl/2+f.).
Comme nous verrons de meilleursalgo-rithmes
par lasuite, je
ne donne pas le détail de ces améliorations.2.2.
Corps
quadratiques
réels.Nous conservons les notations
ci-dessus,
sauf que maintenant le discrim-inant D estpositif.
Laplus grande
part
des difficultés que l’on rencontre dans ce casprovient
de la non nullité du rang du groupe des unités. Dansle cas
qui
nouspréoccupe,
nous allons voir que lecomptage
des formesDand le cas D >
0,
on ditqu’une
formequadratique
avec a,
b,
c EZ,
(a, b, c) =
1 de discriminant D =b2 -
4ac est réduite sib > 0 et si on a
Si on pose
il revient au même de dire que
désigne
leconjugué
réel de T.
(Plus
généralement,
onpeut
définir la notion d’idéal réduit danstout corps de
nombres).
Dans le cas
quadratique imaginaire,
à toute classe d’idéauxcorrespond
exactement une forme réduite. Ce n’est
plus
le cas ici : à toute classe d’idéauxcorrespond
uncycle
de formesquadratiques réduites,
cecycle
cor-respondant simplement
à unepériode
dudéveloppement
en fractioncon-tinue de
1-f 1.
Laprésence
de cescycles correspond
évidemment auxunités,
et on
peut
obtenir l’unité fondamentale(ou
lerégulateur)
en mêmetemps
si on le désire.
En
fait,
lechangemnt
de(a, b, c)
en(-c,
b,
-a)
correspondant
à l’unitétriviale -1,
il ne fautprendre
que lescycles
modulo cetteéquivalence.
Le nombre de tels(classes
d’équivalence
de)
cycles
est alorségal
au nombre declasses
h(D).
Notons
qu’il
est facile de montrer que la définition de la réductionim-plique
que a, b et c sont inférieurs àVD.
Ceci contraste avec le casimaginaire
où cpeut
êtrebeaucoup plus
grand.
Cette remarque a desconséquences algorithmiques importantes :
dansbeaucoup d’algorithmes
ayant
trait deprès
ou de loin avec les corpsquadratiques réels,
onpeut
engénéral
s’arranger
pour que les calculs soient effectués avec des nombresinférieurs à
VD.
Cecireprésente
ungain
detemps
considérable,
aumin-imum d’un.facteur
4,
etbeaucoup plus quand
le passage deVD
à D faitpasser de la
simple précision
à lamultiprécision.
Unexemple
notable estl’algorithme
de factorisationSQUFOF
de Shanksqui
est d’uneremarquable
efficacitéquand
D1016
sur une calculette.Donnons un
exemple
trèssimple
de calcul deh(D).
Prenons D =60,
donc K = On a
[B/DJ =
7 et b doit êtrepair,
donc les valeurspossibles
de b sont0, 2, 4,
6. Ceci donnerespectivement
ac =-15, -14,
après
élimination des formes trivialementéquivalentes.
Parmi ces 8formes,
les 4premières
ne vérifient pasl’inégalité
v’Ï5 -
2inf(lal, Ici)
b donc sont,
’1.. fi 1 d, 1 t f
t8’
t8 d6-+
àéliminer ; enfin,
lesdéveloppements
en fraction continuede 4
etde 2
montrent que l’on a les deuxcycles
1(l, 6, -6), (-6, 6,1)}
etf (2, 6, -3),
(-3, 6, 2)},
donch(60)
= 2.Comme dans le cas
imaginaire,
onpeut
améliorer cetalgorithme
pourobtenir un temps d’exécution en
O(D1/2+e)
pour tout E > 0. Vu que le nombre de formes réduites a aussi cet ordre degrandeur,
il est clair quel’on ne
peut
pasespérer
faire mieux parsimple
comptage.
3. Utilisation de la formule
analytique
de Dirichlet. Nous poserons, - ,
et
prolongée analytiquement.
3.1.
Corps
quadratiques
imaginaires.
Nous supposerons D -4
(on
a bien sûrh(-3)
=h(-4)
=1).
Dans ce cas on a la formule de Dirichlet :Une sommation convenable fournit la formule
équivalente
Toutefois l’utilisation de cette formule ou de formules similàires donne un
algorithme
en donc très peu efficace.Une amélioration considérable
peut
être obtenue en utilisantl’équation
fonctionnelle de
LD(s) :
si l’on poseCette
équation
est essentiellementéquivalente
au fait queAD(s - 1)
est la transformée de Mellin d’une fonctiontheta,
à savoirCeci conduit à la formule suivante. Posons
(fonction
d’erreurcomplémentaire).
Alors pour D -4 on a :Remarquons
que la fonctionerfc(x)
est très facile à calculer à l’aide des formules suivantes :Si x est
petit
(par
exemple x
2)
et si x est
grand
(par
exemple x >
2)
et que
La convergence de la série
(1)
étantexponentielle
eth(D)
étant unentier,
il est clair que le
temps
de calcul deh(D)
par cette série estO(IDll/2+e)
pour tout l > 0. Par
exemple,
il est facile de montrer queh(D)
estl’entier le
plus proche
de la sommepartielle
de la sérietronquée
à n =Ceci est donc un deuxième
algorithme
pour calculerh(D)
entemps
O(IDll/2+e),
mais nettementplus simple
que leprécédent.
Toutefois nous sommes encore bien loin de cequ’on
peut
faire de mieux.3.2.
Corps
quadratiques
réels.Dans le cas où D >
0,
on a des formulesanalogues.
Toutd’abord,
laformule de Dirichlet s’écrit
où
R(D)
=log e
est lerégulateur, -
> 1 étant l’unité fondamentale.Mettons de côté
provisoirement
leproblème
du calcul deR(D) :
on saitque l’utilisation du
développement
en fraction continue deB/D/2
si D - 0(mod 4),
ou de(1
+ B/D)/2
si D = 1(mod 4)
fournit aisémentR(D)
en untemps
O(Dl/2+E).
Nous verrons une meilleure méthode auparagraphe
6.Une sommation convenable fournit la formule
équivalente
Comme dans le cas
imaginaire,
l’utilisation del’équation
fonctionnelle deLD(s)
conduit à une amélioration considérable. Si l’on posealors on a à nouveau
et nous conduit à la formule suivante. Posons
(intégrale
exponentielle).
Alors on a :,Nous avons vu ci-dessus comment calculer
erfc(x)
efficacement. Onpeut
faire de même pour
El (x)
à l’aide des formules suivantes : Si x estpetit
(par
exemple x
4)
où 1
= 0.57721566490153286 ... est la constanted’Euler,
et si x estgrand
(par
exemple x >
4)
Ceci
implique
enparticulier
queet que
La convergence de la série étant
exponentielle
eth(D)
étant unentier,
ilest clair que le
temps
de calcul deh(D)
quand
R(D)
est connu est encore enO(Dl/2+E).
Comme dans le casimaginaire,
onpourrait
très facilementexpliciter
le nombre de termes que l’on doitprendre
dans la série avant detronquer.
3.3.
Remarque.
Il est à noter que les méthodes décrites dans ce
paragraphe,
qui
sontconnues
depuis
fortlongtemps, s’appliquent
enprincipe
dans tous les casoù l’on a une série de Dirichlet avec
équation
fonctionnelle. Parexemple
Friedman
[4]
utilise cette méthode pour trouver lesplus
petits
régulateurs
de tous les corps de nombres. Comme autreexemple,
citons le cas desvaleurs aux entiers
critiques
des fonctions L attachées à des formesmodu-laires
(les
cas ci-dessuscorrespondant
aux fonctions Dans le cas oùla fonction est de
poids
entier,
iln’y
a même pas de fonctionspéciale
dutype
erfc ouEl.
Parexemple
pour une courbeelliptique
de Weil E deconducteur N dont
l’équation
fonctionnelle a lesigne
+,
on a :où 2: a( n )qn
est la forme modulaire depoids
2correspondant
à E(i.e.
LE(S) = 2:a(n)n-S).
Notons que
d’après
laconjecture
de Birch etSwinnerton-Dyer,
ceciper-met de calculer Fordre du groupe de Tate-Shafarevitch III
quand
le rangest
nul,
ce groupejouant
ici un rôleanalogue
au rôlejoué
par le groupe declasses dans le cas des corps de nombres.
4. Utilisation de la structure de groupe.
L’idée
supplémentaire
nécessaire pour allerplus
vite que lesalgorithmes
précédents
est d’utiliser aussi la structure de groupe sur les classesd’idéaux,
ou cequi
revient aumême,
sur les classes de formesquadratiques.
Aussisur-prenant
que celapuisse paraître,
il a fallu attendre 1969 pour que cette idéenaturelle
apparaisse.
Ceci est dû à Shanks[8].
C’est d’autantplus
étonnant que la loi de groupe est connue, sous une formelégèrement
différente, depuis
1800.
La
première
idée de Shanks est de trouver une valeurapprochée
degrâce
à l’utilisation de la formuleanalytique
de Dirichlet et duproduit
Eulerien de la fonctionLD.
La deuxièmeidée, beaucoup plus novatrice
etutilisable dans de nombreux autres
contextes,
est sa méthode dite"baby
step
giant step" .
Il estpréférable
deregarder séparément
les cas D 0 etD > 0 bien que les
principes
soientquasiment
identiques.
4.1.Corps
quadratiques imaginaires.
Pour un P convenable à choisir
ultérieurement,
on poseOn
approche
ainsi leproduit
Eulerien et non la série deDirichlet,
cequi
donne un
gain
assez faible maisqui
n’est pas ànégliger.
Soit maintenant p > 2 un nombre
premier petit
(p
JiDi74
parexem-ple)
tel que(D/P) =
--1. Il existe alors une forme réduiteFi
=(p,b,c)
dep
discriminant D. L’idée fondamentale pour trouver h =
h(D)
est que l’ondoit avoir
où I est la forme identité
(qui
est la seule forme réduite dutype
(1, b, c)).
L’opération
demultiplication
sur les formesquadratiques,
due àGauB,
peut
être effectuée
rapidement grâce
auxalgorithmes
COMPOS[8]
ou NUCOMP[10]
de Shanks.donc G =
Ff.
Réciproquement,
si l’ontrouve un 0 tel que G = on en déduit que =
I,
donc que l’ordre de
Fl
divise É +
6. Si l’ordre deFl
(qu’il
est maintenant facile decalculer)
n’est pastrop
petit,
celaimplique que h
= h ~
b.Sinon,
on
peut
recommencer avec une deuxième formeF2
obtenue àpartir
d’unnouveau nombre
premier
p.Reste à
expliquer
comment trouver des coïncidences du typeNotons tout d’abord que si G =
(a, b, c)
alors =(a, -b, c)
cequi
divisepar 2 le travail. Mais d’autre
part
pour D 0 on doit s’attendre à ce queh(D)
soit de l’ordre degrandeur
deJiÏ5Ï,
donc b aussi à moins d’avoirpoussé
leproduit
Eulerien vraiment loin. L’idée consistant à calculer lespuissances
successives ...jusqu’à
l’obtention d’une coïncidence estdonc raisonnable
puisqu’elle
fournit à nouveau unalgorithme
enMais
l’apport
fondamentalement novateur de Shanks est l’introduction de la méthode"baby
step
giant step".
L’idée est la suivante. On suppose que l’on sait déterminer une borne
supérieure
A pour la valeur b cherchée(on
aura A =O(IDll/2».
Onpose
on ordonne ces formes d’une
façon
où d’une autre. Si ~b =kq
+ r est ladivision euclidienne de ~b par
k,
on a 0 r k etlql
k. La coïncidenceG =
peut
donc se réécrire. Elle
peut
donc se tester en calculant les k formes GF-’’ pour 0 r k eten les
comparant
aux formesprécalculées
et surtout triéesFq
(Noter
que si les formes n’avaient pas ététriées, chaque comparaison
auraitpris
untemps
enO(k),
alors quetriées,
une recherchedichotomique
neprend
queO(log k)).
Un certain nombre de détails doivent bien sûr être
précisés,
mais il estclair que cet
algorithme
necessite untemps
enO(Al/2+e) =
ce
qui
est bien mieux que tous lesprécédents.
Deplus,
si l’on supposeGRH,
onpeut
obtenir untemps
en en choisissant la borne Pdu
produit
Eulerienégale
à4.2.
Corps
quadratiques
réels.Sans entrer dans les
détails,
disons brièvement cequi
se passe dans le cas des corpsquadratiques
réels. Toutd’abord,
il faut noter que si l’on nefait aucune
hypothèse
detype
GRH,
les méthodes enO(D1/2+e)
décritesaux
paragraphes précédents
sont lesplus rapides
connues. Désormais noussupposerons donc GRH.
L’idée est maintenant la suivante. Le
produit
h(D)R(D)
est de l’ordre deO(~),
mais ici en moyenneh(D)
est trèspetit
(voir
parexemple
lesheuristiques
de[2]).
L’idée initiale de Shanks est donc à nouveau d’utiliserla formule de
Dirichlet,
icimais d’utiliser aussi le fait que
h(D)
est unpetit
entier. On calcule parexemple
leproduit partiel
par bloc de 500 nombrespremiers,
et on s’arrêtelorsque
6 valeurs successives donnent un résultatproche
du même entier àmoins de 0.1
près.
Cette méthode et ces valeurs
(500,
6,
0.1)
sont apriori
totalementem-piriques.
Toutefois on doit noter les faits suivants :~ La méthode est très
rapide
et enpratique
donnetoujours
le bone On
peut
obtenir une versionrigoureuse
de cette méthode en utilisantGRH
(voir
[llJ).
-e Cette dernière
version,
couplée
avec la méthode"baby
step
giant
step"
de Shanks donne un
algorithme
qui
permet
de calculerh(D)
en tempsà
partir
de la connaissances deR(D),
qui
lui aussipeut
être calculé entemps
d’où le résultat annoncé dans l’introduction.Je renvoie à
[11]
pour tous les détails.4.3.
Remarque.
La méthode
"baby
step
giant step"
de Shankspeut
être utilisée dans toutcontexte où l’on désire calculer l’ordre d’un groupe, et que l’on a seulement une borne
supérieure
ou uneapproximation
de cet ordre. Parexemple,
dèsque le nombre
premier
p n’est pastrop
petit,
cette méthode est très efficacepour calculer le nombre de
points
d’une courbeelliptique
modulo p. Eneffet,
dans ce cas on sait que ce nombreNp
vérifie~p -f-1-
Np
1
2yP,
cequi
fournit un
algorithme
en bien meilleur quel’algorithme
banalconsistant à
compter
lespoints
enajoutant
dessymboles
deLegendre.
5.
L’algorithme
deMcCurley.
Nous allons maintenant décrire un
algorithme,
dû initialement àMcCur-ley,
pour calculer le nombre de classes d’un corpsquadratique imaginaire
en
temps
doncbeaucoup plus rapide
que lesprécédents.
On neconnait pas
d’analogue
de cetalgorithme
pour les corpsquadratiques réels,
même ensupposant
lerégulateur
calculé.Dans
l’algorithme
deShanks,
cequi
nous apermis
d’avancer a étél’uti-lisation de la relation fondamentale
Fh
= I.L’idée de
McCurley
est que l’obtention deplusieurs
relations entreplusieurs
formes est
plus facile,
et d’autrepart
que celapeut
conduire aussi aucal-cul de
tt(D).
Donnons maintenant un aperçu de la méthode. Pour unedescription plus
détaillée voir Hafner etMcCurley
[5].
Tout
d’abord,
il estindispensable
de faireappel
à la méthode ECM des courbeselliptiques
deLenstra,
etplus précisément
au "résultat" suivant :Si tous les facteurs
premiers
d’un nombre n sont inférieurs ouégaux
àP,
n peur être factorisé entemps
Nous avons mis résultat entre
guillemets
car d’unepart
ceci n’est queprobabiliste,
et d’autrepart
l’analyse
dutemps
d’exécution nécessite l’utili-sation d’unehypothèse
trèsplausible
mais non démontrée de théorieL’algorithme
se déroule de lafaçon
suivante. Tout d’abord on choisit uneborne P de l’ordre de où a est à
optimiser.
Pour tout ppremier
telque p P et
(D/P)
=1,
il existe une forme réduiteFp =
(p, bp, cp).
On-
(2)
calcule la forme réduite :
où les ep sont des
exposants
choisis essentiellement au hasard.Puisque
(a,
b,
c)
estréduite,
on a a.¡¡DT73
et onpeut
donc factoriser a entemps
Si tous les facteurs
premiers
de a sont inférieurs ouégaux
à P et si
(a, D)
= 1 ongarde
la forme(a,
b,
c),
et sinon on larejette.
Si a = est facile de montrer que
où ép = :1:1 est défini par la congruence
(le
facteur 2 n’est nécessaire que pour p = 2. Noterque b)
=b2 -
D(mod 4p)).
On en déduit donc la relationp
premier},
et n = on a donc un vecteurde relations entre les
Fp.
En
prenant
de nouveauxexposants
ep, on obtient ainsi autant de relationsque l’on veut. Si l’on suppose
GRH,
onpeut
prouverqu’il
existe uneconstante absolue effectivement caculable c telle que pour
p
c log
D ~
lesFp
engendrent
le groupe des classes. Comme P a été choisibeaucoup plus
est un
morphisme surjectif
de groupes. Son noyau A est un sous réseau deZ~ et on a
Les relations trouvées ci-dessus sont par définition des éléments de A. Elles ne sont pas forcément linéairement
indépendantes,
mais en cas dedépendance
il suffit de choisir de nouveauxexposants
ep auhasard, jusqu’à
cequ’on
obtienne ainsi unsystème
de rang n.Le déterminant du
système
obtenu est alors unmultiple
de det A =h(D).
Pour obtenir
h(D)
il suffitd’ajouter
encorequelques
relations. On obtientainsi
plusieurs multiples
deh(D),
dont on calcule le PGCD. Sous deshy-pothèses raisonnables,
onpeut
démontrer que l’on obtiendra ainsi la valeurde
h(D)
et non l’un de sesmultiples
[5].
Cecipeut
d’ailleurs se testerfacile-ment : on
peut
montrerqu’il
existe une constante absolue c effectivementcalculable telle que, si
alors on a
On voit donc que si h est le
multiple
trouvé deh(D),
on peut tester si h =h(D)
en testantl’inégalité
En faisant des
hypothèses heuristiques raisonnables,
il est clair quel’algo-rithme
précédent
a untemps
d’exécution enDans Lenstra-Schnorr
[6],
cetalgorithme
estlégèrement
modifié et ilspeuvent démontrer
qu’en
supposant
seulement GRH(et
pas d’autreshy-pothèses
heuristiques),
l’algorithme
a untemps
probabiliste
d’exécutionqui
est
0(Z(jDj)"+’)
pour tout c >0,
avec a = = 1.06... Comme ila été dit dans
l’introduction,
il est fortprobable
que l’onpuisse
descendrecette constante à 1 ou même à
1/V2.
Remarques
1. A ma
connaissance,
aucun testexpérimental
n’a été effectué pour déterminer la valeur de D àpartir
delaquelle
cetalgorithme
devientplus
efficace que la méthode du
paragraphe
4.1. Sije
devaisdeviner,
je
diraispour D >
l030.
2. Les
algorithmes
deMcCurley
et Lenstra-Schnorrpeuvent
apriori
s’appliquer
au calculrapide
de l’ordre d’un groupe abélien fini dès que l’onsait : .
~ Calculer
explicitement
dans ce groupe.w
Engendrer
"au hasard" des relations entre éléments du groupe.Ceci est
expliqué
en détail dansLenstra-Schnorr[6].
6. Calcul du
régulateur
R(D).
Nous terminerons cet
exposé
enexpliquant
comment
onpeut
calculerrapidement
lerégulateur
R(D)
d’un corpsquadratique réel,
donc avecD > 0.
Indépendamment
de son intérêt propre,rappelons
que c’estin-dispensable
pour calculer le nombre de classes. 6.1. La méthode traditionnelle.Les
cycles
dont nous avonsparlé
au débutcorrespondent
auxpériodes
des fractions continues associées aux nombres
quadratiques correspondants.
Nous nous intéressons ici au
cycle principal, correspondant
àl’unique
formequadratique
réduitereprésentant
1,
à savoir( 1, 2q
+ r,q2
+ qr +(r -
D)/4),
oùl’onaposér=OsiD-0(mod4),r=
1 si D == 1(mod 4), et où
q =
r)/2J .
On a alorsSi on
développe
ce nombre en fractioncontinue,
la définition même d’uneforme réduite montre que le
développement
serapurement
périodique,
soiten
employant
une notation standard de fractions continues. Les aipeu-vent se calculer récursivement de
façon simple,
sans calculsflottants,
et enutilisant
uniquement
des entiers de taille inférieure ày’Ï5,
enreprésentant
toujours
les nombres comme des nombresquadratiques.
Cecicorrespond
bien sûr exactement au calcul du
cycle principal
de formesquadratiques ;
nous y reviendrons.Si l’on pose
ln
est l’unité
fondamentale,
doncR(D)
=log s
est lerégulateur
cherché. Lalongueur
de lapériode
étantO(DI/2+f.),
ceci fournit unalgorithme
entemps
O(DI/2+f.)
pour calculerR(D).
L’utilisation de lasymétrie
de(al, ... , am)
permet
facilement de gagner un facteur2 ;
d’autrepart
comme e =exp(R(D)),
il est en fait hors dequestion
de calculer - exactement saufquand
D estpetit.
Lapremière
idée nouvelle pour améliorer cette situationest la remarque suivante : dans la formule
analytique
deDirichlet,
seuleune
approximation
durégulateur
nous intéresse. Or celui-ci peut se calculerdirectement par la formule
où l’on a posé
(et
enparticulier
p_1 -1).
Or lesquantités
pk/pk-1
peuvent
être calculéestrès facilement par récurrence en même
temps
que ledéveloppement
enfraction continue.
Cette idée
n’améliore
pas le nombred’opérations
effectuées parl’algo-rithme,
mais améliore considérablement sontemps
d’exécutionpuisque
tousles calculs
peuvent
être faits en flottants avec uneprécision raisonnable,
aulieu d’une
précision parfois
démentielle nécessaire pour le calcul final de 6’et de son
log.
Noter que contrairement aux apparences, la formule que nousvenons de donner pour
R(D)
ne nécessite pas le calcul de mlogarithmes
mais d’un seul. Nous laissons au lecteur le
plaisir
de découvrir l’astuce trèssimple
à utiliser.6.2.
Quelques
résultats sur les formes réduites.Avant de voir comment la méthode ci-dessus
peut
êtreaméliorée,
ilest nécessaire d’énoncer
quelques
résultats sur les formes réduites. Nousutiliserons librement
l’expression "développement
en fraction continue"(en
abrégé
dfc)
aussi bien pour les nombresquadratiques
que pour les formes réduitesqui
leurcorrespondent.
. Si
(a, b, c)
est une formequadratique réduite,
son dfc fournit lecycle
de toutes les formes
quadratiques
réduitesqui
lui sontéquivalentes.
Le nombre de formes dans cescycles
estvariable,
mais la valeur du nombrecalculée comme ci-dessus sur un
cycle quelconque,
esttoujours
lamême,
à savoir lerégulateur
R(D).
~ Si
(a, b, c)
est une formeprimitive,
c’est à dire telle que a,b,
c soientpremiers
entre eux dans leurensemble,
son dfc conduit trèsrapidement
à une formeréduite,
en auplus
étapes
(donc
enO(log D)).
Cecicorrespond
à unemajoration
de lapré-période
du dfc d’un nombrequadratique.
6.3. L’infrastruct ure d’un
cycle.
Nous en arrivons à une idée extrêmement
originale
etimportante
de Shanks : cequ’il appelle
"l’infrastructure" d’uncycle
de formes réduites.Très
schématiquement,
on a envie de dire que l’ensemble de toutes les formes réduites de discriminant D forme un"groupe",
que lecycle
principal
est un
"sous-groupe cyclique",
les autrescycles
étant les classesd’équiva-lence modulo ce sous-groupe, et le groupe des classes étant donc le
"groupe
quotient"
du groupe des formes réduites par le sous-groupecyclique
des formesprincipales.
Cetteintérpretation
est d’ailleurs à la base desheuris-tiques
faites avecLenstra[2]
etMartinet[3].
Plusieurs choses sont incorrectes dans ces
énoncés,
mais leprincipal
défaut est que le
produit
de deux formes réduites n’est engénéral
pas uneforme réduite. La
première
remarque de Shanks est que c’estquand
même presque vrai :grâce
au résultat cité auparagraphe
6.2.,
on saitqu’en
util-isant au
plus
O(log D)
pas deréduction,
onpeut
se ramener à une formeréduite. Cela conduit à écrire
où
fl, f2, f3
sont trois formesréduites,
etoù 0 représente
lepetit
nombre de réductions nécessaires pour réduire leproduit fi . f2.
Biensûr,
étant donnésfi
etf2, ~
etf3
ne sont pasuniques,
mais on suppose le nombre deréductions choisi en
O(log D).
La deuxième remarque de Shanks est certainement la
plus importante.
Considérons par
exemple
lecycle principal.
Soitfo l’unique
forme réduitereprésentant
1(donnée
explicitement
auparagraphe
6.1).
On définit ladistance d’une forme
fk
àfo
enposant
Si
f3
=~( fl ~ f2 ),
Shanks remarque alors quedonc que cette notion de distance est
approximativement
additive. En faiton a
plus précisément
où
b( 4»
se calcule defaçon
analogue
àd( f )
en fonction du(court)
dfcdonnant
0.
G~‘râce à cette remarque, onpeut
maintenantparcourir
ledéveloppement
en fraction continue en faisant desgrand
sauts("giant
steps"),
toutsimplement
enmultipliant
par une forme située loin defo .
On
peut
alorsappliquer
une variante de la méthode"baby
step
giant step"
et obtenir ainsi unalgorithme
enopérations.
De même quepour le calcul du nombre de
classes,
l’utilisation de GRH conduit même àun
algorithme
enO(Dl/5+e)
opérations,
maisqui
n’est pas très utilisable enpratique.
Les détails del’implémentation
decet algorithme
sont donnés dans[11].
Voirégalement
[6]-REFERENCES
1. J. Buchmann, Zur Komplexität der Berechnung von Einheiten und Klassenzahlen
algebraischer Zahlkôrper, Habilitationsschrift, Düsseldorf, Oktober 1987.
2. H. Cohen and H. W. Lenstra, Heuristics on class groups of number fields, Num-ber Theory (Noordwijkerhout 1983), Lecture Notes in Math. 1068
(1984),
33-62,Springer-Verlag, Berlin and New York.
3. H. Cohen and J. Martinet, Class groups of number fields: Numerical heuristics, Math. Comp. 48 (1987), 123-137.
4. E. Friedman, Analytic formulas for the regulator of a number field, (to appear).
5. J. L. Hafner and K. S. McCurley, A rigorous subexponential algorithm for compu-tation of class groups, (to appear).
6. A. K. Lenstra and C. P. Schnorr, On the computation of the order of finite abelian
7. H. W Lenstra Jr., On the computation of regulators and class numbers of quadratic
fields, Lond. Math. Soc. Lec. Notes Ser. 56 (1982), 123-150.
8. D. Shanks, Class numbers, a theory of factorisation and genera, Proc.
Symp.
PureMath. 20 (1971), 415-440.
9. D. Shanks, The infrastructure of a real quadratic field and its applications, Proc. Number Theory Conference (1972), 217-224.
10. D. Shanks, On Gauss and composition, in "Proceedings of the 1987 conference on
Number Theory, Banff" (to appear).
11. A. J. Stephens and H. C. Williams, Computation of real quadratic fields with class number one, Math. Comp. 51, 809-824.
Mo ts clefs: .
Centre de Recherche en Mathématiques de Bordeaux,Université Bordeaux I C.N.R.S. U.A. 226
U.F.R. de Mathématiques
351, cours de la Libération 33405 Talence Cedex, FRANCE.