Le hasard a fait que j'ai repensé à mon petit
jeu HTML
de labyrinthe
hyperbolique, mais en fait surtout à
sa version
jouet (voir ici
et là pour les de mon blog où j'en
discute), en même temps que je me posais des questions sur les
surfaces de Riemann. En fait, je ne suis pas terriblement content de
mon jeu : l'espace hyperbolique étant en lui-même
labyrinthique, il est dommage de plaquer dessus un dédale avec des
murs infranchissables — je voudrais refaire un jeu où les mouvements
ne sont jamais bloqués, pour montrer qu'il
est quand même difficile de trouver
son chemin dedans. Mais pour cela, il faut que je comprenne un peu
mieux des choses sur lesquelles j'ai encore des idées vagues, même sur
la version jouet de mon labyrinthe.
☞ J'invite mon lecteur à essayer d'y jouer, ou plus exactement, à s'y déplacer en essayant de se faire une idée de la géographie du labyrinthe — je ne parle pas de la forme des murs eux-mêmes, mais de la périodicité de l'espace. On peut par exemple jouer à se rendre de la case de départ à la case d'arrivée en utilisant le nombre exact de déplacements optimal (indiqué à droite), et à prévoir le chemin avant de faire le moindre déplacement. On devrait au moins réussir à se convaincre qu'il n'y a en fait, dans ce labyrinthe-jouet, que 30 cellules différentes (les cellules étant des « carrés » de murs possibles, au centre desquels se trouve un cercle de référence). Les carrés blancs dans l'image ci-contre à gauche représentent un choix possible des 30 cellules du labyrinthe (c'est-à-dire que tout carré en-dehors de ceux-ci est, en fait, identique à l'un de ceux-ci) : on dit qu'il s'agit d'un domaine fondamental (pour le groupe fondamental de mon labyrinthe).
Il faut souligner qu'il y a beaucoup d'arbitraire dans le choix d'un tel domaine fondamental : j'aurais très bien pu faire passer tel ou tel carré d'un côté à l'autre en le remplaçant par un autre qui lui est équivalent. Mais bon, cela n'a pas beaucoup d'importance, et on n'aurait pas pu obtenir une figure symétrique — malgré le fait que la surface recollée que je décris ci-dessous soit réellement très symétrique.
La figure ci-contre à gauche peut être considérée comme une sorte de patron géométrique : les arêtes du bord ont été décorées par des petites languettes figurées en couleur ; si on recolle chaque languette sortante sur le bord des cases blanches avec la languette entrante qui lui correspond (par exemple, les deux languettes rouges qui forment une sorte d'entaille un tout petit peu à gauche du bas de la figure sont à recoller avec les deux languettes rouges qui forment une saillie en haut à gauche), on obtient la forme de l'espace de mon labyrinthe-jouet — ou pour dire les choses autrement, dans ce labyrinthe, si on sort du « domaine fondamental » par une des languettes colorées, on y rentre par la languette qui correspond.
Il n'est peut-être pas totalement clair sur le dessin quelle languette va avec quoi (trouver un code de couleurs à 17 couleurs facilement discernables n'est pas aisé !). Je peux cependant complètement coder la description de mon polygone de languettes par une suite d'instructions comme ceci (en l'occurrence, lue à partir du point tout en haut et légèrement à droite) :
noir-bicolore (g) bleu (G) vert (G) cyan (D) cyan (g) cyan (G) rouge (G) rouge (d) magenta (G) jaune (d) blanc (G) noir (G) bleu-bicolore (D) bleu-bicolore (G) bleu-bicolore (G) vert-bicolore (d) vert-bicolore (G) cyan-bicolore (G) cyan-bicolore (d) vert (g) rouge-bicolore (G) rouge-bicolore (G) rouge (D) rouge (g) noir (G) noir-bicolore (G) magenta-bicolore (g) brun-bicolore (D) brun-bicolore (G) brun-bicolore (G) jaune (d) jaune-bicolore (G) blanc-bicolore (G) bleu-bicolore (D) bleu-bicolore (G) bleu-bicolore (G) cyan (d) cyan (G) cyan (G) cyan-bicolore (D) cyan-bicolore (G) magenta-bicolore (g) jaune-bicolore (G) magenta (G) rouge-bicolore (D) rouge-bicolore (g) bleu (G) blanc (G) brun-bicolore (D) brun-bicolore (G) brun-bicolore (G) vert-bicolore (g) vert-bicolore (d) blanc-bicolore (G)
— où les noms comme noir-bicolore
, bleu
, etc., sont
des étiquettes de couleurs totalement arbitraires données aux arêtes.
Les indications (G), (g), (d) et (D) indiquent qu'on doit tourner
fortement à gauche, un peu à gauche, un peu à droite ou fortement à
droite (c'est-à-dire respectivement de 3π/5 vers la gauche,
de π/5 vers la gauche, de π/5 vers la droite, et
de 3π/5 vers la droite ; il faut se rappeler qu'à chaque
sommet du pavage on a cinq arêtes régulièrement espacées, donc ça n'a
pas de sens d'aller tout droit, il faut faire l'un de ces quatre
tournants). Par ailleurs, toutes les arêtes font la même longueur
(environ 1.2537393258 unités naturelles de longueur du plan
hyperbolique ; cette longueur se
calcule par trigonométrie comme un des côtés du triangle dont les
angles sont π/2, π/5 et π/5). Ce que
je viens de dire spécifie la forme (métrique) exacte du polygone
hyperbolique qui borde mon domaine fondamental, mais pour ce qui est
de la topologie, peu importent les angles et les longueurs, la seule
chose qui importe est la suite des couleurs à identifier : chaque
couleur doit apparaître comme couleur d'exactement deux suites
d'arêtes consécutives, et on doit alors les identifier en sens
contraire (par exemple, la couleur vert
apparaît
exactement deux fois, une fois entre bleu et cyan et une fois entre
cyan-bicolore et rouge-bicolore : on recolle donc ces deux languettes,
en prenant garde que le somme côté bleu du premier segment vert
s'identifie avec le sommet côté rouge-bicolore du second segment vert,
et qu'inversement le sommet côté cyan du premier segment vert
s'identifie avec le sommet côté cyan-bicolore du second).
Ce
patron, ou domaine fondamental, peut être vu comme une pièce de
puzzle qui s'emboîte avec elle-même pour paver le plan hyperbolique
(chaque couleur des arêtes montre donc où se place une autre copie de
la même pièce : il y en a 34 autour de la pièce centrale, j'ai essayé
de les figurer par des couleurs très légères sur ma figure, mais on ne
les voit quasiment pas). Le groupe associé à ce pavage (plus
précisément, celui engendré par les 34 mouvements consistant à envoyer
la pièce centrale sur une des 34 pièces adjacentes)
s'appelle groupe fondamental de la surface obtenue en
recollant le patron selon les languettes. Comprendre la forme de ce
qu'on obtient par ce recollement, c'est essentiellement comprendre le
groupe fondamental que je viens d'évoquer.
À quoi, donc, ressemble cette forme ?
Je sais pour des raisons théoriques qu'il s'agit d'une surface de Riemann de genre g=4, c'est-à-dire, pour parler grossièrement, d'un tore à 4 poignées (une bouée en tandem pour 4 familles ?). Et je sais aussi (toujours de façon théorique) à quoi ressemble le groupe fondamental d'un tel objet (pour être précis : il s'agit du groupe engendré par 2g générateurs — donc ici 8 — disons ai et bi pour i allant de 1 à g, sujets à la seule relation que le produit des commutateurs [ai,bi] := ai·bi·ai−1·bi−1 est l'identité ; à ce sujet, on pourra par exemple consulter cette introduction qui n'est pas mal écrite).
Ajout () : Peut-être qu'il est plus pédagogique, pour expliquer qu'on a affaire à un tore à 4 poignées, d'invoquer la formule d'Euler (même si elle revient essentiellement au même que Gauß-Bonnet) : on a ici 30 faces, 60 arêtes (33 intérieures au patron, et 54 paires identifiées au bord du patron) et 24 sommets (4 intérieurs au patron, et 20 au bord une fois compte tenu des identifications). Or 30−60+23 = −6 = 2(1−g) pour g=4.
Mais ce que je ne comprends pas, c'est comment voir ce fait, concrètement, sur le patron que j'ai décrit. Autrement dit, je voudrais comprendre comment, à partir de la suite des couleurs décrivant le patron (ci-dessus), on peut retrouver le fait qu'après recollement on obtient un tore à 4 poignées, et une description qui éclaire qu'on a bien affaire à un tel tore. (Il faudrait aussi, pour être plus complet, se demander quelles conditions doivent être imposées à la suite des couleurs pour qu'on obtienne bien un recollement ayant un sens — éventuellement comme surface orientable, éventuellement comme surface de Riemann.)
La description que je connais d'une surface de genre g (qui s'appliquerait ici pour g=4) s'obtient par recollement d'un polygone à 4g côtés et colorié avec 2g couleurs (qu'on pourrait noter Ai et Bi pour i allant de 1 à g), chacune apparaissant exactement deux fois, selon le motif : A1, B1, A1, B1, A2, B2, A2, B2, …, Ag, Bg, Ag, Bg (ceci peut être relié avec la présentation que je donne ci-dessus du groupe fondamental). J'avoue que je m'attendais naïvement à ce que par magie je tombe précisément sur un patron de ce type (je m'attendais donc à trouver 16 pièces autour de ma pièce centrale, et j'ai été surpris d'en trouver 34 ; à la réflexion c'était idiot, parce que la description dont je parle identifie tous les sommets du polygone, ce qui n'est pas le cas pour ma figure) : et je ne sais pas comment relier la description que je pensais obtenir à celle que j'ai effectivement obtenue.
Ou, pour dire les choses un peu autrement : le coloriage de recollement que j'ai donné du bord de mon domaine fondamental utilise 17 couleurs, ce qui signifie qu'il définit 17 lacets (et leurs inverses) consistant à faire un chemin à partir du carré central vers la languette ayant une certaine couleur, ce qui fait qu'on se retrouve à l'autre languette ayant cette couleur, puis à revenir au carré central — or, sur une surface de genre 4, on a seulement 8 lacets « fondamentaux » (consistant à faire le tour d'une anse du tore, soit en longueur, soit en largeur), si bien que mes 17 lacets ne sont pas vraiment indépendants (pas aussi indépendants qu'ils pourraient l'être) — mais je ne sais pas comment trouver 8 lacets fondamentaux. (Un problème apparenté, mais nettement plus facile puisqu'il est abélien, consisterait à chercher des générateurs du réseau des périodes de ma surface de Riemann.)
À vrai dire, je ne sais même pas bien vers quelle branche des mathématiques je devrais me tourner pour avoir la réponse — qui est certainement bien connue : topologie algébrique algorithmique, théorie des groupes fuchsiens (cet article et celui-ci — qui décrit ce qu'on semble appeler l'« algorithme de Hoare » — ont certainement un rapport avec le schmilblick), ou simplement théorie des groupes algorithmique (disons que je sais plus ou moins ramener ma question à un problème de pure théorie des groupes).
Quoi qu'il en soit, je trouve toujours ça très instructif d'essayer de « mettre les mains » dans une théorie mathématique, de prendre vraiment des exemples concrets et d'essayer de faire les constructions, si possible en produisant des graphes ou des calculs sur ordinateur, ou ce que la théorie permet de faire. Il n'y a rien de mieux pour vérifier si on a vraiment compris ce qui se passe (et apparemment, en ce qui me concerne, pas totalement). Bien sûr, je n'ai pas raconté la première moitié de l'histoire, qui est comment j'ai obtenu ce patron, i.e., comment j'ai fait mon petit labyrinthe hyperbolique en premier lieu, et pourquoi il a précisément 30 cellules (mais à vrai dire, je ne suis pas totalement certain de savoir prouver qu'on ne peut pas faire plus petit) : disons que je laisse ça en exercice au lecteur (qui pourra tricher en regardant le code JavaScript de mon jeu).
La suite de l'histoire devrait logiquement être d'essayer de trouver des équations algébriques de la surface de Riemann de genre 4 représentée par le patron de la figure — autrement dit, la décrire comme une courbe algébrique. Là aussi, il s'agit de quelque chose que je comprends en principe, mais je ne sais pas du tout si je saurais m'y prendre dans la pratique. Encore moins s'il s'agit de trouver des équations arithmétiques, définies sur un corps de nombres aussi petit que possible. Tous ces problèmes ont été traités en détails dans le cas de la quartique de Klein (une surface de Riemann de genre 3 possédant 168 symétries) qui fait l'objet du livre The Eightfold Way. Ma surface de Riemann (de genre 4, possédant 120 symétries) est sans doute le cas le plus facile après elle, donc assurément un bon exemple sur lequel s'exercer à ce genre de choses.
Ajout () : Il
semble que la surface que je considère est exactement la courbe
de Bring [c'est une surface au sens géométrique ou topologique,
mais sur les complexes elle est de dimension 1, c'est-à-dire que c'est
une courbe : on ne doit donc pas être surpris que surface de
Riemann compacte
et courbe algébrique sur les complexes
soient essentiellement synonymes]. Voir par
exemple cet
article
et celui-ci
à son sujet, qui donnent les équations algébriques
explicites x₁+x₂+x₃+x₄+x₅=0, x₁²+x₂²+x₃²+x₄²+x₅²=0
et x₁³+x₂³+x₃³+x₄³+x₅³=0
dans l'espace projectif de dimension 4.
Suite : voir ici.