• Aucun résultat trouvé

Calculer des valeurs propres et des vecteurs propres .1 Approche `a ´eviter.1 Approche `a ´eviter

R´esoudre d’autres probl`emes d’alg`ebre lin´eaire

4.3 Calculer des valeurs propres et des vecteurs propres .1 Approche `a ´eviter.1 Approche `a ´eviter

Les valeurs propres de la matrice (carr´ee) A sont les solutions en λ de l’´equation caract´eristique

det(A− λ I) = 0, (4.17) et le vecteur propre viassoci´e `a la valeur propre λiest tel que

Avi= λivi, (4.18) ce qui le d´efinit (`a une constante multiplicative pr`es).

On pourrait donc penser `a une proc´edure en trois ´etapes, o`u les coefficients de l’´equation polynomiale (4.17) seraient ´evalu´es `a partir de A, avant d’utiliser un algo-rithme d’usage g´en´eral pour calculer les λien r´esolvant cette ´equation polynomiale puis de calculer les vien r´esolvant le syst`eme lin´eaire (4.18) pour chacun des λiainsi obtenus. Sauf si le probl`eme est tr`es petit, ceci est une mauvaise id´ee, ne serait-ce que parce que les racines d’une ´equation polynomiale peuvent ˆetre tr`es sensibles `a des erreurs sur les coefficients de ce polynˆome (voir le polynˆome perfide (4.59)

en section 4.4.3). L’exemple 4.3 montrera qu’on peut, au contraire, transformer la recherche des racines d’un polynˆome en celle des valeurs propres d’une matrice.

4.3.2 Exemples d’applications

Les applications du calcul de valeurs propres et de vecteurs propres sont tr`es vari´es, comme le montrent les exemples qui suivent. Dans le premier de ceux-ci, un seul vecteur propre doit ˆetre calcul´e, qui est associ´e `a une valeur propre connue. La r´eponse s’est av´er´ee avoir des cons´equences ´economiques majeures.

Exemple 4.1. PageRank

PageRank est un algorithme utilis´e par Google, entre autres consid´erations, pour d´ecider dans quel ordre des pointeurs sur les pages pertinentes doivent ˆetre pr´esent´es en r´eponse `a une question donn´ee d’un surfeur sur le WEB [137], [33]. Soit N le nombre de pages index´ees. PageRank utilise une matrice de connexion G de dimen-sions N×N, telle que gi, j= 1 s’il existe une lien hypertexte de la page j vers la page i, et gi, j= 0 dans le cas contraire. G est donc une matrice ´enorme mais tr`es creuse.

Soit xk∈ RN un vecteur dont i-`eme ´el´ement est la probabilit´e que le surfeur soit dans la i-`eme page apr`es k changements de page. Toutes les pages ont initialement la mˆeme probabilit´e, de sorte que

x0i = 1

N, i= 1,··· ,N. (4.19) L’´evolution de xklors d’un changement de page est d´ecrite par la chaˆıne de Markov

xk+1= Sxk, (4.20) o`u la matrice de transition S correspond `a un mod`ele du comportement des surfeurs. Supposons, dans un premier temps, qu’un surfeur suive au hasard n’importe lequel des hyperliens pr´esents dans la page courante. S est alors une matrice creuse, facile `a d´eduire de G en proc´edant comme suit. Son ´el´ement si, jest la probabilit´e de sauter de la page j vers la page i via un hyperlien. Comme on ne peut pas rester dans la j-`eme page, sj, j= 0. Chacun des nj ´el´ements non nuls de la j-`eme colonne de S est ´egal `a 1/nj, de sorte que la somme de tous les ´el´ements d’une colonne de S quelconque est ´egal `a un.

