Algèbre

Les groupes de matrices : SO(3) et les quaternions

Certaines familles de matrices sont stables par produit et par inverse : ce sont des groupes. Le plus concret est SO(3) (groupe spécial orthogonal en dimension 3), le groupe des rotations de l'espace, celui qui oriente un satellite, une caméra ou un personnage de jeu vidéo. Cinq planches pour le construire, comprendre pourquoi les angles d'Euler se bloquent, voir naître la structure infinitésimale (l'algèbre de Lie), puis découvrir que SO(3) est « enroulé deux fois » par les quaternions unitaires.

Vue d'ensemble

Un groupe de matrices est un ensemble de matrices inversibles qui contient l'identité et qui est stable par produit et par inverse. On les définit presque toujours par une équation qui se conserve quand on multiplie :

GroupeConditionCe qu'il préserveDimension (n = 3)
GL(n, ℝ)det A ≠ 0rien de plus que l'inversibilité9
SL(n, ℝ)det A = 1les volumes et l'orientation8
O(n)AᵀA = Iles longueurs et les angles3
SO(n)AᵀA = I et det A = 1les longueurs et l'orientation : les rotations3
U(n), SU(n)A*A = I (et det A = 1)le produit hermitien de ℂⁿSU(2) : 3

Ces groupes sont aussi des espaces « lisses » : on peut s'y déplacer continûment, et parler de vitesses. Ce sont des groupes de Lie.

Un même objet soumis à une rotation qui varie continûment : son axe (rouge) tourne lentement, son angle augmente. Au centre, la matrice R ; à droite, la rotation vue comme le vecteur « angle × axe » dans la boule de rayon π. Quand l'angle dépasse 180°, le point ressort par le côté opposé : les deux points du bord représentent la même rotation.
1

Les familles de groupes, dans le plan

À quel groupe appartient une matrice 2 × 2, et pourquoi ces ensembles sont-ils stables par produit ?

Réglez les quatre coefficients de A. Le carré unité se déforme, et la page indique à quels groupes A appartient. La stabilité se démontre en une ligne : si det A = det B = 1, alors det(AB) = det A × det B = 1 ; si AᵀA = BᵀB = I, alors (AB)ᵀ(AB) = BᵀAᵀAB = BᵀB = I. Elle est aussi vérifiée numériquement sur des milliers de produits.

Exemples :
Le carré unité (gris) et son image par A = [[a, b], [c, d]]. Le cercle unité (pointillé) est envoyé sur l'ellipse orange : elle reste un cercle exactement quand A ∈ O(2).
det A
‖AᵀA − I‖
A appartient à

Stabilité, vérifiée

10 000 produits d'éléments tirés au hasard dans chaque groupe
Un ensemble qui n'est pas un groupe : les matrices de déterminant 2
SO(2) est un cercle. Une rotation du plan s'écrit [[cos θ, −sin θ], [sin θ, cos θ]] : un seul paramètre, l'angle. Composer deux rotations additionne les angles, et SO(2) s'identifie au cercle unité des complexes, eiθ. O(2) a deux morceaux : les rotations (det = 1) et les symétries (det = −1), qu'aucun chemin continu dans O(2) ne relie.
2

SO(3) : toute rotation a un axe et un angle

Comment décrire une rotation de l'espace, et pourquoi l'ordre des rotations compte-t-il ?

Euler a démontré en 1775 que toute rotation de l'espace fixe un axe, et tourne d'un angle α autour de lui. La formule de Rodrigues construit la matrice : R = I + sin α K + (1 − cos α) K², où K est la matrice antisymétrique associée à l'axe unitaire k. Inversement, la trace donne l'angle (tr R = 1 + 2 cos α), et l'axe est le vecteur propre de valeur propre 1.

L'objet tourné (couleurs pleines) et sa position de départ (fil de fer). L'axe de rotation est en rouge. Faites glisser pour tourner la vue.
R (Rodrigues)
‖RᵀR − I‖ · det R
Angle retrouvé par la trace
Axe retrouvé (vecteur propre pour 1)

L'ordre compte

Faites tourner un livre d'un quart de tour autour de l'axe x, puis d'un quart de tour autour de l'axe y. Recommencez dans l'autre ordre : le livre ne finit pas dans la même position. SO(3) n'est pas commutatif.

À gauche RyRx (d'abord x, puis y) ; à droite RxRy (d'abord y, puis x). Les deux objets partent de la même position.
‖RyRx − RxRy‖
Axe et angle de RyRx
Axe et angle de RxRy
Trois nombres. Une rotation se décrit par un axe (deux nombres, une direction) et un angle (un nombre) : SO(3) est de dimension 3, comme le confirment les 9 coefficients de R liés par les 6 équations RᵀR = I. Les deux composées ci-dessus sont toutes deux des rotations de 120°, mais autour d'axes différents.
3

Les angles d'Euler et le blocage de cardan

Pourquoi trois angles ne suffisent-ils pas à décrire toutes les rotations sans accroc ?

Les avions et les caméras utilisent souvent trois angles : le lacet ψ (autour de la verticale), le tangage θ et le roulis φ, avec R = Rz(ψ) Ry(θ) Rx(φ). C'est le principe d'une suspension à cardans : trois anneaux emboîtés. Quand le tangage atteint 90°, deux anneaux s'alignent : faire varier le lacet ou le roulis produit alors la même rotation, et l'on a perdu une direction de mouvement. C'est le blocage de cardan (gimbal lock), qui a inquiété l'équipage d'Apollo 11.

Les trois anneaux de cardan : extérieur (lacet, bleu), intermédiaire (tangage, vert), intérieur (roulis, orange), et l'objet qu'ils portent. À θ = 90°, les anneaux bleu et orange tournent autour du même axe.
Plus petite valeur singulière du jacobien de (ψ, θ, φ) ↦ R, en fonction du tangage. Elle mesure la direction de rotation la plus difficile à produire en bougeant les angles ; elle tombe à 0 à ±90°.
Plus petite valeur singulière au réglage courant
Au blocage : R(ψ + δ, 90°, φ + δ) − R(ψ, 90°, φ)
Ce n'est pas un défaut de mécanique. Aucun système de trois angles ne peut décrire SO(3) partout sans singularité : c'est une propriété topologique du groupe. La parade est de passer aux quaternions (planche 5), qui décrivent les rotations par quatre nombres liés par une seule équation, sans aucun point singulier.
4

L'algèbre de Lie so(3) : les rotations infinitésimales

Quelles sont les « vitesses » possibles dans SO(3) ?

Dérivons RᵀR = I le long d'un chemin R(t) passant par I : on obtient Ṙᵀ + Ṙ = 0. Les vitesses en I sont donc les matrices antisymétriques, de la forme [ω]× : elles forment l'algèbre de Lie so(3). Chacune correspond à un vecteur ω, la vitesse angulaire, et [ω]×v = ω × v. L'exponentielle transforme une vitesse en rotation : e[ω]× est la rotation d'angle ‖ω‖ autour de ω, et l'on retrouve exactement la formule de Rodrigues.

e[ω]× par la série contre Rodrigues (1 000 vecteurs ω au hasard)
Crochet [A, B] = AB − BA contre produit vectoriel (1 000 couples)
Les trois générateurs

Le crochet de Lie [A, B] = AB − BA mesure le défaut de commutativité. Dans so(3), il coïncide exactement avec le produit vectoriel : [Lx, Ly] = Lz. Géométriquement : tourner de ε autour de x, puis de ε autour de y, puis revenir dans le même ordre, ne ramène pas tout à fait au départ. On obtient une rotation d'angle environ ε² autour de z.

Angle du commutateur Rx(ε) Ry(ε) Rx(−ε) Ry(−ε) en fonction de ε (échelles logarithmiques) : une droite de pente 2, c'est-à-dire un angle proportionnel à ε².
ε
Angle du commutateur · angle / ε²
Axe du commutateur
Pente mesurée (log-log)
Le dictionnaire de Lie. Le groupe (courbe, global) et son algèbre (plat, infinitésimal) se répondent : l'exponentielle va de l'une à l'autre, et le crochet de l'algèbre est l'ombre du commutateur du groupe. Toute la structure locale de SO(3) tient dans la règle [Lx, Ly] = Lz et ses permutations circulaires, la même que celle du moment cinétique en mécanique quantique.
5

Signature : quaternions unitaires, SU(2) et le tour de 720°

Un quaternion unitaire q fait tourner l'espace par v ↦ q v q̄. Mais q et −q donnent la même rotation : SO(3) est « enroulé deux fois » par les quaternions.

Les quaternions unitaires forment une sphère de dimension 3, S³, et un groupe, isomorphe à SU(2). Le quaternion q = cos(α/2) + sin(α/2)(kxi + kyj + kzk) fait tourner d'un angle α autour de k. Le demi-angle est essentiel : quand α parcourt un tour complet (360°), q ne parcourt qu'une moitié de cercle et arrive en −q. Il faut deux tours pour que q revienne à lui-même. L'application q ↦ R(q) de S³ sur SO(3) est un double revêtement, de noyau {1, −1}.

L'objet tourne autour de l'axe vertical. Au-dessus, la « ceinture de Dirac » : un ruban (recto bleu, verso orange) qui relie l'objet à un plafond fixe et s'entortille d'un tour par 360°.
Le quaternion q(t) = cos(t/2) + sin(t/2) k sur son grand cercle de S³ (composantes w et z). La rotation revient à l'identité à 360°, mais q n'y revient qu'à 720°.
Angle de rotation
Quaternion q
‖R(q) − R(−q)‖ · ‖R(q) − I‖
Le tour de la ceinture. Un lacet de rotations de 360° autour d'un axe ne peut pas être déformé continûment en l'immobilité : on ne peut pas défaire la torsion d'une ceinture tournée d'un tour en déplaçant seulement l'objet. Avec 720°, on le peut. C'est l'expérience de Dirac, et l'on peut la faire avec une assiette tenue à plat dans la main. Le groupe fondamental de SO(3) a deux éléments, et c'est pour cela que les électrons, décrits par SU(2), changent de signe après un tour complet.

Pour animer un passage d'une orientation à une autre, on peut interpoler les matrices coefficient par coefficient, les angles d'Euler, ou les quaternions sur la sphère S³ (SLERP, Shoemake 1985). Seule la troisième méthode reste dans SO(3), prend le chemin le plus court et tourne à vitesse constante.

De gauche à droite : interpolation linéaire des matrices (l'objet se déforme), des angles d'Euler (long détour) et SLERP (rotation régulière autour d'un seul axe). En pointillé, la position de départ ; en gris, celle d'arrivée ; la courbe suit le bout de l'axe rouge de l'objet.
Matrices : ‖RᵀR − I‖ maximal sur le trajet
Euler : angle parcouru · vitesse min – max
SLERP : angle parcouru · vitesse min – max

Comment tirer une rotation « au hasard », uniformément ? Tirer les trois angles d'Euler uniformément ne marche pas : les rotations obtenues s'entassent par endroits. Tirer un quaternion uniformément sur S³ (quatre gaussiennes normalisées), si. La bonne mesure, invariante par composition, est la mesure de Haar. Pour elle, l'angle α d'une rotation au hasard a la densité (1 − cos α)/π, et l'image du pôle nord est uniforme sur la sphère : sa hauteur z est uniforme sur [−1 ; 1] (théorème d'Archimède).

Répartition de la hauteur z de l'image du pôle nord : angles d'Euler uniformes (rouge) contre quaternions uniformes (vert). La loi de Haar est la droite horizontale.
Répartition de l'angle de rotation pour les quaternions uniformes (barres) contre la densité de Haar (1 − cos α)/π (courbe).
Euler uniformes : écart max à la loi uniforme de z
Quaternions : écart max à la loi uniforme de z
Quaternions : écart max à la densité de Haar de l'angle

Une brève histoire

1775Euler démontre que tout déplacement d'un solide autour d'un point fixe est une rotation autour d'un axe.
1840Olinde Rodrigues publie la formule de composition des rotations, avec des paramètres équivalents aux quaternions.
1843Hamilton invente les quaternions ; Cayley montre en 1845 qu'ils décrivent les rotations par v ↦ q v q̄.
1873–1893Sophus Lie développe la théorie des groupes continus de transformations et de leurs « algèbres infinitésimales ».
1927–1928Pauli et Dirac décrivent le spin de l'électron avec SU(2) : une rotation de 360° change le signe de son état.
1969Apollo 11 : la centrale inertielle à cardans risque le blocage, et l'équipage doit l'éviter. Michael Collins demande en plaisantant un « quatrième cardan » pour Noël.
1985Ken Shoemake introduit SLERP pour l'animation par ordinateur : les quaternions entrent dans le cinéma et le jeu vidéo.

En résumé

Des groupes définis par des équations

GL, SL, O, SO, U, SU : chaque condition (det, AᵀA = I…) se conserve par produit et par inverse. SO(3), les rotations de l'espace, est de dimension 3 et n'est pas commutatif.

Infinitésimal et global

Les vitesses de SO(3) sont les matrices antisymétriques. L'exponentielle redonne les rotations, et le crochet est le produit vectoriel. Trois angles d'Euler ont forcément des singularités.

Quaternions

Les quaternions unitaires (SU(2)) enroulent deux fois SO(3) : q et −q donnent la même rotation. Ils évitent le blocage de cardan, interpolent proprement et se tirent au hasard uniformément.

Pour aller plus loin

Topologie de SO(3). Chaque rotation correspond au vecteur « axe × angle », dans la boule de rayon π, où deux points opposés du bord (angle π) représentent la même rotation. SO(3) est ainsi l'espace projectif réel de dimension 3.

Autres groupes. Le groupe de Lorentz SO(3, 1) de la relativité restreinte est revêtu deux fois par SL(2, ℂ). Le groupe des déplacements SE(3) (rotations et translations) sert en robotique.

Liens. Quaternions et octonions (structures algébriques), exponentielle de matrice (Jordan), espaces euclidiens et hermitiens, groupe symétrique (le cube et S₄ forment un sous-groupe fini de SO(3)).