Quaternion - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

Les quaternions, notés \mathbb H, sont un type de nombres hypercomplexes, constituant une extension des nombres complexes, extension similaire à celle qui avait conduit des nombres réels aux nombres complexes.

Origines et principes

Histoire

Les quaternions furent découverts par William Rowan Hamilton en 1843 à partir des travaux de Carl Friedrich Gauss et au siècle précédent Leonhard Euler. Il étudiait alors l'interprétation géométrique de l'arithmétique de nombres complexes dans le plan et cherchait à obtenir des résultats analogues dans l'espace à trois dimensions.

Après des années de recherches sur la construction d'une algèbre avec des " triplets " de trois nombres réels, il butait sur la multiplication, et en particulier la conservation des normes (Georg Ferdinand Frobenius a démontré en 1877 qu'une telle multiplication de triplets était impossible à définir).

Il eut alors l'idée d'utiliser des " quadruplets " en employant une dimension supplémentaire. Selon ses dires, il marchait un jour dehors le long du canal royal, avec son épouse quand soudain lui vint à l'esprit la solution sous la forme des relations : i^2 = j^2 = k^2 = ijk = -1\,. Il grava alors promptement ces relations avec un couteau dans une pierre du pont de Brougham (maintenant appelé Broom Bridge) à Dublin.

La théorie a été généralisée, d'autres ensembles comme les octonions découverts par la suite. Un élément d'un ensemble de cette nature fut qualifiée de nombre hypercomplexe jusqu'à la Première Guerre mondiale. Ces ensembles sont maintenant considérés comme des exemples d'algèbres semi-simples. Le théorème d'Artin-Wedderburn fournit une méthode de construction générique, elle se fonde sur la théorie des représentations d'un groupe fini. La construction des quaternions est donnée dans l'article représentations du groupe des quaternions. Elle correspond à l'unique algèbre simple fidèle de la représentation du groupe de quaternion sur le corps des nombres réels.

Principe

Hamilton décrivit un quaternion comme quadruplet de nombres réels, le premier élément étant un " scalaire ", et les trois éléments restants formant un " vecteur ", ou " imaginaire pur ".

Il put ainsi définir une multiplication avec les bonnes propriétés. Celle-ci peut se résumer à cette table de multiplication :

· 1 i j k
1 1 i j k
i i -1 k -j
j j -k -1 i
k k j -i -1

Tout quaternion H peut être considéré comme une combinaison linéaire des quatre quaternions "unités" 1, i, j, et k :

H = a\cdot 1 + b\cdot i + c\cdot j + d\cdot k\,
(où a, b, c, d sont des nombres réels).

