61
UNIVERSITE PAUL SABATIER ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi` eme ann´ ee de Licence Math´ ematiques Fondamentales. Table des mati` eres 1. Introduction 2 2. Pr´ eliminaires alg´ ebriques 4 2.1. Rappel sur les matrices 4 2.2. Op´ erations par blocs 6 2.3. Structures additionnelles 7 2.4. ecomposition en Valeurs singuli` eres, Forme polaire 14 3. Analyse matricielle 16 3.1. Normes vectorielles, matricielles 16 3.2. Localisation des valeurs propres 22 3.3. Conditionnement d’une matrice. 23 4. ethodes directes pour les syst` emes lin´ eaires 25 4.1. Introduction, Cas triangulaires 25 4.2. ethode de Gauss, sans recherche de pivot 25 4.3. ecomposition LU 27 4.4. ethode de Cholesky 31 4.5. ethode de Gauss g´ en´ erale, d´ ecomposition PLU 34 4.6. Factorisation QR, Gram-Schmidt 36 4.7. Factorisation QR, Householder 38 5. ethodes it´ eratives pour r´ esoudre les syst´ emes lin´ eaires 41 5.1. Principe g´ en´ eral 41 5.2. ethode de Jacobi 44 5.3. ethode de Gauss-Seidel 45 5.4. ethodes avec relaxation, SOR 46 5.5. Descente, M´ ethode du gradient 47 5.6. ethode du gradient conjugu´ e 49 5.7. Appendice. Quelques remarques sur la convexit´ e 52 6. Calcul du spectre 53 6.1. en´ eralit´ es, M´ ethode de la puissance 53 6.2. Forme d’Hessemberg, introduction `a la m´ ethode QR 56 6.3. Quelques r´ esultats de convergence pour la m´ ethode QR 58 ef´ erences 60 1

ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

  • Upload
    others

  • View
    16

  • Download
    1

Embed Size (px)

Citation preview

Page 1: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

UNIVERSITE PAUL SABATIER

ANALYSE MATRICIELLE ET MODELISATION

Notes du cours de Claude A. Roche, 2010

Troisieme annee de Licence Mathematiques Fondamentales.

Table des matieres

1. Introduction 2

2. Preliminaires algebriques 4

2.1. Rappel sur les matrices 4

2.2. Operations par blocs 6

2.3. Structures additionnelles 7

2.4. Decomposition en Valeurs singulieres, Forme polaire 14

3. Analyse matricielle 16

3.1. Normes vectorielles, matricielles 16

3.2. Localisation des valeurs propres 22

3.3. Conditionnement d’une matrice. 23

4. Methodes directes pour les systemes lineaires 25

4.1. Introduction, Cas triangulaires 25

4.2. Methode de Gauss, sans recherche de pivot 25

4.3. Decomposition LU 27

4.4. Methode de Cholesky 31

4.5. Methode de Gauss generale, decomposition PLU 34

4.6. Factorisation QR, Gram-Schmidt 36

4.7. Factorisation QR, Householder 38

5. Methodes iteratives pour resoudre les systemes lineaires 41

5.1. Principe general 41

5.2. Methode de Jacobi 44

5.3. Methode de Gauss-Seidel 45

5.4. Methodes avec relaxation, SOR 46

5.5. Descente, Methode du gradient 47

5.6. Methode du gradient conjugue 49

5.7. Appendice. Quelques remarques sur la convexite 52

6. Calcul du spectre 53

6.1. Generalites, Methode de la puissance 53

6.2. Forme d’Hessemberg, introduction a la methode QR 56

6.3. Quelques resultats de convergence pour la methode QR 58

References 601

Page 2: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

2

1. Introduction

Ce cours est un cours d’analyse numerique lineaire. Dans ces notes on y decrit les algorithmes lesplus elementaires pour la resolutions de systemes lineaires. Ce cours est oriente vers la modelisation, lecalcul numerique, le calcul scientifique. Il fait suite a un cours formel d’algebre lineaire essentiellementde L2. Ainsi l’on s’attachera essentiellement, a developper la version matricielle des concepts del’algebre lineaire, traites en L1 et L2. Il suppose donc, une connaissance de l’algebre lineaire jusqu’ala decomposition de Dunford, avec une sommaire description des formes normales de Jordan.

Ces notes decrivent le cours enseigne en un semestre, en troisieme annee, a l’Universite PaulSabatier, les annees 2007-2010. Son contenu est fortement influence par celui du cours de DominiqueAze, le materiel pedagogique en annexe est l’œuvre des equipes pedagogiques successives, notammentVadim Schchetman et V. Qiu. Je les remercie de leurs aide.

L’analyse matricielle moderne ne se comprend que dans le cadre de l’algebre lineaire, l’analysefonctionnelle de Banach et l’algorithmique. Si resoudre des equations lineaires et donner des ex-pressions approchees des quantites cherchees, a l’aide d’algorithmes iteratifs, sont des activites quise perdent dans l’histoire humaine, peut-etre bien dans la prehistoire, signalons quelques points derepere historiques pour la theorie moderne.

L’algebre lineaire. Les babyloniens resolvent couramment des systemes 2× 2 il y a 4000 ans.

Dans Neuf Chapitres de l’Art Mathematique (c. -200 ) les chinois resolvent des systemes 3 × 3numeriques par des methodes d’elimination, non sans nous rappeler ceux que Gauss introduira en1811.

La theorie moderne des systemes lineaires commence avec l’introduction par Leibniz, en 1693,des determinants. La notion est utilisee par Cramer en 1750 pour donner, sans preuve, ce que nousappelons le Theoreme de Rouche-Fontaine, et que les anglo-saxons appellent regle de Cramer. Cecijuste apres que McLaurin ait traite les cas 2 × 2 et 3 × 3 par le determinant. Mais c’est Gauss quien 1801 utilise le premier le terme de ”determinant”. C’est Laplace qui en 1772 donne son calculdeveloppant suivant une colonne. La meme annee VanDerMonde publie un traite ou le determinantd’un tableau de nombres est etudie sans relation au systeme lineaire dont il est issu.

L’elimination de Gauss, est introduite pour traiter par la methode des moindres carres, la determinationde l’orbite d’un asteroıde, par Gauss lui meme en 1811. La theorie aboutie et moderne des determinantsdans le cadre des equations lineaires, est etablie par Cauchy en 1815, en demontant, par exempleque det(AB) = det(A) det(B). Elle est abondamment utilisee par Cayley en 1843, il introduit des”tableaux de nombres m× n” en 1850, Sylvester les baptise du nom de matrices. Ces etudes serontappliques a la theorie algebrique des nombres par Dedekind en 1870. Ce sont Kronecker et Weiers-trass qui, dans les annees 1860, donnent une theorie axiomatique adaptee. C’est en 1858 que Cayleydecouvre le theoreme de Cayley-Hamilton. La theorie des determinants des systemes lineaires esttombee en desaffection au XXeme siecle lorsque des methodes modernes pour etudier les systemeslineaires sont apparues. La theorie de Cauchy, Jacobi, Weierstrass et Kronecker, contenant en parti-culier les aspects spectraux et les formes de Jordan ( introduites par Weiertrass) se marieront avecles methodes algebriques de Eisenstein, Hermite et Cayley dans le papier fondamental de Frobeniusde 1878.

Les methodes aujourd’hui suivent le cours de developpement de l’algebre en general. De la theoriedes groupes de Weber et Cauchy, la theorie des corps de Galois, Dedekind et Steinitz, on ne retiendraque la definition abstraite, par Peano en 1888, des espaces vectoriels puis des applications lineairesetc. Elle a ete negligee jusqu’a l’apparition du traite de H. Weyl ”Space , Time and Matter” : 1918.Mais ce n’est qu’a partir du traite ”Algebre Moderne” de van der Waerden en 1930 que ce que nousappelons algebre lineaire trouve son cadre definitif. C’est l’aboutissement des points de vue de Hilbertet d’E. Noether.

Pour ce qui est de l’analyse fonctionnelle, c’est simple : en 1920 S. Banach donne une definitiongeneral d’espace vectoriel norme et developpe la theorie. On n’aura quasiment pas a faire appel ades notions ou resultats qui ne lui soient pas dus.

Page 3: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

3

Les theories qui vous sont presentees : topologie des espaces vectoriels topologiques, algebre lineaire,methodes de resolution, ont trouve leur cadre d’exposition definitif au debut du XXeme siecle. Lesmethodes de resolution seront choisis en relation avec la technologie des ordinateurs dont nous dis-posons. C’est dans les annees 40 que leur developpement explose. Debut des annees 60, en France,N. Gastinel y contribue, dans son livre [7], on trouve tout ce qui etait essentiel avant 1980.

L’algorithmique apparait donc fin du XXeme siecle, associee a l’informatique. nous ne parleronspas de sa theorie. Seuls quelques calculs de complexite retiendront notre attention.

Commentaire bibliographique.

Les references pour ce cours abondent. Nous retiendrons pour les etudiants desirant se preparer al’AGREG les livres [1] et [2]. Pour d’autres points de vue : Ph. Ciarlet [3],[4] ou [5]. Le classique etindemodable Gantmacher [6] ou celui de N. Gastinel [7].

Il existe plusieurs textes en ligne qui sont tres adaptes a notre programme. Par exemple celui duparisien Yves Achdou [8], dont nous nous sommes largement inspires.

N’oublions pas qu’il est exigible d’acquerir un peu d’aisance dans l’utilisation de MATLAB. Onpourra consulter a ce sujet [9]. Il est utile d’installer dans son ordinateur personnel une version deSCILAB (a partir de par exemple [10]), libre de droits, et avoir une notice d’utilisation, par exemple[11] (malheureusement trop axe sur le traitement du signal, a mon avis).

Problematique : Tout d’abord : Resoudre le systeme : AX = B ou X, Y sont des vecteurs deRn et A une matrice carree reelle.

Methode naıve : calcul de A−1. Elle marche si A est inversible. Or en calcul numerique il y a deuxproblemes additionnels d’importance capitale : La matrice A doit etre consideree comme etant unerepresentation approchee des donnees du probleme qui nous occupe reellement. D’une part du auxerreurs de mesure du scientifique qui nous fournis les donnees, et d’autre part du a la representationen virgule flottante (simple ou double precision) en machine.

Ensuite, toute methode effective de calcul, doit etre mesuree au regard de sa complexite, du nombred’operations a effectuer. En effet, il n’est pas possible d’attendre indefiniment les resultats d’un calcul,par exemple lors de l’utilisation dans un robot industriel, ou les resultats doivent etre disponibles ”entemps reel”, disons en quelques dixiemes de seconde. De plus, du aux arrondis, le nombre d’operationsa effectuer rends le resultat de plus en plus eloigne du vrai resultat a fur et a mesure que les etapesde calcul s’empilent. Ainsi le calcul de A−1 selon la structure de la matrice A peut etre la mauvaisemethode... sauf... sauf si par exemple, l’on doit resoudre le probleme AXn = Bn toujours avec lameme matrice A mais pour une quantite tres tres importante de deuxiemes membres Bn.

Associe a une matrice, il y a plusieurs problemes ou l’analyse numerique peut apporter des reponsesd’interet. Par exemple, le probleme de la recherche de valeurs propres.

L’exemple le plus evident d’interet de la determination des valeurs propres d’une matrice estcelui de l’etude asymptotique des suites dites definies par une recurrence lineaire. Ces modales sontcourants dans les approximations lineaires des etudes de plusieurs populations mises en concurrencedans le meme biotope.

Si le nombre d’individus de trois populations sont x1, y1 et z1 et l’on sait que (en premiere approxi-mation) xn = a1xn−1 + a2yn−1 + a3zn−1, yn = b1xn−1 + b2yn−1 + b3zn−1; zn = c1xn−1 + c2yn−1 + c3zn−1.Nous nous interessons evidement a la version matricielle :

AXn+1 = Xn, A =

a1 a2 a3

b1 b2 b3

c1 c2 c3

Xn =

xnynzn

avec x0, y0, z0 les tailles des populations au depart. Evidement Xn = AnX0 mais connaıtre les taillesdes populations apres 10000 generations, du aux erreur d’arrondi, ne doit pas etre effectue par lesimple calcul de A10000 en principe trivial ! Il est souvent meilleur d’etudier la structure spectrale de A.Car si par exemple A est diagonalisable, A = P−1∆A avec ∆ une diagonale. Puisque An = P−1∆nAnous en tirons des consequences claires, dans certains cas. Par exemple si toutes les valeurs propres

Page 4: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

4

de A sont en module inferieures strictement a 1, asymptotiquement, toutes les populations etudieesdisparaissent ! Si exactement une des valeurs propres est de module strictement superieur a 1, lapopulation totale atteint, in fine, une taille superieure au nombre des particules de l’univers !

Nous faire penser que des modeles lineaires de la sorte, puissent etre applicables aux populationshumaines, et disons, quelques autres ”populations” telles que la disponibilite des ressources naturelles(petrole, mineraux, nourriture, eau, air respirable) et deduire que l’on cours a la catastrophe s’appelle”faire une analyse Malthusienne” de l’ecologie de la planete. L’exemple de base est le Rapport Mea-dows, commande par le Club De Rome, dans les annees 60, annees fastes de l’analyse matricielle. Lerapport entre le comportement asymptotique d’une approximation lineaire, et l’asymptotique reelled’une variable est toujours un probleme scientifique majeur. Il n’est envisageable que lorsque l’ondispose des ”estimations a priori” sur les non linearites. Nous n’aborderons pas ces aspects de lamodelisation, nous nous en tiendrons a l’analyse matricielle, meme si comprendre ses limites est lepremier pas du realisme dans le genie mathematique. Quelques aspects de ces problematiques serontabordes en deuxieme semestre, dans le cours de Calcul Differentiel, et celui d’Equations Differentielles.

2. Preliminaires algebriques

2.1. Rappel sur les matrices. Dans la suite K designe R ou C.Si A est un anneau, on notera Mm,n(A) l’ensemble des matrices a m lignes et n colonnes a valeurs

dans A; si n = m, Mn(A) = Mm,n(A). L’anneau A sera dit ensemble de scalaires, souvent ce sera lecorps K mais il peut aussi etre l’ensemble des matrices carrees Mn(K) pour raisonner ”par blocs”. Ilsera important de toujours ecrire les elements des matrices avec la convention LICO, indice de ligne– indice de colonne.

A = (aij)i j =

a11 a12 · · · a1n

a21 a22 · · · a2n...

.... . .

...am1 am2 · · · amn

∈Mm,n(A)

avec i l’indice de ligne, j l’indice de colonne, et les aij ∈ A dits ”ses elements”.

Nous ne rappellerons pas les operations matricielles : addition de matrices, produit matriciel. Nousnous contenterons d’attirer l’attention sur les conditions de coherence. En effet, pour que la sommeou le produit puisse etre effectue, il faut que les tailles soient ”compatibles, sinon, l’operation n’estpas definie. Ainsi, dans ce texte, l’affirmation AB = CD + E voudra dire, ”les tailles des matricesconcernees sont telles que les operations sont definies, et de plus le resultats des calculs donnentl’egalite signalee”. Ces tailles sont :

Mm,n(A)×Ms,t(A)→Ml,r(A) : (A,B) 7→ A+B si (m = s = l, n = t = r);

Mm,n(A)×Ms,t(A)→Ml,r(A) : (A,B) 7→ AB si (n = s, l = m, r = t).

Puisque l’on definit (toujours) le produit d’un element de A par une matrice, nous avons une struc-ture de K-espace vectoriel sur chaque Mm,n(K). Cette structure sur Mm,n(A) s’appelle ”structure deA-module” lorsque A n’est pas un corps commutatif. De plus, remarquons que l’on peut representerla multiplication par un scalaire par le produit par la matrice diagonale, ou tous les elements de ladiagonale sont egaux au scalaire, et nous dirons que nous avons une structure de A-algebre. Nousrappelons que le produit matriciel n’est pas commutatif, a partir de la taille 2.

Les matrices elementaires suivantes, nous donnent une base d’espace vectoriel :

Eij = (δijls) δijls = 1⇔ (l = i et s = j) 0 sinon.

La quantite de zeros a ajouter, est a determiner d’apres le contexte, de sorte que les calculs soientcoherents. En clair, nous utiliserons cette notation, meme si la taille de la matrice n’est pas indiquee,tout a plus nous savons que le nombre de colonnes depasse j et le nombre de lignes i.

Page 5: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

5

Vecteurs colonne. Nous considerons les elements de Am comme ”des colonnes”, ainsi, il y a”egalite” entre Am et Mm,1(A) malgre la representation habituelle, qui nous fait penser aux elementsd’un produit cartesien comme des lignes. Nous aurons souvent usage de la transposition X ∈ Km 7→x = XT ∈ M1,m(K) ainsi un element de Km est en correspondance biunivoque (et lineaire) avec lamatrice ligne de ses coordonnees :

x = (x1, x2, . . . , xm)↔ X = xT =

x1

x2...xm

=m∑i=1

xiEi1.

Ceci, en plus de correspondre a une pratique dans la litterature, nous permets d’epargner de l’espacedans un texte, par exemple.

Pour chaque matrice A ∈ Mm,n(K) nous associons, canoniquement une application lineaire (tou-jours notee avec la minuscule correspondante) :

Mm,n(K) 3 A 7→ a ∈ L(Kn,Km) : X = (x1, x2, . . . , xn)T 7→ a(X) = AX.

Ces definitions marchent parfaitement meme avec des matrices a coefficients dans un anneau(unitaire) mais nous n’aurons guerre l’usage de la theorie des modules (abordee en mastere) saufen ce que l’on reconnaitra les caracteres propres a la linearite. Mais sans doute le premier problemeserieux provient de la reciproque d’une application lineaire.

Une matrice A est dite inversible, si c’est une matrice carree et s’il existe une deuxieme matriceB telle que AB = BA = I, la matrice identite. Dans ce cas, B est notee A−1 et elle est unique. Ledeterminant, fonction polynomiale de ces elements, permet de determiner si une matrice carree estinversible ou non dans le cas d’un corps ; A est inversible si et seulement si det(A) 6= 0. Pour unanneau commutatif quelconque il faudra demander que le determinant soit inversible dans l’anneau.Une matrice qui n’est pas inversible, est dite singuliere.

Nous n’aurons pas l’opportunite de faire usage de cette remarque, sauf dans le cas des matrices acoefficients entiers relatifs, avec un determinant 1 ou −1. En effet, les matrices ”plus generales” quinous interessent, sont a coefficients matrices carrees, et dans ce cas, la commutativite fait defaut, cequi est plus grave pour la formule de Cramer.

Remarquons (AB)−1 = B−1A−1 et que det(AB) = det(A) det(B).

Lorsque une matrice est inversible, l’application lineaire canoniquement associee est un isomor-phisme lineaire, dont la reciproque est canoniquement associe a la matrice inverse.

Transposition. Notation : Si A = (aji) ∈ Mm,n(A), tA = AT est la matrice dont l’element en lignei et colonne j, note aTij est le scalaire aji.

Adjointe d’une matrice. Lorsque K est inclus dans C, nous avons la possibilite de prendre leconjugue complexe de chaque element d’une matrice, obtenant la matrice conjuguee. Nous definissons

K ⊂ C, A ∈Mmn(K), A∗ = (A)T ∈Mnm(C).

Les formules suivantes sont elementaires, mais tres importantes ! (Exercice)

(λA)T = λAT , (A+B)T = AT +BT , (AB)T = BTAT , (AT )−1 = (A−1)T .

(λA)∗ = λA∗, (A+B)∗ = A∗ +B∗, (AB)∗ = B∗A∗, (A∗)−1(A−1)∗.

Trace d’une matrice. Pour chaque matrice A ∈ Mm,n(A) nous definissons sa trace, comme lasomme des coefficients dans la diagonale.

tr(A) =

min(n,m)∑i=1

aii; tr(AB) = tr(BA) si m = n,

ou min(n,m) est le minimum de n et m et c’est le nombre d’elements de la diagonale.

Page 6: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

6

Les matrices triangulaires superieures se definissent sans peine, en disant que c’est une matricecarree A = (aij) qui verifie : si j < i⇒ aij = 0. Tout ce qui est strictement en-dessous de la diagonaleest nul. Il s’agit d’un sous-espace vectoriel de l’espace de toutes les matrices carrees, en fait, puisquele produit de deux matrices triangulaires superieurs est encore triangulaire superieur, il s’agit d’unesous-algebre.

Les matrices triangulaires inferieures sont les transposees des matrices triangulaires superieures. Ils’agit encore, d’une sous algebre. Nous aurons peut-etre l’opportunite d’utiliser des matrices stricte-ment triangulaires, ce sont celles ou en plus la diagonale est nulle.

Posons une fois pour toutes la notation suivante, si X est, soit un vecteur (colonne ou ligne) ouune liste ordonnee de quantites, α = (d1, d2, . . . , dn),

diag(α) =

d1 0 · · · 00 d2 · · · 0...

.... . .

...0 0 · · · dn

∈Mn,n(A)

matrice diagonale, avec sur sa diagonale les quantites donnees, dans l’ordre indique.

2.2. Operations par blocs. Il y a une structure, tres difficile a decrire formellement, mais d’usageconstant et indispensable pour ce cours, c’est les decompositions par blocs des matrices, et lesoperations que l’on effectue selon ces decomposition. L’idee est simple, nous rassemblons les elementsd’une matrice, en petites sous-matrices, ainsi une matrice est consideree comme ”matrice de matri-ces”. Nous donnerons juste un exemple sans justification. Si l’on propose

A =

a11 a12 a13

a21 a22 a23

a31 a32 a33

=

(B YW T a

),

cela veut dire que l’on a introduit B =

(a11 a12

a21 a22

), Y =

(a13

a23

),W =

(a31

a32

), a = a33. Et si

C =

c11 c12 c13

c21 c22 c23

c31 c32 c33

=

(D ZUT c

); D =

(c11 c12

c21 c22

), Z =

(c13

c23

), U =

(c31

c32

), c = c33.

Alors le produit matriciel se calcule comme suit :

AC =

(B YW T a

)(D ZUT c

)=

(BD + Y UT BZ + cYW TD + aUT W TZ + ac

).

Il est tres important de ne pas faire commuter les facteurs, qui maintenant sont matriciels. Poureffectuer un produit, la partition des colonnes du premier facteur doit etre la meme que la partitiondes lignes du deuxieme facteur. Ici, nous avons vu les colonnes partitionnees en (2, 1) comme pourles lignes du deuxieme facteur. Bien d’autres decompositions en blocs sont d’usage courant, on attirel’attention en particulier sur les matrices diagonales par blocs. Ainsi si U1, . . . , Ul sont des matricescarrees de taille u, la matrice diag(Ui) est une matrice diagonale de matrices, et aussi une matricelu × lu dont on peut seulement dire qu’elle est diagonale par blocs. Mais rien n’empeche de fairedes blocs de tailles differentes sur la diagonale. Ainsi le Theoreme de forme normale de Jordan peuts’enoncer en disant que toute matrice carree complexe est semblable a une matrice diagonale parblocs, ou chaque bloc est la somme d’une matrice scalaire et une matrice nilpotente de la formeparticuliere :

∑ki=1 Eii+1.

Un peu plus formellement, nous dirons qu’une decomposition par blocs de la matrice A de taillem × n est donnee par le choix de deux partitions 1 = m1 < m2 < · · · < ml < ml+1 = m pourles lignes et 1 = n1 < n2 < · · · < nk < mk+1 = n pour les colonnes. On en deduit des matricesAij ∈ Mmi+1−mi nj+1−nj(A). Les elements de la matrice Aij sont les elements de la matrice A dontl’indice de ligne est entre mi et mi+1 − 1 et l’indice de colonne est entre nj et nj+1 − 1. La matrice

Page 7: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

7

A est, en plus d’etre une matrice de m lignes et n colonnes scalaires, une matrice de l lignes et kcolonnes dont les elements sont des matrices des tailles indiquees.

Il y a bien une operation reciproque. Etant donnee une matrice M dont les elements sont desmatrices de tailles diverses, a coefficients dans l’anneau A. Si chaque colonne est composee de matricesayant le meme nombre de colonnes et chaque ligne est composee de matrices ayant le meme nombrede lignes, il est facile d’obtenir une matrice d’elements de A, que l’on a envie de noter avec le memesymbole M, de sorte que les elements de ces deux incarnations de M sont les memes.

La premiere affirmation est : les operations d’espace vectoriel de matrices egalement decomposeesen blocs s’effectue par blocs.

La deuxieme est que pour effectuer un produit matriciel par blocs il faut que la partition descolonnes du premier facteur soit la meme que la partition des lignes du second facteur.

Nous trouvons dans [1] une formalisation un peu plus poussee de ces faits faciles, mais dont laredaction est malaisee.

En exercice nous traiterons la formule du complement de Schur, qui dit que si M =

(A BC D

)est une matrice carree, avec A carree inversible, alors det(M) = det(A) det(D − CA−1B).

2.3. Structures additionnelles. Notion de produit scalaire sur un K-vectoriel. Soit E un K-espacevectoriel ou K est R ou C (dans la cas de C on dira produit hermitien). Une application

< ·, · >: E × E → K

est un produit scalaire (hermitien) si elle verifie

1- ∀Y ∈ E < ·, Y > est K-lineaire ;

2- ∀X, Y ∈ E, < X, Y >= < Y,X >.

3- ∀X ∈ E, < X,X > ≥ 0 et < X,X >= 0⇒ X = 0.

Il s’en suivent les notions usuelles : X ⊥ Y ⇔< X, Y >= 0; et X⊥ le sous-espace des vecteursperpendiculaires (au sens hermitien) au vecteur X.

Exemples standards. La dualite ∗ : Mn1(K)→M1n(K), nous donne le produit standard :

< X, Y >:= Y ∗X.

Nous l’appellerons, le produit scalaire euclidien de Kn.

Espace de Hilbert. Nous avons que < X,X > est un nombre reel positif, des lors, ||X|| =√< X,X > nous donne une application || · || : E → R. C’est une norme. La seule chose a verifier

est l’inegalite de Cauchy-Schwarz. L’espace vectoriel norme qui en resulte est, en dimension finie,complet, dans le sens que toute suite de vecteurs de Cauchy est convergente. On dira que c’est unespace de Hilbert.

L’on definit les basses orthonormales. Le theoreme de la base incomplete est ici ameliore par :

Theoreme 1 (Procede de Gram-Schmidt). Soit E un espace de Hilbert de dimension finie, Y1, Y2, . . . , Ynune base indicee, il existe une base orthonormale de E, (X1, X2, . . . , Xn) telle que pour tout 0 ≤i ≤ n, les sous-espaces vectoriels engendres, verifient vec(Y1, Y2, . . . , Yi) = vec(X1, X2, . . . , Xi). Lesvecteurs s’obtiennent selon l’algorithme :

U1 = Y1; α1 = ||U1||; X1 =1

α1

U1.

U2 = Y2− < Y2, X1 > X1 (⇒ U2 ⊥ X1)

α2 = ||U2||; X2 =1

α2

U2 (⇒ ||X2|| = 1)

· · ·

Page 8: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

8

Ui = Yi −i−1∑l=1

< Y2, Xl > Xl (⇒ U2 ⊥ Xl, 1 ≤ l < i)

αi = ||Ui||; Xi =1

αiUi (⇒ ||Xi|| = 1).

La demonstration consiste a prouver que les sous-espaces vec(Y1, Y2, . . . , Yi) et vec(X1, X2, . . . , Xi)coıncident a chaque pas de cet algorithme. Ce qui est clair. Puisque les vecteurs construits sontnaturellement unitaires, et deux-a-deux orthogonaux (le verifier), le theoreme est demontre.

Il est important de remarquer ici, que l’on a utilise la norme associee a la structure hilbertienne.Dans les cas standard, Cn, c’est la racine carree de la somme des carres des modules des composantes.Pour un espace vectoriel norme arbitraire, ce resultat n’existe pas : l’orthogonalite des vecteurs n’estmeme pas definie !

Une matrice A est symetrique si A = AT . Elle est hermitienne si A = A∗. Nous n’aurons pas aetudier les matrices symetriques a coefficients non reels.

Les matrices hermitiennes a coefficients reels sont les matrices reelles symetriques. Souvent on dira”symetrique” pour symetrique reelle, en delaissant la notion de symetrie dans le cas complexe.

Elle est orthogonale, si c’est une matrice reelle et AT = A−1. On en deduit que c’est une matricecarree. La matrice A ∈Mn(C) est unitaire si A∗ = A−1.

Une matrice A ∈Mn(C) est normale si elle commute avec son adjointe (c’est-a-dire AA∗ = A∗A).

Remarquons orthogonale ⇒ unitaire ⇒ normale. et symetrique reelle ⇒ hermitienne ⇒ normale.

Spectre. Definition . Un scalaire λ est dit valeur spectrale de la matrice carree A, de taille n, etl’on ecrit λ ∈ sp(A), si la matrice A− λI est singuliere. Leur ensemble est note sp(A), sp(A) ⊂ C.Il faudra prendre garde, de toujours penser pour les problemes spectraux, les matrices reelles, commedes matrices complexes.

Bien entendu, en dimension finie, A− λI singuliere, equivaut a det(A− λI) = 0. Or det(A− λI)est un polynome de degre n en λ, le polynome caracteristique de A, Ses racines sont exactement lesvaleurs spectrales. Puisque l’endomorphisme associe n’est alors pas injectif, on a que chaque valeurspectrale est une valeur propre.

Plus precisement, qu’il existe un vecteur non nul, X ∈ Cn \ 0 dans ce noyau, c’est-a-diresolution de AX = λX, il est dit vecteur propre associe a λ. L’ensemble de tels vecteurs est dit,l’espace propre associe. Sa dimension est la multiplicite geometrique de la valeur propre deA. L’expression P (λ) = det(A − λI) polynome caracteristique de A, de degre n, a valeur en0 egale au determinant de A. Le corps C etant algebriquement clos, le polynome caracteristiqued’une matrice numerique, admet n racines comptees selon leur multiplicite. Ce sont les valeurspropres de la matrice. Leurs multiplicite, en tant que racine de cette equation polynomiale, est ditela multiplicite (algebrique) de la valeur propre de A.

Le spectre est (dans le cas de la dimension finie) exactement l’ensemble des valeurs propres. Notons,une fois pour toutes ρ(A) := max|λ|/ λ ∈ sp(A) dit rayon spectral de la matrice. Remarquons,(Exercice), que si Q(t) est un polynome complexe quelconque, pour chaque λ ∈ sp(A), Q(λ) ∈sp(Q(A)).

Lemme 1. Les valeurs propres d’une matrice triangulaire sont les elements de sa diagonale. Enparticulier c’est la cas pour les matrices diagonales.

Toutes les valeurs propres d’une matrice hermitienne sont reelles.

Toutes les valeurs propres d’une matrice symetrique reelle sont reelles.

Toutes les valeurs propres d’une matrice unitaire sont de module 1.

Demonstration. Pour la premiere affirmation, il suffit de remarquer que la matrice A − λI estaussi triangulaire puis calculer le determinant det(A−λI) en developpant par colonnes, ce qui donne,le produit des aii − λ. C’est bien un polynome en λ dont les racines sont les aii.

Page 9: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

9

Pour le deuxieme point, si M est hermitienne (M = M∗) et λ ∈ C est une de ses valeurs propres,il existe X ∈ Cn \ 0 tel que MX = λX. Alors λ < X,X >=< MX,X >=< X,M∗X >=<X,MX >=< X, λX >= λ < X,X > et λ = λ qui est donc reel. Enfin un calcul similaire donne queles valeurs propres d’une matrice anti-hermitienne sont imaginaires purs.

Les matrices symetriques reelles, etant juste les matrices hermitiennes d’elements reels, elles ontaussi ses valeurs propres toutes reelles. Il est important de comprendre que ceci veut dire que :puisque, calcules dans le complexe, nous avons un systeme complet de valeurs propres, et comme parailleurs ces racines sont necessairement reelles, l’ensemble des valeurs propres reelles d’une matricesymetrique reelle a pour somme de ses multiplicites algebriques le maximum possible, c’est-a-dire lataille de la matrice.

Nous verrons que les matrices hermitiennes, en particulier symetriques reelles sont diagonalisables.

Montrons que les valeurs propres d’une matrice unitaire U sont de module 1. En effet, s’il existeX ∈ Cn \ 0 tel que pour λ ∈ C, UX = λX, alors X = λU−1X = λU∗X : U∗X = λ−1X.Mais aussi λ < X,X >=< UX,X >=< X,U∗X >=< X, λ−1X >= λ−1 < X,X > . Ainsiλλ < X,X >=< X,X >, et comme ||X||2 6= 0, λλ = |λ| = 1. Il en va evidement de meme pour lesmatrices orthogonales.

Soit µ un nombre complexe de module 1. Posons µ = a+ib = ρeiθ avec a, b ∈ R, ρ ∈ R+, θ ∈ [0, 2π[.La matrice

Mµ =

(a −bb a

)= ρ

(cos θ − sin θsin θ cos θ

)est orthogonale de valeurs propres µ, µ. Il en va de meme de la matrice diagonale par blocs dia(I,M);qui a taille n si I est l’identite en taille n− 2. Pour chaque taille ≥ 2, tout nombre complexe demodule 1 est la valeur propre d’une matrice orthogonale, de cette taille.

Exercice : Si A ∈ Mn(C), AA∗ est hermitienne, toutes ses valeurs propres sont reelles positivesou nulles. Solution :

Puisque (A∗A)∗ = A∗A∗∗ = A∗A c’est une matrice hermitienne deMm(C).Montrons que les valeurspropres de A∗A qui sont donc reelles, sont de plus positives ou nulles. Soit λ ∈ sp(A∗A) et V ∈ Cm

un vecteur propre associe a λ. On a λ||V ||2 = λV ∗V = V ∗(λV ) = V ∗(A∗AV ) = (AV )∗AV = ||AV ||2,donc λ = ||AV ||2

||V ||2 ≥ 0. Ici, l’on utilise de maniere essentielle que V 6= 0.

Notons Un(C) l’ensemble des matrices carrees complexes de taille n qui sont unitaires.

Theoreme 2 ( Theoreme de Schur). Soit M ∈ Mn(C), il existe U ∈ Un(C) telle que U∗MU soittriangulaire superieure.

Si Λ = (λ1, . . . , λn) sont les valeurs propres de A donnes dans un certain ordre (et repetes selonleur multiplicite), il existe U ∈ Un(C) telle que U∗MU soit triangulaire superieure avec pour diagonalela suite Λ.

Puisque U∗ = U−1, il s’agit d’une trigonalisation. Le theoreme dit que les matrices sont toujourssemblables a des matrices triangulaires, dans le domaine complexe. Bien entendu, on peut choisirde faire une trigonalisation avec une matrice triangulaire inferieure ; par exemple, en trigonalisantsuperieurement la matrice A∗ puis considerant les adjointes.

Dem. Soit λ = λ1 ∈ C la premiere valeur propre de M, de notre selection, et X ∈ Cn \ 0un vecteur propre associe. Le vecteur X1 = 1

||X||X est de norme 1 et peut etre complete par des

vecteurs X2, . . . , Xn en une base orthonormale de Cn. (Gram-Schmidt). Formons la matrice W dontles colonnes sont les vecteurs X1, X2, . . . , Xn : W = (X1 X2 · · · Xn). Elle est unitaire, son inverse estW ∗. Si la matrice A et la valeur propre λ1 sont reelles, ces choix peuvent se faire avec des vecteursreels.

Calculons la matrice de l’endomorphisme canoniquement associe a M dans la base orthonormaleci-dessus, c’est-a-dire W ∗MW. Notons ses colonnes V1, . . . , Vn.

Page 10: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

10

Sa premiere colonne est V1 = W ∗MWX1 = 1||X||W

∗MX = 1||X||W

∗λX = 1||X||λW

∗X = λW ∗X1 =

λ. Pour les autres, nous n’avons, pour l’instant, aucun renseignement. Ainsi :

M ′ = W ∗MW =

λ ∗ · · · ∗0

... N

0

Ou la matrice N est une matrice carree de taille n− 1. Ses valeurs propres sont (λ2, . . . , λn) commeil est facile de voir, en ecrivant le polynome caracteristique avec l’expression ci-dessus.

Une recurrence se dessine, puisque en taille n = 1, le resultat est trivial.

Il existe, par recurrence, une matrice unitaire W de taille n − 1 telle que N ′ = (W )∗NW esttriangulaire superieure, avec comme diagonale la suite des valeurs propres, dans l’ordre indique.Notons V la matrice diagonale par blocs V = dia(1, W ) :

V =

1 0 · · · 00

... W

0

visiblement V ∗ = dia(1, W ∗) et un calcul par blocs donne :

V ∗M ′V =

λ ∗ · · · ∗0

... N ′

0

.

Or, puisque la matrice N ′ est triangulaire superieur, on a fini, V ∗MV = (WV )∗MWV est triangulairesuperieur. (U = WV est unitaire, comme produit de deux matrices unitaires).

Le theoreme suivant n’est qu’une version amelioree du precedent, une sorte de theoreme de Schurtordu, qui ne marche que pour les matrices normales. Ce qui est deja beaucoup ! Ce sera notreTheoreme Fondamental.

Theoreme 3 (Decomposition Spectrale des Matrices NORMALES). Soit M ∈ Mn(C), verifiantM∗M = MM∗ (M normale) alors il existe U ∈ Mn(C) verifiant U∗ = U−1 (U est unitaire) et desscalaires d1, d2, . . . , dn ∈ C tels que

M = Udiag(d1, d2, . . . , dn)U−1.

Nous pouvons ecrire aussi : M = Udiag(d1, d2, . . . , dn)U∗. En clair : ”Toute matrice normale estunitairement semblable a une matrice diagonale.”

Attention : ce resultat est faux en calculant en reel.

Les di sont evidement les valeurs propres. Comme toute matrice unitairement semblable a unematrice diagonale est normale, ce theoreme caracterise les matrices normales. En clair, les matricesnormales sont les matrices diagonalisables, dont les espaces propres sont deux-a-deux orthogonaux.Pour les besoins de l’analyse numerique, les matrices normales ne presentent aucune significationparticuliere, sauf a presenter un cadre unifie pour traiter des familles de matrices que se presententnaturellement lors de modelisations. Notamment :

Page 11: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

11

Les matrices unitaires, hermitiennes ou anti-hermitiennes sont normales, elles se diagonalisent doncpar un changement de base unitaire. Ces familles de matrices se distinguent d’apres la nature de leurvaleurs propres : les matrices unitaires ont leur valeurs propres de module 1; les matrices hermitiennesont leurs valeurs propres reelles et enfin, les anti-hermitiennes ont leurs valeurs propres imaginairespures.

Enfin, remarquons que la meme matrice de passage diagonalise l’adjointe, trouvant, naturellementles valeurs propres conjuguees (en transposant-conjuguant) :

M∗ = Udiag(d1, d2, . . . , dn)U∗.

Demonstration. Utilisons le Theoreme de Schur, pour ecrire une trigonalisation unitaire de M. :M = UTU∗, Nous avons U∗MU = T. Constatons que si M est normale, il en va de meme de lamatrice triangulaire T, TT ∗ = U∗MUU∗M∗U = U∗MM∗U = U∗M∗MU = U∗M∗UU∗MU = T ∗T.

Mais, surprise, toute matrice triangulaire normale est diagonale, et le theoreme est demontre.

Lemme 2. Toute matrice triangulaire et normale est diagonale.

Demonstration. Soit T = (tij) triangulaire, supposons-la triangulaire superieure (j < i =⇒tij = 0.) Par transposition, le cas des triangulaires inferieures s’en suivra. Notons sij les elements duproduit TT ∗, calculons s11 de deux manieres differentes (par TT ∗ et T ∗T,)

s11 =n∑k=1

t1k t1k =n∑k=1

|t1k|2, et s11 =n∑k=1

tk1tk1 = |t11|2,

la derniere egalite parce que, si k > 1, tk1 = 0. Il s’en suit que dans la premiere somme, tous lestermes s’annulent sauf le premier. La matrice T a sa premiere ligne nulle sauf (eventuellement) pourt11. Elle est alors diagonale par blocs, le premier de taille 1, le deuxieme de taille n − 1. Ces blocssont triangulaires et normaux chacun. Une recurrence immediate finis la preuve du lemme.

Autour de la commutation des matrices, il y aurait beaucoup a dire, contentons nous de quelquespropositions.

Proposition 1 (Spectre de matrices commutantes). Soient A,B ∈Mn(C), verifiant AB = BA alorsA et B ont un vecteur propre commun.

Deux endomorphismes qui commutent dans un espace vectoriel complexe de dimension finie, ontun vecteur propre commun.

Il est important ici, que l’on travaille sur C, ce qui nous assure que l’ensemble des valeurs propresdans le corps des coefficients utilise, est non vide.

Demonstration. Il est plus aise de fournir une preuve de la deuxieme assertion. On procede parrecurrence sur la dimension, en dimension 1, puisque tout vecteur non nul est un vecteur propre pourtout endomorphisme, il n’y a rien a demontrer. Meme si le corps n’est pas algebriquement clos, tousles endomorphismes d’un espace vectoriel de dimension 1 sont des homotheties. Soient u, v : E 7→ Edeux endomorphismes du C-espace vectoriel E de dimension n ≥ 2 verifiant u v = v u.

L’endomorphisme u possede une valeur propre, λ1 ∈ C, notons l’espace propre associe Eu,λ1 . Si cetespace est de dimension n, tout vecteur de E est propre pour u, et comme a son tour v possede aumoins un vecteur propre, u et v possedent un vecteur propre commun (dans le cas Eu,λ1 = E, u = λ1Iou I est l’identite, u est scalaire).

Ainsi l’on peut supposer que la dimension de Eu,λ1 est au plus n− 1. Il suffit de demontrer ici, quev se restreint a Eu,λ1 en un endomorphisme, et que tout vecteur propre de cette restriction est unvecteur propre commun de u et v.

Or si X ∈ Eu,λ1 , v(X) verifie u(v(X)) = v(u(X)) = v(λ1X) = λ1v(X). Qui veut dire exactementque v(X) est soit nul, soit propre pour u, associe a la valeur propre λ1. En tout etat de cause,v(X) ∈ Eu,λ1 . Cet espace est stable pour l’endomorphisme v, nous pouvons restreindre v (a la sourceet au but) et obtenir un endomorphisme de Eu,λ1 . Cet endomorphisme, ainsi restreint, possede un

Page 12: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

12

vecteur propre (car nous travaillons sur C). C’est donc un vecteur propre de v qui est propre aussipour u. On utilise l’evidence qui consiste a constater qu’un vecteur propre d’une restriction d’unendomorphisme, est a meme temps un vecteur propre de l’endomorphisme sans le restreindre. Larecurrence est achevee. Par ailleurs nous constatons, que rien n’est dit sur la valeur, de la valeurpropre. Si u et v partagent un vecteur propre au moins, les valeurs propres respectivement associeesn’ont aucune relation. Tout peut arriver, comme on le voit, en considerant les endomorphismesscalaires λI et µI.

Redigeons une demonstration de ce lemme tres utile, qui soit purement matricielle. Cela nouspermettra de prendre du savoir faire sur les triangulations par blocs des matrices.

Soient donc A,B deux matrices carrees de taille n qui commutent. Soit λ1 une valeur propre dela matrice A (sur C, ca existe toujours). Soit X1, X2, . . . , Xl une base de l’espace propre associe.Completons ces vecteurs en une base de Cn et formons la matrice de passage, P, dont les colonnessont les vecteurs Xi.

Il est facile de constater que la matrice P−1AP est triangulaire par blocs et que son premier blocest scalaire : λ1Il :

P−1AP =

λ 0 · · · 0 ∗ · · · ∗0 λ 0 · · · 0 ∗ · · · ∗0 · · · λ 0 · · · 0 ∗ · · · ∗

.... . .

......

...0

0 · · · λ ∗ · · · ∗0 0 ∗ · · · ∗

...... N

0 · · · 0

=

(λ1Il C

0 N

)

En decomposant P−1BP en blocs (selon la partition (l, n−l)) nous pouvons calculer L := P−1ABP =P−1APP−1BP et L′ := P−1BAP = P−1BPP−1AP avec :

P−1BP =

(B11 B12

B21 B22

)ce qui donne

L =

(λ1B11 + CB21 λ1B12 + CB22

NB21 NB22

)L′ =

(λ1B11 B11C +B12Nλ1B21 B21C +B22N

).

Exprimer la commutation AB = BA, c’est-a-dire, L = L′, entraine CB21 = 0, NB22 = B21 + B22Net NB21 = λ1B21. On constate alors, que(

λ1Il C0 N

)(0B21

)=

(0

λ1B21

)c’est-a-dire que les colonnes de cette derniere matrice sont des vecteurs propres de P−1AP. Or,puisque les l premieres colonnes de P sont une base de l’espace propre de A associe a λ1, les vecteurspropres de P−1AP sont exactement les vecteurs de Cn qui ont leurs l−n dernieres composantes nulles.Ainsi B21 = 0. Il s’en suit que la matrice P−1BP est aussi triangulaire par blocs, et la commutationB22N = NB22. Par un changement de base parmi les l premiers vecteurs de la base canonique, l’onpeut donner a P−1BP une premiere colonne colineaire a e1 ce qui signale le vecteur propre commun.Cet argument, difficile a suivre et a rediger, montre l’interet que l’on a parfois a raisonner avec desendomorphismes et espaces vectoriels, et non pas se cantonner au calcul matriciel brut.

Ceci acheve la (les) demonstrations de la proposition, somme toute elementaire.

Page 13: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

13

Proposition 2. Une matrice qui commute avec une matrice diagonale est diagonale par blocs. Cesblocs sont definis par les repetitions dans les valeurs de la diagonale.

Demonstration. Soit D = diag(d1, . . . , dn) une matrice diagonale, et supposons que A ∈Mn(K)verifie AD = DA. Pour bien visualiser le contenu de cette affirmation, il faut penser que les repetitionsdans la liste (d1, d2, . . . , dn) sont contigues. Mais le resultat general est tres utile, la redaction quisuit devrait etre claire. Soit N1, N2, . . . , Nk la partition de [1..n] selon les valeurs de di,

di = dj ⇐⇒ ∃l, i ∈ Nl, j ∈ Nl.

La matrice D est donc diagonale par blocs, selon cette partition, et chaque bloc est une matricescalaire : DNi Ni = dsI, ou s ∈ Ni et I est l’identite en taille : le nombre d’elements de la partie Ni.Notons δs la valeur commune des di, i ∈ Ns, ainsi DNi Ni = δiI.

Soit (ANi Nj) l’ecriture par blocs de la matrice A. Effectuons le calcul de AD et de DA, ce quidonne

(AD)Ni Nj = ANi NjδjI = δjANi Nj , et (DA)Ni Nj = δiIANi Nj = δiANi Nj .

Puisque AD = DA et δi 6= δj si i 6= j, nous avons que tous les blocs de A qui ne sont pas sur ladiagonale sont nuls. La proposition est demontree.

Le theoreme spectral pour les matrices normales possede une version reelle.

Theoreme 4 (Decomposition Spectrale des Matrices normales REELLES, par blocs). Soit M ∈Mn(R), verifiant MTM = MMT (M normale) alors il existe O ∈Mn(R) verifiant OT = O−1 (O estune matrice orthogonale) et des blocs de taille ≤ 2 B1, B2, . . . , Bm tels que

M = O−1diag(B1, B2, . . . , Bm)O.

Ces blocs sont tantot des scalaires 1× 1 tantot des matrices de similitudes directes Mµ, µ /∈ R.

La preuve est plus delicate. Voir [1].

Definition 1. Soit M ∈Mn(C), une matrice hermitienne, nous dirons que M est hermitienne definiepositive si pour tout X ∈ Cn \ 0 nous avons

X∗MX > 0.

Nous dirons que M est hermitienne semi-definie positive si seulement X∗MX ≥ 0 est toujoursassure. Avidement, lorsque M est a coefficients reels, elle est symetrique et l’on dira ”symetriquedefinie (ou semi-definie) positive”.

Evidement, il faut remarquer que X∗MX est un nombre reel des que M est hermitienne. De parses dimensions, c’est un scalaire, de plus, son transpose-conjugue (c’est-a-dire son conjugue) :

(X∗MX)∗ = X∗M∗X = X∗MX, i.e. X∗MX ∈ R.

En complement nous signalons quelques ”curiosites” :

Definition 2. Vecteurs positifs. Un vecteur X de Rn sera dit positif, si toutes ses coordonnees sontdes nombres positifs ou nuls, on le notera X ≥ 0 (Ou 0 ≤ X).

Il est dit strictement positif, si toutes ses coordonnees le sont (note 0 < X).

Si X ∈ Cn on posera |X| le vecteurs de Rn dont les coordonnees sont les modules des coordonneesde X. C’est un vecteur positif.

On posera, pour X, Y ∈ Rn, X ≤ Y si Y − X ≥ 0. De meme, nous dirons qu’une matriceA ∈Mmn(R) (peut-etre ni carree ni symetrique) est positive, si chaque element l’est ;

notant A ≥ 0 (avec A > 0 avec le sens correspondant, ainsi que |A| pour A ∈Mmn(C). Nous avonsA ≤ B si 0 ≤ B − A, pour la matrice nulle 0 de la bonne taille.

Lemme 3. 1- Pour une matrice A et un vecteur X (tels que AX est defini), |AX| ≤ |A| · |X|.2- Une matrice A est positive si et seulement si, X ≥ 0 entraine AX ≥ 0.

3- Une matrice A est strictement positive si et seulement si, X ≥ 0 et X 6= 0 entrainent AX > 0.

Page 14: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

14

Demonstration. Soit A ∈Mm,n(C), X ∈ Cn. L’inegalite triangulaire pour le module donne :

|(AX)i| = |n∑j=1

aijXj| ≤n∑j=1

|aij||Xj| = (|A| · |X|)i

d’ou l’on deduit l’inegalite entre vecteurs |AX| ≤ |A| · |X| enoncee en 1.

Si la matriceA est reelle, et tous ses elements sont positifs ou nuls, pour chaque vecteur a coefficientsreels positifs ou nuls, nous avons que les coefficients de AX sont somme de nombres positifs ou nuls,des-lors AX ≥ 0. Si de plus A est strictement positive, et X est positif non nul, X a un (au moins)de ses coefficients strictement positif, comme le sont tous les elements de A. Dans le calcul de chaquecoefficient de AX tous les termes sont positif ou nuls, et l’un (au moins) d’entre eux est strictementpositif : la somme est strictement positive. Il en resulte que chaque coefficient de AX est strictementpositif, c’est-a-dire AX > 0. Ceci etablis la necessite des condition dans les points 2 et 3.

Pour les reciproques. Remarquons que les vecteurs de la base canonique de Rn verifient que ei ≥0, ei 6= 0. Alors, si pour tout vecteur X ≥ 0 nous avons AX ≥ 0 a fortiori, la i-eme colonne de A quiest Aei est formee de nombres positifs ou nuls, ainsi A ≥ 0.

Si l’on sait que X ≥ 0 et X 6= 0 entraine AX > 0, avec les vecteurs de la base canonique, onprouve que chaque element de la matrice A est strictement positif. ♦Theoreme 5 (Theoreme de Perron-Frobenius). Soit A ∈ Mn(R) une matrice positive et ρ(A) sonrayon spectral. Le nombre ρ(A) est valeur propre de A, il est associe a un vecteur propre positif.

Sans demonstration. Voir [1].

L’on definit le concept de ”matrice irreductible” en disant qu’une matrice A ∈Mn(C) est reductibles’il est possible de trouver une partition I ∪ J = [1 : n] telle que si (i, j) ∈ I × J alors aij = 0. Lesmatrices irreductibles sont celles qui ne sont pas reductibles. Tout ceci merite des eclaircissements.Profitant des connaissances de topologie, construisons un graphe ou l’on met des n sommets (nommesavec les nombres de [1 : n]) et on relie le sommet i au sommet j par un segment (de courbe) si etseulement si, l’element aij est non nul. Les differents segments ainsi traces ne se rencontrent jamaisen dehors des sommets (pensez a faire des petits ponts). C’est tout de meme un sous-ensemble de R3,il acquiert la topologie induite. La matrice est irreductible si et seulement si cet espace est connexe.En clair, on peut aller de i a j, ”en passant” par des k intermediaires lorsque les elements de lamatrice qui font les ponts, ne sont pas nuls.

La forme forte du Theoreme de Perron-Frobenius qui suit, a trouve des nombreuses applicationsen sciences. Lorsque les coefficients d’un vecteur sont des masses, ou des denombrements d’objets, lastricte positivite d’un vecteur a un sens existentiel particulierement aigu.

Theoreme 6 (Theoreme de Perron-Frobenius, forme forte). Soit A ∈ Mn(R) une matrice positiveet irreductible, ρ(A) son rayon spectral. Le nombre ρ(A) est valeur propre simple de A, il est associea un vecteur propre strictement positif. De plus ρ(A) > 0.

Sans demonstration. Voir [1].

2.4. Decomposition en Valeurs singulieres, Forme polaire. Le theoreme de diagonalisationunitaire des matrices normales a quelques consequences remarquables.

Corolaire 1. 1- Toute matrice symetrique reelle est diagonalisable.

2- Toute matrice hermitienne est unitairement diagonalisable, a valeurs propres reelles.

3- Si A ∈ Mn(C), A∗A est hermitienne semi-definie positive, elle est unitairement diagonalisablea valeurs propres reelles positives ou nulles.

4- Si A ∈ GLn(C), A∗A est hermitienne definie positive, elle est unitairement diagonalisable avaleurs propres reelles strictement positives.

5- Si A ∈Mn(R), A∗A est symetrique semi-definie positive, elle est orthogonalement diagonalisablea valeurs propres reelles positives ou nulles.

Page 15: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

15

4- Si A ∈ GLn(R), A∗A est symetrique definie positive, elle est orthogonalement diagonalisable avaleurs propres reelles strictement positives.

Demonstration. Evident. Exercice.

Proposition 3. Une matrice hermitienne semi-definie positive admet une racine carree hermitiennesemi-definie positive. Si elle est definie positive, sa racine carree aussi.

Une matrice symetrique reelle semi-definie positive admet une racine carree symetrique reellesemi-definie positive. Si elle est definie positive, sa racine carree aussi.

Demonstration. Nous appelons racine carree de la matrice H ∈Mn(K) toute matrice S ∈Mn(K)telle que S2 = H. Naturellement, si H est hermitienne, H = V DV ∗ avec V ∈ Un(C), et D diagonale.Si H est semi-definie positive, la diagonale D est une diagonale de nombres positifs ou nuls, leursracines carrees (positives ou nulles) nous permet de construire une diagonale δ, telle que δ2 = D.Ainsi en posant S = V δV ∗ nous obtenons S2 = H et evidement, S est hermitienne semi-definiepositive comme H. Le reste est similaire, sous la condition que l’on utilise, que en reel, les matricessymetriques sont diagonalisables. (Contrairement au cas general des matrices reelles normales, quidu fait de l’existence de valeurs propres non reelles, elles ne sont orthogonalement diagonalisablesque par blocs 2× 2.)

Exercice : Si S et A sont des matrices symetriques (reelles), semi-definies positives, et S est definie

positive, il est possible que, SA ne soit pas symetrique. Mais SA est semblable a S12AS

12 qui elle, est

symetrique semi-definie positive.

Theoreme 7. Decomposition en valeurs singulieres (SVD) Soit A ∈Mmn(K), (n < m) il existe alorsU ∈ Um(K), V ∈ Un(K) et des reels (dites les valeurs singulieres de A), 0 ≤ d1 ≤ d2 ≤ · · · ≤ dn,tels que

A = UDiag(d1, d2, . . . , dn)V.

La matrice Diag(d1, d2, . . . , dn) est une matrice m× n avec les di sur sa diagonale principale.

Le cas des matrices rectangulaires m < n, s’obtient en ecrivant la SVD de A∗.

Demonstration. La matrice A∗A est hermitienne semi-definie positive de taille n × n. Elle sediagonalise : il existe une matrice W ∈ Un(K) telle que A∗A = WDiag(f1, f2, . . . , fn)W ∗, avecfi ≥ 0. Les valeurs singulieres sont alors les reels positifs di =

√fi. Le choix V = W ∗, sera le bon,

dans le cas rectangulaire la suite est technique, nous nous limiterons a rediger les cas m = n,Ainversible. Dans ce cas, A∗ ∈ GLn(K) et (A∗)−1 = (A−1)∗. Notant δ = Diag(d1, d2, . . . , dn), δ2 =Diag(f1, f2, . . . , fn), δ∗ = δ et nous avons deja : A = (A∗−1Wδ)δV. Posons U = A∗−1Wδ, elle estunitaire ! En effet, U∗U = δW ∗A−1A∗−1Wδ = δW ∗(A∗A)−1Wδ = δδ−2δ = I. Dans le cas reel, tousles calculs peuvent se faire avec des matrices reelles. La matrice unitaire trouvee dans chaque cas,est en fait une matrice orthogonale.

Une jolie consequence en est la forme polaire d’une matrice inversible. Pour un nombre complexe,z ∈ C, nous savons qu’il existe un nombre reel positif, son module |z|, et un element du cercle unite,sa direction eiθ, de sorte que z = |z|eiθ. Pour les matrices inversibles une chose similaire est vrai, lesmatrices hermitiennes definies positives jouant le role des nombres positifs, et les matrices unitairescelui des elements du cercle. Remarquons que, lorsque le module d’un nombre complexe est nul, sonargument est mal definit. Dans le cas des matrices, meme si une forme polaire existe pour les matricessingulieres, l’argument est mal defini, nous ne traitons que la forme polaire des matrices inversibles.

Theoreme 8. Forme Polaire Soit A ∈ GLn(C), il existe une unique matrice hermitienne definiepositive H et une unique matrice unitaire U telles que A = UH.

Soit A ∈ GLn(R), il existe une unique matrice symetrique definie positive S et une unique matriceorthogonale O telles que A = OS.

Demonstration. D’apres le theoreme SVD, donnons nous W,V ∈ Un(C) telles que A = WδV.

Ecrivons H = V ∗δV, qui est visiblement hermitienne definie positive et U = WV qui est unitaire,

Page 16: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

16

pour avoir A = UH. En regroupant autrement, H ′ = WδW ∗, U = WV nous avons A = H ′U formepolaire inversee.

L’unicite est plus delicate. Supposons que A = WH = UH1 avec U,W unitaires et H,H1 her-mitiennes definies positives, Posons L = H1H

−1 = U∗W : unitaire. Elle a donc, son spectre sur lecercle unite. Par ailleurs H−1 est hermitienne a spectre strictement positif, elle a une racine carree,S ∈ H++

n , S2 = H−1 S∗ = S. Considerons N = SH1S, L = H1H−1 = H1S2 = S−1(SH1S)S. La

matrice L est semblable a la matrice N. Cette matrice est hermitienne definie positive, X 6= 0 =⇒X∗SH1SX = (SX)∗H1(SX) > 0, car S est inversible, son spectre est donc reel positif. Ainsi, lespectre de L est reel positif et dans le cercle unite, il est donc reduit a 1. Elle est de plus unitaire,donc diagonalisable, une matrice diagonalisable avec seulement 1 comme valeur propre, coıncide avecl’identite. L = I, H1 = H, il s’en suit l’unicite de la forme polaire.

3. Analyse matricielle

3.1. Normes vectorielles, matricielles. Une semi-norme sur un espace vectoriel E est la donneed’une application N : E → R verifiant deux axiomes (X, Y vecteurs de E, λ scalaire) :

•1 N(λX) = |λ|N(X).

•2 N(X + Y ) ≤ N(X) +N(Y ).

Ou pour le scalaire λ, sa valeur absolue |λ| est la valeur absolue de R ou le module de C selon quecorps des scalaires est R ou C.

Nous dirons qu’il s’agit d’une norme si N(X) > 0 pour tout X 6= 0. Dans ce cas on noteraN(X) = || · ||∗ avec des indices ”∗” lorsque l’on a faire a plusieurs normes dans le meme texte.

Une norme determine une structure d’espace metrique, en posant comme distance entre les vecteursX, et Y la quantite N(X −Y ). La topologie est celle que vous avez deja etudie. Dans le cas qui nousinteresse, le cas de dimension finie, cette distance fais de E un espace norme complet (de Banach).

Pour un espace de Hilbert, (E,< .,>) la quantite√< X,X > determine ”la” norme.

Pour travailler avec des matrices, nous nous interessons tout particulierement aux espaces Kn surlesquels certaines normes sont standard : Si X = (x1, x2, . . . , xn)T posons

||X||p =

(n∑i=1

|xi|p) 1

p

, ||X||∞ = maxj|xj|.

Ces quantites sont visiblement des nombres reels bien definis, qui de plus verifient les axiomes denorme, sauf eventuellement l’inegalite triangulaire, que l’on procede a demontrer.

Lemme 4. Pour 1 ≤ p ≤ ∞, l’application X 7→ ||X||p est une norme sur le K-espace vectoriel Kn.(Pour K, R ou C). Et nous remarquons les inegalites :

Inegalite de Minkowski : ||X + Y ||p ≤ ||X||p + ||Y ||p.Inegalite de Holder : si 1 ≤ p ≤ ∞, |Y ∗X| ≤ ||X||p||Y ||qsi l’on prend q tel que 1

p+ 1

q= 1, lorsque 1 < p < ∞, puis q = 1 si p = ∞ et enfin, q = ∞ si

p = 1. (C’est-a- dire, ici, 11

+ 1∞ = 1).

Convexite de l’exponentielle : si a, b ≥ 0 sont deux nombres reels, et 1 < p <∞,1

p+

1

q= 1⇒ ab ≤ 1

pap +

1

qbq.

Demonstration. Les enonces sont fait dans l’ordre inverse de l’ordre de demonstration. Pour ledernier, qui est evident si ab = 0, on suppose que ni a ni b est nul. Nous savons que l’exponentiellereelle t 7→ et est une fonction convexe, c’est-a-dire que si θ1t1 + θ2t2 est un point qui se trouve entret1 et t2 alors, eθ1t1+θ2t2 est plus bas que θ1e

t1 + θ2et2 . C’est-a-dire que si 0 ≤ θ1, θ2, et θ1 + θ2 = 1,

alorseθ1t1+θ2t2 ≤ θ1e

t1 + θ2et2 .

Page 17: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

17

De plus, par stricte convexite, l’on sait qu’il ne peut y avoir egalite que dans le cas ou l’un des θ estnul. On l’applique a : t1 = log(ap), t2 = log(bq), θ1 = 1

p, θ2 = 1

q, ce qui donne :

e1p

log(ap)+ 1q

log(bq) ≤ 1

pelog(ap) +

1

qelog(bq).

qui evidement est l’inegalite annonce.

L’inegalite d’Holder se deduit facilement, dans le cas 1 < p <∞. Puisqu’elle est evidente lorsquel’un des vecteurs est nul, supposons le contraire et posons : X = 1

||X||p X et Y = 1||Y ||q Y, ces vecteurs

sont de norme 1 et verifient :

|Y ∗X| = |Y ∗X|||X||p||Y ||q

.

En effet, notant X = (ai)T et Y = (bi)

T nous avons

|Y ∗X| = |n∑i=1

biai| ≤n∑i=1

|bi||ai|.

Somme de produits de nombres reels positifs ou nuls auxquels on applique l’inegalite de convexite del’exponentielle. Ainsi, pour chaque i nous avons : |bi||ai| ≤ 1

p|ai|p + 1

q|bi|q. En additionnant,

n∑i=1

|bi||ai| ≤1

p

n∑i=1

|ai|p +1

q

n∑i=1

|bi|q =1

p||X||pp +

1

q||Y ||qq =

1

p+

1

q= 1.

Ainsi, |Y ∗X|||X||p||Y ||q ≤ 1, comme il fallait demontrer.

Il faut traiter le cas de la norme infini separement. Or |Y ∗X| = |∑yixi| ≤

∑|yi||xi| ≤ |yi0|

∑|xi| =

|yi0|||X||1, pour |yi0| le plus grand des |yi|. Or celui-ci vaut ||Y ||∞, et le lemme est demontre (en re-marquant le symetrie).

Enfin, pour l’inegalite triangulaire, on procede a l’aide d’une astuce de Minkowsky. Pour 1 < p <∞nous observons que ||X+Y ||pp =

∑|xi+yi||xi+yi|p−1 ≤

∑|xi||xi+yi|p−1+

∑|yi||xi+yi|p−1. On utilise

Holder pour les couples de vecteurs x = (|xi|)i et z = (|xi + yi|p−1)i et y = (|yi|)i et z = (|xi + yi|p−1)ice qui nous donne les inegalites suivantes :∑

|xi||xi + yi|p−1 ≤ ||X||p||z||q;∑|yi||xi + yi|p−1 ≤ ||Y ||p||z||q.

Il reste a constater que ||z||q = ||X + Y ||p−1p parce que q(p− 1) = p. Ainsi, nous avons etablit,

||X + Y ||pp ≤ ||X||p||X + Y ||p−1p + ||Y ||p||X + Y ||p−1

p .

En factorisant ||X + Y ||p−1p sur le membre de droite et divisant, nous avons l’inegalite triangulaire

cherchee. ♦Evidement que l’on peut identifier Mn,m(K) avec Kmn et utiliser une quelconque des normes ci-

dessus, pour parler de la norme d’une matrice, mais cette demarche n’est pas tres utile (sauf pourpenser a la topologie). En effet, la propriete interessante serait ||AB|| ≤ ||A|| ||B||. Par exemple, pourla ”norme” du maximum, qui donnerait a une matrice le maximum des modules de ses elements,nous avons que la matrice pleine de 1 (tout element est le nombre 1) en taille n, a norme 1 maisevidement la ”norme” de son carre est n et n 6≤ 1 en general !

Definition 3. Norme matricielle Une norme matricielle sur Mn(K) est une application || · || :Mn(K)→ R+ telle que

||A|| = 0⇔ A = 0,

||λA|| = |λ| ||A||,||A+B|| ≤ ||A||+ ||B||,||AB|| ≤ ||A|| ||B||.

Page 18: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

18

C’est donc juste une norme pour les matrices considerees comme vecteurs, qui verifie en plus||AB|| ≤ ||A|| ||B||. En particulier, nous remarquons que la norme de la matrice identite verifie,||I|| ≥ 1. (Car nous pouvons diviser par ||I|| dans ||I|| = ||I2|| ≤ ||I||2.

Definition 4. Norme matricielle subordonnee (d’operateur) Une norme matricielle sur Mn(K),|| · ||, est dite subordonnee, s’il existe une norme N sur Kn (et l’on dira que || · || est subordonnee aN ou que || · || est la norme d’operateur de l’espace norme (Kn, N)). si pour toute matrice A :

||A|| = maxX∈Kn N(X)=1

N(AX).

On remarque que dans Kn toutes les normes sont equivalentes, et ainsi X 7→ AX est continu ennorme N et comme N(X) = 1 determine un compact, le sup est un maximum et il est atteint en unvecteur de norme 1.

Lemme 5. Si || · || est une norme sur Kn, il existe une norme (unique, que l’on notera aussi || · ||)sur Mn(K) qui lui soit subordonnee.

Demonstration. La formule pour ||A|| doit etre

||A|| = maxX∈Kn ||X||=1

||AX||

si l’on veut qu’elle soit subordonnee a || · ||, d’ou l’unicite. Il ne reste a demontrer que cette identitedefinit bien une norme matricielle ! C’est donc juste une norme pour les matrices consideres¿1

2rı¿1

2es

comme vecteurs, qui verifie¿12rifie en plus ||AB|| ≤ ||A|| ||B||. En particulier, nous remarquons que

la norme de la matrice identite¿12

verifie¿12rifie, ||I|| ≥ 1. (Car nous pouvons diviser par ||I|| dans

||I|| = ||I2|| ≤ ||I||2). Mais en general¿12nı¿1

2r ce ne sera pas une egalite¿1

2galitı¿1

2.

Proposition 4. Soit || · || une norme matricielle sur Mn(K), alors, pour A ∈Mn(K)

Nous avons 1 ≤ ||I||, ||An|| ≤ ||A||n(n > 0), 1 ≤ ||A−1|| · ||A||( si A est non-singuliere¿12re).

Et ||A|| < 1 =⇒ I − A ∈ GLn(K).

Si P ∈ GLn(K). la boule de centre P et rayon ||P−1||−1 est contenue dans GLn(K) qui est doncun ouvert de Mn(K).

Dı¿12demonstration. Les premieres¿1

2res inegalites¿1

2galitı¿1

2s sont faciles, laissees¿1

2es au lecteur,

sauf pour la remarque : 1 ≤ ||I|| = ||PP−1|| ≤ ||P ||||P−1|| pour P inversible. Nous connaissons, pour|x| < 1,

1

1− x=

+∞∑n=0

xn, (1− x)(N∑n=0

xn) = 1− xN+1.

Ainsi, pour 1 < p < q nous avons

||q∑

n=0

An −p∑

n=0

An|| ≤q∑

n=p+1

||An|| ≤q∑

n=p+1

||A||n,

qui, lorsque ||A|| < ρ < 1, l’expression ci-dessus est majoree¿12

par

||A||p+∞∑n=1

ρn = ||A||p ρ

1− ρ.

Ainsi, si ε > 0, il existe p a¿12

partir duquel ||A||p < ε1−ρρ, ce qui prouve que la serie¿1

2rie vectorielle∑

An est de Cauchy, convergente donc. Puisque (I − A)∑N

n=0An = I − AN+1 → I(N → +∞). La

matrice I − A est inversible, et son inverse est la somme de la serie¿12rie de Von Newman

(I − A)−1 =+∞∑n=0

An.

Page 19: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

19

Enfin pour P ∈ GLn(K). et B ∈Mn(K). ı¿12ecrivons B = P − P + PP−1B = P (I − (I − P−1B))

et C = I − P−1B; B est inversible, si et seulement si I −C est inversible. D’apres¿12s le rı¿1

2resultat

prı¿12cı¿1

2dent, il suffit pour que B soit inversible que ||C|| = ||P−1(P −B)|| ≤ ||P−1||||P −B|| < 1.

Ou ce qui est ı¿12equivalent, que B soit dans la boule de centre P et de rayon 1/||P−1||. Evidement

le simple appel a¿12

la continuite¿12

du dı¿12terminant prouve que GLn(K) est un ouvert de Mn(K),

mais nous avons ici une estimation du rayon de une boule...

Definition 5. Norme matricielle subordonnee (d’operateur) Une norme matricielle sur Mn(K),||·||, est dite subordonnee¿1

2e, s’il existe une norme N sur Kn (et l’on dira que ||·|| est subordonnee¿1

2e

a¿12N ou que || · || est la norme d’operateur de l’espace norme¿1

2(Kn, N)). si pour toute matrice A :

||A|| = maxX∈Kn N(X)=1

N(AX).

On remarque que dans Kn toutes les normes sont ı¿12equivalentes, et ainsi X 7→ AX est continu

en norme N et comme N(X) = 1 dı¿12termine un compact, la borne supı¿1

2riı¿1

2ure des quantites¿1

2s

N(AX) est atteinte en un vecteur de norme 1. Le maximum est justifie¿12.

Lemme 6. Si || · || est une norme sur Kn, il existe une norme (unique, que l’on notera ||| · |||) surMn(K) qui lui soit subordonnee¿1

2e. De plus nous avons

|||A||| = maxX 6=0

||AX||||X||

et toujours, pour la norme subordonnee¿12e, |||I||| = 1 puis ||AX|| ≤ |||A||| · ||X||, c’est une norme

matricielle.

Demonstration. La formule pour |||A||| doit ı¿12tre

|||A||| = maxX∈Kn ||X||=1

||AX||

si l’on veut qu’elle soit subordonnı¿12e ı¿1

2|| · ||, d’oı¿1

2l’unicitı¿1

2. Il ne reste ı¿1

2dı¿1

2montrer que

cette identite¿12

dı¿12finit bien une norme matricielle !

D’une part (A+B)X = AX +BX et ||(A+B)X|| ≤ ||AX||+ ||BX||, d’oı¿12, pour X parcourant

la sphı¿12re unitı¿1

2(en norme ||.|| de Kn,

max ||(A+B)X|| ≤ max(||AX||+ ||BX||) ≤ max ||AX||+ max ||BX||,et on en dı¿1

2duit l’inı¿1

2galitı¿1

2triangulaire. L’homogı¿1

2neitı¿1

2ı¿1

2tant ı¿1

2vidente, il suffit de vı¿1

2rifier

que si |||A||| = 0, pour chaque vecteur de norme 1, X, AX doit ı¿12tre de norme 0, nul donc. en

vı¿12rifiant sur une base, A est nulle. La formule proposı¿1

2e pour |||.||| est bien celle d’une norme

vectorielle. Avant de montrer que c’est une norme matricielle, montrons la formule alternative pourla norme d’opı¿1

2rateur, clairement

maxX∈Kn ||X||=1

||AX|| ≤ supX 6=0

||AX||||X||

.

Montrons que maxX∈Kn ||X||=1 ||AX|| majore les expressions ||AY ||||Y || dı¿12s que Y 6= 0. Pour Y 6= 0

considı¿12rons Z = Y/||Y ||, clairement :

||Z|| = 1,||AY ||||Y ||

= ||A Y

||Y |||| = ||AZ|| ≤ max

X∈Kn ||X||=1||AX||,

la formule du lemme est dı¿12montrı¿1

2e. En plus de la trivialitı¿1

2|||I||| = 1, nous avons que ||AX|| ≤

|||A||| · ||X|| est vrai pour le vecteur X nul. Soit X 6= 0 dans Kn,

||AX|| = ||AX||||X||

||X|| ≤ supZ 6=0

||AZ||||Z||

||X|| = |||A||| ||X||.

Page 20: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

20

Il est facile maintenant de montrer que cette norme est matricielle. En effet : pour chaque vecteurX, ||ABX|| ≤ |||A||| ||BX|| ≤ |||A||| |||B||| ||X||, pour les vecteurs de norme 1 : ||X|| = 1 =⇒||ABX|| ≤ |||A||| |||B||| en passant ı¿1

2la borne sup. nous avons |||AB||| ≤ |||A||| |||B|||.

Ainsi, |||A||| est une constante de Lipschitz pour l’application linı¿12aire canoniquement associı¿1

2e

ı¿12A.

||AX − AY || ≤ |||A||| · ||X − Y ||,la formule du lemme montre que c’est la plus petite constante de Lipschitz possible. C’est bien uneautre dı¿1

2finition possible pour la norme subordonnı¿1

2e. En effet, si λ > 0 verifie ||A(X − Y )|| ≤

λ||X − Y ||, pour X 6= Y, ||A(X−Y )||||X−Y || ≤ λ, et en passant ı¿1

2la borne, |||A||| ≤ λ.

Nous noterons toutes les normes par le symbole || · || laissant au contexte prı¿12ciser leur nature.

Proposition 5 (Calcul des normes subordonnees aux normes de Holder). . Soit A = (aij) unematrice carrı¿1

2e numı¿1

2rique, n×n. La norme subordonnı¿1

2e ı¿1

2la norme || · ||∞ de Kn se note et

calcule par :

||A||∞ = max1≤i≤n

n∑j=1

|aij|, (le max des normes 1 des lignes).

La norme subordonnı¿12e ı¿1

2la norme || · ||1 de Kn se note et calcule par :

||A||1 = max1≤j≤n

n∑i=1

|aij|, ( le max des normes 1 des colonnes).

La norme subordonnı¿12e ı¿1

2la norme || · ||2, euclidienne, de Kn se note et calcule par :

||A||2 =√ρ(A∗A), (racine du rayon spectral deA∗A).

Cette norme est aussi apellı¿12e, norme spectrale.(C’est la plus grande des valeurs singuliı¿1

2res).

Demonstration. . Pour toute la suite, soit 0 6= X = (xi) ∈ Cn (ou R) et soit Y = (yj) = AX.

∞–Soit j0, 1 ≤ j0 ≤ n tel que |yj0| = max1≤j≤n |yj| = ||AX||∞. Nous avons

||AX||∞ = |yj0 | = |n∑k=0

aj0 kxk| ≤n∑k=0

|aj0 k||xk| ≤n∑k=0

|aj0 k|||X||∞ ≤ ( max1≤i≤n

n∑k=0

|ai k|)||X||∞.

Ainsi, la norme subordonnı¿12e, ||A||∞ est majorı¿1

2e par max1≤i≤n

∑nk=0 |ai k|, il ne reste qu’a prouver

que cette borne est atteinte. Or il y a bien une ligne, i0 telle que max1≤i≤n∑n

k=0 |ai k| =∑n

k=0 |ai0 k|,en prennant X le vecteur dont les composantes sont les (ai0 j/|ai0 j|) nous avons que la ligne i0 deAX est yi0 =

∑nk=0 |ai0 k| ≥ 0, ainsi, ||AX||∞ ≥ |yi0| = max1≤i≤n

∑nk=0 |ai k|, qui est donc une

ı¿12galitı¿1

2, et la formule de || · ||∞ est dı¿1

2montrı¿1

2e.

1–Pour chaque ligne i de Y, nous avons |yi| = |∑n

j=1 aijxj| ≤∑n

j=1 |aij||xj|. Ainsi

||Y ||1 =n∑i=1

|yi| ≤n∑i=1

n∑j=1

|aij||xj| =n∑j=1

(n∑i=1

|aij|)|xj| ≤ (n∑i=1

|aij|)||X||1 ≤ ( max1≤j≤n

n∑i=1

|aij|)||X||1.

Et nous avons ||A||1 ≤ max1≤j≤n∑n

i=1 |aij| prouvons qu’il y a ı¿12galitı¿1

2. Soit j0 l’indice de la

colonne qui donne max1≤j≤n∑n

i=1 |aij| =∑n

i=1 |aij0|, et prenons pour X le j0-iı¿12me vecteur de la

base canonique, alors, AX est la colonne j0 de A sa norme 1 est bien max1≤j≤n∑n

i=1 |aij| ce quiprouve la formule pour la norme 1.

2– Si la formule semble plus exotique, la preuve est plus facile : ||AX||22 = (AX,AX) = (AX)∗AX =X∗A∗AX. Or A∗A est hermitienne semi-dı¿1

2finie positive, elle se diagonalise unitairement, c’est-ı¿1

2-

dire, qu’il existe une matrice unitaire, U ∈ Un(K) telle que A∗A = U∆U∗ avec ∆ une matricediagonale d’ı¿1

2lı¿1

2ments rı¿1

2els positifs ou nuls, λi ≥ 0. Cette diagonale consiste en les valeurs

propres de ∆, la plus grande d’entre-elles est le rayon spectral de A∗A. Notons Z = U∗X, nousavons ||Z||22 = Z∗Z = X∗UU∗X = X∗X = ||X||22, et ||AX||22 = X∗A∗AX = Z∗U∗A∗AUZ =

Page 21: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

21

Z∗∆Z. Ceci se calcule explicitement : ||AX||22 =∑n

i=1 λi|zi|2. En notant λmax(= ρ(A∗A)) la plusgrande des valeurs propres, ||AX||22 ≤ λmax

∑ni=1 |zi|2 = λmax||Z||22 = ||X||22. c’est-ı¿1

2-direct

||AX||22 ≤ ρ(A∗A)||X||22. Nous avons la majoration voulue, pour l’ı¿12galitı¿1

2, prı¿1

2nons X un

vecteur propre (rı¿12el si A est rı¿1

2elle) de la matrice A∗A associı¿1

2ı¿1

2la valeur propre λmax, nous

avons ||AX||22 = ||λmaxX||22 = λmax||X||22, et la formule de la norme spectrale est dı¿12montrı¿1

2e.

Proposition 6 (Exercice). Nous avons

maxi,j|aij| ≤ ||A||2 ≤ nmax

i,j|aij|, ||A||22 ≤ ||A||1||A||∞.

Definition 6 (Norme de Frobenius). Soit A ∈Mmn(K) nous appellerons norme de Frobenius de A,le nombre rı¿1

2el

||A||F =

(n∑i=1

n∑j=1

|aij|2) 1

2

.

Elle porte aussi les noms : norme 2 de Schatten ou norme de Hilbert-Schmidt.

Proposition 7 (Propriı¿12tı¿1

2s de la norme de Frobenius). Soient A,B ∈Mmn(K), C ∈Mnt(K), X ∈

Kn.

1- La forme (A / B)F = trace(B∗A) munit d’une structure hilbertienne Mmn(K) de norme as-sociı¿1

2e la norme de Frobenius. Ce produit scalaire porte le nom de produit de Hilbert-Schmidt.

2- Nous avons ||AC||F ≤ ||A||2||C||F , ||AC||F ≤ ||C||2, ||AX||F ≤ ||A||F ||X||2,3- Aussi ||A||2 ≤ ||A||F ≤

√n||A||2, et ||AC||F ≤ ||A||F ||C||F .

4- Enfin, si u, V sont unitaires, ||UA||F = ||A||F = ||AV ||F .5- La norme de Frobenius n’est subordonnee a aucune norme de vecteurs.

Demonstration. . C’est un excellent exercice. Nous attirons l’attention sur la consequence pri-mordiale de l’affirmation 1. Apres demontrer que le produit de Hilbert Schmidt est bien une formehermitienne dı¿1

2finie positive, ce qui n’est pas difficile, on en dı¿1

2duit une norme vectorielle pour

Mmn(K). C’est la formule qui donne cette norme qu’il faut aussi dı¿12monter, en clair, c’est affirmı¿1

2que

trace(A∗A) =

(n∑i=1

n∑j=1

|aij|2) 1

2

.

C’est n’est pas difficile, en faisant le calcul des ı¿12lı¿1

2ments de la diagonale de A∗A. Lorsque m = n =

t la deuxiı¿12me affirmation du point 3 nous dit que la norme de Frobenius est une norme matricielle

dans le sens de la dı¿12finition ci-dessus.

Enfin, la preuve du point 4, d’aprı¿12s la formule de la dı¿1

2finition semble de difficile accı¿1

2s, par

contre, ı¿12

l’aide du produit de Hilbert-Schmidt, et de l’affirmation capitale trace(AB) = trace(BA),c’est facile.

Dans cette proposition, la norme || · ||2 est la norme d’une matrice non-nı¿12cesairement carrı¿1

2e,

subordonnı¿12e au couplede normes euclidiennes ı¿1

2la source et au but. Ce concept, similaire ı¿1

2

celui que l’on a developpı¿12, ne presente pas des difficultı¿1

2s additionnelles.

Et rappelons que les normes subordonnı¿12es vı¿1

2rifient que la norme de l’identitı¿1

2est 1, contrai-

rement au cas de Frobenius (sauf en dimension 1).

Proposition 8. Soit ||.|| une norme subordonnı¿12e sur Mn(K), ρ(A) ≤ ||A||. De plus Nous avons

que la suite An converge vers la matrice nulle si et seulement si ρ(A) < 1.

Demonstration. . Pour K = C, il suffit de prendre un vecteur propre X associı¿12

ı¿12

une valeur

propre λ, qui a module ı¿12gal ı¿1

2ρ(A). et ı¿1

2crire ρ(A)||A|| = ||λX|| = ||AX|| ≤ ||A||||X||, pour en

dı¿12duire l’inı¿1

2galitı¿1

2ρ(A) ≤ ||A||.

Page 22: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

22

L’idı¿12e dans le cas rı¿1

2el est d’utiliser une norme N subordonnı¿1

2e de Mn(C), qui par restriction

ı¿12Mn(R) nous donne une norme, notı¿1

2e de la mı¿1

2me lettre, qui est ı¿1

2quivalente ı¿1

2la norme

que l’on a|| · || ainsi, pour chaque matrice rı¿12elle B, N(B) ≤ c||B|| pour une constante c, Or

ρ(A)n = ρ(An) ≤ N(An) ≤ c||An|| ≤ c||A||n. en prenant des racines n-iı¿12mes, et passant ı¿1

2la

limite, lorsque n→ +∞, nous avons ρ(A) ≤ ||A|| en toute gı¿12nı¿1

2ralitı¿1

2.

Remarquons que pour une matrice nilpotente non nulle, le rayon spectral est 0, et sa norme non.

Enfin, pour ı¿12tudier de prı¿1

2s les puissances, Considı¿1

2rons X un vecteur propre (complexe)

associı¿12

ı¿12

une valeur propre de module ı¿12gale ı¿1

2ρ(A). Il est clair que ||AnX|| = ρ(A)n. Ainsi,

si An converge vers 0, AnX converge vers le vecteur 0, (car ||AnX|| ≤ ||An||) le rayon spectral estdonc plus petit que 1. Rı¿1

2ciproquement, si ρ(A) ≥ 1, ||AnX|| ne peut converger vers 0, et donc,

||An|| non plus.

Theoreme 9 (Thı¿12orı¿1

2me de Householder). Soit A ∈ Mn(C) et ε > 0, il existe une norme

vectorielle sur Cn telle que pour la norme matricielle, || · ||′ qui lui est subordonnı¿12e, l’on ait

||A||′ ≤ ρ(A) + ε.

On prendra garde que cette norme est construite ı¿12

partir de la matrice A, de sorte que c’est la

norme de A qui est toute petite, arrivant presque ı¿12

sa valeur plancher ρ(A). Cette mı¿12me norme

appliquı¿12e ı¿1

2une autre matrice B, donnera une valeur, en gı¿1

2nı¿1

2ral, trı¿1

2s au-dessus de ρ(B).

De plus, il est facile de dı¿12duire de ce rı¿1

2sultat que

ρ(A) = inf|||A|||/ ||| · ||| est une norme matricielle subordonnı¿1

2e de Mn(C).

Demonstration. . Fixons ε et A. Considı¿12rons P ∈ Un(C), tel que P ∗AP = T soit une ma-

trice triangulaire supı¿12rieure, ı¿1

2videment, ρ(A) = ρ(T ) = max1≤i≤n |tii|. Introduisons la matrice

Q(µ) = diag(1, µ, µ2, . . . , µn−1) ∈ GLn(R) si µ > 0.La formule |||X||| = ||Q(µ)PX||2 donne unenorme sur Cn.( Exercice). La matrice Q(µ)P ∗APQ( 1

µ) = Q(µ)TQ( 1

µ) est une matrice triangulaire

supı¿12rieure, de mı¿1

2me diagonale principale que T, de mı¿1

2me rayon spectral. Notons D la matrice

diagonale, formı¿12e de cette diagonale. L’ı¿1

2lı¿1

2ment en ligne i, colonne j de Q(µ)TQ( 1

µ) est µi−jtij

et limµ→+∞Q(µ)TQ( 1µ) = D. Il est facile de vı¿1

2rifier maintenant que : limµ→+∞ |||A||| = ||D||2. et

donc, que si µ est assez grand, |||A||| < ||D||2 + ε. Enfin

|||A||| < ||D||2 + ε =√ρ(D∗D) + ε = max |tii|+ ε = ρ(A) + ε.

3.2. Localisation des valeurs propres.

Theoreme 10 (Theoreme de Gerschgorin-Hadamard). Soit A = (aij) ∈Mn(C). Nous avons toujours

sp(A) ⊂n⋃i=1

Di

pour les disques de Gerschgorin : Di = z ∈ C / |z − aii| ≤n∑

j=1, j 6=i

|aij|

Demonstration. Soit λ ∈ sp(A), et X un vecteur propre associe. Posons Y = X||X||∞ qui est aussi

une vecteur propre associee, ||Y ||∞ = 1. Nous avons, donc, qu’il existe un indice, note l∈ [1 : n] telleque |yl| = 1 et evidement (AY )l = λyl d’ou l’on tire que

n∑j=1

aljyj = λyl,

Page 23: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

23

ou precisement,∑n

j=1,j 6=l aljyj + allyl = λyl qui donne yl(λ− all) =∑n

j=1,j 6=l aljyj. Or |yj| ≤ |yl| ≤ 1qui par triangulaire donne

|λ− all| ≤ |yl(λ− all)| ≤n∑

j=1,j 6=l

|alj|.

C’est-a-dire que λ est dans le disque Dl. meD

Corollaire 1. Pour une matrice A = (aij) nous avons la borne du rayon spectral suivante

ρ(A) ≤ sup1≤i≤n

(n∑j=1

|aij|).

Demonstration. Si λ ∈ sp(A) il existe 1 ≤ i ≤ n tel que λ ∈ Di c’est-a-dire |λ − aii| ≤∑nj=1,j 6=i |aij|. Ainsi, puisque |λ| − |aii| ≤ |λ− aii| nous avons |λ| − |aii| ≤

∑nj=1,j 6=i |aij| et en passant

|aii| au deuxieme membre,

|λ| ≤n∑j=1

|aij|

le maximum en i est donc un majorant. meD

Definition 7. Une matrice A = (aij) ∈ Mn(C) est dite ”a diagonale dominante” si pour chaquei ∈ [1 : n] nous avons

n∑j=1,j 6=i

|aij| ≤ |aii.

Elle sera dite ”a diagonale dominante stricte” si toutes ces egalites sont strictes.

Si la matrice A est a diagonale dominante stricte, il s’en suit qu’aucun des n disques de Gerschgorinne peut contenir 0 d’ou 0 /∈ sp(A).

Corollaire 2. Une matrice a diagonale dominante stricte est inversible.

On remarquera que lorsque l’on note Ap la matrice tiree de la matrice A en ne retenant que leselements dont les deux indices sont inferieurs ou egaux a p : Ap = A[1:p][1:p]; si la matrice A est adiagonale dominante (resp. stricte) il en va de meme pour Ap. Ainsi pour une matrice a diagonaledominante stricte A, chaque Ap est inversible.

3.3. Conditionnement d’une matrice. Quand on veut resoudre numeriquement AX = B avecA ∈Mn(C), 1 << n, divers facteurs influent sur la precision du resultat :

– Incertitudes sur les donnees (experimentales) de A et/ou B.

– Erreur dans la representation des coefficients de A et B avec un nombre fini de decimales(ordinateur).

– Erreurs d’arrondi lors des calculs.

– Erreurs previsibles de l’algorithme, notamment lors des calculs approches par des methodesiteratives.

Supposons d’abord une methode donnee, de calcul de X pour le probleme AX = B. Par deserreurs de representation, nous resolvons en fait (A + δA)Y = B + δB avec δA et δB des quantites(matricielles) inconnues. On supposera posseder une borne du type ||δA|| ≤ 2−N tenant compte de

la precision acquise dans l’obtention des donnees et leur codage. Evidement nous pouvons considererque le resultat du calcul Y est lie avec le veritable resultat cherche X par Y = X + δX et il s’agitde discuter des informations a priori sur ”l’erreur absolue” δX commise. Nous nous interessons a sa

norme, ou tout du moins a l’erreur relative en norme ||δX||||X|| .

Page 24: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

24

Exemple extreme. Supposons les donnees fournies par l’experimentation suivantes :

A =

10 7 8 77 5 6 58 6 10 97 5 9 10

B =

32233321

⇒ X =

1111

ce qui se verifie sans peine. L’experimentateur nous avertit qu’il y a des incertitudes, qui ajoutees a laqualite de notre methode (de codage et calcul) se resument a dire que l’on resout (A+δA)Y = B+δBavec

δA =

0 0 0, 1 0, 2

0, 08 0, 4 0 00 −0, 2 −0, 11 0

0, 01 −0, 01 0 −0, 08

δB =

0, 01−0, 010, 01−0, 01

les calculs donnent pour solution de (A+ δA)Y = B + δB un

Y =

−81137−3422

qui est vraiement trop trop eloigne de la valeur de X. Il s’agit de comprendre ce phenomene.

Proposition 9 (Perturbation du deuxieme membre). Soit X ∈ Cn la solution de AX = B pourA ∈ Mn(C) inversible et 0 6= B ∈ Cn donnes. Notons X + δX la solution Y de AY = B + δB pourchaque δB ∈ Cn. Si || · || est une norme matricielle subordonnee, alors :

||δX||||X||

≤ ||A|| · ||A−1|| ||δB||||B||

.

De plus, pour A donnee, il existe B de norme arbitraire et un δB de norme aussi petite que l’onveut, pour lesquels il y a egalite.

La quantite ||A|| · ||A−1|| est dite ”le nombre de conditionement de la matrice A dans la norme|| · ||” et sera note c||·||(A) ou c(A) lorsque aucune ambiguite n’est a craindre. Nous avons donc

||δX||||X||

≤ c(A) · ||δB||||B||

.

Demonstration. Puisque AX + AδX = A(X + δX) = B + δB = AX + δB, δX = A−1δB et

||δX|| ≤ ||A−1|| · ||δB||.

Mais B = AX, d’ou ||B|| ≤ ||A|| · ||X|| et ||X|| ≥ ||B||||A|| (> 0). Ainsi 1

||X|| ≤||A||||B|| et

||δX||||X||

≤ ||A−1|| · ||δB||||X||

≤ ||A−1|| · ||δB|| ||A||||B||

.

Pour l’optimalite, considerons X0 tel que ||AX0|| = ||A|| · ||X0||, B := AX0. On pourra prendre Bde la norme que l’on veut. Considerons ensuite Z0 tel que ||A−1Z0|| = ||Z0|| et quitte a le multiplierδB := 10−NZ0 nous avons un δB de norme aussi petite que l’on veut, et c’est facile de verifier quepour ces donnees, l’erreur relative de la solution calculee est exactement le produit du nombre deconditonnement par l’erreur relative du deuxieme membre. L’inegalite est optimale meD

On remarquera que l’on peut dire que l’erreur relative dans la solution d’un systeme lineairen’est pas ”pire” que celle du deuxieme membre seulement lorsque le conditionnement vaut 1.

Une matrice est d’autant mieux conditionnee, que son nombre de conditionnementapproche 1.

Une matrice A est bien conditionnee si c(A) = 1. Les matrices unitaires sont bienconditionnees.

Page 25: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

25

Proposition 10 (Perturbation de la matrice). Soit X ∈ Cn la solution de AX = B pour A ∈Mn(C)inversible et 0 6= B ∈ Cn. Notons X + δX la solution Y de (A+ δA)Y = B alors

||δX||||X + δX||

≤ c(A) · ||δA||||A||

.

4. Methodes directes pour les systemes lineaires

4.1. Introduction, Cas triangulaires. Je ne peut me resoudre a autre chose que de citer in ex-tenso, avec quelques libertes, l’introduction du chapitre correspondant du livre de Ciarlet, [3], qu’ilest conseille de consulter.

Le probleme que nous allons maintenant considerer est celui de la resolution numerique d’unsysteme lineaire AX = B, dont la matrice A est inversible.

Le principe des methodes directes etudiees dans ce chapitre revient a la determination d’une matriceM inversible telle que la matrice MA soit triangulaire superieure ; ce qui correspond a la procedured’elimination. Il reste ensuite a resoudre le probleme lineaire MAX = MB =: Y.

Si l’on note (uij) les elements de MA, la methode de remontee est :

function [X]=remontee(U,Y) % solution de AX=Y si A est le triang sup de U

[m,n]=size(U) ; [s,t]=size(Y) ;

if ((m~=n) | (n~=t)|(s~=1)) then

error( ’erreur, les tailles de donnees sont erronees’) ;

end % if tailles mauvaises

X=Y ;

X(n)=X(n)/U(n,n) ;

for i=1 :n-1

X(n-i)=(X(n-i)-U(n-i,n-i+1 :n).*X(n-i+1 :n))/U(n-i,n-i)

end ; % for i et de la fonction

Vous observez que cette methode a besoin de n(n−1)2

additions, autant de multiplications et ndivisions. C’est-a-dire n2 +O(n) operations.

Ce principe est a la base de la methode de Gauss pour les systemes lineaires ”quelconques” et dela methode de Cholesky pour les systemes lineaires a matrice symetrique definie positive.

L’interpretation matricielle de la methode de Gauss est la factorisation LU d’une matrice. Ceresultat est tres important . A des permutations eventuelles de lignes pres, toute matrice admetune telle factorisation, ou L est triangulaire inferieure avec dans la diagonale principale des 1 etU triangulaire superieure inversible. La methode de Householder est quand a elle, la factorisationA = QR ou Q est orthogonale et R triangulaire superieure (Gram-Schmidt), effectuee d’une maniereefficace numeriquement.

4.2. Methode de Gauss, sans recherche de pivot. Vous avez une pratique certaine de cettemethode. Il convient de la decrire formellement ici.

Mais ecrivons de suite l’algorithme de Gauss pour resoudre AX = B :

function [X]=Gauss(A,B) % solution de AX=B

% sans verifications sur les tailles !

[n,m]=size(A) ; % recupere n suppose = m

for j=1 :n

for i= j+1 :n

if 0==A(j,j) then error(’arretez tout, pivot nul ! ’) end

Page 26: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

26

facteur = A(i,j) / A(j,j) ;

A[i,j :n]=A(i,j :n)-A(j,j :n).* facteur ;

B(i)=B(i)-B(j) * facteur ;

end % for i

end ; % for j, la matrice A est redite, B transforme

X= remontee(A,B) ;

end ; % de Gauss

Bien entendu, l’hypothese que l’on ne rencontre pas de zero dans un pivot est necessaire. Nousdiscuterons ceci en detail.

Introduisons la notation Eij pour la matrice faite de zeros sauf en colonne j ligne i, ou elle a un 1.Ces matrices dites elementaires, sont une base (vectorielle) sur K de Mn(K).

Decrivons la methode de Gauss applique a la matrice A, les matrices que l’on obtient succesivementseront notees A(l). L’operation de base dans la reduction de Gauss est celle de garder toutes les lignesde la matrice A(l) inchangees sauf une, la ligne j. Cette ligne est echangee par elle meme retrancheed’un scalaire, λ, multipliant la ligne qui porte le pivot, d’indice i, en cours.

Il est important de s’arreter ici et comprendre une fois pour toutes que cette operation s’obtienten multipliant par la gauche par la matrice,

Gλ(j, i) =

1 0 · · · 0 0 · · · 00 1 0 · · · 0 0 · · · 00 · · · 1 0 · · · 0 0 · · · 0

.... . .

......

...0

0 · · · 1 0 · · · 00 0 1 · · · 0

......

.... . .

...0 −λ 0 0...

......

. . ....

0 · · · 0 0 1

, J > i.

Ou le −λ est en ligne j, colonne i. Evidement cette matrice est Gλ(j, i) = I−λEji, et il est tout aussievident que seule la ligne j de Gλ(j, i)A differe de celle de A. Enfin que cette multiplication donnele resultat escompte puisque EjiA est la ligne i de A placee a hauteur j avec le 1 place en positionjj nous obtenons en ligne j la somme de la ligne j et −λ fois la ligne i.

Un peu d’imagination nous montre que l’operation d’eliminer les elements en dessous du pivotconsiste a reiterer ces operations avec le bon λ a chaque pas. Ainsi, sous l’hypothese que t = a11 6= 0,

A(1] = Ga21t

(2, 1)Ga31t

(3, 1) · · ·Gan1t

(n, 1)A

contient en premiere colonne, le pivot a11 puis des zeros. Ce produit de matrices ”G” s’obtient sanspeine, il ne depend que de la matrice dont on veut eliminer des elements sous le pivot, dont on connaıtl’indice. Nous remarquerons en toute generalite que pour i < j, j′, Gλ(j, i) et Gµ(j′, i) commutent etde plus Gλ(j, i)

−1 = G−λ(j, i). Calculons, et notons

G1 = Ga21t

(2, 1)Ga31t

(3, 1) · · ·Gan1t

(n, 1) = I −n∑i=2

ai1t

Ei,1.

Nous retiendrons, en premiere approche que c’est une matrice triangulaire inferieure, avec des 1 surla diagonale. Il est facile de voir que les matrices que l’on vient de multiplier commutent entre elles.

Page 27: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

27

Le pas suivant de la methode de Gauss, sous l’hypothese que t2 = a(1)22 6= 0 est d’eliminer les

elements sous ce pivot.

Ceci s’obtient par :A(2) = G

a(1)32t2

(3, 2)Ga(1)42t2

(4, 2) · · ·Ga(1)n2t2

(n, 2)A(1).

Ou, il est essentiel de remarquer que la premiere colonne de la matrice A(1) n’a pas change, autrementdit A(1) et A(2) ont la meme premiere colonne. Les operations sur les lignes ulterieures n’affectentpas les colonnes deja reduites.

Nous noterons, et calculons,

G2 = Ga(1)32t2

(3, 2)Ga(1)42t2

(4, 2) · · ·Ga(1)n2t2

(n, 2) = I −n∑i=3

a(1)i2

t2Ei,2.

Nous remarquons que ses elements se determinent aisement a l’aide de ceux de A(1) (mais non pas al’aide de ceux de A.) Et que G2 ne commute pas avec G1.

A ce stade nous pouvons dire que la matrice A(2) s’ecrit par blocs :

A(2) =

(U (2) B

0 A(2)−

)Ou U (2) est une matrice 2× 2 triangulaire superieure, et le 0 est une matrice de zeros (n− 2)× 2.

La methode se poursuit sans peine, tant que l’on ne rencontre pas de pivot nul. Nous nous entiendrons a cette eventualite dans cette section.

Ainsi, pour 1 ≤ k ≤ n− 1 nous avons

A(k) =

(U (k) B

0 A(k)−

)avec U (k) est une matrice k × k triangulaire superieure, et le 0 est une matrice de zeros (n− k)× k.Sous l’hypothese tk+1 = a

(k)k+1,k+1 6= 0 nous obtenons A(k+1) = Gk+1A

(k) ou

Gk+1 = Ga(k)k+2,k+1tk+1

(k + 2, k + 1)Ga(k)k+3,,k+1tk+1

(k + 3, k + 1) · · ·Ga(k)n,k+1tk+1

(n, k + 1) = I −n∑

i=k+2

a(k)i,k+1

tk+1

Ei,k+1.

Enfin, pour eliminer en dessous du dernier pivot a(n)n,n il n’y a rien a faire.

Ainsi, avec le produitG = Gn−1 · · ·G1, GA est une matrice triangulaire superieure, et pour resoudreAX = B il suffit de resoudre (GA)X = GB ce qui se fait en n2 + O(n) operations. Cette methodeest efficace pour resoudre un grand nombre d’equations AXm = Bm pour des m nombreux, pourvutque l’on ait garde la matrice G.

Le decompte du nombre d’operations est extremement important. Pour passer de A(k) a A(k+1)

on a besoin de n − k divisions, (n − k + 1)(n − k) additions, et autant de multiplications. Puisque∑n−1k=1(n−k+1)(n−k) = n3−n

3, le total pour le vecteurB etant de n(n−1) sommes plus multiplications,

la methode de Gauss, resous un systeme lineaire dans nos hypotheses en

2n3

3+O(n2)

operations.

4.3. Decomposition LU. Nous allons ameliorer la methode de Gauss, a l’aide quelques remarquesquelque peu anodines.

Lemme 7. En notant Ln(K) l’ensemble des matrices carrees de taille n qui sont triangulairesinferieures et inversibles, nous avons que Ln(K) < GLn(K) c’est-a-dire, c’est un sous-groupe et deplus si l’on note Diag(L) la matrice diagonale qui a la meme diagonale que L, nous avons Diag(L−1) =(Diag(L))−1 = diag( 1

lii). Nous avons aussi Diag(LL′) = (Diag(L))Diag(L′), det(Diag(L)) = det(L)

Page 28: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

28

et ces derniers faits sont vrais y compris si L n’est pas inversible. Des faits correspondants sont vraispour les matrices triangulaires superieures.

Demonstration. Ceci est relativement simple. Que le produit de matrices diagonales inferieuresest diagonale inferieure est, a ce stade, le resultat d’un calcul immediat. Il reste a prouver que l’inverseest encore triangulaire inferieure. Ca peut se comprendre comme une consequence immediate de laformule de Cramer :

L · (((−1)i+j detLij))T = det(A)I.

Car il est clair que la matrice Lij obtenue en enlevant la colonne j et la ligne i, a un determinant nullorsque i < j, la transposition de cette matrice de determinants signes (dite matrice adjointe) nousfournis la matrice triangulaire inferieure. L’inverse s’obtient en divisant par le determinant. Le resteest le resultat de calculs evidents.

Une autre maniere est de raisonner par recurrence par blocs. (Exercice).

Nous avons vu que par la methode de Gauss, nous obtenons que GA est une matrice triangulairesuperieure Ceci a l’aide de la matrice G produit de matrices triangulaires inferieures, de diagonalefaite de 1. Evidement G−1(GA) = A nous donne une decomposition de la matrice A en produit d’unematrice triangulaire inferieure, notee L, de meme diagonale que l’identite et une matrice triangulairesuperieure, notee U, inversible (donc).

Cette idee nous fournit : 1- une maniere d’expliciter l’hypothese de la section precedente, quietait que lors de la reduction, nous ne nous trouvons pas avec un pivot nul, puis 2- une maniere dedemontrer l’existence et unicite de ces matrices. En effet :

Nous noterons par la suite, pour chaque matrice A ∈ Mn(K) et chaque 1 ≤ p ≤ n, Ap lamatrice carree de taille p faite des p premieres colonnes des p premieres lignes de la matrice A. Enraisonnant par blocs, il est evident, que si L est triangulaire inferieure et U triangulaire superieure,alors A = LU entraıne que pour chaque p, LpUp = Ap. On en deduit les relations, valables pourchaque p, det(Lp) det(Up) = det(Ap). Or la matrice fournie par la methode de Gauss a sa diagonaleprincipale faite de 1 et est donc inversible. Il s’en suit que U aussi. Mais comme, pour une matricetriangulaire, le determinant n’est autre que le produit de ses elements diagonaux, il s’en suit que lesdiagonales des matrices L,U fournies par la methode de Gauss, ont leurs elements diagonaux nonnuls. (D’ailleurs, les elements de la diagonale de U sont les pivots succesifs !) Or on deduit aussi que,pour chaque p, det(Lp) 6= 0, det(Up) 6= 0. On conclut que, mener a bien l’algorithme de reductionde Gauss, c’est-a-dire de ne pas rencontrer des pivots nuls, entraıne que det(Ap) 6= 0 pour chaque p.Cette condition , que l’on prendra soin de ne jamais, jamais, jamais verifier a l’avance, nous fournitune hypothese intrinseque qui se revele etre la bonne !

La remarque sur le fait qu’il ne faudra pas verifier l’hypothese peut sembler etrange a l’etudiantdes mathematiques. Mais ce que l’on veut dire, c’est qu’il ne faut pas la verifier avant de se lancerdans la reduction de Gauss. On verra de suite que si au cours de la methode de Gauss un pivotresulte nul, alors c’est que l’hypothese n’est pas verifiee. Ainsi, du point de vue de l’economie desefforts, se lancer directement dans la reduction de Gauss est rentable. Sauf eventuellement pour lesmatrices symetriques, pour lesquelles la methode de Cholesky sera a privilegier. De plus, on verraaussi plus tard, que des permutations sont possibles, ameliorant la methode de Gauss, et atteignantl’ensemble des matrices inversibles.

Theoreme 11 (Decomposition LU). Soit A ∈ GLn(K) telle que pour chaque p = 1, . . . n, det(Ap) 6= 0alors il existe L triangulaire inferieure de meme diagonale que l’identite, et U triangulaire superieureinversible telles que A = LU. C’est en fait une equivalence. Le couple (L,U) est unique.

Par la methode d’elimination de Gauss, on peut calculer L et U a l’aide de 2n33

+O(n2) operationsd’addition ou multiplication.

Demonstration. Commencons, pour fixer les idees avec la preuve de l’unicite. Si A = LU = L′U ′

sont deux telles decompositions, L−1L′ = UU′−1. Mais la premiere est une matrice triangulaire

Page 29: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

29

inferieure, la deuxieme triangulaire superieure, le resultat est donc une matrice diagonale, la diagonale(de la premiere) est celle de l’identite, L−1L′ = UU

′−1 = I, L = L′, U = U ′.

Puisque detAp = detLp detUp, et que detLp = 1 et detUp est non nul comme produit des ppremiers elements de sa diagonale, nous avons que l’existence d’une decomposition LU entraınel’hypothese sur les determinants mineurs principaux.

Enfin, montrons par recurrence en la taille de la matrice, l’existence de cette decomposition. Pourn = 1 on ecrit a11 = 1 · a11.

Ecrivons notre matrice par blocs, :

A =

(An−1 BCT ann

)B,C ∈ Kn−1

la matrice An−1 verifie l’hypothese (An−1)p = Ap est de determinant non nul, pour chaque 1 ≤ p <n. Par hypothese de recurrence, elle s’ecrit Ln−1Un−1 = An−1. Des matrices inversibles, de taillen− 1, Ln−1 de diagonale faite de 1. Cherchons alors a resoudre :

A =

(An−1 BCT ann

)=

(Ln−1 0XT 1

)(Un−1 Y

0 t

)= LU

a resoudre avec X, Y des vecteurs colonne de taille n − 1 et t un scalaire non nul. Nous obtenonsLn−1Un−1 = An−1, X

TUn−1 = CT , Ln−1Y = B et enfin ann = t. La premiere n’est qu’une consta-tation, la deuxieme peut etre resolue en X car elle equivaut a UT

n−1X = C, avec Un−1 inversible, latroisieme a une solution en Y car Ln−1 est inversible. Il reste que t doit etre non nul si l’on veut queU soit inversible, or il est clair que t det(Un−1) = det(A). La preuve est achevee.

Si ce resultat est excellent, il reste tout de meme une constatation importante, le reliant a lamethode de Gauss. Nous avons, par la methode d’elimination de Gauss ecrit A = G−1(GA) avec GAtriangulaire superieure avec les elements pivots sur la diagonale, et G−1 triangulaire inferieure, avecdes 1 sur la diagonale. C’est bien la decomposition LU.

Remarque 1. Le calcul de G−1 est aise. Puisque G = Gn−1 · · ·G1, G−1 = G−11 G−1

2 · · ·G−1n−1.

Chaque G−1k est tout simplement : G−1

k = I +∑n

i=k+1

a(k)ik

a(k)k,k

Ei,k. Le produit est

G−1 = I +n−1∑k=1

n∑i=k+1

a(k)ik

a(k)k,k

Ei,k.

En clair la matrice triangulaire inferieure s’ecrit au long de la methode de Gauss (sans les signes ”-”), en les placant a l’endroit ou ils agissent, la matrice triangulaire superieure, est la matrice ”reduite”obtenue pas la methode. Ceci est bien un algorithme de calcul pour la decomposition LU.

Page 30: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

30

La forme de L = G−1 est :

1 0 · · · 0 0 · · · 0a21

a111 0 · · · 0 0 · · · 0

a31

a11· · · 1 0 · · · 0 0 · · · 0

.... . .

......

...0

ai1a11

a(1)i1

a(1)22

· · · 1 0 · · · 0

ai+1,1

a11

a(i−1)i+1,i

a(i−1)ii

1 · · · 0

......

.... . .

...

an1

a11· · · a

(i−1)n,i

a(i−1)ii

a(i)n,i+1

a(i)i+1,i+1

1

Enfin, pour clore la section, soulignons une petite ruse. Lorsque l’on elimine les elements sous

le pivot, il est clair que c’est inutile de constater que l’on a choisi le bon coefficient. En fait, lesemplacements de la memoire sous le pivot, ne sont pas mis a jour (a 0) non plus. C’est l’endroitideal pour garder les coefficients significatifs de la matrice L. Les places sur la diagonale restentoccupees par les pivots, information essentielle de la matrice U, les 1 de la diagonale de L ne sont pasenregistres. Un algorithme efficace pour obtenir la decomposition LU, fournit en sortie une matricecarree, dont les elements au-dessus de la diagonale forment la matrice U et les elements strictementsous la diagonale, sont ceux de la matrice L. Ce n’est plus une matrice, mais un tableau de nombres,dont le sens a donner aux elements en dessous, ou au-dessus de la diagonale est bien different.

Factorisation LU sans permutations

% Factorisation LU, nous rangeons L, sauf sa diagonale, en bas de A et U en haut :

A est ecrassee

function [A]= LUfact(A)

[m,n]=size(A) ;% nous ne verifions pas qu’elle soit carree.

for j=1 :n,

% Calculer la colonne j de L ou A(j+1 :m,j) est le morceau de colonne

% en dessous de la diagonale du vecteur en colonne j du A courant

if (A(j,j)==0) error(’erreur , LU n’existe pas, faudra faire PLU !’) end

A(j+1 :m,j)=A(j+1 :m,j)./A(j,j) ;

% puis les lignes i>j de A, au dela de la colonne du pivot (car pas encore modifiees)

% sont modifiees a l’aide le la ligne du pivot : A(j,j+1 :n)

% et les coeffs de L qui sont deja dans A(i,j).

for i=j+1 :n A(i,j+1 :n)=A(i,j+1 :n)-A(j,j+1 :n).*A(i,j) end ;

end ; % pour la boucle grande en j

Descente-Remontee pour la factorisation LU, resolution d’un systeme lineaire

% descente : resoud un systeme triangulaire inferieur de diagonale 1

% qui est la partie inferieure de la donne’e A. Le deuxieme membre est

% fourni en x, la solution rendue en y , resultat de la fonction

function [y]=descendre(A,x)

[m,n]=size(A) ;

Page 31: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

31

y=x ; % y(1) contient ainsi la premiere composante de la solution

for i=2 :n

y(i)=y(i)-A(i,1 :i-1).*y(1 :i-1) ; end % de la boucle

Enfin, nous pouvons utiliser la fonction remontee(U,Y) pour achever la solution du systeme.Precisement :

X=Gauss(A,B)

est exactement la meme chose que l’enchainement

LU=LUfact(A) ;

Bprime=descendre(LU,B) ;

X=remontee(LU,Bprime)

Sauf que dans le deuxieme cas, lorsque l’on change de second membre B, presque 2n33

operationsnous sont epargnees ! Le prix est celui de ”garder en memoire” la matrice LU.

Dans l’organisation des calculs, on peut attirer l’attention sur la methode, qui recoit le nomde ”Crout-Doolitle”. Elle consiste a modifier le tableau A, succesivement, n − 1 fois. Il est facile(exercice) de voir que le resultat final est celui rendu par l’algorithme ci-dessus c’est-a-dire, qu’ilest vrai que LUfact(A)== CD(A).

function [A]= CD(A,n) % on entre la matrice, et sa taille

for k = 1 .. n-1 % le pivot est A[k,k] ; on ne verifie pas ...

for l=k+1..n for i=1..k-1 A(l,k)=A(l,k) - A(l,i)*A(i,k)end ; % l’accumulateur i

a(l,k)=a(l,k)/a(k,k) ; end ;% la colonne k est prete

for t= k+1..n for j=1..k A(k+1,t )=A(k+1,t)-A(j,t )*A(k+1,j) end

end % la ligne k+1 est prete.

end ; % le k ; pour la matrice

Le nombre d’operations est ici, facile a compter : chaque double boucle contribue pour k(n − k)additions, et autant de multiplications, la somme sur k nous donne un total de 2n3

3plus de termes

d’ordre 2.

4.4. Methode de Cholesky. La methode du militaire Francais, Andre-Louis Cholesky, est un casparticulierement astucieux de gerer les calculs dans le cas ou la matrice du systeme lineaire estsymetrique definie positive. En fait, ceci marche parfaitement pour les matrices hermitiennes definiespositives. Ainsi, supposons que A ∈ Mn(C) soit definie positive, ce que nous noterons A ∈ H++

n , lessous-matrices Ap sont aussi definies positives. En effet, si l’on note pour chaque X ∈ Cp par X+ levecteur de Cn obtenu en completant X par des zeros, X∗ApX = X+∗AX+ > 0 si X 6= 0. La matriceAp est hermitienne definie positive, son determinant (produit de ses valeurs propres) est strictementpositif. Les determinants detAp sont donc, tous strictement positifs, pour une matrice hermitiennedefinie positive. En fait la reciproque est vraie, c’est le Theoreme de Sylvester. Reciproque que l’ondemontre ci-dessous.

Theoreme 12 (Cholesky, version forte). Soit A ∈Mn(C) telle que tous ses mineurs principaux sontde determinant strictement positif. Il existe une unique matrice triangulaire inferieure L, a elementsdiagonaux (reels) strictement positifs, telle que A = LL∗.

Le theoreme de Sylvester rend cet enonce equivalent a l’enonce suivant.

Theoreme 13 (Cholesky). Soit A ∈ H++n , il existe une unique matrice triangulaire inferieure L, a

elements diagonaux (reels) strictement positifs, telle que A = LL∗.

Demonstration. Les determinants mineurs principaux de A sont tous strictement positifs. L’hy-pothese de l’existence d’une unique decomposition LU est verifiee. NotonsA = LU cette decomposition,

Page 32: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

32

avec L avec des 1 sur la diagonale. Puisque 0 < detAp = detUp est le produit des p premiers elements

de la diagonale, par recurrence, l’on voit qu’ils sont tous strictement positifs. Notons D = Diag(U)

cette diagonale, ainsi U = D ˜U pour une matrice triangulaire superieure ˜U avec des 1 sur la diagonale.

Notons δ la diagonale des racines carrees (> 0) de la diagonale D, nous avons δ2 = D,A = Lδδ ˜U.

Notons L = Lδ, et U = δ ˜U. Clairement A = LU (attention, cette matrice L n’as pas sa diagonalefaite de 1 mais elle est a diagonale strictement positive), A∗ = U∗L∗ = LU = A ∈ Hn. La matriceL−1U∗ est triangulaire inferieure, UL∗−1 est triangulaire inferieure, et L−1U∗ = UL∗−1 c’est-a-direqu’elles sont diagonales. Puisque la diagonale de L et U coıncident, cette diagonale est l’identite,U∗ = L, et A = LL∗ comme demande.

Montrons l’unicite. Si A = LL∗ = L1L∗1 avec L,L1 triangulaires inferieures a diagonale (reelle)

strictement positive. Nous avons que L−11 L = L∗1L

∗−1 qui est triangulaire inferieure et superieure, elleest donc diagonale. Cette diagonale est certainement faite de reels strictement positifs. Par ailleurs,il suffit de constater que L−1

1 L verifie L−11 LL∗L∗−1

1 = L−11 AL∗−1

1 = L−11 L1L

∗1L∗−11 = I c’est-a-dire

que L−11 L est une matrice orthogonale, ses valeurs propres sont, donc, de module 1, pour deduire,

qu’etant diagonale, sa diagonale est faite de complexes de module 1. Cette diagonale est I et l’uniciteest demontree.

Corolaire 2 (Theoreme de Sylvester). Soit A une matrice hermitienne, A est definie positive si etseulement si, les mineurs principaux detAp sont tous strictement positifs.

Demonstration. Nous avons deja discute de pourquoi les determinants mineurs principaux d’unematrice definie positive sont strictement positifs. Reciproquement, dans la forme forte du Theoremede Cholesky, nous avons uniquement utilise que les determinants principaux etaient strictementpositifs. La decomposition de Choleski de A est possible :A = LL∗. Lorsque l’on ecrit X∗AX =X∗LL∗X = ||L∗X||2 il devient evident que X∗AX > 0 si X 6= 0 car L∗ est inversible.

Corolaire 3. Soit A ∈ Mn(R) une matrice symetrique definie positive, il existe une unique matricetriangulaire de diagonale strictement positive L telle que A = LLT .

Reprendre la preuve est immediat, car pour une matrice reelle, la methode de Gauss, la decompositionLU est en matrices reelles, et ensuite il suffit de prendre des racines carrees de nombres reels positifs.

Une remarque amusante, est qu’il est facile de voir, que si A = LL∗, l’element aii est donne par lanorme euclidienne au carre de la colonne i de la matrice L∗. Les elements de la diagonale principaled’une matrice symetrique definie positive sont strictement positifs !

Il est important de remarquer, que pour demontrer qu’une matrice hermitienne (ou reelle symetrique)est definie positive, la methode la plus efficace est de proceder a sa mise sous forme de Cholesky,algorithmiquement. Si cet algorithme aboutit, nous deduisons que les determinants mineurs princi-paux sont tous positifs, que la matrice est definie positive. Ainsi aux 2! + 3! + · · · + (n − 1)! + n!multiplications necessaires a prouver que les determinants principaux sont tous strictement positifsnous preferons les n3/3 operations pour faire aboutir l’algorithme de Cholesky.

La methode naive de proceder a la factorisation de Choleski d’une matrice A est :

Premierement (et tres important ) verifier que la matrice est bien symetrique (reelle) ou hermi-tienne.

Deuxiemement proceder simplement a se reduction de Gauss, en ne conservant que les elementsde la matrice U .

Enfin, diviser chaque ligne par la racine carree de son pivot. On obtient ainsi L∗ et alors, il estfacile d’ecrire L.

Mais, en procedant de la sorte, on fait deux fois trop de calculs !

Il est utile d’ecrire et d’apprendre l’usage, de l’algorithme suivant, modification astucieuse de celuide la decomposition LU. Il est base sur l’idee de que la partie L de la decomposition LU de A estfacile a trouver. Ensuite il suffit de multiplier les colonnes par la racine carree du pivot pour touver

Page 33: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

33

L. Pour reduire de moitie le nombre d’operations, on se rends compte qu’il est inutile de calculer achaque etape toute la matrice A[k) car, par symetrie (hermtienne) tout ce qui se trouve au-dessus dela diagonale, a deja ete calcule (en conjugue) en dessous de la diagonale, c’est a dire, dans le morceau

de L deja determine. Ainsi, quand dans l’algorithme de Gauss on a besoin de a(k)ij , j > i il est possible

d’utiliser l(k)ji . Ceci utilise l’astuce de garder les coefficients de L dans les places, sous la diagonale,

ou l’elimination accomplie, ferait figurer des 0 a coup sur.

Ainsi les calculs sont fait comme dans l’exemple :

Obtenir la factorisation de Cholesky de :

A =

25 −5 10−5 2 −110 −1 21

∈M3(R)

La matrice est symetrique, menons l’algorithme de Cholesky : 25 ∗ ∗−5 2 ∗10 −1 21

− >

5 ∗ ∗−1 2 ∗2 −1 21

⇐=

l11 =√a11

l21 = a21/l11

l31 = a31/l11

la colonne 1 est finie.

5 ∗ ∗−1 2 ∗2 −1 21

− >

5 ∗ ∗−1 1 ∗2 1 17

⇐=

∗ ∗l′22 = a22 − l21l21 ∗l′32 = a32 − l31l21 l′33 = a33 − l31l31

5 ∗ ∗−1 1 ∗2 1 23

− >

5 ∗ ∗−1 1 ∗2 1 17

⇐=

∗l22 =

√l′22

l32 = l′32/l22

la colonne 2 est finie.

5 ∗ ∗−1 1 ∗2 1 23

− >

5 ∗ ∗−1 1 ∗2 1 16

⇐=

∗∗

l′′33 = l′33 − l32/l32

5 ∗ ∗−1 1 ∗2 1 16

− >

5 ∗ ∗−1 1 ∗2 1 4

⇐=

∗∗

l33 =√l′′33

gagne !

La factorisation est

A =

25 −5 10−5 2 −110 −1 21

=

5 0 0−1 1 02 1 4

.

5 −1 20 1 10 0 4

.

La matrice est bien definie positive.

Avertisement, tant pour la remarque ci-dessus, que comme pour l’utilisation du code ci-dessous,il faut comprendre que si l’on a a faire a une matrice qui n’est pas symetrique (ou hermitienne), lescalculs peuvent aboutir a une matrice L qui n’aura aucun sens ! En effet, les economies d’etapes decalcul sont toutes basees sur les symetries de la matrice.

Construction de la factorisation de Cholesky

% factorization de Cholesky :

% la matrice L de Choleski, sera stockee dans le bas de A,

% qui est donc ecrassee, le dessus stricte n’a pas de sens.

function [A]= CholeskyFact(A)

[m,n]=size(A) ; % rien n’est verifie, m=n, A hermitienne.

for j=1 :n % pour chaque pivot

if (A(j,j)<=0) error(’Erreur, le pivot n est pas positif ! (La matrice n’est pas def

positive).’

Page 34: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

34

A(j,j)=sqrt(A(j,j)) ; A(j+1 :n,j)=A(j+1 :n,j)/A(j,j) ; % la colonne j definitve de

L

% la colonne LL depuis la diagonale jusqu’en bas est traite par :

for LL=j+1 :n, A(LL :n,LL)=A(LL :n,LL)- A(LL :n,j).*conj(A(LL,j)) ;

end ;

Solution d’un systeme lineaire pour A une factorisation de Cholesky

% remontee du systeme triangulaire superieur, si le L est le bas de A

function [y]=remonteeCholesky(A,x)

[m,n]=size(A) ;% rien n’est verifie, n=m, A carree, le bas de A significatif.

y=x ; y(n)=y(n)/A(n,n) ;

for ii=n-1 :-1 :1, % boucle retrograde en la ligne ii

y(ii)=(y(ii)-(A(ii+1 :n,i))’.*y(ii+1 :n))/A(ii,ii) ;% le prime : .’ est la transposee

sur matlab

end ; % boucle en ii

% la solution du systeme triangulaire inferieur est directe, sauf que les pivots ne

sont pas des 1 comme dans LU.

function [y]= decendreCholesky(A,x)

[m,n]=size(A) ;

y=x ;

y(1)=y(1)/A(1,1) ;

for ii=2 :n

y(ii)=y(i)-A(ii,1 :i-1)*y(1 :ii-1) ;

y(ii)=y(i)/A(ii,ii)

end ;% pour la boucle.

Pour resoudre un systeme lineaire dont la matrice associe est hermitienne definiepositive.

function [x]=SolveCholesky(A,B) % le tout ensemble ...

if (A~=conj(A)’) error(’ erreur, la matrice n’est pas hermitienne") ;

A=CholeskyFact(A) ;

y=decendreCholesky(A,B) ;

x=remonteeCholesky(A,y) ;

end ;

Le decompte du nombre d’operations est, pour l’agorithme de Cholesky :

Nous avons a faire n racines carrees, n(n − 1)/2 divisions, (n3 − n)/6 additions et autant demultiplications, le total d’operations est

n3

3+O(n2).

4.5. Methode de Gauss generale, decomposition PLU.

Definition 8. Soit σ ∈ Sn une permutation de l’ensemble [1 : n]. Nous apellons matrice de permu-tation associee a σ, la matrice P σ = (pij) telle que pij = δj,σ(i), c’est a dire que tous ses elements sontnuls sauf un dans chaque ligne i, c’est celui qui est en colonne σ(i) et la, la valeur est 1. Une matriceest une matrice de permutation, si c’est la matrice de permutation associee a une permutation.

Page 35: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

35

En fait, une matrice A, carree de taille n, qui n’a pour elements que 0 et 1 est une matrice depermutation si et seulement si, elle a exactement n uns au total, et dans chaque ligne elle a un 1.

Dans ce cas, le produit A(1 2 3 . . . n)T = (i1 i2 i3 . . . in)T est bien la permutation associee

A

12...n

=

i1i2...in

⇐⇒ A

x1

x2...xn

=

xi1xi2...xin

⇐⇒ A = P σ, σ =

(1 2 . . . ni1 i2 . . . in

).

Lemme 8. Pour des permutations σ, τ nous avons :

P σ ∈ Un(C) ∩GLn(Z);

P τσ = P σP τ ; ( P σ)−1 = P σ−1= (P σ)T ;P id = I. (Ici, στ = σ τ.)

Le groupe Sn agit a gauche sur Mn(K) (et GLn(K) et Un(K),) par permutation de colonnes, parσ ·M = M(P σ)−1 = MP σT = MP σ∗.

Il agit a droite par permutations de lignes par M · σ = P σM = (σ ·MT )T .

La signature de la permutation σ se calcule par ε(σ) = (−1)σ = det(P σ).

Demonstration. Exercice.

Theoreme 14 (Factorisation LU avec permutations, pivot partiel). Soit A ∈ GLn[K), il existeune matrice de permutation P, une matrice triangulaire inferieure L d’elements diagonaux 1 et unematrice triangulaire superieure U inversible tels que PA = LU. On pourra exiger que tous les elementsde L soient de module inferieur ou egal a 1.

Demonstration. On peut aussi dire que l’on factorise A = PLU, evidement P ici, est l’inverseque celle de l’enonce. Il n’y a pas de secret, les modules des elements sous la diagonale sont les

a(k)ik /a

(k)kk , ils seront majores, en module, par 1 si l’on choisit a chaque pas, de faire une permutation

des lignes restantes a reduire, de sorte a avoir comme pivot, un parmi ceux de plus grand module.Malheureusement, nous n’avons pas les moyens de faire une preuve aussi simple que pour la facto-risation LU, reprenez vos notes et voyez que l’equation XTUn−1 = CT devrait etre resolue avec unvecteur X dont toutes les composantes sont de module inferieur ou egal a 1. Nous nous remettons ala sagesse de Gauss.

On fais une recurrence en k ≤ n. Pour k = 0 il n’y a rien a dire.

L’hypothese de recurrence est que la matrice A reduite jusqu’au pas k :

Q(k+1)A = L1L2 · · ·LkA(k)

ou : les matrices Ll sont triangulaires inferieures, d’elements diagonaux 1, ses elements sont tous demodule au plus 1, et la seule colonne de Ll qui ne soit pas celle de l’identite est la colonne l. pourj = 1, 2, . . . , k. La matrice A(k) est triangulaire superieure sur ses k premieres colonnes, a elementsdiagonaux non nuls. Enfin, la matrice Q(k+1) est une matrice de permutations.

Il est utile de signaler ici, que la k+1-ieme colonne de A(k) ne peut avoir ses n−k derniers elementsnuls, car le calcul du determinants par blocs donnerait que A n’est pas inversible.

L’idee est maintenant de considerer le plus grand des |a(k)ik+1| pour i > k + 1 reperer son indice i0

et permuter, a l’aide de la transposition entre k+ 1 et i0 les dernieres lignes. Soit Pk la transpositionadequate. l’element en place k + 1, k + 1 de PkA

(k) a le plus gros module du restant de la colonnek + 1. La matrice Lk+1 inverse de la matrice Gk+1 de la methode de Gauss a tous ses elements de

module inferieur ou egale a 1. (Il se calculent par a′(k)i,k+1/a

′(k)k+1,k+1 ou le prime est du a la permutation.)

Or, A(k+1) = Gk+1PkA(k) est triangulaire superieure sur ses k + 1 premieres colonnes, de pivots non

nuls. Nous avons A(k) = PkLk+1A(k+1).

Le fait cle ici est la remarque suivante : LjPk = PkLj si j < k+1 pour une matrice Lj triangulaireinferieure, d’elements diagonaux 1, avec des elements tous de module au plus 1, et la seule colonne de

Page 36: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

36

Lj qui ne soit pas celle de l’identite est la colonne j. En effet, Les matrices Lj ont leur bloc inferieurdroit, en taille (n− k)× (n− k) qui est l’identite, et Pk permute deux indices strictement superieursa k, est diagonale par blocs. Le premier est l’identite, le deuxieme juste la transposition signalee.Ainsi, Lj et Lj coıncident sauf en colonne j ou l’on aura permute deux elements strictement sous ladiagonale.

Ainsi de proche en proche, nous passons la permutation en tete.

Q(k+1)A = PkL1L2 · · · LkLk+1A(k+1),

en posant Q(k+2) = P Tk Q

(k+1), nous avons demontre par recurrence le theoreme.

Le codage de cet algorithme est un bon exercice, il a exactement le meme nombre d’operations. A larigueur il faudrait aussi compter les comparaisons des modules, qui sont nombreuses. Ranger les mul-tiplicateurs, dans la partie inferieure gauche de la matrice a, ici, l’avantage de permettre de permuterdes lignes completes de la ”matrice” courante, effectuant en un seul echange de vecteurs lignes, lecalcul de PkA

(k) et le passage en tete de Pk. Une idee de programation, pour garder trace des permuta-tions efectuees serait d’introduire un vecteur PI=[1 :n] sur lequel nous effectuons les transpositionsoperees sur les lignes. En effet, une fois la matrice A finale obtenue, le programme descendre(A,B)

ne doit pas etre utilise sans avoir fait avant P TB qui s’obtient par PTB(ii)=B(PI(ii)) . C’est unexercice.

Les raisons pour lesquelles il faut preferer des pivots ”grands” echappent a la portee de ce cours.Il faut cependant signaler, que le pivotage total, c’est a dire, de choisir a chaque pas, pour pivot,l’element de plus grand module de toute la matrice A(k) ne pose pas de problemes. Il s’agit depermutations de colonnes qu’il faut ajouter a notre factorisation PLU, pour obtenir une factorisationPLUP ′. Ainsi, sans analyse suplementaire nous avons une preuve d’un theoreme.

Theoreme 15 (Factorisation PLUP , pivot total). Soit A ∈ GLn[K), il existe des matrices de permu-tation P, P ′, une matrice triangulaire inferieure L d’elements diagonaux 1 et une matrice triangulairesuperieure U inversible tels que A = PLUP ′. On pourra exiger que tous les elements de L soient demodule inferieur ou egal a 1, et que les elements de chaque ligne de U soient de module inferieur ouegale a celui de l’element de sa diagonale.

4.6. Factorisation QR, Gram-Schmidt. L’algorithme de Gram-schmidt permet d’effectuer unefactorisation interessante des matrices.

Theoreme 16 (Factorisation QR). Soit A ∈Mmn(K), il existe Q unitaire et R triangulaire superieure(a coefficients diagonaux positifs) telles que A = QR.

Il existe aussi une matrice triangulaire superiere R1 et des matrices triangulaires inferieure L,L1

telles que A = QL = R1Q1 = L1Q2 pour des matrices unitaires Q1, Q2 convenables.

Si A est inversible Q et R sont uniques (R1, L, L1, Q1, Q2 aussi) si l’on impose en outre que lescoefficients diagonaux des ces matrices triangulaires soient des reels positifs.

Evidement, dans le cas rectangulaire, m > n si une matrice triangulaire superieure est triangulaire,une matrice triangulaire inferieure est plutot trapezoidale !

Une remarque interessante est que, lorsque la matrice A est inversible, son conditionement spectralest le meme que celui de sa ”partie” triangulaire : c2(A) = c2(R). Ce qui est evident. Par ailleurs, ladecomposition QR etant obtenue, la resolution d’un systeme lineaire QRX = B est economique, carl’inverse de Q est evidente. Le tout ne prend pas plus de 2n2 +O(n) operations. Mais la methode defactorisation QR n’est pas faite pour ca, elle est utilisee dans la recherche des valeurs propres. Parexemple, le determinant est le produit des elements diagonaux de R.

Demonstration. Pour ne pas l’oublier, commencons par etayer l’unicite signalee. Si A = QR =Q1R1, Q ∗Q1 = RR−1

1 est une matrice unitaire qui est triangulaire superieure. Son spectre se trouvedonc sur la diagonale de RR−1

1 , ce sont des nombres reels positifs. Or le spectre d’une matrice unitaireest sur le cercle unite, le spectre se reduit a 1, La seule matrice diagonalisable, avec un tel spectreest l’identite. La factorisation est unique, dans les autres cas la preuve est similaire.

Page 37: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

37

Pour l’existence, commecons par comprendre le cas m = n,A inversible. Dans ce cas, les colonnesde A, (Aj) forment une base ordonnee de Kn. L’algorithme de Gram-Schmidt nous fournit une base(Q1, Q2, . . . , Qn) telle que vectK(A1, A2, . . . , Aj) = vectK(Q1, Q2, . . . , Qj). C’est un calcul evidentmaintenant que de prouver que si Q est la matrice de colonnes les Qj, QR = A pour une matrice Rqui est triangulaire superieure, elle est evidement inversible, on a notre factorisation. En effet, on fait||A1||Q1 = A1 puis ||A2− < A2, Q1 > Q1||Q2 = A2− < A2, Q1 > Q1 ce qui donne 0 < r11 = ||A1||et r22 = ||A2− < A2, Q1 > Q1||, r12 =< A2, Q1 > . et ainsi de suite, jusqu’a trouver la matriceR = (rij). Pour trouver une matrice triangulaire inferieure, il ne suffit pas de suivre l’algorithme deGram-Schmidt, il faut ruser un tout petit peu. On attaque a l’envers ! On commence par construireQn a l’aide du vecteur An, Ce qui est possible en divisant et donne : Qn = ||An||An. Puis on construitQn−1 a l’aide de An−1 et de Qn ce qui donne la relation ||An−1− < An−1, Qn > Qn||Qn−1 = An−1− <An−1, Qn > Qn ce qui s’exprime par An = lnnQn et An−1 = ln−1,n−1Qn−1 + ln,n−1Qn. L’algorithmeassure que vectK(Aj, Aj+1, . . . , An) = vectK(Qj, Qj+1, . . . , Qn). ce qui signifie exactement que lesmatrices Q et A sont liees par la relation A = QL. En applicant cette methode a la matrice A∗

nous obtenons A∗ = Q3L3, A = L∗3Q∗3, or R1 = L∗3 est triangulaire superieure, et Q1 = Q∗3 unitaire,

nous avons donc A = R1Q1. Et la meme idee pour avoir la forme A = L1Q2. On peut retenir queA se met sous la forme RQ,QR,LQ ou QL, evidement, dans chaque cas, les matrices unitaires outriangulaires n’ont pas a etre les memes.

Une autre, jolie, possibilite aurait ete d’appliquer la factorisation de Cholesky a A∗A. En effetA∗A = R∗R pour R triangulaire superieure, de diagonale strictement positive. Ainsi Q = AR−1

verifie Q∗Q = R−∗A∗AR−1 = R−∗R∗RR−1 = I, et est unitaire, evidement A = QR.

Le resultat pour m > n ou r = rg(A) = n necessite de comprendre que dans l’algorithme deGram-Schmidt, la seule chose importante est l’independance lineaire des vecteurs Aj fournis endonnee. Ainsi,les n colonnes de A sont lineairement independantes dans Km. L’algorithme de Gram-Schmidt fabrique le systheme orthonorme de vecteurs (Q1, Q2, . . . , Qn). Et il existe une matrice R′

triangulaire superieure inversible de taille n et si Q′ est la matrice m × n dont les colonnes sont lesQj, Q

′R′ = A. La matrice Q′ n’est pas carree, on complete la base orthonormee, et on ajoute lesvecteurs a la fin pour avoir, avec ces colonnes, une matrice Q ∈ Um(K) et l’on complete la matrice R′

avec un bloc nul en-dessous pour obtenier une matrice R encore triangulaire superieure et, evidement,A = QR.

Le cas de rang intermediaire est plus delicat.

Algorithme de Gram-Schmidt en pointille direct ou inverse. Nous allons faire une petitemodification banale de l’algorithme principal de Gram-Schmidt, ou, en gros, on saute par dessus lesvecteurs colonne qui dependent lineairement de ceux deja consideres. Precisement : soit A ∈Mmn(K)de rang r et l’on suppose la structure de Hilbert dans Km fixee. Nous savons que r ≤ min(m,n).

Notons pour des colonnes de A, Ai1 , Ai2 , . . . , Air les vecteurs independants parmis les colonnes deA dans l’ordre de leur apparition. C’est-a-dire, nous considerons des indices i1, i2, . . . , ir tels que

dim vectK(A1, A2, . . . , Ai1−1) = 0, dim vectK(A1, A2, . . . , Ai1) = 1,

dim vectK(A1, A2, . . . , Ai2−1) = 1, puis en general, dim vectK(A1, A2, . . . , Ais−1) = s− 1,

dim vectK(A1, A2, . . . , Ais) = s, dim vectK(A1, A2, . . . , Ais+1−1) = s, ayant ecrit ir+1 = n + 1 pourle confort.

Remarquons que vectK(A1, A2, . . . , Ais+1−1) = vectK(Ai1 , Ai2 , . . . , Ais).

On commence par normer le vecteur Ai1 on lui donne le nom Qi1 . Il est clair que A1 = A2 = · · · =Ai1−1 = 0 = 0Qi1 , et ri1i1Qi1 = Ai1 , pour un sclaire non nul ri1i1 (la norme de Ai1). Nous posonsri11 = ri12 = · · · = ri1(i1−1) = 0.

L’algorithme nous propose de faire : U2 = Ai2− < Ai2 , Qi1 > Qi1 et poser Qi2 = ||U2||−1U2, c’esta dire, ri2i2Qi2 + ri1,i2Qi1 = Ai2 . Pour des scalaires que l’on reconnait : 0 6= ri2i2 = ||U2||, ri1,i2 =<Ai2 , Qi1 > . On profite pour poser ri21 = ri22 = · · · = ri2(i2−1) = 0.

Page 38: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

38

La constatation importante ici est que les vecteurs Ai1 , Ai1+1, . . . , Ai2−1 sont tous colineaires aAi1 et surtout a Qi1 , ainsi il y a des scalaires ri1j tels que Ai1 = ri1i1Qi1 , Ai1+1 = ri1(i1+1)Qi1 , . . . ,Ai2−1 = ri1(i2−1)Qi1 .

On continue ainsi cette construction par recurrence. L’algorithme nous propose de faire : Uk =Aik −

∑k−1l=1 < Aik , Qil > Qil et poser Qik = ||Uk||−1Uk.

C’est a dire, rikikQik +∑k−1

l=1 ril,ikQil = Aik . Pour des scalaires que l’on reconnait : 0 6= rikik =||Uk||, ril,ik =< Aik , Qil > . On profite pour poser rik1 = rik2 = · · · = rik(ik−1) = 0.

La constatation importante est a nouveau que les vecteurs Aik , Aik+1, . . . , Aik+1−1 sont tous dans

l’espace vectoriel engendre par Qi1 , . . . Qik ainsi il y a des scalaires rilj tels que Aik+j =∑k

l=1 rilik+jQil ,pour chaque j = 0, 1, . . . , ik+1 − ik − 1.

L’algorithme est finit. Nous avons orthonormalise les r vecteurs (Ai1 , Ai2 , . . . , Air) dans l’ordre(Qi1 , Qi2 , . . . , Qir). Pour comprendre tout ceci, nous completons le systeme orthonormal de vecteurs(Qi1 , Qi2 , . . . , Qir) en une base orthonormee de Km en placant (arbitrairement) les nouveaux vecteursde sorte que si (Q1, Q2, . . . , Qm) est cette base, en indice ij nous avons les vecteurs construits ci-dessus.Naturellement nous considerons la matrice unitaire Q ∈ Um(K) dont les colonnes sont ces Qj dansl’ordre indique.

Nous colectons les quantites rij mentionnees dans l’algorithme ci-dessus, en ajoutant des valeurs0 aux indices qui n’auront pas ete mentionnees, de sorte a avoir une matrice m× n, R = (rij).

Bien suivre les calculs poses nous donne que A = QR et de plus la matrice R est triangulairesuperieure. Les tailles n et m sont quelconques. Nous observons que les seules lignes de R qui nesoient pas nulles sont celles d’indice l’un des il. Elles correspondent aux vecteurs colonne de A ”quiajoutent du rang lorsqu’ils entrent en jeu”.

Le comble de l’horreur est que l’on peut, et doit, etre en mesure de comprendre que l’on peutmenner cet algorithme, a l’envers ! Ce nouvel algorithme, nous l’appellerons Gram-Schmidt inverse,et aussi en pointille, de par l’apparition de ces ”trous” que l’on a deja observe ci-dessus. L’idee est deconsiderer les vecteurs colonne qui contribuent au rang de la matrice A, en commencant par la fin, An,et de proche en proche, comme ci-dessus en commencant par normer le dernier, construire les Qij . Lesscalaires qui viennent sont notes lij, et finissent par nous donner une matrice triangulaire inferieure,L qui ressemble par sa structure a la matrice transposee de la matrice R, ci-dessus. L’on obtient queA = QL, avec Q unitaire et L triangulaire inferieure. Tant la matrice Q, que l’on fabrique maintenant, comme la matrice L, n’ont pas de rapport avec les matrices Q et R obtenues par Gram-Schmidtdirect. Ecrire le detail de cet algorithme est un exercice. Penible.

Avec la ruse de considerer la matrice A∗, on a conclut la preuve du theoreme.

Quand il s’agit de menner les calculs, la methode adequate est decrite ci-dessous.

4.7. Factorisation QR, Householder.

Definition 9 (Reflexions de Householder). Soit X un vecteur non nul de Cn. On appellera reflexionde Householder ou matrice de Householder relative au vecteur X la matrice

HX = I − 2XX∗

X∗X.

Les proprietes suivantes sont elementaires et laissees en exercice :

1- HX est une matrice hermitienne, unitaire.

2- HX − I est de rang un.

3- HλX = HX , pourtout λ 6= 0.

4- Lorsque X est unitaire, HX = I −XX∗.5- HX est la matrice de symetrie orthogonale par rapport a l’hyperplan X⊥.

Page 39: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

39

C’est une symetrie car HX2 = I, ( (XX∗)(XX∗) = X(X∗X)X∗ = ||X||2XX∗). C’est une symetrieorthogonale car pour chaque x /∈ X⊥ l’hyperplan mediateur entre x et HXx est X⊥. Pour cela, ilsuffit de constater que (I − HX)x = 2

||X||2X∗xX est colineaire a X pour chaque x, et que HX est

unitaire.

Proposition 11. Soit e un vecteur unitaire de Cn et x un vecteur non nul de Cn. Il existe un vecteurnon nul X ∈ Cn tel que HXx soit colineaire a e.

Demonstration. Si x est colineaire a e, on prefere souvent utiliser H∗ := I forme generalisee dematrice de Householder, sinon, un vecteur orthogonal a e, quelconque, fait l’affaire. Sinon, tout sepasse dans le plan engendre par e et x, et naturellement pour poser les calculs on cherche X sous laforme X = x+ te et il faut determiner t.

Or HXx = x − ( 2||x+te||2 (x + te)∗x)x − ( 2t

||x+te||2 (x + te)∗x)e. Ainsi, pour que HXx soit colineaire a

e il suffit, apres calculs, que x− ( 2||x+te||2 (x+ te)∗x)x s’annulle. Mais pour cela, il suffit, apres calculs

en exercice, que |t|2 = ||x||2 et que =(tx∗e) = 0. Par exemple ±||x||eiθ, pour θ l’argument de x∗e. Onprendra, puisqu’il faut diviser par cette quantite, le signe maximisant ||X||.

Theoreme 17. Soit A ∈ Mn(C), il existe une suite de matrices de Householder, H1, H2, . . . , Hn−1

telles que A = H1H2 · · ·Hn−1An ou An est triangulaire superieure. Rapellons que Hi est unitaire.

Demonstration. . La methode est un algorithme, On prend H1 la reflexion de Householder quienvoi la premiere colonne de A sur un vecteur colineaire au premier vecteur de la base canonique.Ainsi H1A = A(1), a pour premiere colonne, un scalaire sur la diagonale puis que des zeros en-dessous.On recommence par recurrence.

Algorithme de factorisation QR avec des symetries de Householder.

Recherche du Vecteur pour la R´eflexion de Householder.

%Pour la reflexion de Householder, trouver le vecteur v

%normalise’ de sorte que sa premiere composante, v(1)=1

function [v]= householder-vector(x)

delta=1 ;

if (x(1)<0) then

delta=-1 ;

end ;

v=x ;

beta=v(1)+delta*sqrt(x’.*x) ;

v=v/beta ;

v(1)=1 ;

Reflexion de Householder

% Calcule la reflexion de Householder Hv de x, x et v donnes

function [y]= householder-reflexion(v,x)

beta=2*(v’.*x)/(v’.*v) ;

y=x-beta*v ;

Factorisation QR

%Calcule la factorisation QR

%la partie R est stockee dans la partie superieur de A, qui est donc ecrasee

%la partie Q est stockee dans la partie inferieure de A,

function[A]=QRfactorization(A)

Page 40: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

40

[m,n]=size(A) ;

for ii=1 :n,

v=householder-vector(A(ii :m,ii))

delta=2/(v’.*v) ;

A(ii,ii)=A(ii,ii)-delta*.(v’.*A(ii :m,ii)) ;

for j=ii+1 :n,

c=v’*A(ii :m,j) ;

A(ii :m,j)=A(ii :m,j)-c*delta*v ;

end ;

if (ii<m) then

A(ii+1 :m,ii)=v(2 :m-ii+1) ;

end ;

end ;

Resolution du systeme, suposant que la matrice A contient une factorisation QR.

function [y]=remontee(A,x) % solution de Ry=x

[m,n]=size(A) ;

if (m =n) then

error(’ erreur, la matrice n est pas carree) ;

else

y=x ;

y(n)=y(n)/A(n,n) ;

for ii=n-1 :-1 :1,

y(ii)=(y(ii)-A(ii,ii+1 :n).*y(ii+1 :n))/A(ii,ii) ;

end ;

end ;

function [y]=SolveQR(A,x) % le tout en action

[m,n]=size(A) ;

if (m~=n) then

error( ’erreur , la matrice n est pas carree) ;

else

y=x ;

for ii=1 :n-1,

y(ii :n)= householder-reflexion( [1 ;A(ii+1 :n,ii)] , y(ii :n)) ;

end ;

y(n)=-y(n) ;

y=remontee(A,y) ;

% print(’ la solution du systeme est : ’, y) ;

end ;

Page 41: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

41

5. Methodes iteratives pour resoudre les systemes lineaires

5.1. Principe general. On veut resoudre AX = B, ou A ∈ Md(C) est une matrice non-singuliereet B ∈ Cd, est le vecteur second membre.

Le principe general, est d’ecrire A sous une nouvelle forme : A = M −N, avec M non-singuliere,puis de considerer la suite de vecteurs (Xn)n definie par recurrence :

MXn+1 = B +NXn, X0 ∈ Cd vecteur amorce fixe.

Ainsi le choix de M doit etre fait parmis les ”formes” dont on est surs que le systeme a resoudre achaque pas d’iteration soit ”simple”, en particulier ayant un petit nombre d’operations a effectuer.Evidement cette relation est equivalente (theoriquement) a

Xn+1 = M−1(B +NXn), X0 ∈ Cd amorce fixe.

Et l’on veut que les vecteurs Xn soient des approximations de la solution (theorique) X.

Il y a plusieurs methodes que l’on discutera, elles sont caracterisees selon la maniere de choisirM,N, puis par l’ecriture A = M −N. Elles sont dites ”stationnaires” ou ”non relaxees”.

En ce qui concerne l’analyse de methodes iteratives, je conseille vivement la lecture de [13]. C’estun ouvrage un peu plus avance, mais qui ferai une excellente lecture de vacances.

Remarques elementaires.

Si la suite de vecteurs Xn converge vers le vecteur X† ∈ Cd, lorsque n → +∞, pour une amorceX0 donnee, X† est la solution de AX = B. Nous ecrirons donc, Xn → X.

En effet, par continuite, Xn → X† entraine, NXn → NX† , puis B+NXn → B+NX† , et ainsiM−1(B + NXn) → M−1(B + NX† ). Or la suite extraite Xn+1 converge aussi vers X† , d’ou, X†

verifie : X† = M−1(B +NX† ), c’est-a-dire, MX† = B +NX† , ou (M −N)X† = B, c’est-a-direAX† = B, ou X† = X, la solution theorique, car A est inversible.

Pour le calcul effectif des termes de la suite definie par recurrence, (Xn), la calcul de l’inverseM−1 n’est pas indispensable, il suffit de calculer la solution Xn+1 = Y du systeme MY = B +NXn.

En effet, puisque M est inversible, Xn+1 = M−1(B + NXn) ⇔ MXn+1 = B + NXn. Ainsi, onchoisira la decomposition A = M − N de sorte que la solution d’un systeme MY = B′ soit aiseepar une methode directe. En particulier, disposer d’une factorisation LU de la matrice M rend cetteetape rapide, (en 2d2 +O(d) operations).

Notons l’erreur theorique au pas n de l’iteration : en = X − Xn ou X = A−1B est la solutiontheorique, ou exacte, et que e0 = X −X0 ne depend pas de M,N.

Ce qui est clair, est que Xn converge, si et seulement si l’erreur theorique converge vers le vecteurnul, 0.

Mais puisque MXn+1 = B +NXn et MX = B +NX, nous avons Men+1 = Nen, ou

en+1 = M−1Nen ⇒ en = (M−1N)ne0.

La matrice M−1N est dite la matrice d’iteration de la methode.

Nous atirons l’attention du lecteur sur le fait que les methodes iteratives ne sont autre chose que latransformation avisee de l’equation algebrique AX = B, en un probleme de point fixe : F (X) = X.

Ici, F (X) = M−1(B +NX) = M−1NX +M−1B, F : Cd → Cd. La methode privilegiee ensuiteest de considerer la suite definie par recurrence Xn+1 = F (Xn) a partir d’une amorce donnee X0.Comme dans la demonstration meme du Theoreme du Point Fixe, si cette aplication affine est stric-tement contractante, la suite converge, quelque soit l’amorce, vers le seul point fixe. Cette applicationaffine admet comme constante de Lipschitz, la norme spectrale ||M−1N ||2. Ou toute autre normesubordonnee.

Introduisons la quantite R||·||(M−1N) = − log10 ||M−1N ||2, dite taux de convergence, en norme

euclidienne, de la methode A = M −N.

Page 42: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

42

Puisque en = (M−1N)ne0, nous avons ||en|| ≤ ||M−1N ||n||e0||, pour chaque norme matricielle. Cecien principe, permet d’estimer l’ordre de l’erreur, pourvut que l’on sache estimer ||e0||. Bien illusoire,car la connaissance de e0 necessite la connaissance de la solution exacte ! Nous nous contenteronsdonc d’une amelioration de l’erreur, pensant a X0 comme une premiere approximation, ||en||/||e0||est alors le taux d’amelioration de l’erreur.

Pour 0 < ||M−1N ||2 < 1, la precision s’ameliore d’un rapport 10−ν en m iterations, lorsque

m ≥ ν

R||·||;

Exercice. Par ailleurs, nous savons aussi que pour chaque ε > 0, il existe une norme matricielle, telleque

ρ(M−1N)n ≤ ||M−1N ||n ≤ (ρ(M−1N) + ε)n,

||en||||e0||

≤ (ρ(M−1N) + ε)n,

Ainsi l’amelioration de la precision en passant de X0 a Xn est de l’ordre de ρ(M−1N)n. Le nombreR = − log10 ρ(M−1N)n nous servira de taux de convergence.

Proposition 12 (Condition de convergence generale). La suite (Xn) converge vers la solution X,quelque soit la donnee initiale X0, si et seulement si ρ(M−1N) < 1.

On dira, que la methode stationaire definie par la matrice M pour resoudre AX = B, convergepour toute donnee initiale X0.

C’est-a-dire un taux de convergence R, strictement positif.

Demonstration. Nous avons deja vu que lorsque la suite (Xn) converge, elle converge necessairementvers la solution du systeme, et qu’elle converge, si et seulement si, la suite (en) converge vers 0.

Il suffit, maintenant de se rapeller que, donnee une matrice carree U, nous avons que, pour chaquevecteur Z, la suite UnZ converge vers 0 si et seulement si ρ(U) < 1. En effet, nous savons queρ(U) < 1 si et seulement si Un → 0 pour n → +∞. Il ne reste qu’a se convaincre, que la conditionUn → 0 pour n → +∞, equivaut a demander que la suite UnZ converge vers 0 pour chacun desvecteurs Z.

Detaillons, Si l’on sait que Un → 0 pour n → +∞, on en deduit, pour chaque Z, ||UnZ||2 ≤||Un||2||Z||2 → 0.

Reciproquement, supposons que pour chaque vecteur Z, la suite UnZ converge vers 0. La colonnej de U est le vecteur Uej pour le vecteur ej de la base canonique, Unej → 0, donc sa norme1, ||Unej||1 → 0. Or la norme matricielle subordonnee || · ||1, se calcule justement, en prennant lemaximum de ces sommes,

||Un||1 = maxj||Unej||1 → 0, (n→ +∞), et donc, Un → 0. ♦

module au

Corollaire 3 (De la demonstration). Si Un est une suite de matrices de Md(C), (Un)n a limite, U,lorsque n→∞, si et seulement si, pour tout vecteur X ∈ Cd, UnX → UX (n→∞). Et cella, si etseulement si ρ(Un − U) < 1. ♦

Vu que dans les applications aux equations differentielles, les systemes lineaires a resoudre presententdes symetries, une condition suffisante a la convergence de la methode souvent utilisee, est la sui-vante :

Theoreme 18 (Fondamental : Iteration hermitienne). Soit A ∈ Md(C) une matrice hermitiennedefinie positive, supposons M inversible, et posons A = M −N. La matrice M∗+N est hermitienne,si elle est definie positive, alors ρ(M−1N) < 1. (Et la methode stationnaire definie par le choix deM converge pour toute donnee initiale X0.)

Page 43: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

43

Demonstration. Verifions, tout de meme que la matrice M∗+N est bien hermitienne. Nous avonsA = M −N, N = M −A; alors (M∗+N)∗ = (M∗+M −A)∗ = M +M∗−A∗ = M∗+M −A, parceque A est hermitienne, donc, (M∗+N)∗ = M∗+N est bien hermitienne. On la suppose, tout commeA, definie positive, ce qui veut dire que pour tout vecteur Y ∈ Cn non nul, Y ∗(M∗ +M −A)Y > 0.

On va profiter du resultat, demontre plus haut, qui dit que pour toute norme matricielle

|| · ||, ρ(C) ≤ ||C||, pour chaque matrice C.

On utilisera la norme matricielle subordonnee a la norme X 7→√X∗AX note ||X||A. Cette

expression est bien une norme ! En effet, puisque A est hermitienne, la quantite X∗AX est un nombrereel, il est strictement positif si X 6= 0 parce que A est definie positive, ||X||A est bien defini, positifou nul, nul seulement si X = 0. Evidement, ||X + Y ||A2 = (X + Y )∗A(X + Y ) = ||X||A2 + ||Y ||A2 +Y ∗AX + X∗AY = ||X||A2 + ||Y ||A2 + 2<(X∗AY ) ≤ ||X||A2 + ||Y ||A2 + 2|X∗AY |. Maintenant,l’inegalite de Cauchy-Schwarz donne |X∗AY |∗ ≤ X∗AXY ∗AY, et ||X + Y ||A2 ≤ (||X||A + ||Y ||A)2qui donne l’inegalite triangulaire.

Puisque (λX)∗A(λX) = λX∗A(λX) = |λ|2X∗AX, nous avons ||λX||A = |λ|||X||A, et || · ||A estune norme vectorielle. Notons, naturellement || · ||A la norme matricielle subordonnee, et calculons,avec M−1N = M−1(M − A) = I −M−1A,

||M−1N ||A = max||X||A=1

||X −M−1AX||A.

Considerons X tel que ||X||A = 1, ou ce maximum est atteint, notons, Y = M−1AX, c’est-a-direMY = AX, ou X∗A = Y ∗M∗. Alors la valeur de ||M−1N ||A est

||X −M−1AX||A2 = ||X − Y ||A2 = (X − Y )∗A(X − Y ) = 1− Y ∗(M +M∗ − A)Y < 1.

Ainsi, la norme matricielle de M−1N est strictement plus petite que 1, il en va de meme de son rayonspectral. ♦

Premiere condition d’arret. Posons en = X−Xn ou X est la solution theorique de AX = B etXn = LXn−1+M−1B, pour X0 une amorce fixee L = M−1N, et l’on suppose la methode convergente.

Remarquons que si || · || est une norme subordonnee, nous pouvons donner une estimation a-prioride la taille de X, dans le cas ou il y a convergence de la methode, X = LX +M−1B,

||X|| ≤ ||L||||X||+ ||M−1B||, d’ou :

||X|| ≤ ||M−1B||

1− ||L||.

Le theoreme de Householder nous assure l’existence d’une norme subordonnee telle que, ||L|| < 1.Mais cette norme est inaccessible aux calculs. Par exemple, si l’on a ρ(L) < 9

10, on aura ||X|| ≤

10||M−1B||, mais nous n’avons aucun moyen de calculer ni ||X|| ni ||M−1B||.Ces estimations sont utiles, lorsque par chance, ||L||p < 1 pour p = 1, 2,∞. Sachant que dans

le cas de ||L||2, nous ne pouvons pas la calculer, et souvent nous nous contentons de l’estimer par||L||2 ≤ ||L||F .

Proposition 13. Premiere condition d’arret. Si L = M−1N est la matrice d’iteration de la methode :A = M −N. En posant en = X −Xn, et supposant ||L|| < 1 nous avons

||en|| ≤||L||

1− ||L||||Xn −Xn−1|| ≤

1

1− ||L||||Xn −Xn−1||.

Demonstration. Nous avons X−Xn−1 = Xn−Xn−1−Xn+X,Xn = LXn−1 +B′, X = LX+B′.Ainsi en = X − Xn = L(X − Xn−1) = Len−1. Et en−1 = Xn − Xn−1 + Len−1, d’ou ||en−1|| ≤||Xn −Xn−1||+ ||L||||en−1||, et ainsi

||en−1|| ≤||Xn −Xn−1||

1− ||L||.

Composee avec l’evidente ||en|| ≤ ||L||||en−1||, conclut la preuve.

Page 44: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

44

Utilisation pratique : Il faut, tout d’abord, faire l’estimation 1 − ||L|| < 10−α, qui peut provenirdes informations externes. On arrete les iterations a XN lorsque ||XN −XN−1|| < 10−ν−α pour etrepres, a l’ordre 10−ν , de la solution theorique.

5.2. Methode de Jacobi. Pour une matrice A inversible dont la diagonale principale D = D(A)est aussi inversible, la methode de Jacobi est definie par justement ce choix : M = D et N = A−D.Les matrices carrees a diagonale strictement dominante s’y pretent a cette methode.

La matrice d’iteration de la methode est

LJ := M−1N = I −D−1A.

Ce choix, qui semble naif, peut s’averer d’une tres bonne qualite, par exemple

Proposition 14. Si A est une matrice carree a diagonale strictement dominante, ρ(LJ) < 1. Lamethode de Jacobi converge pour tout choix de point de depart X0.

Demonstration. Puisque la diagonale domine strictement, elle est faite de nombres non nuls, Dest inversible (sinon A aurait une ligne nulle). Calculons ||LJ ||∞ = ||I −D−1A||∞. C’est clair que ladiagonale principale de LJ est totalement nulle. De plus, pour la ligne i nous savons que

n∑j=1, j 6=i

|aij| < |aii|,

puisque la diagonale domine strictement. Or en ligne i de D−1A nous avons les elements (ai1aii, ai2aii, . . . ,

. . . , aiiaii, . . . , ain

aii), ainsi la ligne i de LJ a pour norme vectorielle 1, la somme

∑nj=1, j 6=i

|ai2||aii| < 1, parce

que la diagonale domine strictement. En prenant le maximum de ces sommes, nous avons ||LJ ||∞ < 1,et donc ρ(LJ) < 1. ♦

Le Theoreme 18 ci-dessus admet une version pour la methode de Jacobi.

Proposition 15. Si A et 2D−A sont hermitiennes et definies positives, ρ(LJ) < 1. La methode deJacobi converge, pour tout choix de point de depart X0.

Demonstration. C’est en fait un banal corollaire, car pour M = D, A = M −N, donc M +N =2D − A, les hypotheses du Theoreme 18 sont verifiees. ♦

Programmer la methode de Jacobi est tres facile, ce qui l’est moins, est de verifier des hypothesespour savoir a-priori qu’elle converge.

function [X]=Jacobi(A,B,X,m)

% on a la matrice A, le second membre B,

% l’estimation X0 en X, et le nombre d’iterations demandees m.

for j=1 :n

if (a(j,j)=0) then error(’Il y a des zeros sur la diagonale ! !’),

else Q(j)=1/a(j,j)

end ; % l on a on fabrique les multiplicateurs

for n=1 :m-1,

for j=1 :n, Y(j)=X(j), end ; % l’iteration precedente sera utilisee dans le calcul,

X contient toujours la derniere iteration

for k=1 :n

S=0, for l=1 :k-1,S=S+a(k,l)*Y(l), end ;

for l=k+1 :n, S=S+a(k,l)*Y(l), end ;

X(k)= (b(k)-S)*Q(k) ;

end ;

Page 45: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

45

end ;

Puisque le nombre d’operations pour chaque iteration est de l’ordre de n2, pour obtenir un gainde precision de 10−ν il faut ν/R iterations, ce qui donne un nombre total d’operations ν×n2

R. ceci est

a comparer avec les methodes directes, de type LU, qui sont moins avantageuses, des que νR< n

3, ce

qui pour un grand systeme est facile, sauf si la matrice d’iteration de la methode a un rayon spectraltrop proche de 1.

Evidement, calculer le rayon spectral de LJ peut s’averer plus couteux que resoudre le systemeen cause. Ainsi l’on profite de la forme particuliere de cette matrice d’iteration, pour donner unminorant pour R.

Proposition 16. Les normes α = ||LJ ||∞ = maxi

n∑j=1,j 6=i

|aij||aii|

, et β = ||LJ ||1 = maxj

n∑i=1,j 6=i

|aij||aii|

, etant

supposees strictement plus petites que 1, la methode de Jacobi converge pour n’importe quel pointinitial X0. De plus, il suffit de m = partie entiere de ν

− log10 min(α,β)iterations pour que l’erreur ||em||

soit majore par 10−ν ||e0||.

♦Ces normes se calculent donc, a peu de frais, et l’on peu avoir une idee a-priori du nombre

d’iterations a effectuer.

5.3. Methode de Gauss-Seidel. Une simple observation de l’algorithme dans la methode de Ja-cobi, montre que lorsque l’on calcule la coordonnee k du n−ieme itere X(n)(k), on utilise les valeursdes coordonnees i < k du n − 1−ieme itere : X(n−1)(j). Pourtant juste avant nous avons recalcule,ameliore, ces coordonnees. Il a fallu, meme, passer par un artifice de programmation, pour ne pasmettre a jour les coordonnees des X a fur et a mesure que l’on les determine.

La methode de Gauss-Seidel, met en oeuvre une petite amelioration, il suffit de lire l’algorithmemis en oeuvre en MATLAB pour comprendre.

Comparons l’algorithme ci-dessus pour la methode de Jacobi, avec le suivant

Algorithme :

function [X]=GaussSeidel(A,B,X,m)

% on a la matrice A, le second membre B,

% l’estimation X0 en X, et le nombre d’iterations demandees m.

for j=1 :n,if (a(j,j)=0) then error(’ Il y a des zeros sur la diagonale ! !’) ;

else Q(j)=1/a(j,j) ; end ;% on a fabrique les multiplicateurs

for n=1 :m-1,

for k=1 :n

S=0, for l=1 :k-1 ; S=S+a(k,l)*X(l) ; end ; % les X(l) sont un coup en avance.

for l=k+1 :n ; S=S+a(k,l)*X(l) ; end ; % ce sont les vieux X(l)

X(k)= (b(k)-S)*Q(k) ;

end ; end ;

D’apres le schema general, la methode de Gauss-Seidel se definit en posant pour une matricenon-singuliere A de diagonale D non-singuliere :

Pour E l’oppose de la partie triangulaire inferieure stricte de A et F l’oppose de la partie triangu-laire superieure stricte de A, d’ou A = D−E−F, l’on choissitM = D−E, qui est inversible, etN = F,ainsi A = M −N. La matrice d’iteration de la methode de Gauss-Seidel, est LGS = (D − E)−1F.

Proposition 17. Si A est une matrice a diagonale dominate stricte alors, ρ(LGS) < 1. La methodede Gauss-Seidel converge pour tout choix de point de depart X0.

Page 46: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

46

Demonstration. Evaluons ||LGS||∞ = max||X||∞=1 ||M−1NX||∞. Fixons un X de norme 1 telqu’il atteint le maximum ci-dessus. Et posons Y = M−1NX. Nous avons MY = NX, la coordonneei de ces vecteurs se calcule :

(MY )i =∑j≤i

aijyj = aiiyi +∑j<i

aijyj = (NX)i = −∑j>i

aijxj.

Notons maintenant i0 une coordonnee telle que ||Y ||∞ = |yi0|, de l’egalite ci-dessus, pour la ligne i0nous tirons

−ai0i0yi0 =∑j<i

aijyj +∑j>i

aijxj,

|ai0i0|||Y ||∞ = |ai0i0||yi0| ≤∑j<i

|aij||yj|+∑j>i

|aij||xj| ≤∑j<i

|aij|||Y ||∞ +∑j>i

|aij|||X||∞,

et puisque ||X||∞ = 1, (|ai0i0| −∑j<i

|aij|)||Y ||∞ ≤∑j>i

|aij|, ou

||Y ||∞ ≤∑

j>i |aij||ai0i0| −

∑j<i |aij|

.

qui est strictement plus petit que 1 parce que la diagonale est strictement dominante.

En effet, |ai0i0| >∑j<i

|aij| +∑j>i

|aij| ≥ 0 equivaut a

∑j>i |aij|

|ai0i0| −∑

j<i |aij|< 1. Comme le rayon

spectral est majore par la norme, on a fini. ♦Proposition 18. Si A est une matrice hermitienne definie positive, alors ρ(LGS) < 1. La methodede Gauss-Seidel converge pour tout choix de point de depart X0.

Demonstration. Il est facile d’ecrire les elements de la diagonale de A, a l’aide de la basecanonique,dii = eTi Aei > 0, D est donc une matrice hermitienne definie positive.

Or, ici, M−1N = (D − E)−1F = (D − E)−1(D − E − A) = I − (D − E)−1A. Et comme E =F ∗, M∗+N = (D−E)∗+F = D−E∗+F = D qui est hermitienne definie positive. Nous sommesdans les hypotheses du Theoreme 18, la proposition est demontree. ♦

5.4. Methodes avec relaxation, SOR. La methode de Gauss-Seidel peut etre modifiee a l’aided’un parametre externe, dit de relaxation, donnant lieu aux methodes SORω. Elles sont definies parla donnee de ω 6= 0 avec M = 1

ωD − E ( et donc N = F + ω−1

ωD) pour les notations ci-dessus.

Pour ω < 1 on parle de sous-relaxation, de sur-relaxation si ω > 1, pour ω = 1, c’est la methode deGauss-Seidel. La matrice d’iteration de la methode est

Lω = (I − ωD−1E)−1((1− ω)I + ωD−1F ).

Proposition 19. Si A est une matrice a diagonale dominate stricte alors, SORω converge pour toutedonnee initiale X0 si 0 < ω ≤ 1.

Demonstration. Considerons X ∈ Cd tel que ||X||∞ = 1 et ||Lω||∞ = ||LωX||∞. Prennons Y telque MY = NX, ainsi Y = LωX, ||Y ||∞ = ||Lω||∞. Pour un certain i0 nous avons ||Y ||∞ = |yi0 |.Calculons la composante i0 de MY et NX.

(MY )i0 = 1ωai0i0yi0 +

∑j<i0

ai0 jyj.

(NX)i0 = 1−ωωai0i0xi0 −

∑j>i0

ai0 jxj.

Donc, ai0i0yi0 = (1− ω)ai0i0xi0 − ω∑

j>i0ai0 jxj − ω

∑j<i0

ai0 jyj.

Et |ai0i0|||Y ||∞ = |ai0i0||yi0 | ≤ (|1− ω|)|ai0i0||xi0| + ω∑

j<i0|ai0 j| + ω

∑j>i0|ai0 j|||Y ||∞. D’ou on

en tire

||Y ||∞(|ai0i0| − ω∑j>i0

|ai0 j|) ≤ (|1− ω|)|ai0i0|+ ω∑j<i0

|ai0 j|.

Page 47: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

47

||Y ||∞((1− ω)|ai0i0|+ ω(|ai0i0| −∑j>i0

|ai0 j|)) ≤ (|1− ω|)|ai0i0 |+ ω∑j<i0

|ai0 j|.

Or |ai0i0| −∑

j>i0|ai0 j| >

∑j>i0|ai0 j|) par la domination de la diagonale, ainsi, pour α = (|1 −

ω|)|ai0i0 | + ω∑

j<i0|ai0 j|, pour 1 < ω < 1, ||Y ||∞α < α, ce qui donne ||Y ||∞ < 1, comme il fallait

demontrer.

Proposition 20. Si A est hermitienne definie positive et 0 < ω < 2, SORω converge.

Demonstration. Pour ω > 0, 1ωD est aussi hermitienne definie positive. Et puisque E = F ∗,M∗+

N = 1ωD−E∗+F +( 1

ω−1)D = ( 2

ω−1)D qui sera hermitienne definie positive si ω < 2. Le theoreme

fondamental des methodes iteratives hermitiennes s’applique pour conclure.

Proposition 21. Si ω < 0 ou si ω > 2 il y a des amorces X0 telles que la suite definie par SORω

pour cette donnee initiale verifie ||Xn|| → +∞ (n→ +∞)

Si ω = 2, il y a des amorces X0 telles que SORω ne converge pas pour cette donnee initiale.

Demonstration. On raisonne en calculant detLω = det(M−1N) = det(N)/ det(M) =

det(( 1−ωωD+F )

det( 1ωD−E)

= (1 − ω)d. Par exemple, Si SORω converge pour toute valeur initiale X0, la matrice

d’iteration a rayon spectral plus petit que 1. Les valeurs propres de Lω sont toutes de modulestrictement inferieur a 1, et de meme pour leur produit, qui donne alors detLω = (1 − ω)d < 1, etl’on en conclut que |1− ω| < 1;ω ∈]0, 2[.

Pour ω = 2, il y a une valeur propre de module superieur ou egale a 1; un vecteur propre associe,nous donnera une iteration qui ne converge pas.

Si le produit des valeurs propres est de module strictement plus grande que 1, il y a une va-leur propre de module strictement superieure a 1 toute iteration avec amorce propre associee seradivergente !

5.5. Descente, Methode du gradient. Nous allons voir un type de methode pour la resolutiondu systeme AX = B pour A ∈ GLd(R) est symetrique definie positive, dite de descente qui consistea definir une suite :

Xn+1 = Xn + αnPn X0 amorce donnee

les scalaires αn et les vecteurs Pn calcules (a chaque pas) de sorte que la quantite scalaire J(Xn) =12X tnAXn − BTXn est strictement decroissante en n. Ceci justifique le nom : on fait descendre la

valeur de J.

Ce sont les methodes de la plus profonde descente (steepest decents).

Le choix de vecteur Pn donne le nom de la methode. On dira que c’est une methode du gradientsi Pn = B − AXn.

La methode peut etre ”a pas fixe” lorsque tous les αn sont egaux, ou a pas variable, Lorsque lepas fixe est choissi de maniere optimale, ce sera une methode a pas optimal.

Pour justifier cette introduction, il faut faire un peu de calcul differentiel. Considerons la fonctionreelle

J : Rn → R : X 7→ J(X) =1

2X tAX −BTX.

C’est une application polynomiale, elle est C∞.

Lemme 1. Si A est symetrique definie positive, la fonction J est strictement convexe, elle a ununique point ou elle atteint son minimum global. Ce point X est solution de AX = B.

Demonstration. Calculons le gradient de J au point X ∈ Rd, ∂J∂xi

(X) = 12ETi AX + 1

2XTAei −

BT ei = AX − B par symetrie. Ainsi, chaque point de Rd qui est minimum local de J, (et donc zero

Page 48: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

48

du gradient) est solution du systeme AX − B = 0, Nous avons qu’il y a exactement un point ou legradient s’annulle parce que A ∈ GLd(R).

Nous nous servirons du calcul de developpement limite de J en un point arbitraire Z ∈ Rd. Pourun vecteur d’accroissement H ∈ Rd,

J(Z +H) = 12(Z +H)TA(Z +H)−BT (Z +H) = 1

2ZTAZ −BTZ + 1

2HTAZ + 1

2ZTAH −BTH +

12HTAH. Et comme HTAZ = ZTAH, car la matrice est symetrique,

J(Z +H) = J(X) + (ZTA−BT )H +1

2HTAH.

La differentielle de J au point Z est (ZTA−BT ), sont gradient, le vecteur (ZTA−BT )T = AZ −B,et l’hessienne A.

Nous savons que J est strictement convexe sur Rd si et seulement si sa marice hessienne est definiepositive, or l’hessienne de J est A.

Enfin, en ecrivant |J(X)| ≥ 12|XTAX| − |BTX| et utilisant que X 7→

√XTAX est une norme

sur Rd equivalente a la norme euclidienne, nous deduisant qu’il existe λ > 0 tel que |XTAX| ≥λ||X||22, avec |BTX| ≤ ||B||2||X||2, nous obtenons |J(X)| ≥ λ

2||X||2 − ||B||2)||X||2. On en deduit

lim||X||2→+∞ |J(X)| = +∞.La fonction J admet une valeur minimum global, elle atteints son minimum global au point X

solution de AX = B.

En fait, il est clair que, si X est la solution de AX = B, J(Y ) = J(X) + 12(Y −X)TA(Y −X) =

J(X) + 12||Y −X||A. Ainsi, si Y 6= X, J(Y ) > J(X).

Ainsi, il fait sens de ”descendre” J , et le but sera de definir des methodes nous conduisant aussirapidement que possible vers le minimum global de J.

Lemme 2. Soient Xn, Pn 6= 0 fixes, A symetrique definie positive, la fonction

ϕ(t) = J(Xn + tPn) : R→ R,

a un minimum unique pour t = αopt,n = rTnPnPTn APn

de plus, posant Xn+1 = Xn + αopt,nPn, rn+1 =

−∇J(Xn + αopt,nPn), nous avons rTn+1Pn = 0.

Ce lemme nous indique, que a partir de Xn nous pouvons amoindrir la valeur de J en considerantun point de la forme Xn + tPn et de plus, il y a une unique valeur optimale, pour que la descentesoit la plus prononcee possible. Le rabiot indique, que le nouveau point (si l’on descend ainsi) est lepoint de tangence de la direction de descente avec une hypersurface de niveau de la fonction J.

Demonstration. Calculons ϕ′(t) = (∇J(Xn + tPn)TPn = (AXn + tAPn − B)TPn = ((AXn −B)T + tP T

n AT )Pn = −rTnPn + tP T

n APn. Le point critique est unique, t = αopt,n. C’est un minimum,puisque la derivee seconde est P T

n APn > 0.

De plus, −rTn+1Pn = −P Tn rn+1 = −P T

n (AXn − B + αoAPn) = P Tn rn −

rTnPnPTn APn

P Tn APn = 0. En effet

rTnPn est un scalaire, rTnPn = (rTnPn)T = P Tn rn.

Methode du gradient. Donnee la suite (Xn)n, avec X solution de AX = B,

introduisons le vecteur d’erreur : en = X−Xn, puis le residu : rn = B−AXn : rn = Aen. Le vecteurd’erreur est innaccesible aux calculs, il necessite la valeur de la solution theorique X, le vecteur residupeut se calculer a chaque pas.

Clairement, la suite (Xn)n converge vers la solution theorique X de AX = B si et seulement sien → 0 et ce, si et seulement si, rn → 0 lorsque n→ +∞.

Nous remarquons que rn = −∇J(Xn).

La methode du gradient consiste a prendre Pn = −∇J(Xn). Le choix du ”pas” determinera lavariante de la methode.

Page 49: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

49

Methode du gradient a pas fixe. Nous prennons αn = α, fixe. L’algorithme est alors :

n = 0, fixer X0.

Xn+1 = Xn + α(B − AXn).

Nous dirons que α est pas optimal, si le rayon spectral ρ(I − αA) est minimum. En effet, nousavons que Xn+1 = Xn + α(B − AXn) = (I − αA)Xn + αB, et donc

en+1 = (I − αA)en = (I − αA)ne0,

et le taux de convergence a zero de la suite (en)n est approximativement la valeur de ce rayon spectral :τα = ρ(I − αA).

Theoreme 19. Soit A symetrique definie positive, la methode du gradient a pas fixe α converge,quelque soit le X0 de depart, si et seulement si α < 2

λmax(A)ou l’on a pose λmax(A) la plus grande

valeur propre de A.

La pas optimal (a pas fixe) est αopt = 2λmin(A)+λmax(A)

.

Pour le pas optimal fixe, le taux de convergence est τopt = cond2(A)−1cond2(A)+1

.

Demonstration. Puisque en+1 = (I − αA)en il nous suffira de prouver que le rayon spectral deIαA est strictement plus petit que 1 pour prouver la convergence a zero de l’erreur. Et ce quelquesoit la valeur de l’amorce X0.

Or le spectre de I−αA se calcule comme 1−αSpec(A). Si 0 < λmin ≤ · · · ≤ λi ≤ · · · ≤ λmax, sont lesvaleurs propres de A, les valeurs propres de I−αA sont les 1−αλmin ≤ · · · ≤ 1−αλi ≤ · · · ≤ 1−αλmax.Clairement ρ(I − αA) = min|1− αλmin|, |1− αλmax|.

Maintenant, si 0 < α < 2λmax

, nous avons pour tout i, 0 < α < 2λi. En multipliant par λi et

retranchant 1, −1 < αλi − 1 < 1, c’est-a-dire pour chaque i, |αλi − 1| < 1 : ρ(I − αA) < 1.

Reciproquement, si 0 < α ≥ 2λmax

, αλmax − 1 ≥ 1, le spectre de I − αA contient une valeur proprede module au moins 1, il existe X0 pour lequel l’iteration ne converge pas.

La plus petite valeur possible de ρ(I − αA) (dans le cas convergent, c’est a dire 0 < α < 2λmax

) est

lorsque αλmax − 1 = 1− αλmin c’est-a-dire, α(λmin + λmax) = 2.

La valeur de ρ(I − αA) est alors 1 − 2λmin

λmaxλmin= λmax−λmin

λmin+λmax, qu’un calcul immediat donne comme

cond2(A)−1cond2(A)+1

, car le conditionement spectral d’une matrice symetrique est le quotient de ses valeurspropres extremes.

Corolaire 4. Si A est une matrice symetrique definie positive, la methode du gradient a pas optimalconverge.

Demonstration. Car evidement, λmax−λmin

λmin+λmax< 1.

Dans la pratique, rien ne nous permet d’estimer le pas optimal fixe. De plus, nous n’avons pasde resultat simple et general, de convergence pour la methode du gradient a pas variable optimal.La lancer, avec condition d’arret : ||rn||2 < 10−ν pour ν le nombre de decimales souhaitees, est laseule demarche logique. A defaut d’un theoreme de convergence, il faut limiter, a priori, le nombred’iterations a effectuer.

5.6. Methode du gradient conjugue. Cette methode s’apelle aussi Methode de Stieffel-Hestenes.

Nous allons faire une modification a la methode du gradient : Pn = rn. Il s’agit de prendrePn = rn + βnPn−1. Ainsi, l’iteration est

Xn+1 = Xn + αn(rn + βnPn−1).

Nous devons determiner les deux parametres, αn, βn tels que les valeurs de J decroissent, et ce demaniere optimale. Ce sera toujours, une methode a pas variable optimal.

Page 50: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

50

Notons P−1 = 0, β0 = 0, r0 = B−AX0, P0 = r0, α0 =rT0 r0rT0 Ar0

et enfin X1 = X0 +α0r0. Le premier

pas, est celui emprunte a la methode du gradient simple, a pas optimal.

Puis Pn = rn + βnPn−1 pour des βn, 1 ≤ n donnes. On va determiner les choix optimaux.

Introduisons la fonction reelle

f(α, β) = J(Xn + αrn + αβPn−1).

Ou Xn, Pn−1 sont donnes, et rn = B − AXn.

Lemme 3. La fonction f est convexe, elle admet un unique minimum au point

β∗ = −P Tn−1Arn

P Tn−1APn−1

, α∗ =rTn rnP Tn APn

, Pn = rn + β∗Pn−1.

Demonstration. Le plus parlant est d’effectuer un developpement limite a l’ordre deux de f enun point arbitraire (α, β). Nous disposons du developpement

J(X + ∆X) = J(X) + (XTA−BT )∆X +1

2∆XTA∆X.

Soient h, k des accroissements,

f(α + h, β + k) = J((Xn + αrn + αβPn−1) + (hrn + αkPn−1 + βhPn−1 + hkPn−1)) =

= J(Xn+αrn+αβPn−1)+((Xn+αrn+αβPn−1)TA−BT )(hrn+αkPn−1+βhPn−1+hkPn−1)+1

2∆XTA∆X,

avec ∆X = (hrn + αkPn−1 + βhPn−1 + hkPn−1). En rangeant selont les degres, ce polynome de h etk, et notant O(h, k)2 un polynome dont tous les monomes sont de degre au moins 2,

f(α + h, β + k) = f(α, β)+

((Xn +αrn +αβPn−1)TA−BT )(rn +βPn−1)h+ ((Xn +αrn +αβPn−1)TA−BT )(αPn−1)k+O(h, k)2.

La differentielle de f au point (α, β) est(hk

)7→ [((Xn+αrn+αβPn−1)TA−BT )(rn+βPn−1) ((Xn+αrn+αβPn−1)TA−BT )(αPn−1)]

(hk

).

Un point (α, β) est critique si

((Xn + αrn + αβPn−1)TA−BT )(rn + βPn−1) = 0 et ((Xn + αrn + αβPn−1)TA−BT )(αPn−1) = 0.

Or rn + βPn−1 = Pn, nous pouvons ecrire ces conditions,

P Tn ∇J(Xn + αPn) = 0 et

αP Tn−1∇J(Xn + αPn) = 0.

Nous avons ∇J(Z) = AZ − B, ainsi la premiere des conditons est P Tn A(Xn + αPn) − P T

n B = 0.

c’est-a-dire, P Tn (AXn − B) = −αP T

n APn. Et comme −rn = AXn − B, nous avons α = PTn rnPTn APn

. Or

nous avons vu que P Tn−1rn = 0, alors P T

n rn = (rn + βPn−1)T rn = rTn rn, et la premiere composante

d’un point critique est l’annoncee : αn = rTn rnPTn APn

.

La deuxieme condition est entrainee par P Tn−1∇J(Xn+αnPn) = P T

n−1A(Xn+αnAPn)−P Tn−1B = 0,

d’ou αnPTn−1APn = P T

n−1(AXn − B) = −P Tn−1rn = 0. Ainsi P T

n−1A(rn + βPn−1) = 0, et la valeur

βn = − PTn−1Arn

PTn−1APn−1est la seule deuxieme composante possible pour un point critique, qui est donc

unique comme annonce.

Il suffit de reprendre le detail du developpement au deuxieme ordre de f en ce point pour calculerla hessienne. Les termes du deuxieme ordre sont ceux de 1

2(h(rn + βPn−1) + αkPn−1)TA(h(rn +

βPn−1) + αkPn−1) = 12(hPn + kαPn−1)TA(hPn + kαPn−1). Ce qui donne la moitie de h2P T

n APn +k2α2P T

n−1APn−1+2hkαP Tn Pn−1. Et puisque P T

n Pn−1 = 0, et A definie positive, la fonction est convexe.Le point critique donne un minimum.

Page 51: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

51

La methode est donc : pour A reelle symetrique definie positive donnee, pour B donne,

Prendre X0 amorce (premiere approximation de la solution de AX = B,), definir recursivement :

(avec P0 = r0 = B − AX0, β0 = 0)

α0 =rT0 r0PT0 AP0

, X1 = X0 + α0P0., le premier pas est le meme que pour la methode du gradient.

Ensuite, pour n ≥ 1, notons rn = B − AXn, puis βn = − PTn−1Arn

PTn−1APn−1, Pn = rn + βnPn−1;

puis αn = rTn rnPTn APn

; et enfin, Xn+1 = Xn + αnPn.

Etant entendu, que si, a quelque moment que ce soit, rn = 0, on arrete tout, on est ”tombes” surla solution exacte. (En principe, le ”test d’arret” est ||rn|| ≤ ε, donne a l’avance.)

Theoreme 20. (Stiefel) La methode du gradient conjuge converge en d itereations au plus.

Demonstration. Nous demontrons par recurrence en 0 ≤ n l’affirmation :

”Pour chaque 0 ≤ q < n :

1qn – rTq rn = 0;

2qn – rTnAPq−1 = 0;

3qn – P Tn APq = 0; (Les directions de descente sont orthogonales pour la structure hilbertienne

associee a A, on dit aussi ”conjugues” origine du nom de la methode.)

4qn – P Tn Arq = 0. ”

C’est un long calcul, laisse en exercice. On en deduit, que tant que les vecteurs rn ne s’annulentpas, ils constituent un systeme de vecteurs non nuls deux-a-deux orthogonaux. Un tel systeme nepeut avoir plus de d elements dans Rd. Le vecteur rn doit s’annuler, pour n ≤ d. La solution est ainsitrouvee.

En fait c’est une methode de calcul exacte, qui en moins de d iterations ”tombe” sur la solutiontheorique X. Mais il ne faut pas oublier, qu’ici la dimension est consideree comme tres grande, et l’ona pas l’intention d’iterer autant, nous nous contentons avec une solution approchee Xn pour un n, engeneral tres bas, quelques dizaines tout au plus. C’est la raison qui fait qu’une bonne estimation dutaux de convergence serait souhaitable. Malheureusement, l’estimation du taux de convergence dela methode du gradient conjugue sort du cadre de ce cour. L’etude peut etre consultee dans [1], ou

l’on tire que le taux de convergence a considerer est −2 log

√C(A)−1√C(A)+1

(pour C(A) le conditionement

spectral de A) ce qui en pratique donne des bons resultats quand C(A) << d2. Ce qui est tres bon,quand d est tres grand.

Ecrivons pour memoire l’algorithme, ou l’on se contente de la condition d’arret ”le residu est assezpetit”.

Soient donnes A symetrique definie positive, B,X0 vecteurs, ε condition d’arret.

On pose n = 0, r0 = B − AX0.

P0 = r0; R0 = rT0 r0;

while Rn > ε ∗ εn = n+ 1;

Z = APn−1; W = P Tn−1Z; W1 = 1/W ;

αn−1 = rTn−1rn−1. ∗W1;

Xn = Xn−1 + αn−1 ∗ .Pn−1;

rn = rn−1 − αn−1 ∗ .Z; Rn = rTn rn

βn = Rn/Rn−1;

Pn = rn + βn ∗ .Pn−1;

Page 52: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

52

end

Un decompte rapide du nombre d’operations effectue est : un seul produit matriciel : 2d2 operations,8 produits scalaires : 16d operations, et quelques autres scalaires (5). Le total est de 2d2 + O(d)operations pour chaque iteration. S’il faut plus de d

3iterations, LU est a conseiller.

5.7. Appendice. Quelques remarques sur la convexite. Tout etudiant en L3 de mathematiquesdevrait savoir quelques faits rudimentaires sur la convexite et les fonctions convexes. Par exemple,les pages 228-246 de [12, ] devraient etre connus, plus quelques elements tires du calcul differentielsur les espaces Rn.

Faissons la revue des resultats, avec K = R ou C.

Definition 10. Une partie A d’un K-espace vectoriel E, est dite convexe (cvx) si chaque fois queX, Y ∈ A le segment reel [X, Y ] est contenu dans A.

Le segment reel [X, Y ] consiste en les tX+(1− t)Y, ou t parcours [0, 1] ⊂ R. Les exemples triviauxsont les sous-espaces vectoriels, les segments, et la caracterisation dans R : les parties convexes deR sont les intervalles.

Notons ∆n = θ ∈ Rn+ / θ = (θ1, θ2, . . . , θn)T , θ1 + θ2 + · · · + θn = 1. (Le simplexe ou ensemble

des vecteurs colonne stochastiques.)

Theoreme 21. Soit E un K-espace vectoriel, A ⊂ E. La partie A est convexe si et seulement si

∀n ∈ N∗,∀a1, a2, . . . , an ∈ A, λ ∈ ∆n, =⇒ λ1a1 + λ2a2 + · · ·+ λnan ∈ A.

La preuve se fait par recurrence. Le cas n = 1 est trivial, et il faut faire le cas n = 2, car le passagede n − 1 a n l’utilise. Nous noterons f : E · · · → F toute application d’une partie de E vers F, ledomaine sera note D(f).

Definition 11. Nous dirons qu’une fonction f : E · · · → R est une fonction convexe (cvx) si E estun K-espace vectoriel, et chaque fois que X, Y ∈ D(f) et 0 ≤ λ ≤ 1, λX + (1− λ)Y ∈ D(f) et

f(λX + (1− λ)Y ) ≤ λf(X) + (1− λ)f(Y ).

Elle est dite strictement convexe (scvx) si c’est l’inegalite stricte qui est verifiee lorsque λ 6= 0, 1. Dememe on dit concave quand c’est l’inegalite opposee qui est verifiee.

On definit l’epigraphe d’une fonction par f : E · · · → R, Γ+(f) = (X, t) ∈ E×R / X ∈ D(f), t ≥f(X), et l’hypographe par Γ−(f) = (X, t) ∈ E × R / X ∈ D(f), t ≤ f(X), Γ(f) son graphe.

Proposition 22. Soit f : R · · · → R, nous avons : 1- f cvx =⇒ D(f) cvx. 2- f cvx ⇔ Γ+(f) cvx.3- f concave ⇔ Γ−(f) cvx. 4- f est affine si et seulement si f est convexe et concave ; (et D(f) = R,sinon, evidement, f est restriction d’affine).

Theoreme 22. Soit f : R · · · → R, D(f) 6= ∅, f est convexe si et seulement si, ∀n ∈ N∗

∀X ∈ D(f)n ∀λ ∈ ∆nf(XTλ) ≤ f(X)Tλ, i.e. f(λ1x1+λ2x2+· · ·+λnxn) ≤ λ1f(x1)+λ1f(x2)+· · ·+λ1f(xn).

ou l’on a pose, f(X) le vecteur colonne (f(xi))i.

Notons pour une fonction f : R · · · → R, ∆f∆x

(t) = f(t)−f(x)t−x , l’acroissement de f en x, defini sur

D(f) \ x.

Proposition 23. Pour une fonction f : R · · · → R, f cvx ⇔ ∆f∆x

est une fonction croissante sur son

domaine pour chaque x ∈ D(f). ( f scvx ⇔ ∆f∆x

est strictement croissante.)

Corollaire 4. Soit I un intervalle ouvert non vide de R, f : I → R. f cvx =⇒ f est derivable adroite et a gauche en chaque point de I et l’on a

x < y ∈ I =⇒ f ′g(x) ≤ f ′d(x) ≤ ∆f

∆y(x) ≤ f ′g(y) ≤ f ′d(y).

Page 53: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

53

Si f est scvx, x < y =⇒ f ′d(x) < ∆f∆y

(x) < f ′g(y).

De plus f cvx =⇒ f continue et f ′g(x) = f ′d(x) sauf eventuellement sur un sous-ensembledenombrable de x dans I.

Proposition 24. Soit I un intervalle ouvert non vide de R, et f : I → R, une fonction continuederivable a droite en chaque point de I, f cvx ⇐⇒ Γ(f) est au-dessus de sa tangente a droite, pourchaque point.

Theoreme 23. Soit I un intervalle ouvert non vide de R, et f : I → R, une fonction continuederivable a droite en chaque point de I, f cvx (scvx) ⇐⇒ f ′d est croissante sur I. ( strictementcroissante.)

Corollaire 5. Soit I un intervalle ouvert non vide de R, et f : I → R, une fonction continuedeux fois derivable sur I, f cvx ⇐⇒ ∀x, f ′′(x) ≥ 0. Elle sera strictement convexe si et seulement si∀x, f ′′(x) > 0 sauf eventuellement sur un ensemble denombrable de points y, ou l’on a f ′′(y) ≥ 0.

Il ne faut pas oublier que la convexite est une propriete source d’innombrables inegalites, dites”inegalites de convexite”. Par exemple, puisque x 7→ lnx, est strictement concave sur R∗+, pourchaque x = (x1, x2, . . . , xn) ∈ (R∗+)n, et λ = (λ1, λ2, . . . , λn) ∈ (R∗+)n,

∑λi = 1, ln(xλT ) ≥ (log x)λT ,

et en prenant une exponentielle,∑λixi ≥

∏xλii . L’inegalite stricte ayant lieu chaque fois qu’il n’y a

pas de λi nul, ni deux xi egaux. Par exemple l’inegalite arithmetico-geometrique est la cas particulierde tous les λi = 1

n.

Du theoreme de Taylor-Young, plusieurs variables, on peut tirer quelques renseignements. SoitΩ un ouvert de Rn, U un ensemble convexe contenu dans Ω. Voir [3], Chapitre 7.

Theoreme 24. Si f : U → R admet des derivees partielles premieres continues en chaque point deΩ,

f cvx sur U ⇐⇒ ∀u, v ∈ U, f(v) ≥ f(u) + (v − u)T∇f(u).

Elle est strictement convexe sur U si et seulement si c’est l’inegalite stricte qui a lieu.

Si f est de plus 2 fois continument derivable, f cvx ⇐⇒ ∀u, v ∈ U, (v − u)Tf ′′(u)(v − u) ≥ 0.

Ou ici, f ′′(u) est la matrice (symetrique) des derivees partielles secondes, notee des fois Hf (u), ou∇2f(u) et dite hessienne.

De plus nous avons que si ∀u 6= v ∈ U, (v− u)Tf ′′(u)(v− u) > 0, f est strictement convexe sur U.

6. Calcul du spectre

6.1. Generalites, Methode de la puissance. Pour tenter de comprendre la difficulte de la determinationdu spectre d’une matrice regardons le cas simple suivant, notons

Aε =

0 0 0 ε1 0 0 00 1 0 00 0 1 0

,

son polynome caracteristique est P (λ) = λ4−ε. Pour ε = 10−4 ses racines sont 110e

2πki4 , k = 0, 1, 2, 3;

toutes de module 110. Parcontre, la matrice toute proche A0 est nilpotente, ses valeurs propres sont

toutes nulles.

Il est facile d’imiter cet exemple, en taille n quelconque pour obtenir deux matrices en tout si-milaires, sauf un des coefficient different de 10−n, mais ayant des valeurs propres a distance 1

10.

Considerons encore un exemple :

Aε =

(1 1ε 1

),

ses valeurs propres sont 1±√ε, fonction qui n’est pas derivable en ε = 0. Pourtant, si pas derivables,

les valeurs propres sont bien des fonctions continues des elements de la matrice. Du au fait qu’il n’y

Page 54: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

54

a pas de maniere naturelle d’ordonner les valeurs propres d’une matrice (en particulier lorsqu’ellesne sont pas reelles), la maniere correcte de voir cette continuite est par exemple le resultat suivantque l’on cite sans demonstration

Theoreme 25 (Elsner). Soit A ∈Mn(C) et soient λ1, . . . , λn ses valeurs propres repetees selon leur

multiplicite. Soit A une matrice de meme taille, et notons λ1, . . . , λn ses valeurs propres, repeteesselon leur multiplicite, il existe alors une permutation d’indices σ ∈ Sn telle que pour chaque i,

|λi − λσ(i)| ≤ 4(||A||2 + ||A||2)1− 1n ||δA||

1n2 .

Ou, δA = A− A.

Nous nous contenterons de decrire quelques algorithmes eprouves pour la determination approcheedes valeurs propres dans des cas simples.

Il faut tout d’abord voir la difference entre la determination d’une valeur propre et la determinationde tout le spectre. Par exemple, s’il existait une methode efficace de triangularisation des matrices,comme le resultat theorique de Schur nous l’assure, dans la diagonale principale, on trouverai lespectre tout calcule.

Comencons par une methode qui permet de determiner la plus grande des valeurs propres, dansdes cas simples.

Nous partons d’un vecteur q0 quelconque (non nul) et proposons : qn = Aqn−1

||Aqn−1||2 . ce qui nous donne

une suite de vecteurs (qn)n. Dans des bonnes conditions, qn s’approche de l’espace propre de la plusgrande des valeurs propres de A : λmax. Ainsi, pour n >> 1 nous recuperons cette valeur en posant,

pour la composante i de qn, lorsqu’elle ne s’annule pas, λmax = (Aqn)iqn,i

Ainsi l’algorithme est : donnee A et q0,

Z−1 = q0;

iterer en n = 1 : m

Zn = Aqn−1; qn = Zn/||Zn||2;

λn−1 = q∗n−1Zn.

rendre λm = q∗mAqm.

Il est important de remarquer, par recurrence, que

qn =Aqn−1

||Aqn−1||=

A Aqn−2

||Aqn−2||

||A Aqn−2

||Aqn−2|| ||=

A2qn−2

||A2qn−2||=

Anq0

||Anq0||.

Il est clair que si λmax > 1 et la composante de q0 dans sa direction propre et non nulle, le vecteurAnq0 peut, vite, devenir tres grand. Toute l’idee de la methode de la puissance est d’eviter cela, endivisant des que l’on peut.

Cette demarche s’apelle ”methode de la puissance”. Sa force provient du fait que ||qn||2 = 1, evitantl’aparition de nombres tres grands, que le calcul direct de Anq0 entrainerait. Les nombres tres grandsintroduisent des erreurs d’arrondi irreparables.

Le domaine de validite de cette methode est assez etendu, comme exemple d’analyse precise don-nont un resultat.

Theoreme 26. Soit A une matrice carree de taille d diagonalisable, dont le rayon spectral est lemodule d’une seule valeur propre, que l’on suppose simple. Notons λi ses valeurs propres, et supposons|λd| ≤ · · · |λ2| < |λ1|. Si (Xi)i est une base propre de vecteurs de norme 1, (ou AXi = λi) etq0 = a1X1 + a2X2 + · · ·+ adXd, avec a1 6= 0, alors

i- la suite λ(n) converge vers λ1,

ii- Il existe c > 0 (independant de n) et ρ ∈ C, |ρ| = 1 tels que |λ(n) − λ1| ≤ c|λ2

λ1|n,

Page 55: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

55

et ||εnqn −X1||2 ≤ c|λ2

λ1|n.

Demonstration. Tout d’abord, si λ2 = 0, λ2 = λ3 = · · · = λd = 0; ainsi Aq0 = a1λ1X1, puisq1 = X1, et qn = X1, (∀n). Donc λ(n) = λ1 et les resultats sont vrais trivialement. Nous supposonspour la suite λ2 6= 0. La norme euclidiene sera notee || · ||.

En evaluant et factorisant,

Anq0 = λn1 (a1X1 + a2

(λ2

λ1

)nX2 + · · ·+ ad

(λdλ1

)nXd),

Notons En(θ) = a1X1 +a2θnX2 +a2θ

nX2 · · ·+adθnXd. La parenthese ci-dessus est le vecteur En(λ2

λ1),

note simplement En.

Puisque 1 > |λ2

λ1| ≥ | λi

λ1|, si i > 1, par triangulaire, nous avons une constante C ne dependant pas

de n, telle que ||En−a1X1|| ≤ |λ2

λ1|n(|a2|+ |a3|+ · · ·+ |ad|) = C|λ2

λ1|n, et donc, En → a1X1 si n→ +∞.

Une simple recurrence montre que qn est colineaire a Anq0 ainsi, il existe une constante αn telleque

qn = αn(a1X1 + · · ·+ ad

(λdλ1

)nXd) = αnEn.

Or qn est de norme euclidienne 1 ainsi, 1|αn| = ||En|| → |a1|, ainsi |αn| → 1/|a1|, |αn| ≤ 2/|a1|.

Nous avons |1−|αn||a1|| = | ||qn||−|αn||a1|| ≤ ||qn−αna1X1|| = ||a2

(λ2

λ1

)nX2+· · ·+ad

(λdλ1

)nXd||.

Nous pouvons majorer maintenant :

| |1− |αn||a1|| ≤∣∣∣∣λ2

λ1

∣∣∣∣n |αn|(|a2|+ |a3|+ · · ·+ |ad|) = c1

∣∣∣∣λ2

λ1

∣∣∣∣n .Calculons maintenant Aqn = αn(λ1a1X1 + · · · + ad

(λdλ1

)nλdXd) = λ1αnEn+1. On en deduit λ(n) =

q∗nAqn = λ1|αn|2E∗nEn+1. Or E∗nEn+1 est facile a estimer.

E∗nEn+1 = |a1|2 + (2a1a2X∗1X2

(λ2

λ1

)n+1

+ · · ·+ 2a1adX∗1Xd

(λdλ1

)n+1

)+

+|a2|2(λ2

λ1

)2n+1

+(2a2a3X∗2X3

(λ2

λ1

)n (λ3

λ1

)n+1

+· · ·+2a1adX∗1Xd

(λ2

λ1

)n (λdλ1

)n+1

+· · · +|ad|2(λdλ1

)2n+1

.

Ainsi, par triangulaire et Cauchy-Schwarz, (|X∗iXj| ≤ 1), l’on peut majorer,

|E∗nEn+1 − |a1|2| ≤ c2

∣∣∣∣λ2

λ1

∣∣∣∣n+1

.

Avec c2 une constante ne dependant pas de n. Il en resulte

∣∣λ(n) − λ1|αn|2|a1|2∣∣ ≤ (|λ1||αn|2c2)

∣∣∣∣λ2

λ1

∣∣∣∣n+1

≤ (|λ1|4c2)

∣∣∣∣λ2

λ1

∣∣∣∣n+1

= c3

∣∣∣∣λ2

λ1

∣∣∣∣n+1

.

Enfin, |λ(n) − λ1| ≤ |λ(n) − λ1|αn|2|a1|2|+ |λ1|||αn|2|a1|2 − 1|, or,

|λ1|||αn|2|a1|2−1| = |λ1|(|αn||a1|+1)(||αn||a1|−1|) ≤ |λ1|(2|a1|+1)(||αn||a1|−1|) = c4||αn||a1|−1| ≤c1c4

∣∣∣λ2

λ1

∣∣∣n . On a, en definitive,

|λ(n) − λ1| ≤ c3

∣∣∣∣λ2

λ1

∣∣∣∣n+1

+ c1c4

∣∣∣∣λ2

λ1

∣∣∣∣n ≤ c

∣∣∣∣λ2

λ1

∣∣∣∣n ,pour c = c3 + c1c4 constante ne dependent pas de n comme l’on voulait demontrer.

Pour le dernier point, nous avons αna1 = |αn||a1|εn pour |εn| = 1, d’ou, ||εnqn − |αn||a1|X1|| =

||qn − |αn||a1|εnX1|| = ||qn − αna1X1|| ≤ c1

∣∣∣λ2

λ1

∣∣∣n .Par ailleurs, ||εnqn −X1|| ≤ ||εnqn − |αn||a1|X1 ||+ ||X1 − |αn||a1|X1 || =

Page 56: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

56

||εnqn − |αn||a1|X1 ||+ |1− |αn||a1| | ≤ c5

∣∣∣λ2

λ1

∣∣∣n . Et la preuve est finie.

Si la plus grande valeur propre est bien approchee, ”le” premier vecteur propre l’est moins bien :la direction complexe (ou reelle au signe pres) de qn est rapidement (approximativement) la bonne,mais le vecteur qn tourne sans converger (en general).

Pour un exemple facile : soit A = diag(−1, 12), et demarrons en q0 = (1, 1)T . Anq0 = ((−1)n, 1

2n)T .

Pour n grand, qn est arrondi a ((−1)n, 0), et λ(n) a (−1)n. Ce calcul est correcte, la valeur propre −1est celle de plus grand module, mais l’on voit bien que qn ne converge pas. Sa direction est correcte,tant (1, 0)T comme (−1, 0)T sont generateurs de la droite propre, mais aucun vecteur ne se degage.

Associee a cette methode il est parfois utile de considerer la methode de la puissance inversequi nous permets d’atteindre la valeur propre de plus petit module (sous des hypotheses particulieres).

L’algorithme est :

Pour A et q0 donnes,

Calculer Zn comme solution de AZn = qn−1;

poser qn = 1||Zn||Zn;

µ(n) = q∗nZn+1.

Il s’agit clairement de la meme methode appliquee a la matrice A−1, en evitant de l’introduire.

Theoreme 27. Si λd est la seule valeur propre de module minimum, et elle est simple, pour q0

generique la methode de la puissance inverse converge, 1/µ(n) converge vers λd. De plus, la doiteengendree par qn converge vers la doite propre associee a λd.

Nous ne donnons pas la preuve, similaire a la precedente.

Des methodes dites globales, qui permettent de determiner l’ensemble des valeurs propres, il y adeux simples, la mtehode de Jacobi, et la methode QR. Dans ce cours, nous ne traiterons pas lamethode de Jacobi.

6.2. Forme d’Hessemberg, introduction a la methode QR. Nous avons utilise les matrices desymetrie de Householder pour donner une alternative a la methode de orthonormalisation de Gram-Schmidt. Obtenant ainsi, pour toute matrice A l’ecriture A = QR avec Q unitaire, et R triangulairesuperieure.

Il y a une remarque banale, mais tres sympathique. Pour A ∈ Md(C) supposons que H est lamatrice de Householder de taille n − 1 qui envoi le vecteur des n − 1 dernieres composantes de lapremiere colonne de A sur un multiple du premier vecteur de la base canonique de Cd−1.

En considerant H = diag(1, H) nous obtenons une matrice unitaire de taille n et la conjugaisonHAH∗ nous donne une matrice unitairement semblable a A dont la premiere colonne a, au plus, sesdeux premieres composantes non nulles. En effet, c’est bien le cas de HA, et multiplier par la droitele resultat par H−1 ne peut rien changer en premiere colonne.

Ainsi par recurrence, et sachant que l’on a prouve l’existence de ces matrices unitaires de Househol-der si commodes, on obtient une matrice unitairement semblable a A dont, des diagonales inferieures,seulement la premiere n’est pas identiquement nulle.

Definition 12. Nous dirons qu’une matrice M ∈ Md(K) est de Hessemberg, si mij = 0 chaque foisque i > j + 1.

Sous la diagonale principale, seule la premiere diagonale peut contenir des elements non nuls.

Theoreme 28 (Forme normale de Hessemberg). Soit A ∈ Md(C), il existe une matrice unitaireQ ∈ Ud(C), telle que Q∗AQ est de Hessemberg. Si A est reelle, nous pouvons prendre Q orthogonalereelle. La matrice Q est calculable en 9n3

3+O(n2) operations.

Page 57: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

57

Demonstration. La preuve est la recurrence enoncee en introduction, elle repose uniquement surla fait que l’on sait trouver les matrices de Householder dont on a besoin.

Une petite remarque souvent utile est la suivante, si M est une matrice de Hessemberg, et T unematrice triangulaire superieure, alors MT, et TM sont aussi de Hessemberg. Alors, par exemple, siM admet une decomposition LU , la matrice L est de Hessemberg (car egale a MU−1) elle a alors quedeux diagonales non nulles (dont la principale avec des 1). Il en va de meme, si M de Hessembergest inversible, le facteur Q de la factorisation QR de M, est aussi de Hessemberg.

Si M n’est pas inversible, il existe des 0 < tk → 0, (k → +∞) tels que Mk = M+ tkI soit inversibleet de Hessemberg, Mk = QkRk avec Qk unitaire de Hessemberg et Rk triangulaire superieure, avecses elements diagonaux strictement positifs. Le Groupe Un(C) etant compact, nous prenons une suiteextraite de sorte que Ukl converge (vers une matrice unitaire de Hessemberg). Alors, UklMkl convergevers une matrice triangulaire superieure. Ceci demontre que dans la decomposition M = QR de toutematrice de Hessemberg, Q peut-etre choisi de Hessemberg.

Ici, en dans toute la suite, on parlera de convergence de suites de matrices. Ce sera en normespectrale. Comme cette norme est fortement equivalente a la norme ”plus grand module de tousles elements”, la convergence matricielle est celle de chaqu’un des elememnts separement. Dans cesens, nous nous permetrons de dire que la partie triangulaire inferieure des matrices d’une suite dematrices converge.

Venons-en au calcul du spectre de la matrice A.

L’idee de ramener la matrice dont on veut calculer le spectre a une forme d’Hessemberg a un sensd’apres deux remarques. La premiere, s’agissant de similitude matricielle, le spectre reste inchange.Toute matrice a le meme spectre que sa forme de Hessemberg (non unique). La deuxieme necessiteun petit developpement.

Definition 13. Une matrice A ∈ Mn(K] est dite reductible, si l’on peut decomposer l’ensembled’indices 1, 2, . . . , n = S1 ∪ S2 de sorte que S1 6= ∅ 6= S2, verifiant (i, j) ∈ S1 × S2 =⇒ mij = 0.Elle est dite irreductible si elle n’est pas reductible.

Il n’est pas difficile a prouver que, quitte a conjuguer par une matrice de permutation, une matricereductible est triangulaire superieure par blocs, avec des blocs diagonaux carres. La permutation P,est choisie de sorte a envoyer les indices de S2 devant, mettant les indices de S1 apres. Ainsi, si pest le nombre d’elements de S2, la matrice ainsi conjuguee, M ′ = P ∗MP, verifie m′ij = 0 si i > p etj ≤ p. Le bloc inferieur droit est nul. On peut (en mettant les indices de S1 devant) lui donner uneforme triangulaire inferieure, par conjugaison.

On peut recommencer, dans chaque bloc de la diagonale, decrit ci-dessus, lorsqu’ils sont reductibles.L’on demontre aisement ainsi, que toute matrice est unitairement semblable a une matrice triangulairepar blocs, avec des blocs diagonaux carres irreductibles.

L’interet de la demarche est le suivant.

Proposition 25. Une matrice de Hessemberg irreductible, a toutes ses espaces propres de dimension1.

Demonstration. Il est facile de voir que lorsque une matrice de Hessemberg est irreductible,tous les elements de la sous-diagonale sont non nuls. Il s’agit donc d’etudier le noyau de la matriceM ′ = M − λI pour λ une valeur propre (complexe). Remarquons que la matrice M ′

∗ obtenue enelevant la premiere ligne et la derniere colonne a M ′, est une matrice trinagulaire superieure, avecpour diagonale principale la sous-diagonale de M. C’est donc une matrice non-singuliere. La matriceM ′ est de rang, la dimension moins un, son noyau est de dimension 1, l’espece propre est une droite.Nous dirons geometriquement simple.

Remarquons que ceci n’entraine pas que l’ordre de multiplicite des valeurs propres soit 1, Parexemple

A =

(1 1−1 −1

)=

(12−1

21 1

)(0 10 0

)(1 1

2−1 1

2

)

Page 58: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

58

est une matrice de Hessemberg irreductible dont 0 est valeur propre double, geometriquement simple.

Du point de vue de la determination du spectre, la demarche sera de permuter, lignes et colonnes,pour se trouver avec une matrice triangulaire par blocs, avec une diagonale faite de matrices carreesirreductibles.

Il est facile de voir qu’alors le spectre de la matrice est la reunion des spectres de ces blocsdiagonaux. En effet, le determinant d’une telle matrice est le produit des determinants de ses blocsdiagonaux. Le polynome caracteristique d’une matrice triangualire avec des blocs diagonaux carresest le produit des polynomes caracteristiques de ces blocs de la diagonale.

Ensuite chaque bloc diagonal s’etudie separement, en commencant par une mise sous forme deHessemberg a l’aide des conjugaisons de Householder.

Pratiquement, ceci reviens a mettre a zero les elements de A qui ne sont pas dans un des blocsdiagonaux. Le spectre est le meme, mais on abandonne definitivement toute chance de calculer unvecteur propre. A l’ordinateur, nous ne prennons pas la peine de mettre a zero, nous ne les utilisonsplus, tout simplement.

Une remarque finale avant de decrire la methode QR proprement dite. Lorsque l’on a une matricehermitienne, la mise sous forme triangulaire par blocs, a l’aide de permutations mentionnee, donneune matrice diagonale par blocs, chacun etant irreductible et hermitien. Puisque la conjugaison pardes matrices de Householder est une conjugaison unitaire, on en deduit : Toute matrice hermitienneest unitairement semblable a une matrice tridiagonale hermitienne.

Les consequences theoriques sur les relations qui entretiennent les valeurs propres et les elementsde la diagonale d’une matrice hermitienne en decoulent, mais sortent du cadre de ce texte, voir parexemple [1].

Principe de la methode QR. Pour A ∈Mn(K) on construit une suite de matrices (Aj)j, A1 = A,comme suit :

Faire la decomposition QR de Aj : Aj = QjRj;

puis definir Aj+1 = RjQj.

Nous avons donc Aj+1 = Q∗jAjQj, unitairement semblable a Aj, (meme spectre). ClairementAj = (Q1Q2 · · ·Qj−1)∗A(Q1Q2 · · ·Qj−1). Notons, Pj = Q1Q2 · · ·Qj−1 ceci determine une suite dematrices unitaires : (Pj)j.

Or, le groupe Un(K) (pour K = R ou C) est compact, la suite admet donc une valeur d’adherence.Notons par P l’une de ces valeurs d’adherence, et remarquons alors, que A′ = P ∗AP est une valeurd’adherence de (Aj)j unitairement semblable a A.

L’espoir, presque toujours decu, serait de voir la suite (Aj)j converger vers une matrice diagonale,mais dans ce cas, la matrice unitaire P diagonalise A. Or ses colonnes sont des vecteurs propres,orthogonaux deux a deux. Nous savons que ceci equivaut a que la matrice A soit normale, ce n’estdonc presque jamais le cas. (Ci-dessous, le cas hermitien, ou tout se passe comme l’on souhaite, estdetaille).

Une deuxieme possibilite, presque aussi agreable serait d’avoir une limite triangulaire, d’ou lespectre est recupere facilement. Ceci est, en general, faux. La raison, difficile, tient a la proximite desmodules des valeurs propres. Nous donnons quelques resultats de convergence dans le cas a valeurspropres de modules deux a deux distincts.

6.3. Quelques resultats de convergence pour la methode QR. Par une pirouete, de typealgorithmique ([1]), on reduit la situation a l’etude des matrices inversibles.

Theoreme 29. Soit A ∈ GLn(C) et supposons que ses valeurs propres ont des modules, deux-a-deuxdistincts, notes :

|λ1| > |λ2| > · · · > |λ1| > 0.

Notons Y la matrice de passage qui diagonalise A, A = Y −1diag(λ1, . . . , λn)Y. On admetra que Yadmet une decomposition LU.

Page 59: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

59

Alors, la partie strictement inferieure de Ak converge vers zero, et sa diagonale vers la diagonaleD, des valeurs propres.

Attention, la partie strictement superieure des matrices Ak pourrait ne pas converger !

Demonstration. Notons Y = LU, la decomposition LU de la matrice Y et Y −1 = QR ladecomposition QR de Y −1. Toutes deux uniques. Notons en plus Uk = Rk−1Rk−2 · · ·R1.

Remarque Ak = PkUk. En effet, Ak = P ∗kAPk, PkAk = APk. Pk+1Uk+1 = PkQkRkUk = PkAkUk =APkUk, par recurrence immediate, Pk+1Uk+1 = AkP1U1 = AkQ1R1 = AkA.

Ainsi, puisque Ak = Y −1DkY, PkUk = QRDkLU. Remarquons que DkLD−k est triangulaireinferieure, de diagonale unite, et de plus, ses elements strictement en dessous de la diagonale tendentvers zero lorsque k → +∞ car |λi/λ1| < 1. Ecrivons alors, DkLD−k = I + Ek avec Ek matricestrictement triangulaire inferieure, convergent vers la matrice 0.

Ainsi : PkUk = QR(I +Ek)DkU = Q(I +REkR

−1)RDkU = Q(I +Fk)RDkU avec Fk → 0 lorsque

k → +∞.La matrice I + Fk a une factorisation QR, I + Fk = OkTk. par unicite et continuite, tant Ok que

Tk tendent vers l’identite.

Nous avons PkUk = QOkTkRDkU, avec QOk unitaire, et TkRD

kU triangulaire superieure. C’estpresque une decomposition QR ! il faut arranger la diagonale (seule DkU est en cause).

Si D1 est la diagonale de U, et notant pour une matrice diagonale comme D1, |D1| la matricediagonale des modules, nous avons D2 = |D|−1D et D3 = |D2|−1D2 unitaires, de plus U ′ = D−1

3 U asa diagonale principale faite de nombres reels strictement positifs.

Ainsi PkUk = QOkTkR|D|kDk2D3U

′ = (QOkDk2D3)((Dk

2D3)−1TkR|D|kDk2D3U

′),

est une decomposition QR, et par unicite,

Pk = QOkDk2D3, et Uk = (Dk

2D3)−1TkR|D|kDk2D3U

′.

Or Qk = P ∗k−1Pk, et Rk = UkU−1k−1 , d’ou

Qk = D−13 D−k2 D2O

∗k−1OkD

k2D3, et Rk = (Dk

2D3)−1TkR|D|D2R−1T−1

k−1Dk−12 D3.

La suite (D−k2 ) est bornee, Ok converge vers l’identite, alors Qk converge vers D2 = |D|−1D, (ou Dest la diagonale que l’on cherche).

Montrons que la diagonale de Rk converge vers |D| et sa partie triangulaire inferieure stricte vavers zero. Pour cela, nous la comparons avec la matrice

R′k = D−13 D−k2 R|D|D2R

−1Dk−12 D3.

Qui est triangulaire superieure, de diagonale |D|.Or la difference TkR|D|D2R

−1T−1k−1 − R|D|D2R

−1 converge vers 0, car Tk converge vers l’identite.Ainsi, conjugant avec des diagonales, Rk −R′k → 0, et le preuve est achevee.

Lemme 9. Soit A ∈Mn(K) de Hessemberg, irreductible et diagonalisable (sur C). Alors, toute ma-trice de passage Y diagonalisant A, (Y −1diag(λ1, . . . , λn)Y = A, dans C) admet une decompositionLU.

Il en va de meme si A est de Hessemberg, diagonale par blocs carres irreductibles et (separement)diagonalisables.

Demonstration. Introduisons un concept, si X ∈ Kn, on pose deg(0) = 0 sinon deg(X) = r si lacomposante Xr 6= 0 et Xr+i = 0 des que 0 < i ≤ n− r. Nous avons donc si X 6= 0, 1 ≤ deg(X) ≤ n.

Supposons A est de Hessemberg irreductible. La remarque ici est que X 6= 0, deg(AmX) =deg(X) +m pour 0 ≤ m ≤ n− deg(X). En effet, pour une recurrence immediate, il suffit de calculerla composante r+ 1 de AX. Parce que A est de Hessemberg, (AX)r+1 = ar+1 rXr; il est non nul carA est irreductible. Il est clair que (AX)l = 0 des que l > r + 1.

Page 60: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

60

Notons, pour chaque partie F ⊂ Kn, deg(F ) = mindeg(X)/X ∈ F − 0. Si F est un sous-espace vectoriel de Kn, il existe un vecteur non nul X ∈ F tel que deg(X) = deg(F ). Si de plus Fest stable par A (c’est-a-dire Y ∈ F =⇒ AY ∈ F ) nous avons que la famille

e1, e2, . . . , er−1, X,AX,A2X, . . . , An−rX

est une base de Kn. (Ces vecteurs mis en colonne, sont la matrice associee a un systeme lineairehomogene qui se resoud uniquement en remontant).

On en deduit que dimF = n−deg(F )+1. et de plus que vectK(e1, e2, . . . , er−1) est un suplementairede F.

Prennons Y ∈ GLn(C) telle que Y −1diag(λ1, . . . , λn)Y = A, et considerons Y ′q ∈ Mqn(C) lamatrice des q premieres lignes de Y, 1 ≤ q ≤ n. C’est une matrice de rang q. Soit F le noyau decette matrice, il est de dimension n− q. Remarquons que Y A = diag(λ1, . . . , λn)Y d’ou, LiA = λiLipour la ligne i de Y. (Nous apellons des telles lignes des valeurs propres a droite de A, ce ne sontque des transposes de vecteurs propres de la matrice AT .) Il en decoule, que si X est dans le noyaude Y ′q , LiAX = λiLiX = 0, pour chaque i entre 1 et q et donc F est stable par A. Les remarquesci-dessus montrent que n− q = n− deg(F ) + 1, et donc que r = deg(F ) = q + 1. Ainsi l’on sait quevectK(e1, e2, . . . , eq) est un suplementaire de F.

Or il est tout a fait general, et facile que pour une matrice B ∈Mn,m(K), il y a equivalence entre :”Un choix de colonnes Bj1 , Bj2 , . . . , Bjl est lineairement independant” et ”Les vecteurs de la basecanonique ej1 , ej2 , . . . , ejl sont elements d’un suplementaire du noyau de B”.

Ainsi l’on a demontre que les premieres q colonnes de la matrice Y ′q sont independantes. La matriceformee par ces colonnes, Yq ∈ Mq(C) est la sous-matrice principale de taille q de Y, qui a doncdeterminant non nul, et ce pour chaque 1 ≤ q ≤ n. C’est exactement l’hypothese du theoremed’existence et unicite de la decomposition LU. Le Lemme est demontre, si l’on remarque que toutesles operations peuvent etre mennees par blocs.

On peut enfin donner un resultat de convergence pour la methode QR, plus lissible.

Theoreme 30. Soit A ∈ GLn(C) une matrice de Hessemberg irreductible, dont les valeurs propresont des modules deux-a-deux distincts, alors la methode QR converge, et ce dans le sens que lesparties triangulaires inferieures des matrices Ak convergent vers la partie triangulaire inferieure dela matrice diagonale des valeurs propres de A, diagonale comprise. (Lorsque k → +∞.)

Demonstration. Corollaire immediat du theoreme precedent, a l’aide du Lemme.

Corolaire 5. Si A est une matrice hermitienne definie positive, alors la methode QR, definie a partird’une matrice de Hessemberg unitairement semblable a A donne des Ak qui convergent vers la matricediagonale des valeurs propres de A. (Lorsque k → +∞.)

Demonstration. La forme de Hessemberg obtenue par similitude unitaire demeure hermitienne,c’est donc une matrice trigonale. Elle est diagonale par blocs carres, chaque zero dans la sous-diagonale signale le debut d’un bloc irreductible, de sous-diagonale nulle-part-nulle. Chacun de cesblocs est hermitien defini positif (et donc diagonalisable), de Hessemberg, irreductible. Toute lamethode QR se mennera par blocs, le theoreme precedent assure la convergence de la partie trian-gulaire inferieure des Ak. Or toutes ces matrices sont hermitiennes, ce sont les matrices Ak en entierqui convergent vers la diagonale des valeurs propres.

References

[1] D. Serre. Les Matrices, theorie et pratique. Dunod, Paris, 2001.

[2] L. Amodei, J.-P. Dedieu. Analyse Numerique Matricielle. Dunod, Paris 2008.

[3] P. Ciarlet. Introduction a l’analyse numerique matricielle et a l’optimisation. Masson, Paris 1982.

[4] P. Ciarlet et J.-M. Thomas. Exercices d’analyse numerique matricielle et d’optimisation. Masson, Paris 1982.

[5] P. Lascaux et R. Theodor. Analyse numerique matricielle appliquee a l’art de l’ingenieur. Masson, Paris, 1987.

Page 61: ANALYSE MATRICIELLE ET MODELISATION Notes du ...2010/11/20  · ANALYSE MATRICIELLE ET MODELISATION Notes du cours de Claude A. Roche, 2010 Troisi eme ann ee de Licence Math ematiques

61

[6] F. R. Gantmacher. Theorie des matrices I et II. Dunod, Paris, 1966.

[7] N. Gastinel. Analyse numerique lineaire. Hermann, Paris, 1970.

[8] Y. Achdou. http ://www.ann.jussieu.fr/~achdou/node7.html. Paris, 2005.

[9] J.Prado. Introduction a MATLAB http ://www.tsi.enst.fr/~prado/enseignement/polys/matlab.html Pa-ris, 1998.

[10] Consortium SCILAB.http ://www.scilab.org/, INRIA.

[11] B. Pincon. Une introduction a Scilab. http ://www.iecn.u-nancy.fr/~pincon/scilab/docA4.pdf . Nancy,2005.

[12] J. M. Arnaudies, H. Fraysse. Cours de Mathematiques -2 Analyse. Dunod, Paris, 1988.

[13] J.-P. Dedieu. Points fixes, zeros et la methode de Newton. Springer, Berlin, 2006.