18 septembre 2020
On peut introduire les nombres complexes de plusieurs façons.
Par exemple, par une approche gĂ©omĂ©trique, en les associant Ă des points du plan quâon peut additionner composante par composante.
La multiplication correspond alors Ă une similitude directe et en particulier les nombres complexes unitaires â sur le cercle unitĂ© â correspondent Ă des rotations.
Une approche algĂ©brique consiste Ă remarquer que le polynĂŽme rĂ©el est irrĂ©ductible et permet donc de construire une extension algĂ©brique de degrĂ© des rĂ©els â un corps dont les Ă©lĂ©ments sont des couples de rĂ©els.
Cette approche est détaillée dans une entrée précédente.
Ces deux approches sont bien entendu Ă©quivalentes â câest lâart des mathĂ©matiques que de faire le lien entre des approches abstraites et des objets plus concrets.
Il nâest pas possible dâutiliser le mĂȘme procĂ©dĂ© pour construire un corps qui soit strictement une extension de .
Ceci est une consĂ©quence du fait que est algĂ©briquement clos â nous y reviendrons.
Pourtant, on peut munir lâensemble des quadruplets de rĂ©els dâune multiplication.
Lâensemble obtenu, les quaternions, est presque un corps : il nâest pas commutatif (on peut avoir ).
Les quaternions ont un lien subtil avec les rotations de lâespace Ă trois dimensions et sont utilisĂ©s dans de nombreux moteurs 3D.
Le cube ci-dessous utilise par exemple babylon.js, qui repose sur les quaternions pour modéliser les rotations (code source).
Vous pouvez le faire tourner grĂące aux flĂšches directionnelles.
Nous allons essayer ici de donner une idée de ce que sont ces quaternions, en commençant par quelques rappels sur les nombres complexes.
Les nombres complexes correspondent au plan muni dâopĂ©rations et avec des propriĂ©tĂ©s trĂšs similaires Ă celles des nombres rĂ©els (qui en font un corps commutatif).
Du point de vue algĂ©brique, on peut les dĂ©finir comme des nombres de la forme oĂč on a introduit un « nombre » et les rĂšgles de calcul suivantes :
| Ă | 1 | i |
|---|---|---|
| 1 | 1 | i |
| i | i | -1 |
En particulier, la multiplication ainsi définie est commutative.
Tout nombre complexe peut se dĂ©composer sous la forme oĂč est un rĂ©el positif et . Cette forme met en Ă©vidence lâinterprĂ©tation gĂ©omĂ©trique des nombres complexes :
Les points situés sur le cercle unité (cas ) correspondent alors à des rotations par un angle . En particulier, la commutativité de la multiplication des complexes est intrinsÚquement liée à la commutativité des rotations du plan.
Comme expliquĂ© dans une autre entrĂ©e, lâexistence des nombres complexes est due Ă lâexistence du polynĂŽme rĂ©el irrĂ©ductible , dont on introduit une racine .
Le corps des nombres complexes est lui algébriquement clos : tout polynÎme de degré y admet racines comptées avec leur multiplicité.
Ce rĂ©sultat, connu sous le nom de ThĂ©orĂšme fondamental de lâalgĂšbre fut prouvĂ© vers la fin du 18Ăšme siĂšcle, de façon plus ou moins rigoureuse.
Une de ses consĂ©quences est que tout corps commutatif qui est une extension des complexes est nĂ©cessairement de dimension infinie par rapport aux rĂ©els : ses Ă©lĂ©ments ne peuvent pas ĂȘtre dĂ©crits par des sĂ©quences finies de rĂ©els â on parle dâextension transcendante.
En particulier, on ne pourra pas trouver de structure de corps commutatif sur les quadruplets de rĂ©els . Comme nous le verrons, il faudra renoncer Ă la commutativitĂ©âŠ
Nous donnons ici un aperçu dâune preuve topologique du thĂ©orĂšme fondamental de lâalgĂšbre, cette partie est facultative pour la comprĂ©hension de ce qui suit.
ConsidĂ©rons le polynĂŽme â qui nâa pas de racines rĂ©elles, ce dont je vous laisse vous convaincre en considĂ©rant par exemple sa partie rĂ©elle.
đ» Le code ci-dessous permet dâobtenir lâimage dâun cercle centrĂ© en lâorigine , de rayon variant de Ă , par la fonction (on utilise SageMath).
def polynomial(z):P = z^4 + z^2 + 2*z + 10*I + 20return (P.real(), P.imag())plots = [parametric_plot(polynomial(r*e^(I*x)), (x, 0, 2*pi))for r in sxrange(3.2, 0, -0.1)]a = animate(plots, xmin=-100, ymin=-150, xmax=200, ymax=150, figsize=[5, 5])a.show(delay=50)
Lorsque est « grand », le terme dominant donne une bonne approximation de la courbe obtenue : le cercle unité est transformé en une courbe qui décrit approximativement un cercle de rayon parcouru quatre fois dans le sens trigonométrique.
Lorsque devient « petit », cette courbe se rétracte pour devenir finalement un simple point correspondant à , de coordonnées .
La courbe traverse nĂ©cessairement lâorigine quatre fois au cours de cette Ă©volution.
Lâanimation obtenue ci-dessous illustre ainsi cette preuve topologique assez classique.