H peut également s'écrire: H = z + z'·j (avec z et z' des nombres complexes de la forme a + b·i)

Les nombres réels a, b, c et d sont caractéristiques de H : il n'existe qu'une seule façon d'écrire H sous cette forme, et tout quaternion comportant ces mêmes 4 caractéristiques est nécessairement égal à H (la réciproque est vraie).

a s'appelle la composante réelle ou scalaire de H, tandis que b, c et d sont les composantes complexes de H. On dit aussi que a est le scalaire de H et que le triplet {b, c, d} ou [b\cdot i + c\cdot j + d\cdot k\,] est le vecteur de H (ou sa partie vectorielle).

Cette découverte entraîna l'abandon de l'utilisation exclusive des lois commutatives, une avancée radicale pour l'époque. Les vecteurs et les matrices faisaient encore partie du futur, mais Hamilton venait en quelque sorte d'introduire le produit vectoriel et le produit scalaire des vecteurs.

Propriétés mathématiques

Relatives aux autres classes de nombres

L'algèbre des quaternions n'est plus commutative, mais partiellement anticommutative : 1 · i = i · 1 = i mais i · j = k et j · i = -k.

Cette non commutativité est d'ailleurs tout à fait compatible avec une interprétation géométrique des quaternions, par exemple les rotations vectorielles du plan sont commutatives, mais celles de l'espace ne le sont pas :

  • On effectue une rotation autour de l'axe X suivie d'une rotation autour de l'axe Y:
Image:Rotation3D_1X.png Image:Rotation3D_1Y.png
  • On effectue une rotation autour de l'axe Y suivie d'une rotation autour de l'axe X:
Image:Rotation3D_2Y.png Image:Rotation3D_2X.png
  • Les deux cubes ont subi les mêmes rotations, mais dans un ordre différent. Le résultat final est différent, ce qui exprime de façon graphique la non-commutativité des rotations.

Somme

La somme de 2 quaternions Q_1\, et Q_2\,, notée Q_1 + Q_2\, est définie comme suit :

si Q_1 = a + b i + c j + d k\, et
si Q_2 = a'+ b'i + c'j + d'k\,, alors :
Q_1 + Q_2 =(a+a') + (b+b')i + (c+c')j + (d+d')k\,

La somme est commutative et associative.

Opposé

Les quaternions Q_1\, et Q_2\, sont dits opposés si leur somme est nulle :

Q_1 + Q_2 = 0 + 0 i + 0 j + 0 k\,

Dans ce cas, on écrit :

Q_2 = -Q_1\,

Produit

Le produit de 2 quaternions Q1 et Q2, noté Q_1\cdot Q_2 est défini comme suit :

si Q_1 = a + b i + c j + d k\, et
si Q_2 = a'+ b'i + c'j + d'k\,, alors :

Q_1\cdot Q_2 = aa'-bb'-cc'-dd' + (ab'+ba'+cd'-dc') i + (ac'+ca'+db'-bd') j + (ad'+da'+bc'-cb') k\,

qui peut encore s'écrire :

Q_1\cdot Q_2 = aa'-(bb'+cc'+dd') + (ab'+ba')i + (ac'+ca')j + (ad'+da')k + (bi+cj+dk) \wedge (b'i+c'j+d'k)\,, Q_1\cdot Q_2 = aa'- (\vec V_1\bullet \vec V_2) + (ab'+ba')i + (ac'+ca')j + (ad'+da')k + (\vec V_1\wedge \vec V_2)\,,

la dernière formule utilisant à la fois le produit scalaire (symbole \bullet \,) et le produit vectoriel (symbole \wedge \,) des composantes vectorielles \vec V_1 = (bi+cj+dk)\, et \vec V_2 = (b'i+c'j+d'k)\, des deux quaternions.

Le produit est associatif mais, comme on l'a dit plus haut, il n'est pas (sauf exceptions) commutatif !

Le produit est distributif par rapport à l'addition :

\begin{matrix} Q_1 \ (Q_2 + Q_3) &=& Q_1 Q_2 + Q_1 Q_3\ \ \  \mbox{ et } \\ (Q_1 + Q_2)\ Q_3 &=& Q_1 Q_3 + Q_2 Q_3\ \ \ \ \ \ \ \end{matrix}\,

Scalaire

Un scalaire \lambda\, peut être considéré comme un quaternion dont les 3 composantes complexes sont nulles (de même qu'un nombre réel peut être considéré comme un nombre complexe dont la partie imaginaire est nulle). On peut donc définir la somme et le produit d'un scalaire et d'un quaternion. Dans ce cas particulier, le produit est commutatif :

\lambda \ Q = Q \ \lambda\,

Conjugaison

On définit le conjugué (noté * ) du quaternion : Q = a + b i + c j + d k\, de composantes a, b, c, d par :

Q^* = a - b i - c j - d k\,

Le produit de Q\, par son conjugué Q^*\, donne :

Q \cdot Q^* = (a + b i + c j + d k ).( a - b i - c j - d k ) = a^2 + b^2 + c^2 + d^2 \,

qui est le carré de la norme \|Q\|\, de Q\,.

Norme et quaternions unitaires

Lorsque la norme (a^2 + b^2 + c^2 + d^2)^{\frac{1}{2}}\, d'un quaternion Q = a + b i + c j + d k\, vaut 1, on dit que le quaternion est normé ou encore qu'il s'agit d'un quaternion unitaire.

Nous verrons ci-dessous qu'on peut établir une sorte de correspondance entre un quaternion unitaire et une rotation vectorielle dans l'espace euclidien de dimension 3, et que cette particularité permet une représentation très simple du produit de deux rotations vectorielles.

Inverse

Si le quaternion Q\, n'est pas nul, il possède un inverse (unique) qui vaut :

Q^{-1} = \frac{1}{a^2+b^2+c^2+d^2}\ Q^*\,

Division

Le produit étant non commutatif, on peut définir deux façons de diviser le quaternion P\, par le quaternion Q\, (non nul) :

première façon : P\cdot Q^{-1}\,
seconde façon : Q^{-1}\cdot P\,

Conjugué d'un inverse, conjugué de la somme et du produit de deux quaternions

On montre aisément les égalités :

\begin{matrix}(Q^*)^* &=& Q\\(Q^{-1})^* &=& \frac{Q}{\|Q\|^2}\\(Q^*)^{-1} &=& \frac{Q}{\|Q\|^2}\\(Q^{-1})^{-1} &=& Q\\(Q_1 + Q_2)^* &=& Q^*_1 + Q^*_2\\(Q_1\cdot Q_2)^* &=& Q^*_2\cdot Q^*_1\\(Q_1\cdot Q_2)^{-1} &=& Q^{-1}_2\cdot Q^{-1}_1\end{matrix}\,

La notation (a, V)

Le quaternion Q = a\cdot 1 + b\cdot i + c\cdot j + d\cdot k\,peut être décomposé (et de façon unique) en un couple formé du réel a\, et du vecteur \vec V de \mathbb R^3 dont les coordonnées sont (b,c,d).

On écrit : Q = (a\ ,\ \vec V)\,.

Cette notation permet de définir la somme et le produit de la façon suivante :

\begin{matrix}Q_1 + Q_2 &=& (a_1\ ,\ \vec V_1) + (a_2\ ,\ \vec V_2) = (a_1+a_2\ , \vec V_1 + \vec V_2) \\Q_1 \cdot Q_2 &=& (a_1 a_2 - \vec V_1 \bullet \vec V_2\ ,\ a_1 \vec V_2 + a_2 \vec V_1 + \vec V_1 \wedge \vec V_2)\,\end{matrix}

Elle permet aussi de re-définir ou définir les 3 notions suivantes :

  • le conjugué Q^* = (a\ ,\ -\vec V)\, de Q \,,
  • le produit scalaire de deux quaternions : Q_1\bullet Q_2 = (a_1\ ,\ \vec V_1) \bullet (a_2\ ,\ \vec V_2) = a_1\cdot a_2 + \vec V_1\bullet \vec V_2

d'où l'on déduit :

  • la norme d'un quaternion : \|Q\| = \sqrt{Q\bullet Q} = \sqrt{Q.Q^*} = (Q.Q^*)^\frac{1}{2} = (a^2 + \vec V\bullet\vec V)^\frac{1}{2} = (a^2+\|\vec V\|^2)^\frac{1}{2} \,

nota : le produit scalaire défini ci-dessus est commutatif et il est donc bien sûr différent du produit de quaternions défini plus haut.

Soit à présent un quaternion Q = (a\ ,\ \vec V)\, quelconque ; notons q = \|Q\|\, et v = \|\vec V\|\,. Si le réel v\, positif n'est pas nul, le réel q\, ne l'est pas non plus et l'on peut donc toujours écrire :

Q = q \cdot \left(\frac{a}{q}\ ,\ \frac{1}{q}\cdot \vec V\right) = q \cdot \left(\frac{a}{q}\ ,\ \frac{v}{q}\frac{1}{v}\cdot  \vec V\right)\,

Or \frac{1}{v}\cdot  \vec V est un vecteur normé et l'on peut écrire : q^2 = a^2 + v^2\,, ou encore : \left (\frac{a}{q}\right )^2 + \left (\frac{v}{q}\right )^2= 1.

Il en résulte qu'il existe :

  • un angle \varphi\, (dont le cosinus et le sinus valent respectivement \frac{a}{q}\, et \frac{v}{q}\,) et
  • un vecteur normé \vec U = \frac{1}{v}\cdot \vec V

qui sont tels que l'on puisse écrire le quaternion Q \, (de vecteur \vec V non nul) sous la forme :

Q = q \left (\cos \varphi\ , \ \sin \varphi \cdot \vec U \right ) = \left (q\cos \varphi\ , \ q\sin \varphi \cdot \vec U \right )\,

Cette façon d'écrire un quaternion est importante : les termes du couple, q\cos \varphi\, et q\sin \varphi \cdot \vec U\,, sont en effet respectivement le produit scalaire et le produit vectoriel de deux vecteurs \vec V_1 et \vec V_2 orthogonaux à \vec V, ces 2 vecteurs faisant entre eux un angle égal à \varphi\,. Et cette écriture permet de construire la multiplication des quaternions grâce à la composition des similitudes de \mathbb R³ comme on peut le voir en cliquant ici

Les similitudes de l'espace et les quaternions

Pour démystifier les quaternions, nous allons faire un petit détour instructif par la géométrie élémentaire et en particulier par les similitudes dans l'espace. Une similitude dans {\mathbb R}^3 est entièrement définie par la triple donnée :

  • d'un axe de rotation bien orienté (un vecteur unitaire U),
  • d'un angle 2φ défini à 2kπ près et
  • d'un rapport d'homothétie k, un réel strictement positif.
    L'effet d'une similitude sur tous les vecteurs peut être considéré grossièrement comme un vissage avec expansion.

Voyage et trajets

Plus précisément, l'image du transformé d'un vecteur V (dont l'origine est supposée située sur l'axe U) est obtenue d'abord par une multiplication (homothétie) de ce vecteur par k, suivi par une rotation d'angle 2φ autour de l'axe de rotation (on pourrait aussi commencer par la rotation et la faire suivre de l'homothétie, mais il faudrait modifier un peu les explications qui vont suivre...). Cette rotation fait tourner d'un angle 2φ l'extrémité du vecteur kV sur un cercle (C) centré sur l'axe et situé dans un plan perpendiculaire à U. Or sur ce cercle, il y a deux façons d'effectuer le trajet : soit en utilisant un arc, soit en utilisant son complémentaire, ces arcs ne pouvant pas malheureusement être distingués par la seule mesure 2φ + 2kπ.
C'est précisément cette difficulté que permet de résoudre la notion de quaternion. Schématiquement, on peut dire qu'un quaternion, c'est comme une similitude qui saurait distinguer les 2 trajets que peut emprunter la rotation associée.

Dans la vie courante, si pour un voyage entre deux localités L1 et L2, vous avez a priori deux trajets possibles, la distinction entre ces trajets peut être faite en désignant deux sites-étapes intermédiaires s1 et s2. Et en parlant du trajet s1 et du trajet s2, vous sous-entendrez les localités de départ et d'arrivée L1 et L2.

En conservant cette analogie, il nous faut donc définir deux points intermédiaires sur les deux arcs du trajet.

À mi-chemin

Les points situés à mi-chemin sont parfaits pour cette mission. En effet, si je divise l'angle de vecteurs 2φ + 2kπ par 2, j'obtiens deux angles distincts φ + 2kπ et φ-π + 2kπ. Or, si j'utilise la rotation d'axe U et d'angle φ + 2kπ, je définis un site-étape différent de celui que j'obtiens avec la rotation φ-π + 2kπ. Ainsi à la similitude sim(U, 2φ, k), il correspond deux trajets distincts qui sont représentés par les deux quaternions distincts quat(U, φ, k) et quat(U, −π+φ, k).

Le formalisme

Le triplet (U, φ, k) peut s'écrire de façon équivalente sous la forme du couple (kcos(φ), ksin(φ)?U) de la notation (a, V). Et en utilisant des vecteurs a et b orthogonaux à U convenables, il est facile de montrer que ce couple prend la forme (a.b, a^b). Ainsi, nos sites-étapes nous permettent de revenir à des opérations très simples sur des vecteurs. Et comme ces opérations sont riches de propriétés remarquables, on sait définir (comme on l'a vu ci-dessus) une multiplication et une addition des quaternions. Vous pouvez " voir " ces deux opérations sur les quaternions ici : http://www.alcys.com

A signaler qu'une voie de recherche prometteuse peut être consultée sur le site (lien). On y définit justement la similitude dans l'espace à trois dimensions par un bivecteur qui est au couple de vecteurs ce que le vecteur est au couple de points. La loi de composition introduite dans ces bivecteurs est effectivement non commutative, et la restriction de cet ensemble au plan est l'ensemble des complexes.

Double produit de quaternions

De même que l'on peut calculer un double produit vectoriel, il est possible de calculer un double produit de quaternions.

Correspondance entre quaternion unitaire et rotation vectorielle

On peut démontrer que le transformé \vec V' = \mathbf R_{\left[2\varphi, \vec N\right]}(\vec V) \, de tout vecteur \vec V\, quelconque (de l'espace euclidien de dimension 3) dans la rotation \mathbf R\left[2\,\varphi,\,\vec N\right] d'angle 2\,\varphi\, et d'axe \vec N\, (\vec N\, étant un vecteur normé) peut être calculé grâce au produit de quaternions suivants :