Ce mod`ele manque de r´ealisme, car certaines pages ne contiennent aucun hyper-lien ou ne sont le point de destination d’aucun hyperhyper-lien. C’est pourquoi on com-plique le mod`ele en supposant que le surfeur peut al´eatoirement sauter vers une page arbitraire (avec une probabilit´e 0.15) ou choisir de suivre l’un quelconque des hyperliens pr´esents dans la page courante (avec une probabilit´e 0.85). Ceci conduit `a remplacer S dans (4.20) par

A= αS + (1− α)1· 1

T

avec α= 0.85 et 1 un vecteur colonne de dimension N dont tous les ´el´ements sont ´egaux `a un. Avec ce mod`ele, la probabilit´e de rester `a la mˆeme page n’est plus nulle. Bien que A ne soit plus creuse, l’´evaluation de Axkreste presque aussi simple que si elle l’´etait.

Apr`es une infinit´e de sauts de page, la distribution asymptotique des probabilit´es xest telle que

Ax= x, (4.22) de sorte que xest un vecteur propre de A, associ´e `a une valeur propre unit´e. Les vecteurs propres sont d´efinis `a une constante multiplicative pr`es, mais le sens de x

implique que N

i=1 x i = 1. (4.23) Une fois x´evalu´e, les pages pertinentes associ´ees aux ´el´ements de plus grandes valeurs de x peuvent ˆetre pr´esent´ees en premier. Les matrices de transition des chaˆınes de Markov sont telles que leur valeur propre la plus grande est ´egale `a un. Classer des pages WEB revient donc ici `a calculer le vecteur propre associ´e `a la plus grande valeur propre (connue) d’une matrice gigantesque.  Exemple 4.2. Oscillations de ponts

Le matin du 7 novembre 1940, le pont de Tacoma s’est violemment vrill´e sous l’action du vent avant de s’´ecrouler dans les eaux froides du d´etroit de Puget. Ce pont s’´etait vu affubl´e du surnom de Galloping Gertie `a cause de son comportement inhabituel, et c’est un coup de chance extraordinaire qu’aucun amateur de sensations fortes n’ait ´et´e tu´e dans ce d´esastre. La vid´eo de l’´ev´enement, disponible sur le WEB, est un rappel brutal de l’importance de tenir compte du risque d’oscillations lors de la conception de ponts.

Un mod`ele lin´eaire dynamique d’un pont, valide pour de petits d´eplacements, est fourni par l’´equation diff´erentielle vectorielle

M¨x+ C˙x + Kx = u, (4.24) o`u M est une matrice de masses, C une matrice d’amortissements, K une matrice de coefficients de raideur, x un vecteur d´ecrivant les d´eplacements des nœuds d’un maillage par rapport `a leurs positions d’´equilibre en l’absence de forces ext´erieures, et u un vecteur de forces ext´erieures. C est souvent n´egligeable, et c’est pourquoi les oscillations sont si dangereuses. L’´equation autonome (c’est `a dire en l’absence d’entr´ee ext´erieure) devient alors

M¨x+ Kx = 0. (4.25) Toutes les solutions de cette ´equation sont des combinaisons lin´eaires des modes propres xk, avec

xk(t) = ρρρkexp[i(ωkt+ ϕk)], (4.26) o`u i est l’unit´e imaginaire, telle que i2=−1, ωkest une pulsation de r´esonance et ρ

(K− ω2

kM)ρρρk= 0. (4.27) Calculer ωk2et ρρρkest un probl`eme de valeurs propres g´en´eralis´e [202]. En g´en´eral, M est inversible, de sorte que cette ´equation peut ˆetre transform´ee en

Aρρρk= λkρρρk, (4.28) avec λk= ω2

k et A= M−1K. Le calcul des ωket ρρρkpeut donc se ramener `a celui de valeurs propres et de vecteurs propres. La r´esolution du probl`eme de valeurs propres g´en´eralis´e peut cependant se r´ev´eler pr´ef´erable car des propri´et´es utiles de M et K peuvent ˆetre perdues lors du calcul de M−1K.  Exemple 4.3. R´esoudre une ´equation polynomiale

Les racines de l’´equation polynomiale

xn+ an−1xn−1+··· + a1x+ a0= 0 (4.29) sont les valeurs propres de sa matrice compagne

A=          0 ··· ··· 0 −a0 1 . .. 0 ... −a1 0 . .. . .. ... ... .. . . .. . .. 0 ... 0 ··· 0 1 −an−1          , (4.30)

