IV.1 Matériel et méthodes

IV.1.1 Logiciels

Pour les calculs de bases de Gröbner, nous utilisons Maple V release 4 (logiciel payant), Mupad 1.3 (disponible sur http://www.mupad.de/distrib.html) ou GB v4 (dans ftp://posso.ibp.fr/pub/softwares/GB). Voir aussi l'annexe A.

Pour les calculs numériques, nous avons écrit un programme spécifique. Le calcul multiprécision est fait avec la bibliothèque Pari ou la bibliothèque NTL. L'algorithme LLL est celui de Pari, celui de NTL ou celui d'Antoine Joux. Le plus simple (et ce qui a servi pour nos estimations de temps de calcul) est d'utiliser NTL à chaque étape.

Pour mieux maîtriser l'aspect géométrique du dessin, nous avons programmé une interface graphique X11, pour les dessins en genre 0. Cette interface permet de tracer le dessin dans le plan, après en avoir calculé la position précise. Il est ensuite possible de lui faire subir les transformations intéressantes.

Voici une archive du logiciel utilisé.

Pour tous les autres calculs de théorie des nombres, nous utilisons Pari-GP (version 2, voir http://hasse.mathematik.tu-muenchen.de/ntsw/pari/Welcome).

Pour les calculs dans des groupes de permutation, nous utilisons Gap (version 3.4, voir http://wilton.anu.edu.au/research.groups/algebra/GAP/www/Info/).

IV.1.2 Machines

Sauf mention contraire, les temps de calcul correspondent à une SparcStation 20/71. C'est une machine avec un processeur SuperSparc II à 75 MHz. Mais ces logiciels marchent sur la plupart des systèmes Unix.

IV.1.3 Méthode

Notre logiciel prend en entrée la liste des valences du dessin. Si c'est un arbre, il en déduit une majoration du nombre de conjugués.

À chaque itération de l'algorithme de Newton, il affiche les positions des racines de P, Q et R (qui sont donc sensées être proches des positions des points o, * et °). Cela permet de maîtriser la convergence du calcul, pour éviter les minima qui ne sont pas des zéros du système. À tout instant, on peut intervenir manuellement sur ces valeurs.

Une fois dans la zone de convergence, notre logiciel calcule la solution avec la précision qui devrait être suffisante. Puis l'algorithme LLL fournit un polynôme minimal pour chaque coefficient des polynômes.