next up previous
suivant: Méthode des itérations inverses. monter: Méthode itératives précédent: Méthode itératives


Méthode de la puissance.

La méthode de la puissance est une méthode numérique qui permet de déterminer la valeur propre de module maximal d'une matrice à coefficients réels (en supposant que $A$ possède une seule valeur propre de module maximal qui est alors réelle). On prend un vecteur colonne $v$ au hasard et on calcule la suite récurrente:

\begin{displaymath}v_0=v\ ,\ v_{n+1}= Av_n/\vert\vert Av_n\vert\vert \end{displaymath}

Si la composante de $v_0$ sur l'espace propre correspondant à la valeur propre de plus grand module n'est pas nulle, $\pm v_n$ tend vers un vecteur (normé) de cet espace propre.

Démonstration :
si la base propre est $w_1,...,w_n$ (avec $Aw_i=\lambda_i w_i$ avec $\vert\lambda_1\vert>\vert\lambda_2\vert>...>\vert\lambda_n\vert$) on a :

\begin{displaymath}v_0=a_1w_1+a_2w_2+....+a_nw_n \end{displaymath}

donc :

\begin{displaymath}Av_0=a_1\lambda_1w_1+a_2\lambda_2w_2+....+a_n\lambda_nw_n \end{displaymath}

et on pose $\vert\vert Av_0\vert\vert^{-1}=\mu_1$. Comme $v_1=\mu_1 Av_0$, on a :

\begin{displaymath}Av_1=\mu_1 A^2v_0=
\mu_1 (a_1\lambda_1^2w_1+a_2\lambda_2^2w_2+....+a_n\lambda_n^2w_n) \end{displaymath}

et on pose $\vert\vert Av_1\vert\vert^{-1}=\mu_2$ donc :

\begin{displaymath}Av_2=
\mu_2\mu_1(a_1\lambda_1^2w_1+a_2\lambda_2^2w_2+....+a_n\lambda_n^2w_n)\end{displaymath}

.....
si on pose $\vert\vert Av_{k-1}\vert\vert^{-1}=\mu_k$ et $C_k=\mu_k..\mu_1$ on a :

\begin{displaymath}v_k=\mu_kAv_{k-1} \end{displaymath}

donc :

\begin{eqnarray*}
v_k &=&\mu_k..\mu_1 A^kv_0=\mu_k..\mu_1
(a_1\lambda_1^kw_1+a_...
...c{\lambda_n}{\lambda_1})^kw_n)\\
&\simeq &C_k\lambda_1^ka_1w_1
\end{eqnarray*}



On a bien pour $k$ assez grand, $v_k$ colinéaire au vecteur propre $w_1$ donc $Av_k\simeq\lambda_1v_k $ et puisque $v_k$ est de norme 1, $\vert\lambda_1\vert\simeq\vert\vert Av_k\vert\vert$. Si la première coordonnée $(v_k)_1$ de $v_k$ est non nulle, on a :

\begin{displaymath}\lambda_1 \simeq \frac{(Av_k)_1}{(v_k)_1} \end{displaymath}

d'autre part :

\begin{displaymath}v_{k+1} \simeq \frac{\lambda_1}{\vert\lambda_1\vert}v_k \end{displaymath}

donc $\pm v_k$ converge vers un vecteur propre, en pratique on teste si $\vert\vert v_k-v_{k+1}\vert\vert$ ou $\vert\vert v_k+v_{k+1}\vert\vert$ est inférieur à $\varepsilon$, auquel cas on arrête le calcul des $v_k$.

Exercice 3 (à rendre à la fin de la 2ème séance de ce TP)
Écrire un programme MuPAD ou calculatrice mettant en oeuvre cet algorithme. Utilisez ce programme pour trouver une valeur approchée de la valeur propre de norme maximale par la méthode de la puissance de la matrice $C$ de l'exercice 1 puis d'une matrice aléatoire.
Pour générer une matrice aléatoire:

Attention, votre matrice aléatoire peut avoir un couple de complexe conjugués comme valeur propre de plus grand module (en pratique le test d'arrêt du programme ne sera jamais atteint). Dans ce cas réessayez avec une autre matrice.


next up previous
suivant: Méthode des itérations inverses. monter: Méthode itératives précédent: Méthode itératives
2003-02-19