et l’une des m´ethodes les plus efficaces pour calculer ces racines est de chercher les valeurs propres de A. 

4.3.3 M´ethode de la puissance it´er´ee

La m´ethode de la puissance it´er´ee s’applique quand la valeur propre de A de plus grand module est r´eelle et simple. Elle ´evalue alors cette valeur propre et le vecteur propre correspondant. Elle est surtout utile sur les grandes matrices creuses (ou qui peuvent ˆetre trait´ees comme si elles l’´etaient, comme dans PageRank).

Supposons, pour le moment, que la valeur propre λmaxde plus grand module soit positive. Pourvu que v0ait une composante non nulle dans la direction du vecteur propre correspondant vmax, it´erer

vk+1= Avk (4.31) fera alors d´ecroˆıtre l’angle entre vk et vmax. Pour assurer vk+1 2 = 1, (4.31) est remplac´ee par

vk+1= 1 Avk

2

Apr`es convergence,

Av=kAv

k2v, (4.33) de sorte que λmax=kAv

k2et vmax= v. La convergence peut ˆetre lente si d’autres valeurs propres ont un module proche de celui de λmax.

Remarque 4.2.Quand λmaxest n´egative, la r´ecurrence devient vk+1=− 1

Avk

2

Avk, (4.34) de sorte qu’apr`es convergence

Av=−kAv

k2v. (4.35)  Remarque 4.3.Si A est sym´etrique, alors ses vecteurs propres sont orthogonaux et, pourvu quekvmaxk2= 1, la matrice

A0= A− λmaxvmaxvTmax (4.36) a les mˆeme valeurs propres et vecteurs propres que A, sauf pour vmax, qui est main-tenant associ´e `a λ = 0. On peut ainsi appliquer la m´ethode de la puissance it´er´ee pour trouver la valeur propre avec la deuxi`eme plus grande magnitude et le vecteur propre correspondant. Cette proc´edure de d´eflation est `a it´erer avec prudence, car les erreurs se cumulent. 

4.3.4 M´ethode de la puissance inverse

Quand A est inversible et que sa valeur propre λminde plus petit module est r´eelle et unique, la valeur propre de A−1 de plus grand module est 1

λmin, de sorte qu’une it´eration en puissance inverse

vk+1= 1 kA−1vkk2

A−1vk (4.37)

peut ˆetre utilis´ee pour calculer λminet le vecteur propre correspondant (pourvu que λmin> 0). L’inversion de A est ´evit´ee en calculant vk+1par r´esolution du syst`eme

Avk+1= vk, (4.38) et en normalisant le r´esultat. Si une factorisation de A est utilis´ee `a cet effet, elle est calcul´ee une fois pour toutes. Une modification triviale de l’algorithme permet de traiter le cas λmin< 0.

4.3.5 M´ethode de la puissance inverse avec d´ecalage

La m´ethode de la puissance inverse avec d´ecalage vise `a calculer un vecteur propre xi associ´e `a une valeur propre isol´ee λi connue approximativement. Cette valeur propre n’a plus besoin d’ˆetre celle de plus grand ou de plus petit module. Cette m´ethode peut ˆetre utilis´ee sur des matrices r´eelles ou complexes. Elle est par-ticuli`erement efficace sur les matrices A normales, c’est `a dire qui commutent avec leur transconjugu´ee AHde sorte que

AAH= AHA. (4.39) Pour les matrices r´eelles, ceci se traduit par

AAT= ATA, (4.40) et les matrices sym´etriques sont donc normales.

Soit ρ une valeur approximative de λi, avec ρ6= λi. Puisque

Axi= λixi, (4.41) nous avons

(A− ρI)xi= (λi− ρ)xi. (4.42) Multiplions (4.42) `a gauche par(A− ρI)−1i− ρ)−1, pour obtenir

(A− ρI)−1xi= (λi− ρ)−1xi. (4.43) Le vecteur xi est donc aussi un vecteur propre de(A− ρI)−1, associ´e `a la valeur propre(λi− ρ)−1. En choisissant ρ proche de λi, et pourvu que les autres valeurs propres de A soit suffisamment loin, on peut assurer que, pour tout j6= i,

1 |λi− ρ|

1

j− ρ|. (4.44) L’it´eration en puissance inverse d´ecal´ee

vk+1= (A− ρI)−1vk, (4.45) combin´ee avec une normalisation de vk+1`a chaque it´eration, converge alors vers un vecteur propre de A associ´e `a λi. En pratique, on calcule plutˆot vk+1en r´esolvant le syst`eme

(A− ρI)vk+1= vk (4.46) (en g´en´eral via une factorisation LU avec pivotage partiel de A− ρI, calcul´ee une fois pour toutes). Quand ρ se rapproche de λi, la matrice A− ρI devient presque singuli`ere, ce qui n’empˆeche pas l’algorithme de fonctionner tr`es bien, au moins quand A est normale. Ses propri´et´es, y compris son comportement sur des matrices qui ne le sont pas, sont ´etudi´ees dans [113].

4.3.6 It´eration QR

L’it´eration QR, `a base de factorisation QR, permet d’´evaluer toutes les valeurs propres d’une matrice carr´ee A `a coefficients r´eels, pourvu qu’elle ne soit pas de trop grande taille. Ces valeurs propres peuvent ˆetre r´eelles ou complexes conjugu´ees. On suppose seulement que leurs modules diff`erent (sauf, bien sˆur, pour une paire de valeurs propres complexes conjugu´ees). Un r´ecit int´eressant de l’histoire de cet algorithme fascinant est dans [177]. Sa convergence est ´etudi´ee dans [249].

La m´ethode de base est comme suit. Partant de A0= A et i = 0, r´ep´eter jusqu’`a convergence

1. Factoriser Aicomme QiRi.

2. Inverser l’ordre des facteurs r´esultants Qiet Ripour former Ai+1= RiQi. 3. Incr´ementer i d’une unit´e et aller au pas 1.