Les quaternions correspondent Ă la dĂ©finition de rĂšgles de calcul sur lâespace Ă quatre dimensions .
ConcrĂštement, on introduit trois « nombres » , et et lâon identifie un point au quaternion .
| Ă | 1 | i | j | k |
|---|---|---|---|---|
| 1 | 1 | i | j | k |
| i | i | -1 | k | -j |
| j | j | -k | -1 | i |
| k | k | j | -i | -1 |
On remarque en particulier que les rÚgles de calcul sur les deux premiÚres composantes (terme réel et terme « en  ») sont identiques à celles de  : les quaternions sont une extension des complexes.
Exercice : En utilisant les rÚgles ci-dessous, déterminer les quatres coefficients du produit .
On pourra vĂ©rifier le rĂ©sultat en comparant avec lâimplĂ©mentation de la multiplication
des quaternions dans babylon.js.
De façon analogue aux nombres complexes, on dĂ©finit le conjuguĂ© de , , et je vous laisse vĂ©rifier lâĂ©galité :
On définit également la norme
La norme des quaternions est multiplicative : .
Si est un quaternion non nul, on a alors , ce qui permet de dĂ©finir lâinverse de , de façon analogue aux nombres complexes : .
On appelle rotation une transformation de lâespace qui prĂ©serve lâorigine , la distance (euclidienne) entre les points et lâorientation. Lâensemble des rotations de lâespace Ă trois dimensions est notĂ© .
De façon plus intuitive, elles correspondent aux transformations qui font tourner un objet autour dâun point central sans le dĂ©former.
Les rotations de lâespace Ă trois dimensions correspondent Ă la donnĂ©e dâun axe de rotation et dâun angle.
Par exemple, la rotation associĂ©e Ă la flĂšche de gauche dans lâanimation du cube correspond Ă une rotation de autour de lâaxe qui pointe vers le haut.
Cette caractĂ©risation des rotations est aujourdâhui bien connue, mais elle nâest pas Ă©vidente a priori. Euler lâa prouvĂ©e en 1776 par des arguments de gĂ©omĂ©trie sphĂ©rique.
Aujourdâhui, le formalisme de lâalgĂšbre linĂ©aire permet dâaboutir Ă ce rĂ©sultat par un calcul plus concis.
Ces deux preuves sont dĂ©taillĂ©es dans lâarticle Wikipedia consacrĂ©.
ConsidĂ©rons le cube prĂ©sentĂ© en introduction â mais vous pouvez aussi faire lâexpĂ©rience plus concrĂštement, par exemple en manipulant un dĂ© Ă jouer.
Notons , , , (Left, Right, Up, Down) les rotations accessibles dans lâanimation.
Elles correspondent Ă des rotations dâun quart de tour autour de lâaxe vertical (Left et Right) ou de lâaxe horizontal de votre Ă©cran (Up et Down).
On peut effectuer ces opĂ©rations successivement, et lâon notera par exemple lâapplication successives des opĂ©rations , puis , puis .
Notons Ă©galement la transformation identitĂ©, qui laisse le cube dans son Ă©tat dâorigine.
On remarque alors que et , mais : la sĂ©quence Haut, Gauche, Bas, Droite ne ramĂšne pas le cube dans sa configuration dâorigine.
Le phĂ©nomĂšne mis en Ă©vidence est la non commutativitĂ© des rotations dans lâespace, lorsque les axes de rotation ne sont pas confondus.
Une rotation peut ĂȘtre dĂ©crite par un axe de rotation donnĂ© par un vecteur directeur unitaire , et un angle .
est lui-mĂȘme dĂ©fini par ses trois coordonnĂ©es vĂ©rifiant .
Il est possible dâencoder lâensemble de ces informations dans un quaternions de la façon suivante :
On remarque que les quaternions associés à des rotations de cette façon sont unitaires :
Les coefficients dâun tel quaternion dĂ©finissent de façon unique une rotation.
En revanche, la mĂȘme rotation est dĂ©crite par deux quaternions unitaires diffĂ©rents. Par exemple, la rotation identitĂ© â qui laisse les objets dans la mĂȘme position â peut ĂȘtre dĂ©crite par les quaternions suivant :
On peut le constater en faisant faire un tour complet au cube prĂ©sentĂ© en introduction depuis sa position dâorigine dĂ©crite par le quaternion .
AprĂšs une sĂ©quence les coordonnĂ©es du quaternion correspondant â affichĂ©es sous le cube â sont diffĂ©rentes et correspondent Ă .
On peut effectuer un autre tour dans le mĂȘme sens pour retrouver le quaternion initial .
On peut encoder les rotations de lâespace Ă trois dimensions en utilisant des quaternions unitaires.
Ă toute rotation de lâespace correspond alors deux quaternions unitaires qui la dĂ©crivent.
Le produit des quaternions est compatible avec la composition des rotations : si et sont deux quaternions unitaires reprĂ©sentant des rotations, le quaternion reprĂ©sente lâapplication successive de ces deux rotations.
DĂšs lors, on peut dĂ©jĂ rapprocher la non-commutativitĂ© du produit des quaternions et la non commutativitĂ© des rotations de lâespaceâŠ
On montre par ailleurs que si lâon encode un vecteur de lâespace Ă trois dimensions sous la forme dâun quaternion , alors le produit donne le rĂ©sultat de lâapplication de la rotation associĂ©e Ă au vecteur reprĂ©sentĂ© par .
Les quaternions sont utilisĂ©s dans la plupart des moteurs 3D afin de reprĂ©senter la rotation dâun solide par rapport Ă un repĂšre initial.
Par exemple, les frameworks babylon.js et three.js, qui permettent de faire de la 3D dans la navigateur en utilisant le standard WebGL se basent sur des quaternions pour leur représentation interne des rotations.
LâAPI de babylon.js permet de spĂ©cifier une rotation par son axe et son angle, ou par les angles dâEuler â qui permettent de dĂ©finir un repĂšre en mouvement avec le solide.
Quelle que soit la méthode utilisée, la représentation interne reste cependant un quaternion.
Le moteur de jeux vidĂ©os Unity cite les avantages suivant pour lâutilisation des quaternions (source) :
They are compact, donât suffer from gimbal lock and can easily be interpolated. Unity internally uses Quaternions to represent all rotations.
La compacitĂ© de la reprĂ©sentation est principalement liĂ©e au fait que seuls quatre flottants soient nĂ©cessaires pour reprĂ©senter une rotation. Plus de dĂ©tails sur la comparaison des opĂ©rations de rotation dans les diffĂ©rentes reprĂ©sentations sont donnĂ©s dans lâarticle Wikipedia Ă ce sujet.
Le problĂšme du blocage de cardan (gimbal lock) correspond Ă lâobservation suivante :
La représentation par les quaternions unitaires ne présente pas ce problÚme.
Comment passer dâune rotation Ă une autre de façon continue, en parcourant une distance minimale ?
Cette problĂ©matique correspond Ă ce que lâon appelle lâinterpolation linĂ©aire sphĂ©rique (ou Slerp) et se pose dans les moteurs 3D pour gĂ©nĂ©rer une animation entre deux rotations diffĂ©rentes.
Si les deux rotations sont spécifiées par des quaternions et , il est possible de le faire en considérant pour le quaternion .
Cette formule nĂ©cessite dâavoir dĂ©fini une notion dâexponentielle, qui gĂ©nĂ©ralise lâexponentielle rĂ©elle ou complexe et dont la justification nĂ©cessite lâĂ©tude des groupes et algĂšbres de Lie, que nous Ă©voquerons briĂšvement.
Dans lâanimation du cube, nous utilisons la mĂ©thode Quaternion.Slerp pour gĂ©nĂ©rer les transitions entre les diffĂ©rentes rotations.
La suite de cette entrĂ©e, plus avancĂ©e, vise Ă donner un Ă©clairage sur lâorigine des quaternions et leur lien avec les rotations de lâespace.
Dans un espace de dimension avec une base orthonormĂ©e fixĂ©e, les isomĂ©tries qui fixent lâorigine sont dĂ©crites par des matrices orthogonales, qui forment un ensemble notĂ© .
La relation est symétrique. Elle correspond à équations qui sont autant de contraintes sur les coefficients de .
Lâensemble des matrices obtenues constitue donc une variĂ©tĂ© (au sens de la gĂ©omĂ©trie diffĂ©rentielle) de dimension .
Ces transformations ont un dĂ©terminant Ă©gal Ă ou suivant quâelles conservent ou inversent lâorientation. Le groupe des rotations correspond au cas .
On a par exemple et lâon peut paramĂ©trer localement Ă lâaide de variables.
On dit que est un groupe de Lie de dimension .
On a alors .
Lâensemble des rotations du plan et le cercle unitĂ© (notation de la 1-sphere) ont mĂȘme dimension. On montre mĂȘme quâils sont homĂ©omorphes, ce que lâon notera .
Câest cette identification qui nous permet de munir de la multiplication complexe.
On a alors .
Lâensemble des rotations de lâespace forme une variĂ©tĂ© de dimension (câest par exemple pour cela quâil y a trois angles dâEuler).
La sphĂšre de lâespace Ă quatre dimensions est Ă©galement une variĂ©tĂ© de dimension qui correspond aux quaternions unitaires.
En encodant une rotation dans un quaternion unitaire, on obtient la correspondance . Les points de forment du point de vue topologique un revĂȘtement double de lâensemble des rotations de lâespace.
On a alors lâidentification .
Câest cette identification qui nous permet de munir dâun produit pour construire les quaternions.
Elle met en Ă©vidence le lien avec les rotations de lâespace Ă trois dimensions, qui est plus subtil que le lien entre les complexes et les rotations du planâŠ
On peut voir les rotations du plan et de lâespace comme des structures dĂ©finies par des quotients dâun groupe de Lie par un sous-ensemble qui possĂšde une forme de rĂ©gularitĂ© (techniquement, un sous-groupe discret).
Les groupes de rotations et apparaissent alors comme les images dâensembles plus grands dont on aurait « oublié » des informations.
Lâapplication dĂ©finit par exemple un revĂȘtement du cercle unitĂ© (ou de ) par , comme lâillustre la figure ci-dessous :
Dans ce cas, ce revĂȘtement fait apparaĂźtre lâinfinitĂ© de rĂ©els dĂ©crivant une rotation donnĂ©e.
Concernant , on a un revĂȘtement par les quaternions unitaires et ce revĂȘtement possĂšde une propriĂ©tĂ© commune avec celui du cercle par les rĂ©els : câest un revĂȘtement par un espace simplement connexe.
La subtilitĂ© est que dans ce cas une rotation nâest pas dĂ©crite par une infinitĂ© de quaternions unitaires, mais seulement par deux. Le passage de Ă correspond en effet Ă identifier les points antipodaux.
Une bonne comprĂ©hension de ces notions demande de sâintĂ©resser Ă la notion dâalgĂšbre de Lie associĂ©e Ă un groupe de Lie.
Le groupe des quaternions unitaires apparaĂźt alors comme un cas particulier de groupe de Lie, qui partage avec la mĂȘme algĂšbre de Lie. Il sâagit de son revĂȘtement universelâŠ