- Ax est une action. Ax pondère les colonnes de A par les coordonnées de x ; les colonnes sont les images de la base (p04-01, pas 2). Ici on ne regarde plus où part la base, mais quelles directions ne bougent pas.
- det = 0 ⇔ noyau non trivial. Le déterminant est l'aire du parallélogramme des colonnes ; nul, il dit que le plan s'écrase et qu'un vecteur non nul part sur zéro (p04-01, pas 5). C'est le seul outil utilisé au pas 3.
- Inverse d'une 2 × 2. P = abcd a pour inverse (1/det) d−b−ca dès que det ≠ 0. Utilisé une seule fois, au pas 4.
- Transposée et produit scalaire. (A⊤)ij = Aji, et ⟨u, v⟩ = Σ uivi. Ils n'apparaissent qu'aux pas 6 et 8.
La chaîne
Le décor : presque tout tourne
Passe une poignée de vecteurs dans A et regarde leur angle, pas leur longueur. Presque tous changent de direction : A les tourne en plus de les étirer.
Quelques-uns, non. Ceux-là ressortent sur la même droite, seulement rallongés. Sur eux, A ne fait rien qu'un nombre ne saurait faire.
« A déplace chaque vecteur, donc la plupart changent de direction, donc les rares qui gardent la leur sont les seuls sur lesquels A se réduit à un facteur. »
| x | angle de x | A x | angle de Ax | tourné ? |
|---|---|---|---|---|
| (1 ; 0) | 0° | (2 ; 0) | 0° | non — × 2 |
| (0 ; 1) | 90° | (1 ; 3) | 71,6° | oui |
| (1 ; 1) | 45° | (3 ; 3) | 45° | non — × 3 |
| (1 ; −1) | −45° | (1 ; −3) | −71,6° | oui |
Deux lignes sur quatre ne tournent pas, et elles ne sont pas choisies au hasard : ce sont les deux seules directions de A qui aient cette propriété. Tout le reste de la chaîne consiste à les trouver sans les deviner, puis à voir qu'elles décident du long terme.
Définition : direction propre, facteur propre tronc
Un vecteur non nul v est un vecteur propre de A, de valeur propre λ, si
Tout multiple de v convient aussi : ce qui est propre est une direction, pas un vecteur. Le signe et la taille de λ disent le geste : λ < 0 retourne, |λ| < 1 contracte, λ = 0 écrase la direction sur l'origine.
« Sur une direction propre A agit comme un scalaire, donc toute la complexité de A tient dans le choix de ces directions et de leurs facteurs, donc les connaître c'est connaître A. »
A(1 ; 0) = (2 ; 0) = 2 · (1 ; 0) · A(1 ; 1) = (3 ; 3) = 3 · (1 ; 1).
Et sur un multiple : A(2 ; 2) = (6 ; 6) = 3 · (2 ; 2). Toute la droite portée par (1 ; 1) est multipliée par 3 — c'est bien une direction qui est propre.
Le cas λ = 0. Reprenons B = 1224 de p04-01 : B(2 ; −1) = (0 ; 0) = 0 · (2 ; −1). Le noyau n'est rien d'autre que la direction propre de valeur propre 0, et det B = 0 en est la trace.
La grille fine et le carré pointillé sont ceux de départ ; la grille grasse et le parallélogramme sont leur image par la matrice. Fais tourner x (rouge, sur le cercle unité) : A x (bleu) tourne avec lui, sauf quand x tombe sur une des deux droites tiretées — les directions propres. Là, l'écart d'angle passe à 0° (ou 180°) et le facteur affiché est la valeur propre ; les boutons « aligner » y amènent x exactement. Sur B, det = 0 : la grille d'arrivée s'effondre sur une droite, et la direction propre de facteur 0 envoie x sur l'origine. Sur rotation, aucune droite tiretée : le discriminant est négatif, il n'existe aucune direction réelle fixe.
Les trouver : le polynôme caractéristique
On ne devine pas, on résout. Av = λv se réécrit (A − λI)v = 0 : chercher un v non nul, c'est demander que A − λI ait un noyau non trivial, donc un déterminant nul.
Deux vérifications gratuites, à faire systématiquement : Σλi = trace et Πλi = det.
« Une direction propre est dans le noyau de A moins lambda I, donc ce noyau est non trivial, donc son déterminant est nul, donc lambda est racine du polynôme caractéristique. »
det 2 − λ103 − λ = (2 − λ)(3 − λ) = λ² − 5λ + 6 ⇒ λ = 2 ou 3.
Contrôle : 2 + 3 = 5 = trace A ; 2 × 3 = 6 = det A. Les deux tombent juste.
| λ | A − λI | équation du noyau | direction |
|---|---|---|---|
| 2 | 0101 | v2 = 0 | (1 ; 0) |
| 3 | −1100 | v1 = v2 | (1 ; 1) |
Second exemple, symétrique : S = 3113 donne λ² − 6λ + 8, donc λ = 2 et 4, de directions (1 ; −1) et (1 ; 1). Leur produit scalaire vaut 1 − 1 = 0 : elles sont orthogonales. Ce n'est pas un hasard — c'est le pas 8.
Diagonaliser, c'est trois actions tronc
S'il existe n directions propres indépendantes, mets-les en colonnes dans P et les facteurs dans D = diag(λ1, …). Alors
Lis de droite à gauche, dans l'ordre où ça s'applique à x : P−1 exprime x dans la base propre, D étire chaque coordonnée par son λ, P ramène dans la base de départ.
« Changer de base, étirer coordonnée par coordonnée, revenir, donc A n'est qu'une dilatation vue dans une base tournée, donc tout ce qu'on sait faire à une diagonale, on sait le faire à A. »
P = 1101 (colonnes : les directions de λ = 2 puis λ = 3), det P = 1, donc P−1 = 1−101 et D = 2003.
| étape | calcul | lecture |
|---|---|---|
| P−1x | (−1 ; 1) | x = −1 · (1 ; 0) + 1 · (1 ; 1) |
| D(−1 ; 1) | (−2 ; 3) | × 2 sur la première, × 3 sur la seconde |
| P(−2 ; 3) | (1 ; 3) | = Ax ✓ |
Vérification directe du produit : P D P−1 = 2103 = A. Les coefficients −1 et 1 de la première ligne sont les coordonnées propres de x ; elles portent tout le pas suivant.
Puissances : seule la plus grande survit tronc
Les P−1P intermédiaires se télescopent, donc Ak = P DkP−1 avec Dk = diag(λ1k, …). Sur x = Σ civi :
Le crochet tend vers c1v1 : la direction converge vers v1, à la vitesse (λ2/λ1)k. Appliquer, normaliser, répéter : c'est la power iteration.
« Chaque composante est multipliée par sa valeur propre à la puissance k, donc la plus grande écrase les autres, donc l'itération converge vers la direction dominante, d'autant plus vite que l'écart entre lambda 1 et lambda 2 est grand. »
Coordonnées propres : (0 ; 1) = −1 · (1 ; 0) + 1 · (1 ; 1), donc Ak(0 ; 1) = −2k(1 ; 0) + 3k(1 ; 1) = (3k − 2k ; 3k).
| k | Akx0 | direction normalisée | angle | (2/3)k |
|---|---|---|---|---|
| 1 | (1 ; 3) | (0,32 ; 0,95) | 71,6° | 0,667 |
| 2 | (5 ; 9) | (0,49 ; 0,87) | 60,9° | 0,444 |
| 3 | (19 ; 27) | (0,58 ; 0,82) | 54,9° | 0,296 |
| 4 | (65 ; 81) | (0,63 ; 0,78) | 51,3° | 0,198 |
| 5 | (211 ; 243) | (0,66 ; 0,76) | 49,0° | 0,132 |
| ∞ | — | (0,71 ; 0,71) | 45° | 0 |
La composante sur (1 ; 0) n'a pas disparu — elle vaut encore 32 à k = 5 — mais elle pèse (2/3)5 = 13 % de l'autre. C'est un rapport qui s'éteint, pas une quantité. Contrôle : A5 = P D5P−1 = 322110243, et sa seconde colonne est bien (211 ; 243).
Chaque itéré est renormalisé : seule la direction compte, pas la taille qui explose en 3k. Presse appliquer ou fais glisser k : les points pâles sont le passé, le point plein est l'itéré courant, le cercle violet est la limite et la droite tiretée violette la direction dominante. Les points s'en rapprochent en gardant chaque fois (λ2/λ1) de l'écart précédent — d'où un premier pas large et des suivants de plus en plus courts. Sur Markov, la normalisation naturelle n'est pas la norme mais la somme, que P conserve : les itérés glissent le long du segment des distributions vers π = (5/6 ; 1/6), et l'écart affiché vaut exactement 0,4k × 1/6.
Le signal : itération et long terme
Dès qu'un énoncé contient une matrice carrée appliquée en boucle et une question sur l'état final, la réponse est dans le spectre. Chaînes de Markov (λ1 = 1, le vecteur propre est la distribution stationnaire), PageRank, systèmes dynamiques, stabilité d'une récurrence (|λ| < 1 ⇒ elle s'éteint), et le conditionnement d'une descente (λmax/λmin).
« Itérer multiplie chaque composante par sa valeur propre puissance k, donc le long terme ne dépend que du spectre, donc toute question d'état stationnaire ou de stabilité se lit sur les valeurs propres et nulle part ailleurs. »
P = 0,90,50,10,5 avec la convention colonnes = transitions : la colonne 1 dit ce que devient l'état 1 (« 0,9 reste, 0,1 part »), la colonne 2 ce que devient l'état 2. Chaque colonne somme à 1.
Trace 1,4 et det 0,45 − 0,05 = 0,4, donc λ² − 1,4λ + 0,4 : λ = 1 et 0,4. Noyau de P − I = −0,10,50,1−0,5 : la droite (5 ; 1), normalisée à somme 1 → π = (5/6 ; 1/6) ≈ (0,833 ; 0,167).
| k | état depuis (1 ; 0) | écart à 5/6 | 0,4k × 1/6 |
|---|---|---|---|
| 1 | (0,9 ; 0,1) | 0,0667 | 0,0667 |
| 2 | (0,86 ; 0,14) | 0,0267 | 0,0267 |
| 3 | (0,844 ; 0,156) | 0,0107 | 0,0107 |
| 4 | (0,8376 ; 0,1624) | 0,0043 | 0,0043 |
λ1 = 1 ne change pas la taille — c'est pour cela que la masse totale reste 1 — et λ2 = 0,4 dit la vitesse d'oubli de l'état initial.
Translater le spectre sans rien annuler
Ajouter λI ne change aucun vecteur propre : si Av = λiv, alors le même v vérifie
Les directions ne bougent pas ; chaque facteur est décalé de λ. En particulier une valeur propre 0 devient λ ≠ 0 : plus aucune direction n'est écrasée, donc la matrice redevient inversible. C'est le pas 5 de p02-02, vu depuis le spectre.
« Ajouter lambda I ajoute lambda à chaque valeur propre sans toucher aux directions, donc la valeur propre nulle devient lambda, donc la matrice redevient inversible, donc rien n'a été annulé — la direction plate a été relevée. »
Deux colonnes colinéaires, x = (1, 2, 3) et 2x : X⊤X = 14282856. Trace 70, det 14 · 56 − 28² = 0, donc λ = 0 et 70.
Directions : (1 ; 2) pour 70 — X⊤X(1 ; 2) = (70 ; 140) — et (2 ; −1) pour 0, la direction plate, celle où la loss ne courbe pas.
| λ | petite v.p. | grande v.p. | κ = grande/petite |
|---|---|---|---|
| 0 | 0 | 70 | ∞ — non inversible |
| 0,01 | 0,01 | 70,01 | 7 001 |
| 1 | 1 | 71 | 71 |
| 10 | 10 | 80 | 8 |
(X⊤X + λI)(2 ; −1) = λ · (2 ; −1) : la direction plate est toujours là, avec une courbure enfin non nulle. Relevée, pas supprimée.
En haut, les deux valeurs propres de X⊤X + λI : deux droites parallèles, de pente 1, l'écart de 70 entre elles ne bouge jamais — c'est cela, une translation du spectre. En bas, le conditionnement κ = (70 + λ)/λ : il part de l'infini en λ = 0 (le seul point où une direction est écrasée), tombe sous 100 dès λ ≈ 0,7, puis ne gagne presque plus rien. Les readouts rappellent les deux directions propres : elles sont identiques à tous les λ.
Symétrique : le cas propre
A = A⊤ apporte trois cadeaux d'un coup : valeurs propres réelles, directions propres orthogonales, et donc une matrice de passage P orthogonale, où P−1 = P⊤. C'est le théorème spectral, démontré en p04-03 ; ici on l'utilise, on ne le prouve pas.
En ML on y est presque toujours : covariances, X⊤X, hessiennes sont symétriques par construction.
« Une matrice symétrique a des directions propres orthogonales, donc sa matrice de passage est orthogonale, donc l'inverse est la transposée, donc changer de base ne coûte plus qu'un produit — et les valeurs propres sont réelles, donc ordonnables. »
| S = 3113 | A = 2103 | |
|---|---|---|
| valeurs propres | 2 et 4 | 2 et 3 |
| directions | (1 ; −1) et (1 ; 1) | (1 ; 0) et (1 ; 1) |
| produit scalaire | 0 — orthogonales | 1 — à 45° |
| P−1 | = P⊤ (après normalisation) | 1−101 ≠ P⊤ |
Sur S, P = (1/√2) 11−11 vérifie P⊤P = I : la base propre est un simple repère tourné, et « changer de base » ne déforme rien. Le X⊤X du pas 7 est dans le même cas : (1 ; 2) · (2 ; −1) = 2 − 2 = 0.
Où ça casse casse
Tout le raisonnement repose sur deux hypothèses : il existe une base de directions propres, et une dominante unique. Chaque casse est la perte de l'une ou de l'autre.
« La diagonalisation suppose une base propre et la power iteration une dominante unique, donc chaque panne vient de la perte d'une de ces deux hypothèses, donc le diagnostic se lit sur le spectre avant d'essayer quoi que ce soit. »
- Pas diagonalisable. Le cisaillement 1101 a λ = 1 double mais une seule direction propre, (1 ; 0) : pas de base propre, pas de P D P−1 (bloc de Jordan). L'itération depuis (0 ; 1) donne (1 ; 1), (2 ; 1), (3 ; 1), … : elle converge bien vers (1 ; 0), mais en 1/k et non en ratio — l'angle passe de 45° à 11° en cinq pas, contre 49° pour A.
- Valeurs propres complexes. Une rotation de 90°, 0−110, a pour polynôme λ² + 1 : discriminant −4, aucune racine réelle, donc aucune direction réelle fixe. Seul le module |λ| a un sens : < 1 la trajectoire spirale vers 0, > 1 elle part à l'infini, = 1 elle tourne indéfiniment.
- |λ1| = |λ2|. Avec λ = +1 et −1, le rapport (λ2/λ1)k ne décroît pas : il alterne entre +1 et −1. La power iteration oscille entre deux directions sans jamais converger — et une valeur propre dominante répétée avec deux vecteurs propres donne une limite qui dépend du point de départ.
- Non symétrique. Les directions propres ne sont plus orthogonales : P−1 ≠ P⊤, changer de base coûte une vraie inversion, et le conditionnement de P entre dans les erreurs numériques. Deux directions propres presque parallèles rendent la décomposition instable même quand les valeurs propres, elles, sont bien séparées.
Résumé
- Av = λv, v ≠ 0 : les directions que A ne tourne pas ; λ est le facteur — négatif il retourne, |λ| < 1 il contracte, nul il écrase (c'est le noyau).
- Les trouver : det(A − λI) = 0, puis le noyau de A − λI. Contrôles gratuits : Σλ = trace, Πλ = det.
- A = P D P−1 se lit de droite à gauche : changer de base, étirer, revenir.
- Ak = P DkP−1 : la plus grande valeur propre survit seule, à la vitesse (λ2/λ1)k — power iteration, Markov, PageRank.
- +λI translate le spectre à directions inchangées ; 0 devient λ, donc inversible. Rien n'est annulé.
- Symétrique ⇒ valeurs réelles, directions orthogonales, P−1 = P⊤ : le cas de la covariance, de X⊤X et des hessiennes.
Chaîne verbalisée — une prise, à voix haute
- Définis valeur et vecteur propres.Av = λv avec v ≠ 0 : une direction que A ne tourne pas, et son facteur λ.
- Comment les trouver, et quelles deux vérifications ?det(A − λI) = 0, puis le noyau de A − λI. Contrôles : Σλ = trace, Πλ = det.
- Lis A = P D P−1 de droite à gauche.P−1 : passer en base propre ; D : étirer chaque coordonnée par son λ ; P : revenir.
- Que devient Akx, et à quelle vitesse ?Ça s'aligne sur la direction dominante v1, l'erreur décroissant comme (λ2/λ1)k.
- Que vaut la stationnaire de P, et pourquoi ?Le vecteur propre de λ = 1 normalisé à somme 1 : (5/6 ; 1/6). Colonnes = transitions ⇒ vecteur propre à droite ; lignes = transitions ⇒ à gauche, donc vecteur propre de M⊤.
- Que fait +λI ?Il translate chaque valeur propre de λ sans toucher aux directions : 0 devient λ, la matrice redevient inversible.
Ponts et cartes
algebre::eigen (définition, det(A − λI) = 0, trace et det) · algebre::diagonalisation (P D P−1 lu de droite à gauche, cas symétrique) · algebre::power-iteration (Ak, vitesse λ2/λ1) · algebre::markov (stationnaire, convention lignes/colonnes, vecteur propre à gauche).
Une carte qui résiste après cette chaîne est une carte à refondre, pas une section à relire.