Pour des raisons compliqu´ees `a expliquer, ceci transf`ere de la masse de la par-tie triangulaire inf´erieure de Ai vers la partie triangulaire sup´erieure de Ai+1. Le fait que Ri= Q−1i Ai implique que Ai+1= Q−1i AiQi. Les matrices Ai+1 et Ai ont donc les mˆemes valeurs propres. Apr`es convergence, Aest une matrice triangulaire sup´erieure par blocs avec les mˆemes valeurs propres que A, dans ce qu’on appelle une forme de Schur r´eelle. Il n’y a que des blocs scalaires et 2× 2 sur la diagonale de A. Chaque bloc scalaire contient une valeur propre r´eelle de A, tandis que les valeurs propres des blocs 2× 2 sont des valeurs propres complexes conjugu´ees de A. Si B est l’un de ces blocs 2× 2, alors ses valeurs propres sont les racines de l’´equation du second degr´e

λ2− trace(B)λ + detB = 0. (4.47) La factorisation qui en r´esulte

A= QAQT (4.48) est appel´ee d´ecomposition de Schur (r´eelle). Puisque

Q=

i

Qi, (4.49) elle est orthonormale, comme produit de matrices orthonormales, et(4.48) implique que

A= QAQ−1 (4.50) Remarque 4.4.Apr`es avoir indiqu´e que “les bonnes mises en œuvre [de l’it´eration QR] sont depuis longtemps beaucoup plus largement disponibles que les bonnes ex-plications”, [246] montre que cet algorithme n’est qu’une mise en œuvre astucieuse et num´eriquement robuste de la m´ethode de la puissance it´er´ee de la section 4.3.3, appliqu´ee `a toute une base de Rnplutˆot qu’`a un vecteur unique.  Remarque 4.5.Chaque fois que A n’est pas une matrice de Hessenberg sup´erieure (c’est `a dire une matrice triangulaire sup´erieure compl´et´ee d’une diagonale non

nulle juste en dessous de la diagonale principale), une variante triviale de la fac-torisation QR est tout d’abord utilis´ee pour la mettre sous cette forme. Ceci acc´el`ere consid´erablement l’it´eration QR, car la forme de Hessenberg sup´erieure est pr´eserv´ee par les it´erations. Notons que la matrice compagne de l’exemple 4.3 est d´ej`a sous forme de Hessenberg sup´erieure.  Quand A est sym´etrique, toutes ses valeurs propres λi(i = 1,··· ,n) sont r´eelles, et les vecteurs propres correspondants visont orthogonaux. L’it´eration QR produit alors une s´erie de matrices sym´etriques Akqui doit converger vers la matrice diago-nale Λ ΛΛ= Q−1AQ, (4.51) avec Q orthonormale et Λ Λ Λ =       λ1 0 ··· 0 0 λ2 . .. ... .. . . .. . .. 0 0 ··· 0 λn       . (4.52)

L’´equation (4.51) implique que

AQ= QΛΛΛ, (4.53) ou encore que

Aqi= λiqi, i= 1,··· ,n, (4.54) avec qi la i-`eme colonne de Q. Ainsi, qi est le vecteur propre associ´e `a λi, et l’it´eration QR calcule la d´ecomposition spectrale de A

A= QΛΛΛ QT= QΛΛΛ Q−1. (4.55) Quand A n’est pas sym´etrique, le calcul de ses vecteurs propres `a partir de la d´ecomposition de Schur reste possible mais devient significativement plus com-pliqu´e [42].

4.3.7 It´eration QR d´ecal´ee

La version de base de l’it´eration QR ´echoue s’il y a plusieurs valeurs propres r´eelles (ou plusieurs paires de valeurs propres complexes conjugu´ees) de mˆeme mo-dule, comme illustr´e par l’exemple qui suit.

Exemple 4.4. ´Echec de l’it´eration QR La factorisation QR de A=  0 1 1 0  ,

est A=  0 1 1 0  ·  1 0 0 1  , de sorte que RQ= A

et la m´ethode est bloqu´ee. Ce n’est pas surprenant car les valeurs propres de A ont la mˆeme valeur absolue (λ1= 1 et λ2=−1).  Pour contourner cette difficult´e et acc´el´erer la convergence, l’it´eration QR d´ecal´ee de base proc`ede comme suit. Partant de A0= A et i = 0, elle r´ep`ete jusqu’`a conver-gence

1. Choisir un d´ecalage σi.

2. Factoriser Ai− σiI comme QiRi.

3. Inverser l’ordre des facteurs r´esultants Qiet Riet compenser le d´ecalage pour obtenir Ai+1= RiQi+ σiI.

Une strat´egie possible est la suivante. Commencer par fixer σi `a la valeur du dernier ´el´ement diagonal de Ai, pour acc´el´erer la convergence de la derni`ere ligne, puis fixer σi`a la valeur de l’avant-dernier ´el´ement diagonal de Ai, pour acc´el´erer la convergence de l’avant-derni`ere ligne, et ainsi de suite.

Beaucoup de travaux ont ´et´e consacr´es aux propri´et´es th´eoriques et `a la mise en œuvre pratique de l’it´eration QR (d´ecal´ee), et nous n’avons fait ici qu’effleurer le sujet. L’it´eration QR, appel´ee dans [229] (cit´e dans [42]) l’un des algorithmes les plus remarquables des math´ematiques num´eriques, se r´ev`ele converger dans des situations plus g´en´erales que celles pour lesquelles sa convergence a ´et´e prouv´ee. Elle a cependant deux inconv´enients principaux. Tout d’abord, les valeurs propres de petit module peuvent ˆetre ´evalu´ees avec une pr´ecision insuffisante, ce qui peut justifier une am´elioration it´erative. Ensuite, l’algorithme QR n’est pas adapt´e aux tr`es grandes matrices creuses, car il en d´etruit le caract`ere creux. En ce qui concerne la r´esolution num´erique de grands probl`emes aux valeurs propres, le lecteur pourra consulter [202], et y d´ecouvrir que les sous-espaces de Krylov jouent, l`a encore, un rˆole crucial.

4.4 Exemples MATLAB