Transcription de la vidéo
Il y a deux choses ici, le sujet principal et le méta sujet. Donc, le sujet principal va être cet algorithme vraiment génial pour résoudre des
équations à deux dimensions. Des choses qui ont deux nombres réels inconnus ou aussi celles impliquant une seule
inconnue qui est un nombre complexe. Ainsi, par exemple, si vous vouliez trouver les racines complexes d’un polynôme, ou
peut-être certains de ces zéros à un million de dollars de la fonction zêta de
Riemann, cet algorithme le ferait pour vous.
Et cette méthode est très jolie, car beaucoup de couleurs sont impliquées. Et plus important encore, l’idée de base sous-jacente s’applique à toutes sortes de
mathématiques bien au-delà de cet algorithme pour résoudre des équations, y compris
un peu de topologie dont je parlerai plus tard. Mais ce qui en fait vraiment une durée de 20 minutes environ, c’est qu’il illustre
une leçon beaucoup plus utile en mathématiques. C’est-à-dire, essayer de définir des constructions qui se composent bien les unes
avec les autres. Vous verrez ce que je veux dire par là au fur et à mesure que l’histoire avance.
Pour motiver le cas avec des fonctions qui ont des entrées et des sorties 2D,
commençons plus simplement, avec des fonctions qui prennent juste un nombre réel et
donnent un nombre réel. Si vous voulez savoir quand une fonction, 𝑓 de 𝑥, est égale à une autre fonction,
𝑔 de 𝑥, vous pourriez penser à cela comme la recherche lorsque les graphiques de
ces fonctions se croisent, à droite? Je veux dire que cela vous donne une entrée où les deux fonctions ont la même
sortie.
Pour prendre un exemple très simple, imaginez 𝑓 de 𝑥 est 𝑥 au carré et 𝑔 de 𝑥
est la fonction constante deux. En d’autres termes, vous voulez trouver la racine carrée de deux. Même si vous ne savez presque rien sur la recherche de racines carrées, vous pouvez
probablement voir qu’un carré est inférieur à deux et que deux au carré est plus
grand que deux. Alors, vous réalisez : « Ah, il y aura une solution entre ces deux valeurs ». Et si vous voulez la réduire davantage, essayez peut-être de diviser le point à
mi-chemin, à savoir 1.5. Et cela revient à 2.25, un peu trop haut. Vous vous concentrez donc sur la région comprise entre 1 et 1.5, et ainsi de
suite. Vous pouvez probablement voir comment cela continuerait. Vous continuez à calculer à mi-chemin, puis réduisez de moitié votre espace de
recherche.
Maintenant, une autre façon de penser à cela, ce qui nous facilitera la tâche une
fois que nous aurons atteint des dimensions plus élevées, consiste à se concentrer
sur la question équivalente lorsque la différence entre ces deux fonctions est
nulle. En ces termes, nous avons trouvé une région d’intrants dans laquelle la différence
était négative d’un côté. Et c’était positif d’un autre côté. Et puis on le scinde en deux. Et la moitié sur laquelle nous avons limité notre attention était celle où les points
les plus externes présentaient des signes opposés. Et comme cela, nous avons pu continuer, en prenant chaque région avec des signes
opposés à la frontière. Trouver une telle région plus petite parmi ses moitiés. Sachant que finalement, nous devons nous recentrer sur un point qui sera exactement
égal à zéro.
En bref, la résolution des équations peut toujours être définie comme la recherche de
l’endroit où une fonction donnée est égale à zéro. Et pour faire cela, nous avons cette heuristique. Si 𝑓 est positif à un endroit donné et négatif à un autre endroit, vous pouvez
trouver un point entre les deux où elle vaut zéro. Du moins si tout varie en douceur, sans saut brusque. Maintenant, la chose étonnante que je veux vous montrer est que vous pouvez étendre
ce type de pensée à des équations à deux dimensions, des équations entre des
fonctions dont les entrées et les sorties sont à la fois bidimensionnelles. Par exemple, les nombres complexes sont 2D. Et cet outil que nous développons est idéal pour trouver des solutions à des
équations complexes.
Maintenant, puisque nous allons tellement parler de ces fonctions 2D, prenons un bref
instant et examinons comment nous les illustrons. Je veux dire, représenter graphiquement une fonction avec une entrée 2D et une sortie
2D nécessiterait quatre dimensions. Et cela ne fonctionnera pas vraiment bien dans notre monde 3D ou sur nos écrans
2D. Mais nous avons encore quelques bonnes options. L’une consiste simplement à examiner côte à côte l’espace d’entrée et l’espace de
sortie. Chaque point de l’espace d’entrée se déplace vers un point particulier de l’espace de
sortie. Et je peux montrer comment le déplacement autour de ce point d’entrée correspond à
certains mouvements dans l’espace de sortie. Toutes les fonctions que nous considérons seront continues, en ce sens que de petites
modifications apportées à l’entrée ne correspondent qu’à de petites modifications
apportées à la sortie. Il n’y a pas de saut soudain.
Maintenant, une autre option consiste à imaginer la flèche allant de l’origine de
l’espace de sortie à ce point de sortie et à associer une version miniature de cette
flèche au point d’entrée. Cela peut nous donner un aperçu en un coup d’œil d’un point d’entrée donné ou de
plusieurs points d’entrée différents en traçant le champ de vecteur complet. Et malheureusement, lorsque vous faites cela à plusieurs reprises, cela peut devenir
assez encombré. Alors, laissez-moi faire toutes les flèches de la même taille. Et cela signifie que nous pouvons avoir une idée de la direction de chaque point de
sortie.
Mais peut-être que la meilleure façon d’illustrer des fonctions à deux dimensions, et
celle que nous utiliserons le plus cette vidéo, consiste à associer chaque point de
cet espace de sortie à une couleur. Ici, nous avons utilisé des teintes — c’est-à-dire, lorsque la couleur varie le long
d’un arc-en-ciel ou d’une roue chromatique — pour correspondre à la direction à
partir de l’origine. Et nous utilisons l’obscurité ou la luminosité pour correspondre à la distance de
l’origine. Par exemple, en se concentrant uniquement sur ce rayon de sorties, tous ces points
sont en rouge. Mais les plus proches de l’origine sont un peu plus sombres et les plus éloignés, un
peu plus brillants. Et en se concentrant uniquement sur ce rayon de sorties, tous les points sont
verts. Et encore une fois, plus près de l’origine signifie plus sombre ; plus loin signifie
plus léger, et ainsi de suite. Tout ce que nous faisons ici consiste à attribuer une couleur spécifique à chaque
direction, toutes variant continuellement.
Vous remarquerez peut-être que les différences d’obscurité et de luminosité sont
assez subtiles. Mais pour cette vidéo, tout ce qui nous importe est la direction des sorties, pas les
amplitudes, les teintes, pas la luminosité. La seule chose importante à propos de la luminosité que vous remarquerez est que près
de l’origine, qui n’a pas de direction particulière, toutes les couleurs s’estompent
en noir. Donc, si nous pensons aux fonctions, maintenant que nous avons choisi une couleur
pour chaque sortie. Nous pouvons visualiser les fonctions 2D en coloriant chaque point de l’espace
d’entrée en fonction de la couleur du point où il atterrit dans l’espace de
sortie.
J’aime imaginer de nombreux points différents de cet espace d’entrée qui sautent vers
leurs sorties correspondantes dans l’espace de sortie. Puis se faire peindre en fonction de la couleur du point d’atterrissage. Et puis en revenant d’où ils venaient dans l’espace d’entrée. En faisant cela pour chaque point de l’espace de saisie, vous pouvez avoir une idée
en regardant simplement cet espace de saisie pour voir approximativement où la
fonction prend chaque point. Par exemple, cette bande de points roses à gauche nous indique que tous ces points
sont associés quelque part dans la direction rose, en bas à gauche de l’espace de
sortie. De plus, ces trois points noirs avec beaucoup de couleurs autour d’eux sont ceux qui
vont sur zéro.
Comme dans le cas 1D, la résolution d’équations de fonctions à deux dimensions peut
toujours être reformulée en demandant à une certaine fonction d’être égale à
zéro. Voilà donc notre défi en ce moment. Créer un algorithme qui recherche les points d’entrée d’une fonction 2D donnée allant
à zéro. Maintenant, vous pouvez faire remarquer que si vous regardez une carte de couleur
comme celle-ci, en voyant ces points noirs, vous savez déjà où se trouvent les zéros
de la fonction. Alors, est-ce que ça compte ? N’oubliez pas que pour créer une figure comme celle-ci, l’ordinateur a calculé la
fonction de tous les pixels du plan. Mais notre objectif est de trouver un algorithme plus efficace qui ne nécessite de
calculer la fonction qu’en un minimum de points, mais avec une vue limitée des
couleurs, pour ainsi dire. Et aussi, d’un point de vue plus théorique, il serait bien d’avoir une construction
générale qui nous indique les conditions pour savoir si un zéro existe ou non à
l’intérieur d’une région donnée.
Maintenant, rappelez-vous, dans une dimension, l’idée principale était que si une
fonction continue est positive à un moment donné et négative à un autre, elle doit
être nulle. Alors, comment pouvons-nous étendre cela en deux dimensions ? Nous avons besoin d’une sorte d’analogue pour parler de signes. Eh bien, une façon de penser à ce que sont les signes est la direction. Positif signifie que vous pointez à droite le long de la droite numérique. Et négatif signifie que vous pointez vers la gauche. Les quantités à deux dimensions ont également une direction. Mais pour eux, les options sont beaucoup plus larges. Ils peuvent indiquer n’importe quel cercle de possibilités. Donc, de la même manière que dans une dimension, nous demandions si une fonction
donnée était positive ou négative sur la limite d’un intervalle, ce qui n’est que
deux points. Pour les fonctions 2D, nous examinerons la limite d’une région, qui est une boucle,
et nous interrogerons sur la direction de la sortie de la fonction le long de cette
limite.
Par exemple, nous voyons que le long de cette boucle autour de ce zéro, la sortie
traverse toutes les directions possibles, toutes les couleurs de l’arc-en-ciel. Rouge, jaune, vert, bleu et rouge, et tout le reste. Mais le long de cette boucle ici, sans zéro, la sortie ne passe pas par toutes les
couleurs. Elle passe par certains des orangés mais jamais, par exemple, vert ou bleu. Et c’est prometteur. Cela ressemble beaucoup à la façon dont les choses ont fonctionné dans une
dimension. Peut-être de la même manière que si une fonction 1D prend les deux signes possibles
sur la limite d’une région 1D. Il y avait un zéro quelque part à l’intérieur. Nous pourrions supposer que si une fonction 2D associe les sorties à toutes les
directions possibles, toutes les couleurs possibles, le long de la limite d’une
région 2D, puis quelque part à l’intérieur de cette région, elle doit atteindre
zéro. Donc, c’est notre hypothèse. Et prenez un moment pour déterminer si cela devrait être vrai et, si oui,
pourquoi ?
Si nous commençons à penser à une boucle minuscule autour d’un point d’entrée, nous
savons que puisque tout est continu, notre fonction l’affiche à une boucle minuscule
proche de la sortie correspondante. Mais regardez, pour la plupart des petites boucles, le rendu varie peu en
couleur. Si vous choisissez un point de sortie autre que zéro et tracez une boucle
suffisamment étroite à proximité, les couleurs de la boucle seront toutes à peu près
de la même couleur que ce point. Une boucle serrée ici est bleutée. Une boucle serrée ici sera jaunâtre. Vous n’aurez certainement pas toutes les couleurs de l’arc-en-ciel. Le seul point où vous pouvez resserrer les boucles tout en obtenant toutes les
couleurs est l’origine incolore, zéro elle-même. Il est donc vrai que si vous avez des boucles qui traversent toutes les couleurs de
l’arc-en-ciel, qui se resserrent et se resserrent, se rétrécissant sur un point,
alors ce point doit en fait être un zéro.
Et ainsi, configurons un résolveur d’équation 2D tout comme notre résolveur
d’équation à une dimension. Lorsque nous trouvons une grande région dont la frontière traverse toutes les
couleurs, divisez-la en deux. Et puis regardez les couleurs sur la limite de chaque moitié. Dans l’exemple présenté ici, la bordure de gauche ne couvre pas toutes les
couleurs. Par exemple, aucun point ne correspond aux directions orange-jaunâtre. Je vais donc griser cette zone pour dire que nous ne voulons plus la chercher. Maintenant, la moitié droite traverse toutes les couleurs, passe beaucoup de temps
dans la direction du vert, puis passe au jaune, à l’orange, au rouge ainsi qu’au
bleu, au violet et au rose.
Rappelez-vous maintenant que cela signifie que les points de cette limite sont
associés aux sorties de toutes les directions possibles. Nous allons donc l’explorer plus en profondeur, en subdivisant à nouveau et en
vérifiant la limite pour chaque région. Et la limite en haut à droite est entièrement verte, nous allons donc arrêter de
chercher là-bas. Mais le fond est assez coloré pour mériter une subdivision. Et continuez juste comme ça. Vérifiez quelle sous-région a une limite couvrant toutes les couleurs possibles, ce
qui signifie que les points de cette limite sont associés à toutes les directions
possibles. Et continuez à couper ces régions en deux comme nous l’avons fait pour le cas à une
dimension. Finalement, cela nous amène à un zéro — oh, attendez en fait une seconde. Que s’est-il passé ici ? Aucune de ces dernières subdivisions en bas à droite n’a traversé toutes les
couleurs. Donc, notre algorithme a cessé parce qu’il ne voulait pas chercher dans l’un ou
l’autre. Mais il n’a pas non plus trouvé un zéro.
Ok, il est clair que quelque chose ne va pas ici. Et c’est bon ! Se tromper fait régulièrement partie des mathématiques. Si nous regardons en arrière, nous avions cette hypothèse. Et cela nous a conduit à cet algorithme proposé. Nous nous sommes donc trompés quelque part. Et être bon en maths ne signifie pas avoir raison la première fois. Il s’agit de disposer de la résilience nécessaire pour regarder attentivement en
arrière, comprendre les erreurs et savoir comment les corriger. Le problème ici est que nous avions une région dont la frontière traversait toutes
les couleurs. Mais lorsque nous l’avons scindé au milieu, la frontière de l’une ou l’autre
sous-région n’a pas traversé toutes les couleurs. Nous n’avions aucune option pour savoir où continuer nos recherches. Et cela a brisé le détecteur de zéro.
Maintenant dans une dimension, ce genre de chose ne s’est jamais produit. Chaque fois que vous avez un intervalle dont les extrémités sont de signes
différents, si vous le divisez, vous savez qu’il est garanti d’obtenir un
sous-intervalle dont les extrémités ont également des signes différents. Autrement dit, chaque fois que vous avez deux intervalles dont les extrémités ne
changent pas de signe, si vous les combinez, vous obtenez un intervalle plus long
dont les extrémités ne changent pas non plus de signe. Mais en deux dimensions, il est possible de trouver deux régions dont les frontières
ne portent pas toutes les couleurs, mais qui se combinent pour donner une région
dont les frontières couvrent toutes les couleurs. Et juste de cette façon, notre algorithme de détermination du zéro proposé a
échoué. En fait, si vous y réfléchissez, vous pouvez trouver une grande boucle dont la
bordure traverse toutes les couleurs possibles sans qu’il y ait un zéro à
l’intérieur.
Maintenant, cela ne veut pas dire que nous avions tort dans nos affirmations sur les
petites boucles, quand nous avons dit qu’une boucle de plus en plus étroite passant
par toutes les couleurs devait être réduite à zéro. Mais ce qui a créé un désastre pour nous, c’est que cette propriété « ma frontière
passe-t-elle par toutes les couleurs ou non » ne se combine pas de manière
prévisible lorsque vous combinez des régions. Mais ne t’inquiète pas ! En fin de compte, nous pouvons le modifier légèrement pour en faire une propriété
plus sophistiquée qui se combine pour nous donner ce que nous voulons.
L’idée est qu’au lieu de demander simplement si nous pouvons trouver une couleur en
un endroit donné de la boucle. Gardons une trace plus précise de la façon dont ces couleurs changent lorsque nous
marchons dans cette boucle. Laissez-moi vous montrer ce que vous voulez dire avec un exemple. Je vais garder une petite roue de couleur dans le coin pour nous aider à garder une
trace. Lorsque les couleurs le long d’un chemin d’entrées se déplacent à travers
l’arc-en-ciel dans une direction spécifique — du rouge au jaune, du jaune au vert,
du vert au bleu ou du bleu au rouge — la sortie pivote dans le sens des aiguilles
d’une montre. Par contre, si les couleurs se déplacent de l’autre côté de l’arc-en-ciel — du bleu
au vert, du vert au jaune, du jaune au rouge ou du bleu au bleu — le rendu est
inversé.
Alors, en marchant le long de ce court sentier, les couleurs s’enroulent d’un
cinquième sens dans le sens des aiguilles d’une montre à travers la roue des
couleurs. Et en marchant le long de ce chemin ici, les couleurs parcourent un autre cinquième
du chemin dans le sens des aiguilles d’une montre à travers la roue des
couleurs. Et bien sûr, cela signifie que si vous suivez les deux chemins, les uns après les
autres, les couleurs s’enroulent au total sur les deux cinquièmes d’un tour complet
dans le sens des aiguilles d’une montre. Le montant total de l’enroulement est juste, et ça va être la clé. C’est le genre de combinaison simple qui nous sera utile. Maintenant, quand je parle de quantité totale de remontage, je veux que vous
imaginiez un odomètre à l’ancienne qui avance lorsque la flèche tourne dans le sens
des aiguilles d’une montre mais vers l’arrière comme la flèche tourne dans le sens
contraire des aiguilles d’une montre. Ainsi, l’enroulement dans le sens anti-horaire compte comme un enroulement négatif
dans le sens des aiguilles d’une montre. Les sorties peuvent tourner beaucoup. Mais si une partie de ce virage est dans la direction opposée, cela s’annule.
Par exemple, si vous avancez sur ce chemin puis sur le même chemin en arrière, le
montant total de l’enroulement finit par être nul. Le mouvement arrière recule littéralement à travers les couleurs déjà vues. Inverser tous les remontages précédents et ramener le compteur kilométrique à son
point de départ. Pour ce qui nous concerne, nous allons nous intéresser le plus à regarder les boucles
sinueuses. Par exemple, supposons que nous parcourions toute cette boucle dans le sens des
aiguilles d’une montre. Les sorties que nous rencontrons tournent autour de trois tours complets dans le sens
des aiguilles d’une montre. Les couleurs ont basculé dans l’arc-en-ciel, ROYGBIV, dans l’ordre, du rouge au rouge
encore et encore, encore et encore. Dans le jargon utilisé par les mathématiciens, on dit que le long de cette boucle, le
nombre total d’enroulements est de trois.
Maintenant, pour d’autres boucles, il pourrait s’agir de tout autre nombre
entier. Peut-être une plus grande si la sortie bascule plusieurs fois lorsque l’entrée
parcourt une seule boucle. Ou pourrait être un nombre plus petit si la sortie ne bascule qu’une ou deux
fois. Ou ce nombre sinueux pourrait même être un entier négatif. Si la sortie tournait dans le sens contraire des aiguilles d’une montre, nous
tournons dans le sens des aiguilles d’une montre. Mais le long d’une boucle, le montant total de l’enroulement doit être un nombre
entier. Je veux dire, au moment où vous revenez à votre point de départ, vous aurez le même
résultat que vous avez commencé. Incidemment, si un chemin contient en réalité un point dont la sortie est exactement
égale à zéro, alors techniquement, vous ne pouvez pas définir un nombre sinueux le
long de celui-ci. Depuis la sortie n’a pas de direction particulière.
Maintenant, cela ne sera plus un problème pour nous car notre objectif est de trouver
des zéros. Donc, si cela se produit, nous avons juste eu de la chance tôt. Très bien, la principale chose à noter à propos de ces chiffres sinueux est qu’ils
s’additionnent bien lorsque vous combinez des chemins en des chemins plus
grands. Mais ce que nous voulons vraiment, c’est que les chiffres sinueux le long des
frontières des régions s’additionnent bien lorsque nous combinons des régions pour
créer de plus grandes régions. Alors avons-nous cette propriété? Eh bien, jetez un coup d’œil ! Le nombre sinueux dans le sens des aiguilles d’une montre autour de cette région à
gauche est la somme des nombres sinueux de ces quatre chemins. Et dans le sens des aiguilles d’une montre autour de cette région à droite, la somme
des chiffres sinueux de ces quatre chemins. Et lorsque nous combinons ces deux régions pour en faire une plus grande, la plupart
de ces chemins s’inscrivent dans le sens des aiguilles d’une montre de la plus
grande région.
Et quant à ces deux chemins qui ne le font pas ? Eh bien, ils s’annulent parfaitement. L’un d’eux est l’inverse, le rembobinage de l’autre, comme nous l’avons vu
auparavant. Ainsi, les nombres sinueux le long des frontières des régions s’additionnent
exactement comme nous le souhaitons. En outre, remarque parallèle, ce raisonnement sur les frontières orientées
s’additionnant joliment comme cela revient souvent en mathématiques. Et cela passe souvent sous le nom de théorème de Stokes. Ceux d’entre vous qui ont étudié le calcul à plusieurs variables pourraient le
reconnaître à partir de ce contexte.
Alors maintenant, enfin, avec des chiffres sinistres en main, nous pouvons revenir à
nos objectifs de résolution d’équations. Le problème avec la région que nous avons vue précédemment est que, même si sa
frontière passait sous toutes les couleurs possibles, le nombre d’enroulement était
en réalité de zéro. Les sorties ont tourné à mi-chemin de jaune à rouge. Et puis a commencé à aller dans le sens inverse des aiguilles d’une montre dans
l’autre sens. Et a continué à traverser le bleu et atteindre le rouge de l’autre côté. Tout cela de telle sorte que le total de l’enroulement soit nul. Mais si vous trouvez une boucle qui atteint non seulement toutes les couleurs, mais
aussi la condition la plus forte d’un nombre sinueux. Ensuite, si vous le divisez en deux, vous avez la garantie qu’au moins une de ces
moitiés a également un nombre différent de zéros. Puisque les choses s’additionnent bien comme nous le voulons.
Ainsi, de cette façon, vous pouvez continuer, en vous rapprochant de plus en plus
d’un point. Et lorsque vous vous approchez d’un point, vous le ferez avec de minuscules boucles
dont les nombres ne sont pas nuls. Ce qui implique qu’ils passent par toutes les couleurs possibles. Et par conséquent, comme je l’ai dit précédemment, le point sur lequel ils se
rapprochent doit être un zéro. Et c’est tout ! Nous avons maintenant créé un résolveur d’équation à deux dimensions. Et cette fois, promis, il n’y a pas de bugs. Les nombres d’enroulement sont précisément l’outil dont nous avions besoin pour que
cela fonctionne. Nous pouvons maintenant résoudre des équations qui ressemblent à où 𝑓 de 𝑥 est égal
à 𝑔 de 𝑥 dans deux dimensions, simplement en considérant la différence entre 𝑓 et
𝑔. Chaque fois que nous avons une boucle dont le nombre d’enroulement n’est pas nul,
nous pouvons exécuter cet algorithme sur celle-ci. Et nous sommes assurés de trouver une solution quelque part en son sein.
Et en plus, comme dans une dimension, cet algorithme est incroyablement efficace. Nous continuons à réduire de moitié la taille de notre région à chaque tour. Ainsi, réduisant rapidement les zéros. Et pendant tout ce temps, nous devons seulement vérifier la valeur de la fonction le
long des points de ces boucles, plutôt que de la vérifier sur les très nombreux
points de l’intérieur. Dans un certain sens, le travail effectué n’est donc que proportionnel au périmètre
de la zone de recherche et non à la totalité de la zone, ce qui est incroyable ! Maintenant, une fois que vous comprenez ce qui se passe, il est étrangement fascinant
de regarder cela en action. En lui donnant une fonction et en lui permettant de rechercher des zéros. Comme je l’ai déjà dit, les nombres complexes sont bidimensionnels. Appliquons-le donc à une équation avec des nombres complexes.
Par exemple, voici l’algorithme pour trouver les zéros de la fonction 𝑥 puissance
cinq moins 𝑥 moins un sur le plan complexe. Cela a commencé en considérant une très grande région autour de l’origine, qui s’est
terminée par un nombre sinueux de cinq. Chaque fois que vous trouvez une boucle avec un nombre d’enroulement différent de
zéro, vous la divisez en deux et vous déterminez le nombre d’enroulement des deux
boucles plus petites. L’un ou les deux est garanti d’avoir un nombre d’enroulement différent de zéro. Et quand vous voyez cela, vous savez qu’il y a un zéro quelque part dans cette petite
boucle. Donc, vous continuez de la même manière, en cherchant le plus petit espace. Nous arrêtons également d’explorer une région si le chemin que nous calculons nous
place une fois à zéro. Ce qui est réellement arrivé une fois pour cet exemple sur la moitié droite ici.
Ces rares occurrences interfèrent avec notre capacité à calculer les nombres
sinueux. Mais bon, on a un zéro! Et quant aux boucles dont le nombre sinueux est zéro, vous n’exploitez pas plus
loin. Peut-être qu’ils ont une solution à l’intérieur; peut-être qu’ils n’en ont pas. Nous n’avons aucune garantie. Et en laissant notre résolveur d’équation continuer de la même manière, il converge
finalement vers beaucoup de zéros pour ce polynôme. En passant, ce n’est pas un hasard si le nombre total de spires dans cet exemple est
de cinq. Avec des nombres complexes, l’opération 𝑥 à la puissance 𝑛 correspond directement à
la marche autour de l’origine de la sortie 𝑛 fois ce que vous marchez autour une
fois l’origine de l’entrée.
Ainsi, le polynôme, pour des entrées assez grandes, chaque terme autre que le terme
principal devient non significatif en comparaison. Ainsi, tout polynôme complexe dont terme principal est 𝑥 puissance 𝑛 a un certain
nombre d’enroulement 𝑛 autour d’ une boucle assez grande. Et de cette manière, notre technique du nombre d’enroulement garantit en réalité que
chaque polynôme complexe a un zéro. C’est un fait tellement important que les mathématiciens l’appellent le théorème
fondamental de l’algèbre. Avoir un algorithme pour trouver des solutions numériques à de telles équations est
extrêmement pratique. Mais le théorème fondamental de l’algèbre est un bon exemple de la façon dont ces
nombres sinueux sont également très utiles sur le plan théorique. Garantir l’existence d’une solution à une large classe d’équations pour des
conditions appropriées. Ce qui est beaucoup plus le genre de choses auxquelles les mathématiciens aiment
penser.