(0,\ \vec V') = \left(0,\ \mathbf R_{\left[2\varphi, \vec N\right]}(\vec V)\right) = (\cos \varphi,\ \sin \varphi\ \vec N)\cdot (0,\ \vec V)\cdot (\cos \varphi,\ -\sin \varphi\ \vec N)

(\cos \varphi,\ \sin \varphi\ \vec N) et (\cos \varphi,\ -\sin \varphi\ \vec N) sont deux quaternions unitaires conjugués et où (0,\ \vec V) et (0,\ \vec V') sont des quaternions dont la composante scalaire est nulle.

On peut aussi écrire cette transformé avec la notation Q = a\cdot 1 + b\cdot i + c\cdot j + d\cdot k\,. Si la rotation est autour d'un axe orienté selon le vecteur \vec V\, de coordonnées (x, y,z) (le vecteur étant normé) et d'angle \varphi, le quaternion associé vaut :

Q = \cos \frac{\varphi}{2} \cdot 1 + x \sin \frac{\varphi}{2} \cdot i+ y \sin \frac{\varphi}{2} \cdot j+ z \sin \frac{\varphi}{2} \cdot k

Composition de rotations vectorielles et produit de quaternions

La propriété précédente justifie le fait que l'on a coutume de dire, mais de façon peu rigoureuse, que le quaternion (\cos \varphi,\ \sin \varphi\ \vec N) représente la rotation \mathbf R\left[2\,\varphi,\,\vec N\right].

En utilisant le même langage approximatif, on peut dire que la composition de deux rotations successives \mathbf R_1 puis \mathbf R_2 est une rotation \mathbf R qui est représentée par le quaternion Q = Q_2\cdot Q_1\,, les quaternions Q_1\, et Q_2\, étant les représentants respectifs des rotations \mathbf R_1 et \mathbf R_2.

Montrons-le !

En posant : \vec V' = \, \mathbf R_1\, (\vec V)\,, puis \vec V'' = \, \mathbf R_2\, (\vec V')\,, la formule encadrée ci-dessus nous donne, écrite de façon condensée, les 2 égalités :
(0,\ \vec V') = Q_1\cdot (0,\ \vec V)\cdot Q^*_1 et
(0,\ \vec V'') = Q_2\cdot (0,\ \vec V')\cdot Q^*_2, ce qui peut donc encore s'écrire :

(0,\ \vec V'') = Q_2\cdot \left[Q_1\cdot (0,\ \vec V)\cdot Q^*_1\right]\cdot Q^*_2 ou, si l'on tient compte de l'associativité du produit de quaternions:
(0,\ \vec V'') = (Q_2\cdot Q_1)\cdot (0,\ \vec V)\cdot (Q^*_1\cdot Q^*_2), ou encore :
(0,\ \vec V'') = (Q_2\cdot Q_1)\cdot (0,\ \vec V)\cdot (Q_2\cdot Q_1)^*, en tenant compte de la valeur du conjugué de deux quaternions.

Ce qui établit la propriété annoncée pour la composition de deux rotations et que nous écrirons :

\Bigg(0,\ \mathbf R_{\left[2\varphi_2, \vec N_2\right]}\left(\mathrm R_{\left[2\varphi_1, \vec N_1\right]} (\vec V)\right)\Bigg) =  (\cos \varphi_2,\ \sin \varphi_2\ \vec N_2) \cdot (\cos \varphi_1,\ \sin \varphi_1\ \vec N_1) \cdot (0,\ \vec V) \cdot  (\cos \varphi_1,\ -\sin \varphi_1\ \vec N_1) \cdot  (\cos \varphi_2,\ -\sin \varphi_2\ \vec N_2)

Notations matricielles

De même qu'il est possible de mettre en correspondance le nombre complexe z = a + i b\, avec la matrice : \begin{bmatrix}a & -b \\b & a\end{bmatrix}\,, il est possible de faire correspondre le quaternion Q = a + b i + c j + d k\, avec la matrice complexe suivante :

\begin{bmatrix}a-id & -b+ic \\ b+ic & a+id\end{bmatrix}\,

ou encore avec la matrice réelle suivante :

\begin{bmatrix}\quad a&\quad -b&-c&-d\\b&\quad a&\quad -d&c\\\quad c&d&\quad a&-b\\\quad d&\quad -c&\quad b&\quad a\end{bmatrix}\,

Il existe plusieurs représentations matricielles d'un quaternion. La matrice précédente en est une[1]. Celle qui suit est plus souvent utilisée. Ainsi, la matrice réelle créée à partir d'un quaternion s'écrit de cette façon (en gardant q=a+ib+jc+kd):

Si le quaternion unitaire représente une rotation depuis l'origine, on peut le représenter à l'aide d'une matrice 3x3

\begin{bmatrix}\quad 1-2c^2-2d^2&\quad 2bc-2da& 2bd+2ca\\\quad 2bc+2da& \quad1-2b^2-2d^2& \quad2cd-2ba \\\quad 2bd-2ca&\quad2cd+2ba&\quad 1-2b^2-2c^2\end{bmatrix}\,

Avec ces équivalences, la somme et le produit de deux quaternions correspondent respectivement à la somme et au produit des matrices qui leur correspondent.

Remarque :

La matrice complexe \begin{bmatrix}a-id & -b+ic \\ b+ic & a+id\end{bmatrix}\, peut encore s'écrire sous la forme :

a\ \begin{bmatrix}1&0\\0&1\end{bmatrix} + b\ \begin{bmatrix}0&-1\\1&0\end{bmatrix} + c\ \begin{bmatrix}0&i\\i&0\end{bmatrix} + d\ \begin{bmatrix}-i&0\\0&i\end{bmatrix}

où les 4 matrices : E = \begin{bmatrix}1&0\\0&1\end{bmatrix}, I = \begin{bmatrix}0&-1\\1&0\end{bmatrix}, J = \begin{bmatrix}0&i\\i&0\end{bmatrix} et K = \begin{bmatrix}-i&0\\0&i\end{bmatrix} sont les matrices complexes qui correspondent aux quatre quaternions-unités 1, i, j et k évoquées dans la première définition des quaternions.

Applications

Alors que cela est discutable en dimensions trois, les quaternions ne peuvent pas être employés dans d'autres dimensions ( bien que des extensions comme celles des biquaternions et des algèbres de Clifford soient utilisables ). De toute façon, la notion de vecteur avait presque universellement remplacé celle des quaternions en science et en technologie dans le milieu du XXe siècle.

Aujourd'hui, les quaternions trouvent leur place en infographie, en théorie de la commande, dans le traitement du signal, dans la commande de mouvement et la mécanique orbitale, principalement pour représenter les rotations et les orientations en dimension trois. Par exemple, il est fréquent que les systèmes de commande de déplacement d'un vaisseau spatial soient régis en termes de quaternions. La raison est qu'effectuer beaucoup d'opérations sur les quaternions est numériquement plus stable que d'effectuer beaucoup d'opérations sur les matrices.

Interpolation de rotations

Si l'on prend 2 rotations de l'espace ra et rb, l'interpolation linéaire de ces roations n'est en général pas une rotation. Pour pouvoir interpoler, il faut soit

  • utiliser les angles d'Euler,
  • utiliser les quaternions.

Dans le dernier cas, les 2 rotations sont représentées par 2 quaternions qa et qb sur la sphère unité S4, et l'interpolation correspond à la géodésique entre ces 2 points

Page générée en 5.398 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise