Position dans le parcoursModule 1 sur 5 · Sujet 2 sur 3
1.2 L'itération de puissance
—Score du lab— / 100XP total—Série—
Trouver la direction dominante par multiplications répétées
Résoudre un polynôme caractéristique est sans espoir pour une matrice 1000×1000, et l'on ne veut souvent que la plus grande paire propre, par exemple la première composante principale. L'itération de puissance la trouve avec de simples produits matrice-vecteur. Partez d'un vecteur quelconque x0 et répétez xk+1=Axk/∥Axk∥. Chaque multiplication étire la composante le long du vecteur propre dominant plus que toutes les autres, de sorte qu'après assez d'étapes le vecteur pointe dans cette direction.
Écrivons x0=c1v1+c2v2+⋯ dans la base des vecteurs propres. Après k étapes, les coefficients sont multipliés par λik, donc le rapport du deuxième au premier est (λ2/λ1)k. La méthode converge si ∣λ1∣>∣λ2∣ et si le vecteur de départ a une composante le long de v1 ; la vitesse dépend de ∣λ2/λ1∣ : des valeurs propres proches donnent une convergence lente. La normalisation évite seulement le débordement ; seule la direction compte. L'estimation de la valeur propre est le quotient de Rayleigh. Pour la paire suivante, on retranche λ1v1v1T d'une matrice symétrique A et on recommence : c'est la déflation.
Quelques étapes à la mainPrenons A=(2112), de valeurs propres 3 et 1 et de vecteur propre dominant (1,1). Partons de x0=(1,0). Alors Ax0=(2,1), et le quotient de Rayleigh de (2,1) est 5(2,1)⋅(5,4)=514=2,8, déjà proche de 3. Le produit suivant est A(2,1)=(5,4), presque dans la direction de (1,1). L'erreur est divisée par ∣λ2/λ1∣=1/3 à chaque étape ; pour gagner un facteur 10−6 il faut k tel que 3k≥106, soit k=13.
Mise à jour : multiplier par A, diviser par la norme, recommencer ; chaque étape coûte un produit matrice-vecteur.
Vitesse : l'erreur décroît comme ∣λ2/λ1∣k, donc des plus grandes valeurs propres proches convergent lentement.
Conditions : un écart ∣λ1∣>∣λ2∣ et un vecteur initial non orthogonal à v1.
La même idée classe les pages webL'itération de puissance est la méthode derrière PageRank, et c'est ainsi que l'on calcule à bas coût la première composante principale de milliers d'actifs quand la matrice de covariance est énorme ou jamais formée explicitement (seuls les produits Ax sont disponibles). Les routines de bibliothèque pour la décomposition complète coûtent environ n3 opérations, tandis que chaque étape de puissance coûte n2 pour une matrice dense.
Lab : ce qui est noté
Vers quoi elle converge15 pts
Un quotient de Rayleigh20 pts
Le rapport de convergence10 pts
Combien d'itérations15 pts
L'algorithme dans l'ordre15 pts
Quand elle est lente ou échoue15 pts
Pourquoi normaliser10 pts
0/ 7 traités
1Choix15 ptsSans réponse
Quand ∣λ1∣>∣λ2∣, l'itération de puissance converge (en direction) vers quel vecteur ?
2Réponse numérique20 ptsSans réponse
Pour A=(2112) et x=(2,1), calculez xTAx/xTx.
Rayleighquotient=accepté : ± 0.01
3Réponse numérique10 ptsSans réponse
Une matrice a pour valeurs propres 3 et 1. De quel facteur l'erreur diminue-t-elle à chaque étape de puissance ?
ratio=accepté : ± 0.005
4Réponse numérique15 ptsSans réponse
Avec un rapport de 1/3 par étape, quel est le plus petit nombre entier d'étapes k qui réduit l'erreur d'un facteur d'au moins 106 (soit 3k≥106) ?
k=accepté : ± 0.01
5Remettre les étapes dans l'ordre15 ptsSans réponse
Mettez dans l'ordre les étapes de l'itération de puissance.
Faites glisser pour réordonner, ou placez le focus sur un élément, Espace pour le soulever, les flèches pour le déplacer et Espace pour le déposer.
1Diviser par la norme pour obtenir un vecteur unité
2Donner le quotient de Rayleigh comme valeur propre
3Partir d'un vecteur non nul
4Répéter jusqu'à ce que la direction ne change plus
5Multiplier le vecteur par la matrice
6Choix15 ptsSans réponse
Sélectionnez toutes les situations où l'itération de puissance simple converge lentement ou ne converge pas.
7Expliquer avec des mots10 ptsSans réponse
En une ou deux phrases, dites pourquoi on divise par la norme après chaque multiplication.
Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 7 · Ctrl ⏎ pour vérifier