FichesCarte › Partie 04 · Matrice = action › chaîne 02

Valeurs propres et itération

Une matrice tourne et étire presque tout vecteur. Quelques directions échappent à la rotation : sur elles, la matrice n'est qu'un nombre. C'est la seule idée de la chaîne, et elle décide du long terme : appliquer A mille fois ne laisse survivre qu'une direction, la dominante. Fil rouge : A = 2103, dont les facteurs sont 2 et 3, et la chaîne de Markov P = 0,90,50,10,5, dont le facteur 1 porte la distribution stationnaire (5/6 ; 1/6).

Ce que cette chaîne suppose acquis
  • 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) dbca 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.
Hypothèses posées
H1A est carrée, n × n : entrée et sortie vivent dans le même espace, donc la phrase « Ax est un multiple de x » a un sens, et on peut itérer A sur ses propres sorties. Sans cela, ni valeur propre ni Ak. H2A est diagonalisable et possède une valeur propre dominante unique : |λ1| > |λ2| ≥ … C'est le cas générique, celui des pas 4 à 7 ; le pas 9 dit ce qui arrive quand l'une ou l'autre tombe.

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. »

Application — quatre vecteurs passés dans A
xangle de xA xangle de Axtourné ?
(1 ; 0)(2 ; 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

A v = λ v  ,  v ≠ 0

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. »

Application — les deux directions de A, et une valeur propre nulle

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.

Une valeur propre nulle n'est pas une absence de valeur propre. C'est un facteur, et il vaut zéro : la direction n'est pas laissée tranquille, elle est annihilée. C'est ce que le pas 7 relèvera avec λI.
Figure 1 — les deux directions qui ne tournent pas

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.

det(AλI) = 0  (polynôme caractéristique) , puis v ∈ Ker(AλI)

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. »

Application — A de bout en bout

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 noyaudirection
20101v2 = 0(1 ; 0)
3−1100v1 = 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

A = P D P−1

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. »

Application — les trois actions sur x = (0 ; 1)

P = 1101 (colonnes : les directions de λ = 2 puis λ = 3), det P = 1, donc P−1 = 1−101 et D = 2003.

étapecalcullecture
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 :

Akx = Σ ciλikvi = λ1k [ c1v1 + Σi ≥ 2 ci(λi/λ1)kvi ]

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. »

Application — cinq applications de A depuis (0 ; 1)

Coordonnées propres : (0 ; 1) = −1 · (1 ; 0) + 1 · (1 ; 1), donc Ak(0 ; 1) = −2k(1 ; 0) + 3k(1 ; 1) = (3k − 2k ; 3k).

kAkx0direction normaliséeangle(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).

Figure 2 — la direction dominante absorbe

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. »

Application — la stationnaire d'une chaîne à deux états

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 PI = −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/60,4k × 1/6
1(0,9 ; 0,1)0,06670,0667
2(0,86 ; 0,14)0,02670,0267
3(0,844 ; 0,156)0,01070,0107
4(0,8376 ; 0,1624)0,00430,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.

Le piège de la convention. A et A ont les mêmes valeurs propres (même polynôme caractéristique) mais pas les mêmes vecteurs propres. Ici Pπ = π avec π = (5/6 ; 1/6), tandis que P(1 ; 1) = (1 ; 1) : même λ = 1, vecteur tout autre. Si la matrice est écrite en lignes = transitions (la convention la plus répandue), la stationnaire est un vecteur propre à gauche, πM = π, c'est-à-dire un vecteur propre de M. Avant de lire un vecteur propre, vérifier de quel côté somment les 1.

Translater le spectre sans rien annuler

Ajouter λI ne change aucun vecteur propre : si Av = λiv, alors le même v vérifie

(A + λI)v = Av + λv = (λi + λ)v

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. »

Application — le XX dégénéré du ridge

Deux colonnes colinéaires, x = (1, 2, 3) et 2x : XX = 14282856. Trace 70, det 14 · 56 − 28² = 0, donc λ = 0 et 70.

Directions : (1 ; 2) pour 70 — XX(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
0070 — non inversible
0,010,0170,017 001
117171
1010808

(XX + λI)(2 ; −1) = λ · (2 ; −1) : la direction plate est toujours là, avec une courbure enfin non nulle. Relevée, pas supprimée.

Figure 3 — le spectre glisse, le conditionnement chute

En haut, les deux valeurs propres de XX + λ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, XX, 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. »

Application — symétrique contre non symétrique
S = 3113A = 2103
valeurs propres2 et 42 et 3
directions(1 ; −1) et (1 ; 1)(1 ; 0) et (1 ; 1)
produit scalaire0 — orthogonales1 — à 45°
P−1= P (après normalisation)1−101P

Sur S, P = (1/√2) 11−11 vérifie PP = I : la base propre est un simple repère tourné, et « changer de base » ne déforme rien. Le XX 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. »

Quatre limites
  • 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−1P, 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é

À retenir
  1. 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).
  2. Les trouver : det(AλI) = 0, puis le noyau de AλI. Contrôles gratuits : Σλ = trace, Πλ = det.
  3. A = P D P−1 se lit de droite à gauche : changer de base, étirer, revenir.
  4. Ak = P DkP−1 : la plus grande valeur propre survit seule, à la vitesse (λ2/λ1)k — power iteration, Markov, PageRank.
  5. +λI translate le spectre à directions inchangées ; 0 devient λ, donc inversible. Rien n'est annulé.
  6. Symétrique ⇒ valeurs réelles, directions orthogonales, P−1 = P : le cas de la covariance, de XX et des hessiennes.
« Une valeur propre est un facteur d'étirement sur une direction que la matrice ne tourne pas ; diagonaliser, c'est changer de base pour que la matrice devienne une dilatation. Appliquée mille fois, la matrice ne garde que sa direction dominante, à la vitesse du rapport des deux plus grandes valeurs propres : c'est la distribution stationnaire d'une chaîne de Markov et le PageRank. Et ajouter λI décale tout le spectre de λ sans rien annuler. »

Chaîne verbalisée — une prise, à voix haute

6 maillons · clique pour révéler après avoir dit
  1. Définis valeur et vecteur propres.
    Av = λv avec v ≠ 0 : une direction que A ne tourne pas, et son facteur λ.
  2. Comment les trouver, et quelles deux vérifications ?
    det(AλI) = 0, puis le noyau de AλI. Contrôles : Σλ = trace, Πλ = det.
  3. Lis A = P D P−1 de droite à gauche.
    P−1 : passer en base propre ; D : étirer chaque coordonnée par son λ ; P : revenir.
  4. Que devient Akx, et à quelle vitesse ?
    Ça s'aligne sur la direction dominante v1, l'erreur décroissant comme (λ2/λ1)k.
  5. 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.
  6. Que fait +λI ?
    Il translate chaque valeur propre de λ sans toucher aux directions : 0 devient λ, la matrice redevient inversible.