Vous êtes sur la page 1sur 109

SuP Galile

Lcole dingnieurs de
lInstitut Galile

Spcialit MACS 1re anne

ANALYSE NUMERIQUE I
L. Halpern

c INSTITUT GALILEE, 99 avenue Jean-Baptiste-Clment 93430 VILLETANEUSE 2007/2008



2
Liste des chapitres

1 Introduction 9

2 Arithmtique en prcision finie 13

3 Gnralits 15

4 Rsolution numrique de systmes linaires par mthodes


directes 31

5 Rsolution numrique de systmes linaires par mthode it-


rative 47

6 Interpolation polynmiale et extrapolation 65

7 Approximation par des polynmes 79

8 Formules de quadrature 89

9 Calcul de vecteurs propres et valeurs propres 101

3
4
Table des matires

1 Introduction 9

2 Arithmtique en prcision finie 13

3 Gnralits 15
3.1 Rappels sur les matrices . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.2 Cas particulier de matrices . . . . . . . . . . . . . . . . 16
3.1.3 Dterminants . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.4 Produit de matrices par blocs . . . . . . . . . . . . . . 18
3.2 Rduction des matrices . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Algorithme, complexit . . . . . . . . . . . . . . . . . . . . . . 19
3.4 Systmes linaires, dfinitions . . . . . . . . . . . . . . . . . . 20
3.5 Norme de vecteurs et de matrices . . . . . . . . . . . . . . . . 23
3.6 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6.1 Erreur darrondi . . . . . . . . . . . . . . . . . . . . . . 27
3.6.2 Conditionnement dun problme . . . . . . . . . . . . . 27
3.6.3 Conditionnement dune matrice . . . . . . . . . . . . . 28
3.7 Notion de prconditionnement . . . . . . . . . . . . . . . . . . 30

4 Rsolution numrique de systmes linaires par mthodes


directes 31
4.1 Mthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1.1 Systmes triangulaires . . . . . . . . . . . . . . . . . . 31
4.1.2 Dcomposition LU : un rsultat thorique . . . . . . . 33
4.1.3 Dcomposition LU : mthode de Gauss . . . . . . . . 35
4.1.4 Mthode de Crout . . . . . . . . . . . . . . . . . . . . 38
4.1.5 Complexit de lalgorithme . . . . . . . . . . . . . . . . 39
4.1.6 mthode du pivot partiel . . . . . . . . . . . . . . . . . 40
4.2 Mthode de Cholewski . . . . . . . . . . . . . . . . . . . . . . 44

5
5 Rsolution numrique de systmes linaires par mthode it-
rative 47
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Norme de vecteurs et de matrices . . . . . . . . . . . . . . . . 50
5.3 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.4 Suite de vecteurs et de matrices . . . . . . . . . . . . . . . . . 56
5.5 Rsultats gnraux de convergence . . . . . . . . . . . . . . . 57
5.5.1 Cas des M-matrices . . . . . . . . . . . . . . . . . . . . 57
5.5.2 Cas des matrices hermitiennes . . . . . . . . . . . . . . 58
5.6 Mthodes classiques . . . . . . . . . . . . . . . . . . . . . . . . 58
5.7 Cas des matrices tridiagonales, comparaison des mthodes . . 61
5.8 Mthode de Richardson . . . . . . . . . . . . . . . . . . . . . . 62
5.9 La matrice du laplacien en dimension 1 . . . . . . . . . . . . . 62
5.10 Complexit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.11 Mthodes par blocs . . . . . . . . . . . . . . . . . . . . . . . . 63

6 Interpolation polynmiale et extrapolation 65


6.1 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . 65
6.1.1 Formulation barycentrique . . . . . . . . . . . . . . . . 67
6.1.2 Formule de Newton . . . . . . . . . . . . . . . . . . . . 69
6.1.3 estimation derreur . . . . . . . . . . . . . . . . . . . . 71
6.1.4 Convergence de pn vers f . . . . . . . . . . . . . . . . . 74
6.2 Interpolation dHermite . . . . . . . . . . . . . . . . . . . . . . 75
6.3 Interpolation par morceaux . . . . . . . . . . . . . . . . . . . 76
6.3.1 Interpolation affine . . . . . . . . . . . . . . . . . . . . 76
6.3.2 Interpolation par fonctions splines . . . . . . . . . . . . 77

7 Approximation par des polynmes 79


7.1 Thormes gnraux . . . . . . . . . . . . . . . . . . . . . . . 79
7.2 Polynmes orthogonaux, moindres carrs . . . . . . . . . . . . 80
7.3 Moindres carrs discrets . . . . . . . . . . . . . . . . . . . . . 81
7.4 Rgression linaire . . . . . . . . . . . . . . . . . . . . . . . . 84
7.5 Rsolution des quations normales . . . . . . . . . . . . . . . . 84
7.5.1 Mthode de Cholewski . . . . . . . . . . . . . . . . . . 84
7.5.2 Dcomposition QR . . . . . . . . . . . . . . . . . . . . 84
7.5.3 Dcomposition QR par matrices de Householder . . . . 86
7.5.4 Lien avec lorthogonalisation de Gram-Schmidt . . . . 88

8 Formules de quadrature 89
8.1 Formules de quadrature lmentaires . . . . . . . . . . . . . . 91
8.2 Mthode composite . . . . . . . . . . . . . . . . . . . . . . . . 94

6
8.3 Mthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . 98

9 Calcul de vecteurs propres et valeurs propres 101


9.1 Gnralits, outils matriciels . . . . . . . . . . . . . . . . . . . 101
9.1.1 Matrices de Householder . . . . . . . . . . . . . . . . . 101
9.1.2 Quotients de Rayleigh . . . . . . . . . . . . . . . . . . 102
9.1.3 Conditionnement dun problme de valeurs propres . . 102
9.2 Dcompositions . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9.2.1 Dcomposition QR . . . . . . . . . . . . . . . . . . . . 102
9.2.2 Tridiagonalisation dune matrice symtrique . . . . . . 104
9.3 Algorithmes pour le calcul de toutes les valeurs propres dune
matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.3.1 Mthode de Jacobi . . . . . . . . . . . . . . . . . . . . 105
9.3.2 Mthode de Givens ou bisection . . . . . . . . . . . . . 106
9.4 Mthode de la puissance itre . . . . . . . . . . . . . . . . . . 107
8
Chapitre 1

Introduction

Le Calcul Scientifique se propose de mettre un problme issu de la phy-


sique, de lconomie, de la chimie, de lingnierie, en quations, cest ltape
de la modlisation, et de les rsoudre. Ces quations sont souvent trs com-
plexes, et font intervenir normment de paramtres. Elles sont en gnral
impossible rsoudre de faon exacte (comme le serait une quation diffren-
tielle du second degr par exemple, modlisant le mouvement dun pendule
de longueur l :
g
x + sinx = 0. (1.1)
l
Le problme linaris pour de petits mouvements du pendule scrit
g
x + x = 0 (1.2)
l
p p
peut se rsoudre sous la forme x = x0 cos gl t + x0 sin gl t. On peut alors
calculer x(t) pour tout temps de faon exacte (modulo les erreurs darrondi).
Par contre on ne connait pas de solution exacte de lquation (1.1). On est
donc amen en chercher une solution approche en un certain nombre de
points (cf cours de mise niveau) : On souhaite calculer x dans lintervalle
]0, T [, connaissant x(0) = x0 et x (0) = x0 . On se donne une suite dinstants
tn = nt, avec T = Nt, et on crit une approximation de la drive seconde
x(tn+1 ) 2x(tn ) + x(tn1 )
x (tn ) = 2
+ O(t2 ) (1.3)
t
et on remplace lquation par
yn+1 2yn + yn1 g
+ sin(yn ) = 0. (1.4)
t2 l
Puisque lon a une quation de rcurrence 2 niveaux, il faut se donner y0
et y1 . Nous verrons plus tard comment calculer y1 . Lquation (1.4) est une
approximation de lquation (1.1). Il est souhaitable que

9
1. (1.4) ait une solution unique,
2. yn x(tn ), cest la consistance,
3. une erreur petite sur les donnes initiales y0 et y1 produise une erreur
faible sur yn : cest la stabilit.
Ce sont les 3 notions de base en Calcul Scientifique. Lquation (1.4) peut
aussi se mettre sous forme condense, F (Y ) = b, cest alors un systme non
linaire dont il faut trouver une solution.
Lapproximation par diffrences finies de (1.2) scrit
yn+1 2yn + yn1 g
+ yn = 0. (1.5)
t2 l
Elle peut se mettre sous forme dun systme linaire, cest--dire AY = b, o

1 0 y0
0 1 0 y0 y1

.
A = 0 1 1 , Y = .. , b = 0 ,

.. .. .. .
..

. . . 1 yN
0 1 0
g
avec = 2 + t2 . De manire gnrale, toute quation issue de la modlisa-
l
tion est ensuite discrtise puis mise sous la forme dun systme, diffrentiel
ou non, linaire ou non. Tout commence par la rsolution des systmes li-
naires, puis des quations non linaires, puis des quations diffrentielles.
Nous verrons en deuxime anne les modles dquations aux drives par-
tielles.

10
Bibliographie

[1] G. Allaire, S.M. Kaber, Algbre linaire numrique. Ellipses, 2002


[2] M. Schatzmann, Numerical Analysis, A Mathematical Introduc-
tion.Oxford University Press, 2002.
[3] P. Lascaux, R. Theodor,Analyse numrique matricielle applique lart
de lingnieur. Masson.
[4] E. Hairer : consulter la page http://www.unige.ch/ hairer/polycop.html

11
12
Chapitre 2

Arithmtique en prcision finie

Voir http ://www.math.univ-paris13.fr/ japhet/Doc/Handouts/RoundOffErrors.pdf

13
14
Chapitre 3

Gnralits

3.1 Rappels sur les matrices


3.1.1 Dfinitions
Une matrice (m, n) est un tableau m lignes et n colonnes

a11 a12 a1n
a21 a22 a2n

A = .. .. . . ..
. . . .
am1 am2 amn

Cest aussi la matrice dune application linaire A de K n dans K m o K est


R ou C : une base e1 , , en tant choisie dans K n , et une base f1 , , fm
dans K m , A est dfini par
n
X
1 j n, A(ej ) = aij fi
i=1

Le j-me vecteur colonne de A reprsente donc la dcomposition de A(ej )


dans la base f1 , , fm .

Dfinition 3.1 Lapplication linaire A est injective si

A(x) = 0 x = 0

Dfinition 3.2 Lapplication linaire A est surjective si pour tout b dans


K m , on peut trouver x dans K n tel que A(x) = b

15
Dfinition 3.3 Lapplication linaire A est bijective si elle est la fois in-
jective et surjective.

Si A est bijective , on a m = n, la matrice A est carre.


Oprations sur les matrices
1. Somme : On peut ajouter deux matrices de mme dimension (m, n) et
(A + B)ij = (A)ij + (B)ij

2. Produit par un scalaire : Pour dans K, on peut faire le produit A


et
(A)ij = (A)ij
3. Produit de 2 matrices : Pour A(m, n) et B(n, p) on peut faire le produit
AB, de dimension(m, p) et
n
X
(AB)ij = (A)ik (B)kj
k=1

4. Transpose dune matrice : Pour A(m, n) la transpose de A est de


dimension (n, m) et est dfinie par ( tA)ij = Aji .
5. Adjointe dune matrice : Pour A(m, n) ladjointe de A est de dimension
(n, m) et est dfinie par (A )ij = Aji .
6. Inverse dune matrice carre : on dit que la matrice carre A est in-
versible si il existe une matrice B telle que AB = BA = I. La matrice
B est appele linverse de A et note A1 .

3.1.2 Cas particulier de matrices


Toutes les matrice considres dans ce paragraphe sont carres.
1. Matrices symtriques : elles vrifient tA = A, ou encore aij = aji .
2. Matrices hermitiennes : elles vrifient A = A, ou encore a ij = aji .
3. Matrices diagonales : elles vrifient aij = 0 pour i 6= j.
4. Matrices triangulaires infrieures : elles vrifient aij = 0 pour j > i, i.e.
elles ont la forme

0 0 0
0 0


A= . .
. 0 0

0

16
5. Matrices triangulaires suprieures : elles vrifient aij = 0 pour j < i,
i.e. elles ont la forme


0


A= 0 0 ..
.

0 0 0
0 0 0

Les matrices triangulaires sont importantes pour la rsolution numrique


des systmes car elles ont les proprits suivantes :
La transpose dune matrice triangulaire infrieure est triangulaire su-
prieure et rciproquement ;
Le produit de deux matrices triangulaires infrieures est triangulaire
infrieure et le produit de deux matrices triangulaires suprieures est
triangulaire suprieure.
Linverse dune matrice triangulaire infrieure est triangulaire infrieure
et linverse dune matrice triangulaire suprieure est triangulaire sup-
rieure.

3.1.3 Dterminants
Le dterminant dune matrice carre A se note det A, ou

a11 a12 a1n


a21 a22 a2n
det A = .. .. .. ..
. . . .
an1 an2 ann
Il obit la rgle de calcul de dveloppement par rapport une ligne ou une
colonne et a les proprits suivantes
1. det I = 1,
2. det tA = det A,
3. det A = det A,
4. pour tout scalaire (complexe ou rel) , det( A) = n det A,
5. det AB = det A det B,
1
6. Si A est inversible, det A1 = ,
det A
7. Le dterminant dune matrice triangulaire est gal au produit de ses
lments diagonaux.

17
3.1.4 Produit de matrices par blocs
On dcompose la matrice carre A de la faon suivante :

a11 a1J a1J+1 a1n
.. .. .. ..
. . . .

aI1 aIJ aIJ+1 aIn  



A11
(I,J) A21
(I,nJ)
A= =
A12 22
(nI,J) A(nI,nJ)

aI+11 aI+1J aI+1J+1 aI+1n
. .. .. ..
.. . . .
an1 anJ anJ+1 ann

a11 a1J
.. ..
La matrice A11
(I,J) = . . est de dimension(I, J),
aI1 aIJ

a1J+1 a1n
.. .. est de dimension(I, n J),
A21
(I,nJ) = . .
aIJ+1 aIn

aI+11 aI+1J
.. ..
A12
(nI,J) = . . est de dimension(n I, J),
a anJ
n1
aI+1J+1 aI+1n
.. ..
A21
(nI,nJ) = . . est de dimension(n I, n J).
anJ+1 ann
Si lon prend une matrice B partitionne de la faon suivante :
 11 21 
B(J,K) B(J,nK)
B= 12 22 ,
B(nJ,K) B(nJ,nK)
alors on peut faire le produit AB comme si lon avait affaire des matrices
22 :
 11 11 
A B + A12 B 21 A11 B 12 + A12 B 22
AB = ,
A21 B 11 + A22 B 21 A21 B 12 + A22 B 22

3.2 Rduction des matrices


Soit A une matrice carre n n, on dit que est valeur propre si il
existe un x 6= 0 tel que Ax = x. On dit alors que x est un vecteur propre

18
associ la valeur propre . Les valeurs propres sont les zros du polynme
caractristique p(x) = det(A xI). Lespace propre assoc la valeur propre
est E = Ker(A I). On appelle multiplicit de la valeur propre sa
multiplicit en tant que zro de p.
On dit que A est diagonalisable si il existe une base (f1 , , fn ) de Rn
constitue de vecteurs propres de A associs au valeurs propres 1 , , n
(comptes sans la multiplicit). On a alors pour tout i Afi = i fi . On pourra
crire matriciellement A = P P 1 o est la matrice diagonale des valeurs
propres de A, et P la matrice des vecteurs propres.
Thorme 3.1 La matrice A est diagonalisable sur R (resp. sur C) si et
seulement si
1. ses valeurs propres sont dans R (resp. sur C),
2. pour chaque valeur propre la dimension du sous-espace propre est gale
la multiplicit.

Corollaire 3.1 Une matrice dont toutes les valeurs propres sont simples est
diagonalisable.

Thorme 3.2 Une matrice symtrique est diagonalisable en base orthonor-


me.

Thorme 3.3 (Thorme de Schur) Pour toute matrice carre A, il existe


une matrice unitaire U telle que U AU est triangulaire. Si de plus A est
normale, il existe une matrice une matrice unitaire U telle que U AU est
diagonale.

3.3 Algorithme, complexit


Quest-ce quun algorithme ? Cest une suite doprations lmentaires
ncessaires pour raliser une tche donne. Quest-ce quune opration l-
mentaire ? Dans lalgorithme dEuclide par exemple pour trouver le pgcd de
2 polynmes a et b, une opration lmentaire est la division euclidienne :
a = bq0 + r0 , r0 = 0 ou dr0 < da,
b = r0 q1 + r1 , r1 = 0 ou dr1 < dr0
r0 = r1 q2 + r2 , r2 = 0 ou dr2 < dr1
on a alors a b = b r0 = = rn1 rn tant que rn 6= 0. La suite des drk
est une suite dentiers strictement dcroissante, il existe donc un n tel que
rn+1 = 0. On a alors a b = rn . Cest la forme que lon a apprise lcole.
On peut crire lalgorithme sous la forme

19
d1 = da; d2 = db ;
si d1 < d2 , p1 = b & p2 = a ;
sinon p1 = a & p2 = b ;
tant que p2 6= 0,
p1 = q p2 + r
si r = 0, pgcd = p2
sinon p1 = p2 ; p2 = r
et on normalise.

Les oprations lmentaires sont +, , , /. La complexit dun algorithme


est le nombre doprations lmentaires ncessaires la rsolution de lalgo-
rithme. Prenons lexemple du produit de deux matrices. Soit A une matrice
m n, B une matrice n p. Pour calculer le produit AB on a lalgorithme
avec des boucles
Donnes A,B
%Initialisation C=zeros(m, p) ;
Pour i = 1 : m ;
Pour j = 1 : p ;
Pour k = 1 : n ;
C(i, j) = C(i, j) + A(i, k) B(k, j) ;
Fin ;
Fin ;
Fin ;
Pour calculer chaque C(i, j) on a n multiplications et n 1 additions. Ce qui
fait nmp multiplications et (n 1)mp additions. Pour des matrices carres,
on obtient en tout, (2n1)n2 . On a longtemps travaill sur ces questions : cet
algorithme est-il optimal, cest--dire existe-t-il des algorithmes de calcul de
AB qui ncessitent moins doprations ? La rponse est oui : lalgorithme de
Strassen qui ncessite moins de nlog2 (7) oprations lmentaires avec log2 (7)
2.81. Voir [1].

3.4 Systmes linaires, dfinitions


Rsoudre un systme linaire de n quations m inconnues, cest trouver
m nombres, rels ou complexes, x1 , , xm , tels que

a11 x1 + a12 x2 + + a1m xm = b1


a21 x1 + a22 x2 + + a2m xm = b2
.. .. (3.1)


. . . . .
a x +a x ++a x = bn
n1 1 n2 2 nm m

20
Les donnes sont les coefficients aij , 1 i n, 1 j m et bj , 1 j n.
On appelle systme homogne associ le systme obtenu pour b = (0, , 0).
Il est quivalent de se donner la matrice A des coefficients aij et le vecteur b
des bj :

a11 a12 a1m b1
a21 a22 a2m b2

A = .. .. . . .. , b = ..
. . . . .
an1 an2 anm bn
et de chercher un vecteur

x1

x2

x= ..
.
xm
tel que

Ax = b
Il sera souvent utile dcrire (3.1) sous la forme


a11 a12 a1m b1

a21


a22


a2m
b2

x1 .. + x2 .. + + xm .. = .. (3.2)
. . . .
an1 an2 anm bn

a1j

a2j

Soit, en notant a(j) le j-me vecteur colonne de A, a(j) = .. ,
.
anj

x1 a1 + x2 a2 + xm am = b

On en dduit un premier rsultat : le systme (3.1) admet une solution si


et seulement si b appartient au sous-espace vectoriel de Rn engendr par les
m vecteurs colonnes de A : L(a(1) , , a(m) ). On appelle rang du systme le
rang de la matrice A, cest la dimension de L(a(1) , , a(m) ). Cest aussi la
taille dun mineur de A dordre maximum non nul.
1. On sinteresse dabord aux systmes carrs, tels que m = n.

21
Thorme 3.4 Supposons m = n. Alors les proprits suivantes sont
quivalentes :
(i) A est inversible,
(ii) det(A) 6= 0,
(iii) pour tout b dans Rn , le systme (3.1) admet une solution et une
seule,
(iv) le systme homogne associ nadmet que la solution triviale x =
(0, , 0).
Remarquons que si A nest pas inversible, son noyau est de dimension
n r daprs le thorme du rang. Soit b est dans ImA, il existe une
solution X, et toutes les solutions sont obtenues en ajoutant X un
lment de KerA. Si b nest pas dans ImA, lensemble des solutions est
vide. Remarquons quil nest pas forcment vident de savoir si A est
inversible, cela vient en gnral avec ltude de la mthode numrique
dont le systme est issu.
2. Supposons maintenant que r = n < m. Il y a plus dinconnues que
dquations : le systme est sous-dtermin. Supposons, par un chan-
gement de numrotation, que le dterminant

a11 a12 a1n

a21 a22 a2r

.. .. . . ..
. . . .

an1 an2 ann

soit non nul. On dit que x1 , , xn sont les inconnues principales,


xr+1 , , xn sont les inconnues non principales. On rcrit le systme
sous la forme


a11 x1 + a12 x2 + + a1n xn = b1 (a1r+1 xr+1 + + a1m xm )

a21 x1 + a22 x2 + + a2n xn = b2 (a2r+1 xr+1 + + a2m xm )
. .
..
. . . ..

a x +a x ++a x
n1 1 n2 2 nn n = bn (anr+1 xr+1 + + anm xm )

Pour un second membre donn b, pour chaque choix de (xr+1 , , xn )


dans Rnr , il y a une seule solution x1 , , xr . Lensemble des solu-
tions est un espace affine de dimension n r. On dira quil y a une
indtermination dordre m n.
3. Cas o r < n. Alors on ne peut pas avoir une solution pour tout se-
cond membre b, puisque L(a(1) , , a(m) ) $ Rn . On a alors r quations
principales, supposons que ce soient les r premires. Nous raisonnons

22
maintenant sur les vecteurs lignes. Notons l(i) les vecteurs lignes de A.
Le systme se rcrit
(1)
l x = b1

l(2) x

= b2
. .
.. . . . ..



l(r) x = br
(r+1)


l x = br+1
. .
.. . . . ..



(n)
l x = bn

(l(1) , , l(r) ) forment un systme libre. Le systme constitu des r pre-


mires quations relvent donc de lanalyse 2. On peut alors exprimer
l(r+1) , , l(n) en fonction de (l(1) , , l(r) ) :

l(j) = j1l(1) + jr l(r)

Si lon fait une combinaison linaire des r premires lignes avec les
coefficients jk , on obtient

l(j) x = j1 b1 + jr br

dune part, et bj daprs le systme. On a donc le


Thorme 3.5 Suppososns que les r premires lignes (l(1) , , l(r) )
sont indpendantes, et que les autres lignes vrifient

l(j) = j1 l(1) + jr l(r) , r + 1 j n (3.3)

Alors toute solution du systme principal (systme des r premires


quations) est solution de (3.1) si et seulement si

bj = j1 b1 + jr br , r + 1 j n (3.4)

(3.4) constituent les conditions de compatibilit. Si elles ne sont pas


satisfaites, le systme est impossible. Si elles sont satisfaites, il y a une
indtermination dordre m-r comme en 2.

3.5 Norme de vecteurs et de matrices


Dfinition 3.4 Une norme sur un espace vectoriel V est une application
kk : V R+ qui vrifie les proprits suivantes

23
kvk = 0 v = 0,
kvk = || kvk, K, v V,
ku + vk kuk + kvk , (u, v) V 2 (ingalit triangulaire)
Une norme sur V est galement appele norme vectorielle . On appelle
espace vectoriel norm un espace vectoriel muni dune norme.

Les trois normes suivantes sont les plus couramment utilises sur Cn :
n
X
kvk1 = |vi |
i=1
n
!1/2
X
kvk2 = |vi |2
i=1
kvk = max |vi | .
i

La deuxime norme Pnest la norme euclidienne sur C . Elle drive du produit


n

scalaire (u, v)2 = i=1 ui vi .

Thorme 3.6 Soit V un espace de dimension finie. Pour tout nombre rel
p 1, lapplication v 7 kvkp dfinie par

n
!1/p
X
kvkp = |vi |p
i=1

est une norme.


1 1
Rappel 3.1 Pour p > 1 et p
+ q
= 1, lingalit

n n
!1/p n
!1/q
X X p
X q
kuvk1 = |ui vi | |ui | |vi | = kukp kvkq
i=1 i=1 i=1

sappelle lingalit de Hlder.

Dfinition 3.5 Deux normes kk et kk , dfinies sur un mme espace vec-


toriel V, sont quivalentes sil existe deux constantes C et C telles que

kvk C kvk et kvk C kvk pour tout v V.

Rappel 3.2 Sur un espace vectoriel de dimension finie toutes les normes
sont quivalentes.

24
Dfinition 3.6 Soit Mn lanneau des matrices dordre n, lments dans
le corps K. Une norme matricielle est une application kk : Mn R+
vrifiant
1. kAk = 0 A = 0,
2. kAk = || kAk, K, A Mn ,
3. kA+Bk kAk + kBk , (A, B) M2n (ingalit triangulaire)
4. kABk kAk kBk , (A, B) M2n

Rappel 3.3 Etant donn une norme vectorielle kk sur Kn , lapplication


kk : Mn (K) R+ dfinie par

kAvk
kAk = sup = sup kAvk = sup kAvk ,
vKn kvk vKn vKn
v6=0 kvk1 kvk=1

est une norme matricielle, appele norme matricielle subordonne ( la


norme vectorielle donne).
De plus
kAvk kAk kvk v Kn
et la norme kAk peut se dfinir aussi par

kAk = inf { R : kAvk kvk , v Kn } .

Il existe au moins un vecteur u tel que

u 6= 0 et kAuk = kAk kuk .

Enfin une norme subordonne vrifie toujours

kIk = 1

Thorme 3.7 Soit kAk = (aij ) une matrice carre. Alors

df. kAvk1 X
kAk1 = sup = max |aij |
vCn kvk1 j
i
v6=0

df. kAvk2 p p
kAk2 = sup = (A A) = (AA ) = kA k2
vCn kvk2
v6=0

df. kAvk X
kAk = sup = max |aij |
vCn kvk i
j
v6=0

25
La norme kk2 est invariante par transformation unitaire :

UU = I = kAk2 = kAUk2 = kUAk2 = kU AUk2 .

Par ailleurs, si la matrice A est normale :

AA = A A = kAk2 = (A) .

Remarque 3.1 1. Si une matrice A est hermitienne, ou symtrique (donc


normale), on a kAk2 = (A) .
2. Si une matrice A est unitaire ou orthogonale (donc normale), on a
kAk2 = 1.

Thorme 3.8 1. Soit A une matrice carre quelconque et kk une norme


matricielle subordonne ou non, quelconque. Alors

(A) kAk .

2. Etant donn une matrice A et un nombre > 0, il existe au moins une


norme matricielle subordonne telle que

kAk (A) + .

Thorme 3.9 Lapplication kkE : Mn R+ dfinie par


!1/2
X 2
p
kAkE = |aij | = tr (A A),
i,j

pour toute matrice A = (aij ) dordre n, est une norme matricielle non subor-
donne (pour n 2), invariante par transformation unitaire :

UU = I = kAkE = kAUkE = kUAkE = kU AUkE

et qui vrifie

kAk2 kAkE n kAk2 , A Mn .

De plus kIkE = n.

26
3.6 Conditionnement
3.6.1 Erreur darrondi
Un nombre rel scrit de faon unique x = a10b , o a est la mantisse,
b lexposant, entier. a est un nombre rel tel que 0.1 a < 1. Larrondi de
x termes est not arr (x) = x et est gal a10b, avec a . par
= 0. |{z}

exemple = 3.141592653 scrit = 0. 31415926
| {z } 53 10 , et avec = 8,
1

8
on a | {z } 10 .
= 0. 31415927 1

Dfinition 3.7 La prcision de lordinateur est le plus petit eps tel que
arr (1 + eps) > 1.
0} 49 101 ,
x = 0. |10 {z arr (x) = 1,

0} 50 101 ,
x = 0. |10 {z 0} 1 101 > 1,
arr (x) = 1. |10 {z

On en dduit que eps = 510


. Si lon

calcule en base 2, on aura 2 .
l
xarr (x)
On a pour tout x 6= 0, x < eps. En effet

x arr (x) (a a) 10b (a a


) 5101
= = = 510 = eps
x a 10b a 101
On peut crire aussi arr (x) = x(1 + ), avec || < eps.

3.6.2 Conditionnement dun problme


Soit P un problme, cest--dire une application de RN dans R. Par
exemple le produit de 2 nombres scrit

(x1 , x2 ) 7 x1 x2 .

Le conditionnement de P mesure linfluence dune perturbation de x sur la


solution du problme P (x) :
Dfinition 3.8 La condition K de P est le plus petit nombre tel que

x x P (x) P (
x )
x < eps
< K eps
P (x)

Si K est grand, le problme est mal conditionn, si K nest pas trop grand,
le problme est bien conditionn.

27
Exemple 3.1 : produit de 2 nombres. Soient xi = (1+i )xi , et = max(|i |).
x1 x2 x1 x2
= (1 + 1 )(1 + 2 ) 1 = 1 + 2 + 1 2 ,
x1 x2
do
x1 x2 x1 x2
2 + 2
x1 x2
Comme 2 est ngligeable devant , on a K 2.

3.6.3 Conditionnement dune matrice


On veut estimer x y, o x est solution du systme linaire, et y solution
du systme perturb

Axx = b,
(A + A) y = (bb + bb) .

Exemple de R.S. Wilson :



10 7 8 7 32
7 5 6 5 23
A= 8 6 10 9 , b = 33 ,

7 5 9 10 31

10 7 8, 1 7, 2 32, 01
7, 08 5, 04 6 5 , b + b = 22, 99 ,

A + A = 8 5, 98 9, 89 9 33, 01
6, 99 4, 99 9 9, 98 30, 99

0 0 0, 1 0, 2 0, 01
0, 08 0, 04 0 0 , b = 0, 01 .

A = 0 0, 02 0, 11 0 0, 01
0, 01 0, 01 0 0, 02 0, 01

1
1
Axx = b x = 1 ,

1

1, 82 0, 82
0, 36
, = x = u x = 1, 36

u = b + b u =
Au 1, 35 0, 35
0, 79 0, 21

28

81 82
137 136
34 , = x = v x = 35
(A + A) v = b v =

22 21
Dfinition 3.9 Soit k.k une norme matricielle subordonne, le conditionne-
ment dune matrice rgulire A, associ cette norme, est le nombre

cond(A) = kAk A1 .
Nous noterons condp (A) = kAkp kA1 kp .
Thorme 3.10 Soit A une matrice inversible. Soient x et x + x les so-
lutions respectives de
x = b et A (x
Ax x + x
x) = b + b
b.
Supposons b 6= 0 , alors lingalit
x
kx
xk b
kb
bk
cond(A)
xk
kx kbbk
est satisfaite, et cest la meilleure possible : pour une matrice A donne, on
peut trouver des vecteurs b 6= 0 et b 6= 0 tels quelle devienne une galit.
Dmonstration Il suffit de soustraire les 2 quations. x est solution du
systme linaire
x = b
Ax
do
b
kb
bk b
kb
bk
xk A1
x
kx kbbk A1 kAk kx
xk
kbbk kbbk

Thorme 3.11 Soit A une matrice inversible. Soient x et x + x les so-


lutions respectives de
x = b et (A + A) (x
Ax x + x
x) = b .
Supposons b 6= 0 , alors lingalit
x
kx
xk kAk
cond(A) .
x + x
kx xk kAk
est satisfaite, et cest la meilleure possible : pour une matrice A donne, on
peut trouver un vecteur b 6= 0 et une matrice A 6= 0 tels quelle devienne
une galit.

29
Thorme 3.12 1. Pour toute une matrice inversible A,

cond(A) 1,
cond(A) = cond(A1 ),
cond(A) = cond(A), pour tout scalaire 6= 0

2. Pour toute matrice inversible A,


max
cond2 (A) =
min
o max et min sont respectivement la plus grande et la plus petite
valeur singulire de A.
3. Si A est une matrice normale,

max |i (A)|
i
cond2 (A) =
min |i (A)|
i

o les i (A) sont les valeurs propres de A.


4. Le conditionnement cond2 (A) dune matrice unitaire ou orthogonale
vaut 1.
5. Le conditionnement cond2 (A) est invariant par transformation unitaire

UU = I = cond2 (A) = cond2 (AU) = cond2 (UA) = cond2 (U AU).

Rappel 3.4 Les valeurs singulires dune matrice rectangulaire A sont les
racines carres positives des valeurs propres de A A.

3.7 Notion de prconditionnement


Lorsque lon veut rsoudre un systme linaire Ax = b avec une matrice
mal conditionne, il peut tre intressant de de multiplier gauche par une
matrice C telle CA soit mieux conditionne. Lexemple le plus simple est
le prconditionnement diagonal, o la matrice C est la matrice diagonale
constitue des inverses des lments diagonaux de A.

30
Chapitre 4

Rsolution numrique de systmes


linaires par mthodes directes

4.1 Mthode de Gauss


4.1.1 Systmes triangulaires
Considrons un systme triangulaire (infrieur) du type :


a11 x1 = b1

a21 x1 + a22 x2 = b2
. .. ..


.
a x +a x ++a x = b
n1 1 n2 2 nn n n

cest--dire associ a une matrice triangulaire infrieure



a11 0 0 0
a21 a22 0 0

.. .
. . . .
.
A= . . . .

an1n1 0
an1 an1 ann
la rsolution est trs aise : on commence par rsoudre la premire qua-
tion :

Si a11 6= 0, x1 = b1 /a11
puis on reporte la valeur de x1 ainsi determine dans la deuxime quation
et on calcule x2 , etc. A ltape i on a :

31
Si aii 6= 0, xi = (bi ai1 x1 ai2 x2 aii1 xi1 )/aii .
ce qui ncessite 3 instructions pour limplmentation. Regardons la com-
plexit de lalgorithme, cest-a-dire le nombre doprations lmentaires pour
la rsolution du systme. Une opration lmentaire est une des 4 oprations
addition(+), soustraction(), multiplication() et division (/). En gnral
on les groupe en addition/soustraction et multiplication/division. On appelle
N + et N les nombres doprations correspondants.
On peut tablir le tableau suivant

ligne N+ N
1 0 1
.. .. ..
. . .
i i1 i
.. .. ..
. . .
n n1 n
Do le nombre total doprations en sommant sur i :
X n(n 1)
N+ = (i 1) =
i=1,n
2
X n(n + 1)
N = (i) =
i=1,n
2
La dmarche est la mme pour un systme triangulaire suprieur, i.e.


a11 x1 + a12 x2 + + a1n xn = b1

+ a22 x2 + a2n xn = b2
. .. ..


.
ann xn = bn
On le rsout en remontant :

Si ann 6= 0, xn = bn /ann

puis on reporte la valeur de xn ainsi dtermine dans la deuxime quation


et on calcule xn 1, etc. A letape i on a :

Si aii 6= 0, xi = (bi aii+1 xi+1 aii+2 xi+2 ain xn )/aii .

Le nombre doprations est le mme.

32
4.1.2 Dcomposition LU : un rsultat thorique
Le principe de la mthode est de se ramener deux systmes triangulaires.
1) On dcompose la matrice A en le produit de deux matrices

A = LU

o U est triangulaire suprieure, et L est triangulaire infrieure avec des 1


sur la diagonale. On a alors rsoudre le systme

LUx = b,

2) On rsout le systme triangulaire

Ly = b

dinconnue y,
3) On rsout le systme triangulaire

Ux = y

dinconnue x.
Reste maintenant savoir comment faire cette dcomposition LU.
Commenons par un rsultat thorique

Thorme 4.1 Soit A une matrice inversible dordre n dont les mineurs
principaux sont non nuls. Alors il existe une unique matrice L triangulaire
infrieure avec des 1 sur la diagonale, et une unique
Q matrice U triangulaire
suprieure telles que A = LU. De plus det (A) = ni=1 uii .

Rappelons que le mineur principal dordre i de A est le dterminant des i


premires lignes et premires colonnes :

a11 a12 a1i


a21 a22 a2i
(det A)i = .. .. .. ..
. . . .
ai1 ai2 aii
La dmonstration se fait par rcurrence sur n.
Etape 1 : le rsultat est videmment vrai pour n = 1.
Etape 2 : on suppose le rsultat vrai pour n 1. On dcompose la matrice
A par blocs sous la forme
 (n1) 
A c
A=
bT ann

33
o A(n1) est la matrice (n 1) (n 1) des (n 1) premires lignes et
colonnes de A, c et b sont des vecteurs colonnes donns par

a1n an1
c = ... ..

, b = .
an1n ann1

La matrice A(n1) a les mmes mineurs principaux que A, on peut donc


lui appliquer lhypothese de rcurrence :il existe deux matrices L(n1) trian-
gulaire infrieure avec des 1 sur la diagonale, et U (n1) triangulaire suprieure
telles que A(n1) = L(n1) U (n1) . Cherchons alors L et U dcomposes par
blocs sous la forme
   
L(n1) 0 U (n1) u
L= t , U= ,
l 1 0 unn
En effectuant le produit par blocs et en identifiant a la dcomposition de A,
on obtient le systeme dquations

A(n1) = L(n1) U (n1)


t
b = tlU (n1)
c = L(n1) u
ann = tlu + unn
Ceci se rsout immdiatement par
t
l = tb(U (n1) )1
u = (L(n1) )1 c
unn = ann tb(A(n1) )1 c

La question de lunicit se rgle de la facon suivante. Supposons quil existe


2 couples de matrices (L(1) , U(1) ) et (L(2) , U(2) ) tels que

A = L(1) U(1) = L(2) U(2)


Puisque toutes ces matrices sont inversibles, on en dduit que

U(1) (U(2) )1 = (L(1) )1 L(2)


Dans le membre de gauche on a une matrice triangulaire suprieure, dans le
membre de droite on a une matrice triangulaire infrieure avec des 1 sur la
diagonale. Pour quelles coincident, il faut quelles soient gales a lidentit.

34
4.1.3 Dcomposition LU : mthode de Gauss

Pour construire les matrices L et U, on applique la mthode de Gauss qui


consiste trigonaliser le systme pas a pas. Reprenons le systme (3.2), et
notons Li la ime ligne du systme. En supposant le premier pivot a11 non
nul, soustrayons chaque ligne Li la premire ligne L1 divise par a11 et mul-
tiplie par ai1 : cette opration annule le coefficient de x1 dans les lignes 2 n.

L1 a11 x1 + a12 x2 + + a1n xn = b1


a21
L2 a11
a21 x1 + a22 x2 + + a2n xn = b2
.. .. ..
. . .
ai1
Li a11
ai1 x1 + ai2 x2 + + ain xn = bi
.. .. ..
. . .
an1
Ln a11
an1 x1 + an2 x2 + + ann xn = bn

ai1
On note mi1 = a11
pour 1 i n. On obtient alors le nouveau systme

a11 x1 + a12 x2 + + a1n xn = b1


(a22 m21 a12 )x2 + + (a2n m21 a1n )xn = b2 m21 b1
.. ..
. .
(ai2 mi1 a12 )x2 + + (ain mi1 a1n )xn = bi mi1 b1
.. ..
. .
(an2 mn1 a12 )x2 + + (ann mn1 a1n )xn = bn mn1 b1

ou encore


a11 a12 a1n x1 b1
0 a22 m21 a12 a2n m21 a1n x2 b2 m21 b1

.. .. .. ..
..
..

. . . . . .
=
0 ai2 mi1 a12 ain mi1 a1n xi bi mi1 b1
.. .. .. .. .. ..
. . . . . .
0 an2 mn1 a12 ann mn1 a1n xn bn mn1 b1

35
La matrice du nouveau systme est

a11 a12 a1n
0 a22 m21 a12 a2n m21 a1n

.. .. .. ..

. . . .
A(2)

=
0 ai2 mi1 a12 ain mi1 a1n
.. .. .. ..
. . . .
0 an2 mn1 a12 ann mn1 a1n

et le second membre est


b1
b2 m21 b1

..

.
b(2)

=
bi mi1 b1
..
.
bn mn1 b1

Le nouveau systme secrit alors

A(2) x = b(2)

et il est quivalent au systme de dpart.


On introduit la matrice

1 0 0
m21 1 0 0

.. .. .. .. ..
. . . . .
M (1)

=
mi1 0 1 0
.. .. .. .. ..
. . . . .
mn1 0 0 1

Il est facile de voir que A(2) = M (1) A et b(2) = M (1) b :les manipulations
sur les lignes reviennent multiplier la matrice et le second membre
du systme par la matrice M (1) . La matrice A(2) contient maintenant
uniquement des zeros sous la diagonale dans la premire colonne. Cest ce
processus que nous allons continuer : a ltape k nous avons la matriceA(k)

36
qui a la forme suivante
(k) (k) (k)

a11 a12 a1n
(k) (k)
0 a22 a2n
. ..
.. .

(k) (k) (k) (k1)
A = 0 0 ak1k1 ak1k akn
. .. ..
.. . 0 .

.. .. .. .. ..
. . . . .
(k) (k)
0 0 0 ank ann
et le systme associ scrit

(k) (k) (k) (k)


a11 x1 + a12 x2 + + + a1n xn = b1
(k) (k) (k)
a22 x2 + + + a2n xn = b2
(k) (k) (k)
a33 x3 + + a3n xn = b3
..
.
(k) (k) (k)
akk xk + akn xn = bk
..
.
(k) (k) (k)
ank xk + ann xn = bn
soit sous forme compacte A(k) x = b(k) .

Il faut maintenant faire les manipulations sur les lignes adaptes. Suppo-
(k) (k)
sons que le k-me pivot akk est non nul, et notons Li la i-me ligne du
systme.

(k) (k) (k) (k)


L1 a11 x1 + + + + a1n xn = b1
(k) (k) (k) (k)
L2 a22 x2 + + + a2n xn = b2
.. .. .. ..
. . . .
(k) (k) (k) (k)
Lk akk xk + + akn xn = bk
(k)
(k) ak+1k (k) (k) (k) (k)
Lk+1 (k) L k ak+1k xk + + ak+1n xn = bk+1
akk
(k)
(k)
aik (k) .. .. ..
Li L . . .
akk k
(k)
(k)
(k) ank (k) (k) (k) (k)
Ln L ank xk + + ann xn = bn
akk k
(k)

Cette opration annule les coefficients de xk dans les lignes k + 1 n. Nous


avons fait un pas de plus vers la trigonalisation de la matrice A. Notons
(k)
aik
maintenant mik = (k) pour k i n et introduisons la matrice
akk

37

1 0 0

0 1 0
..

. 0

M (k)

= 0 0 1 1 0
.. ..

. . 0 mk+1k 1
.. .. .. .. ..

. . . . 0 .

..
0 0 0 mnk . 1
Alors les manipulations sur les lignes reviennent multiplier la matrice
et le second membre du systme par la matrice M (k) . On obtient donc le
systme A(k+1) x = b(k+1) , avec A(k+1) = M (k) A(k) et b(k+1) = M (k) b(k) , et lon
a gagn une nouvelle colonne de zros. A ltape n, on obtient une matrice
A(n) qui est triangulaire suprieure, et le systme

A(n) x = b(n)
avec A(n) = M (n) M (1) A et b(n) = M (n) M (1) b.
Posons maintenant U = A(n) et L = (M (n) M (1) )1 , alors A = LU,
U est triangulaire suprieure et il est facile de voir que L est triangulaire
infrieure avec des 1 sur la diagonale. Ses coefficients sont les mik . Nous
avons ainsi obtenu pratiquement la dcomposition LU.

4.1.4 Mthode de Crout


Pour calculer explicitement les matrices L et U, on a intrt procder
par substitution : cest la mthode de Crout. Ecrivons le produit LU :


1 0 0 u11 u12 u1n

m21 1 0 0 0. u22



LU = mi1 mi2 1 0
.. 0 u33

.. .. .. ..
. .. .. .. ..


. . . 1 . .. . . . .
..
mn1 mn2 . mnn1 1 0 0 0 0 0 unn
Ecrivons lgalit des coefficients ligne par ligne
Ligne 1
Pour j = 1, , n, a1j = u1j , ce qui permet de calculer

j = 1, , n, u1j = a1j

Ligne 2

38
Colonne 1 a21 = l21 u11 , et puisque u11 est maintenant connu, on en
dduit
a21
l21 =
u11
Colonne j, pour j 2, a2j = l21 u1j + u2j , et donc
j = 2, , n, u2j = a2j l21 u1j
Ligne i : supposons que nous avons t capable de calculer

u11 u12 u1n


l21 u22 u2n
..
.
..
.
li11 li1i2 ui1i1 ui1n
Colonne 1 : ai1 = li1 u11 , on en dduit li1 :
ai1
li1 =
u11
Colonne j < i : aij = li1 u1j + li2 u2j + + lij ujj , do
aij li1 u1j lij1 uj1j
j = 1, , j, lij =
ujj
Colonne j i :aij = li1 u1j + li2 u2j + + lii uij , do
j = i, , n, uij = aij li1 u1j lii1 ui1j
Remarquons qu la ligne i nous utilisons les valeurs de A a la ligne i et les
valeurs de L et U calcules prcdemment. Dun point de vue informatique,
on mettra L et U la place de A ligne par ligne.
Calculons le nombre doprations ncessaires la dcomposition LU.

4.1.5 Complexit de lalgorithme


Considrons lalgorithme de Crout. Avec les notations de la section 1.2.1,
reprenons notre tableau. La ligne 1 ncessite 0 oprations. A la ligne i, notons
Ni+ et Ni le nombre doprations lmentaires :

colonne
j<i j1 j

ji i1 i1

+
total Ni Ni

39
Pi1 Pi1 i(i1)
On a donc Ni = j=1 (j) + j=1 (i 1) = 2
+ (i 1)(n i + 1) et
P n(n2 1)
N = ni=1 (Ni ) = 3
. On fait le mme calcul pour N + et on a

n(n2 1) n(n 1)(2n 1)


N = , N+ =
3 6
Exercice 4.1 Evaluer le cot de la dcomposition LU par la mthode dli-
mination de Gauss.

Ce calcul est surtout important lorsque lon rsout des gros systmes.
On a en rsum pour la rsolution dun systme linaire par la mthode de
Crout.
3
Dcomposition LU : 2n3 oprations lmentaires, Rsolution des 2 sys-
tmes triangulaires : 2n2 oprations lmentaires.
D
Comparons avec lutilisation des formules de Cramer : On crit xj = D0j o
chaque D reprsente un dterminant n n. Or le dterminant dune matrice
n n est calcul par
X n
Y
det = () ai,(i)
permutation de {1, ,n} i=1

Pour chaque permutation, il y a n 1 multiplications, et il y a n! permu-


tations. On a donc N = (n 1)n!, et N n! pour chaque dterminant.
Comme il y en a n + 1p calculer, on a N n2 n!. Daprs la formule de
Stirling, n! nn+1/2 en (2).
Ex (http ://clusters.top500.org) le 28calculateur CEA AlphaServer SC45,
1 GHz (2560 processeurs) est a 3980 GFlops, soit environ 41012 Flops. Pour
n = 100, on a N 10162 . il faudrait environ 2 10149 annes pour le rsoudre.
Rappelons que lunivers a 15 milliards dannes, i.e 15 109 . Remarquons
nanmoins que les formules de Cramer restent trs comptitives pour n = 3 !
Par la mthode LU, il faut environ 7 106 oprations, soit 1 millionnime
de seconde. Pour un systme 106 inconnues, il faut 61017 oprations, soit
105 secondes, soit 25h.
Rappelons la dfinition dun FLOPS : floating point operations per se-
cond. Les nombres sont en gnral stocks en flottant, cest--dire avec le
nombre de chiffres significatifs, le signe, la base.

4.1.6 mthode du pivot partiel


(k)
Il peut se passer dans la pratique que lun des pivots akk soit nul. Dautre
part, examinons le systme ci-dessous :

40
104 x + y = 1
x + y =2
et appliquons la mthode de Gauss avec comme pivot 104 . On obtient for-
mellement

(1 1/104 )y = 2 104
Ceci, calcul en virgule flottante avec 3 chiffres significatifs, (cf fichier MAPLE
joint) donne y = 1, puis x = 0, ce qui est notoirement faux.
Echangeons maintenant les deux lignes

x + y =2
104 x + y = 1

et prenons comme pivot 1 . On obtient maintenant

(1 104 )y = 1 2 104 .

Ceci, calcul en virgule flottante avec 3 chiffres significatifs, donne y = 1,


puis x = 1.
En fait la raison du problme est que le pivot 104 est trop petit .
Explicitons maintenant la mthode. Pour cela reprenons la matrice A(k)
(k) (k) (k)

a11 a12 a1n
0 a(k) (k)
a2n
22
. ..
.. (k)
. ak1k1

(k) 0 (k) (k)
A = 0 0 a kk akn
. .. ..
.. . .

.. .. .. .. ..
. . . . .
(k) (k)
0 0 0 ank ann
(k)
Si A est inversible, si akk = 0, il existe forcment un indice i suprieur
(k)
k tel que aik . En effet A est inversible si et seulement si A(k) lest, et le
dterminant de A(k) est gal :
(k) (k)
akk akn
..
(k) (k) .
det A(k) = a11 ak1k1 .. ..
. .
(k) (k)
ank ann

41
> restart;
> Digits:=3;
> a1:=1-1/(10^(-4));
> a2:=2-1/(10^(-4));
> y:=evalf(a2/a1);
Digits := 3
a1 := -9999
a2 := -9998
y := 1.000
> x:=(1-y)/(10^(-4));
x := 0
>
> restart;
> Digits:=4;
> a1:=1-1/(10^(-4));
> a2:=2-1/(10^(-4));
> y:=evalf(a2/a1);
> x:=(1-y)/(10^(-4));
Digits := 4
a1 := -9999
a2 := -9998
y := .9999
x := 1.
>

Page 1

Figure 4.1 pivot

42
Donc si A est inversible, au moins un des lments de la premire colonne de
cette dernire matrice est non nul.
Soit i0 lindice du nombre le plus grand en module :
(k) (k)
|ai0 k | = max |aik |.
kin

La mthode du pivot partiel consiste changer la ligne k et la ligne i0 du


systme ; En fait cela revient multiplier gauche les deux membres du sys-
tme matriciel par une matrice de permutation : la matrice correspondant
la transposition k de {1, . . . , n} dfinie par

k (k) = i0 ,
k (i0 ) = k,
k (i) = i si i 6= k et i 6= i0 .
La matrice correspondante est dfinie par ses vecteurs colonnes
Pk (ej ) = ek (j) ,
ou encore par ses lments (Pk )ij = ik (j) .
On peut dfinir plus gnralement la matrice de permutation associe
une permutation de {1, . . . , n} par
P (ej ) = e(j) ,
ou encore par ses lments (P )ij = i(j) .

Ces matrices sont inversibles, leur dterminant est gal la signature de


la permutation, donc 1, et on a les rsultats suivants :
Multiplier la matrice A gauche par la matrice P revient effectuer la per-
mutation 1 sur les lignes de A,
Multiplier la matrice A droite par la matrice P revient effectuer la per-
mutation sur les colonnes de A.
Soient et deux permutations, P P = P .

Donc ltape k, on multiplie la matrice A(k) par une matrice de permu-


tation Pk , puis on fait la (k + 1) me tape de la rduction de Gauss sur la
matrice Pk A(k) . On obtient donc ainsi

U = M (n1) Pn1 M (1) P1 A.


Thorme 4.2 Soit A une matrice carre rgulire dordre n. Il existe une
matrice de permutation P et deux matrices L et U, L tant triangulaire
infrieure diagonale unit et U tant triangulaire suprieure, telles que
P A = LU

43
Dmonstration Il suffit de remarquer que pour toute permutation de
1, , n, pour toute matrice M, la matrice M = P 1 MP est obtenue en

effectuant la permuation sur les lignes et les colonnes de M. Si M est de
type M (k) et de type j avec j k, alors M a la mme forme que M. On
peut alors crire
U =M (n1) M
(1) P P A.
n1 1

Posons = n1 , alors

(n1) M
U =M (1) P A,

(n1) M
et lon conclut comme prcdemment avec L = (M (1) )1 .

Remarque 4.1 Pour calculer le dterminant dune matrice, les formules


Q de
Cramer sont prohiber. On utilise la dcomposition LU et D(A) = uii .

Remarque 4.2 On peut crire la dcomposition LU sous la forme LDV o


V est diagonale unit et D une matrice diagonale.

4.2 Mthode de Cholewski


Daprs la remarque 4.2, si A est une matrice symtrique, par lunicit
de la dcomposition, on peut crire A = LD tL.

Thorme 4.3 Soit A une matrice symtrique dfinie positive. Alors il existe
une unique matrice L triangulaire infrieure diagonale unit, et une unique
matrice diagonale D coefficients strictement positifs, telles que

A = LD tL

Dmonstration On applique la dcomposition LU, en vrifiant que si A


est symtrique dfinie positive, les mineurs principaux sont non nuls.

Une factorisation de Cholewski de A est une factorisation sous la forme


A = B tB, o B est une matrice triangulaire infrieure.

Thorme 4.4 Soit A une matrice symtrique dfinie positive. Alors il existe
une unique dcomposition de Cholewski de A sous la forme A = B tB, o B
est une matrice triangulaire infrieure coefficients diagonaux strictement
positifs.

44
Dmonstration Daprs le thorme prcdent, A scrit sous la forme
LD tL. Puisque D est diagonale lments strictement positifs, on peut d-
finir la matrice
racine carre de D commela matrice dont les lments dia-
gonaux sont dii . On dfinit alors B = L D. Lunicit se dmontre comme
pour la dcomposition LU.

45
46
Chapitre 5

Rsolution numrique de systmes


linaires par mthode itrative

5.1 Introduction

Exemple de base en analyse numrique : quation de la chaleur 2D (et


mme 3D). On cherche u(x, y, t), solution de

t u u = f dans ; u = xx u + yy u +

avec des conditions initiales et aux limites sur .

Equilibre : u(x, y)

u = f dans .

47
On choisit des pas despace

a b
x = , y =
m+1 m+1
Loprateur de Laplace en deux dimensions est discrtis avec des diff-
rences finies

u(x + x, y) 2u(x, y) + u(x x, y)


xx u ;
x2
u(x, y + y) 2u(x, y) + u(x, y y)
yy u ;
y 2
On obtient pour ui,j u(ix, jy),

1 1
(ui1,j + 2ui,j ui+1,j ) + (ui,j1 + 2, ui,j ui,j+1) = f (xi , yj )
x2 y 2

On introduit les vecteurs



u1,j
uj = ...

um,j

48
pour j = 1, , n. On multiplie lquation par y 2 , et on obtient
uj u j+1 = u0,je 1 + f j y 2
uj1 + Tu
u


2(1 + ) 0

2(1 + )


T = .. .. ..
matrice m m
. . .

2(1 + )
0 2(1 + )
On introduit maintenant le vecteur de toutes les inconnues

u1
..
U = .
un
On obtient un large systme de m n quations m n inconnues,
U =F
AU
avec
T I 0
I T I 0


A= .. .. ..
. . .

0 I T I
0 I T
La matrice A est CREUSE, TRIDIAGONALE PAR BLOCS. Dans chaque
bloc-ligne de A, seuls 3 blocs sur les n sont non-identiquement nuls, avec
dans chaque ligne de ces blocs au plus 3 lments non-nuls. Ca fait dans
chaque ligne de A 5 lment non nuls sur m n (faire m = 100, n = 50). La
dcomposition de Gauss risque de remplir la matrice. Les mthodes itratives
nont pas besoin de construire la matrice, mais plutt de savoir faire le produit
matrice-vecteur.
Pour construire une mthode itrative on crit
u = b Mu
A = M N; Au u Nu
u=b
u = M 1 (Nu
u + b)
On utilise le point fixe
uk+1 = Nu
Mu uk + b
Compromis entre
M est une bonne approximation de A (le meilleur M est A)
le systme rsoudre chaque itration est simple et peu onreux.

49
5.2 Norme de vecteurs et de matrices
Dfinition 5.1 Une norme sur un espace vectoriel V est une application
k k : V R+ qui vrifie les proprits suivantes
kvv k = 0 v = 0,
kvv k = || kvv k K, vv V ,
kuu + vvk ku u, vv) V 2 (ingalit triangulaire)
uk + kvv k (u,
Une norme sur V est galement appele norme vectorielle . On appelle
espace vectoriel norm un espace vectoriel muni dune norme.

Les trois normes suivantes sont les plus couramment utilises sur Cn :
n
X
kvv k1 = |vi |
i=1
n
!1/2
X
2
kvv k2 = |vi |
i=1
kvv k = max |vi |.
1in

La deuxime norme Pnest la norme euclidienne sur C . Elle drive du produit


n

u, v )2 = i=1 ui vi .
scalaire (u

Thorme 5.1 Soit V un espace de dimension finie. Pour tout nombre rel
p 1, lapplication v 7 kvkp dfinie par

n
!1/p
X
kvv kp = |vi |p
i=1

est une norme.


1 1
Rappel 5.1 Pour p > 1 et p
+ q
= 1, lingalit

n n
!1/p n
!1/q
X X p
X q
uv
kuv
uvk1 = |ui vi | |ui | |vi | ukp kvv kq
= ku
i=1 i=1 i=1

sappelle lingalit de Hlder.

Dfinition 5.2 Deux normes k k et k k , dfinies sur un mme espace


vectoriel V, sont quivalentes sil existe deux constantes C et C telles que

kvv k Ckvv k et kvv k C kvv k pour tout v V.

50
Rappel 5.2 Sur un espace vectoriel de dimension finie toutes les normes
sont quivalentes.

Dfinition 5.3 Soit Mn lanneau des matrices dordre n, lments dans


le corps K. Une norme matricielle est une application k k : Mn R+
vrifiant
1. kAk = 0 A = 0,
2. kAk = || kAk, K, A Mn ,
3. kA+Bk kAk + kBk, (A, B) M2n (ingalit triangulaire)
4. kABk kAkkBk, (A, B) M2n

Etant donn une norme vectorielle k k sur Kn , lapplication k k :


Mn (K) R+ dfinie par

kAvv k
kAk = sup = sup kAvv k = sup kAvv k,
v Kn kvv k v Kn v Kn
v 6=0 v k1
kv v k=1
kv

est une norme matricielle, appele norme matricielle subordonne ( la


norme vectorielle donne).
De plus
kAvv k kAkkvv k vv Kn
et la norme kAk peut se dfinir aussi par

kAk = inf { R : kAvv k kvv k, vv Kn } .

Il existe au moins un vecteur u tel que

u 6= 0 et kAu
uk = kAkku
uk.

Enfin une norme subordonne vrifie toujours

kIk = 1

Rappelons la dfinition du rayon spectral dune matrice. Notons i (A) les


n valeurs propres de la matrice n n A. Le rayon spectral de A est

(A) = max |i (A)|


i

51
Dfinition 5.4 Soit A = (aij ) une matrice carre. Alors

kAvv k1
kAk1 = sup
v Cn kvv k1
v 6=0
kAvv k2
kAk2 = sup
v Cn kvv k2
v 6=0
kAvv k
kAk = sup
v Cn kvv k
v 6=0

Thorme 5.2 Soit A = (aij ) une matrice carre. Alors


X
kAk1 = max |aij |
j
i
p p
kAk2 = (A A) = (AA ) = kA k2
X
kAk = max |aij |
i
j

La norme k k2 est invariante par transformation unitaire :

UU = I = kAk2 = kAUk2 = kUAk2 = kU AUk2 .

Par ailleurs, si la matrice A est normale, cest--dire si AA = A A, alors

kAk2 = (A) .

Remarque 5.1 1. Si une matrice A est hermitienne, ou symtrique (donc


normale), on a kAk2 = (A) .
2. Si une matrice A est unitaire ou orthogonale (donc normale), on a
kAk2 = 1.

Thorme 5.3 1. Soit A une matrice carre quelconque et kk une norme


matricielle subordonne ou non, quelconque. Alors

(A) kAk.

2. Etant donn une matrice A et un nombre > 0, il existe au moins une


norme matricielle subordonne telle que

kAk (A) + .

52
Thorme 5.4 Lapplication k kE : Mn R+ dfinie par
!1/2
X p
kAkE = |aij |2 = tr (A A),
i,j

pour toute matrice A = (aij ) dordre n, est une norme matricielle non su-
bordonne (pour n 2), invariante par transformation unitaire :

UU = I = kAkE = kAUkE = kUAkE = kU AUkE

et qui vrifie
kAk2 kAkE nkAk2 , A Mn .

De plus kIkE = n.

5.3 Conditionnement
On veut estimer x yy , o x est solution du systme linaire, et y solution
du systme perturb

Axx = b,
(A + A) y = (bb + bb) .

Exemple de R.S. Wilson :



10 7 8 7 32
7 5 6 5 23
A= 8 6 10 9 , b = 33 ,

7 5 9 10 31

10 7 8, 1 7, 2 32, 01
7, 08 5, 04 6 5 , b + b = 22, 99 ,

A + A = 8 5, 98 9, 89 9 33, 01
6, 99 4, 99 9 9, 98 30, 99

0 0 0, 1 0, 2 0, 01
0, 08 0, 04 0 0 , b = 0, 01 .

A = 0 0, 02 0, 11 0 0, 01
0, 01 0, 01 0 0, 02 0, 01

1
1
Axx = b x = 1 ,

53

1, 82 0, 82
0, 36 1, 36
Auu = b + b u =
1, 35 , = x = u x = 0, 35

0, 79 0, 21

81 82
137
, = x = v x = 136

(A + A) v = b v =
34 35
22 21

Dfinition 5.5 Soit k.k une norme matricielle subordonne, le conditionne-


ment dune matrice rgulire A, associ cette norme, est le nombre

(A) = cond(A) = kAk A1 .

Nous noterons condp (A) = kAkp kA1 kp .

Thorme 5.5 Soit A une matrice inversible. Soient x et x + x les solu-


tions respectives de

x = b et A (x
Ax x + x
x) = b + b
b.

Supposons b 6= 0 , alors lingalit

x
kx
xk b
kb
bk
cond(A)
xk
kx kbbk

est satisfaite, et cest la meilleure possible : pour une matrice A donne, on


peut trouver des vecteurs b 6= 0 et b 6= 0 tels quelle devienne une galit.

Dmonstration Il suffit de soustraire les 2 quations. x est solution du


systme linaire
x = b
Ax
do
b
kb
bk b
kb
bk
xk A1
x
kx kbbk A1 kAk kx
xk
kbbk kbbk

Thorme 5.6 Soit A une matrice inversible. Soient x et x + x les solu-


tions respectives de

x = b et (A + A) (x
Ax x + x
x) = b .

54
Supposons b 6= 0 , alors lingalit
x
kx
xk kAk
cond(A) .
x + x
kx xk kAk
est satisfaite, et cest la meilleure possible : pour une matrice A donne, on
peut trouver un vecteur b 6= 0 et une matrice A 6= 0 tels quelle devienne
une galit.

Thorme 5.7 1. Pour toute une matrice inversible A,

cond(A) 1,
cond(A) = cond(A1 ),
cond(A) = cond(A), pour tout scalaire 6= 0

2. Pour toute matrice inversible A,


max
cond2 (A) =
min
o max et min sont respectivement la plus grande et la plus petite
valeur singulire de A.
3. Si A est une matrice normale,
max |i (A)|
i
cond2 (A) =
min |i (A)|
i

o les i (A) sont les valeurs propres de A.


4. Le conditionnement cond2 (A) dune matrice unitaire ou orthogonale
vaut 1.
5. Le conditionnement cond2 (A) est invariant par transformation unitaire

UU = I = cond2 (A) = cond2 (AU) = cond2 (UA) = cond2 (U AU).

Rappel 5.3 Les valeurs singulires dune matrice rectangulaire A sont les
racines carres positives des valeurs propres de A A.

Lorsque lon veut rsoudre un systme linaire Ax = b avec une matrice


mal conditionne, il peut tre intressant de de multiplier gauche par une
matrice C telle CA soit mieux conditionne. Lexemple le plus simple est
le prconditionnement diagonal, o la matrice C est la matrice diagonale
constitue des inverses des lments diagonaux de A : cest lalgorithme de
Richardson que nous verrons plus loin.

55
5.4 Suite de vecteurs et de matrices
Dfinition 5.6 Soit V un espace vectoriel muni dune norme k.k, on dit
quune suite (vv k ) dlments de V converge vers un lment v V , si

lim kvv k v k = 0
k

et on crit
v = lim v k .
k

Remarque 5.1 Sur un espace vectoriel de dimension finie, toutes les normes
sont quivalentes. Donc v k tend vers v si et seulement si kvv k v k tend vers
0 pour une norme.

Thorme 5.8 1. Soit k k une norme matricielle subordonne, et B une


matrice vrifiant
kBk < 1.
Alors la matrice (I + B) est inversible, et
1
k (I + B)1 k .
1 kBk

2. Si une matrice de la forme (I + B) est singulire, alors ncessairement

kBk 1

pour toute norme matricielle, subordonne ou non.


P
La dmonstration repose sur la srie de Neumann Bn.

Thorme 5.9 Soit B une matrice carre. Les conditions suivantes sont
quivalentes :
1. limk B k = 0,
2. limk B k v = 0 pour tout vecteur v,
3. (B) < 1,
4. kBk < 1 pour au moins une norme matricielle subordonne k.k.

Thorme 5.10 Soit B une matrice carre, et k.k une norme matricielle
quelconque. Alors
limk kB k k1/k = (B).

56
Soit donc une suite v k dfinie par v k+1 = Bvv k . On a v k = B kv 0 .

kvv k k
kB k k
kvv 0 k

Si lon veut une erreur infrieure


kvv k k
kB k k
kvv 0 k
1 1
kB k k k k

Dfinition 5.7 On dfinit le facteur de convergence local de la mthode


1
itrative dont la matrice ditration est B est k (B) = kB k k k . Le facteur
asymptotique de convergence asymptotique est (B). Le taux de convergence
moyen est Rk (B) = ln k (B), le taux de convergence asymptotique est
R(B) = ln (B).

Thorme 5.11 Le nombre ditrations ncessaires pour rduire lerreur


ln
dun facteur est au moins gal K = .
R(B)

5.5 Rsultats gnraux de convergence


Soit donc lalgorithme

uk+1 = Nu
Mu uk + b (5.1)

avec M N = A. Si la suite converge, elle converge vers la solution u de


Auu = b , et lerreur e k = u k u vrifie Meek+1 = Neek . On note B = M 1 N,
cest la matrice de litration. On note aussi r k := b Au uk = A(u
u u
u k ) = Aeek
le rsidu ltape k. Daprs le thorme 5.9, on a

Thorme 5.12 La suite u k converge pour toute donne initiale u 0 si et


seulement si (B) < 1, si et seulement si kBk < 1 pour au moins une norme
matricielle subordonne k.k.

5.5.1 Cas des M-matrices


Dfinition 5.8 (Matrice non-ngative ) Une matrice A Mn (R) est
dite non-ngative (resp. non-positive) si pour tout i, j {1, , n}, aij 0
(resp. aij 0).

57
Thorme 5.13 (Perron-Frobenius) Soit A Mn (R) une matrice non-
ngative. Alors A a une valeur propre non-ngative gale au rayon spectral
de A, et un vecteur propre correspondant qui est aussi non-ngatif.

Dfinition 5.9 (Dcomposition rgulire ou regular splitting ) . Une


dcomposition A = M N est dite rgulire si M est inversible et si M 1 et
N sont toutes deux non-ngatives.

Thorme 5.14 Soit A Mn (R) une matrice, A = M N une dcomposi-


tion rgulire. Alors la mthode itrative converge pour toute donne initiale
si et seulement si A est inversible et A1 est non-ngative.

Dfinition 5.10 (M-matrice) . Une matrice A Mn (R) est une M-matrice


si elle possde les quatre proprits suivantes : 1. aii > 0 pour tout i, 2. aij 0
pour tout (i, j), i 6= j. 3. A est inversible. 4. A1 est non ngative.

Corollaire 5.1 Soit A Mn (R) une M-matrice, A = M N une dcompo-


sition rgulire. Alors la mthode itrative Muuk+1 = Nu
uk + b converge pour
toute donne initiale vers la solution de Auu = b.

Dfinition 5.11 (Matrice diagonale strictement dominante) La ma-


trice est dite diagonale strictement dominante si
X
i, 1 i n, |aii | > |aij |.
j6=i

5.5.2 Cas des matrices hermitiennes


Thorme 5.15 (Householder-John) Soit A une matrice hermitienne d-
finie positive, A = M N, o M est inversible. Si M + N (qui est toujours
hermitienne), est dfinie positive, la mthode itrative converge pour toute
donne initiale.

5.6 Mthodes classiques


Soit A Mn (K) une matrice rgulire et b Kn . Il sagit de rsoudre
le systme Au u = b par une mthode itrative, cest--dire de crer une suite
u k qui converge vers u . On note D = diag(A), E la matrice triangulaire
infrieure vrifiant 
eij = 0, ij
,
eij = aij i > j

58
et F la matrice triangulaire suprieure vrifiant

fij = 0, ij
fij = aij i > j

On a alors
..

. F

A= D =DEF
..
E .

Mthode de Jacobi
On choisit M = D, N = E + F , et une tape de lalgorithme scrit

u k+1 = (E + F )u
Du uk + b .

Chaque composante (uk+1 )i peut tre calcule explicitement par


n
!
1 X
(uk+1 )i = bi aij (uk )i i {1, . . . , n}.
aii j=1,j6=i

Exemple de programmation dune tape de lalgorithme de Jacobi :

Pour i=1:N
S:=B(i)
Pour j=1:I-1
S=S-A(i,j)*X(j)
Pour j=i+1:N
S=S-A(i,j)*X(j)
Y(i)=S/A(i,i)
Pour i=1:N
X(i):=Y(i)
Test darrt : tant que krr k k > eps, on continue.

Thorme 5.16 Si A est diagonale strictement dominante, lalgorithme


de Jacobi converge.

Thorme 5.17 Soit A M(R) une matrice symtrique inversible, d-


compose en A = D E E T , o D est diagonale dfinie positive, et E
strictement triangulaire infrieure. Alors lalgorithme de Jacobi converge si
et seulement si A et 2D A sont dfinies positives.

59
Mthode de Gauss-Seidel
Elle correspond la dcomposition M = D E, N = F .

uk+1 = Fu
(D E)u uk + b.

Le calcul de u k+1 en fonction de u k ncessite la rsolution dun systme


triangulaire infrieur de matrice D E.

Mthode de relaxation
Elle est apppele aussi mthode S.O.R. (successive over relaxation). Elle
correspond la dcomposition M = 1 D E, N = 1
D + F , ce qui scrit

1 1
uk+1 = (
( D E)u uk + b .
D + F )u

De nouveau, une tape de lalgorithme ncessite la rsolution dun systme
triangulaire. La mthode de Gauss-Seidel correspond = 1.

Tableau rsum
Jacobi M =D N =E+F
Gauss-Seidel M =DE N =F
1 1
SOR M= DE N= D+F

Exercice 5.1 Ecrire une tape de lalgorithme SOR.

Il est dusage daffecter les noms suivants aux matrices des mthodes
prcdentes

Jacobi J = D 1 (E + F )
1 1
SOR L = ( D E)1 ( D + F)

Thorme 5.18 Soit A une matrice diagonale strictement dominante. Si


0 < 1, la mthode de relaxation converge.

Thorme 5.19 Si la mthode de relaxation converge pour toute donne


initiale, on a
0<<2

60
La preuve repose sur le lemme suivant, et le thorme 5.12.

Lemme 5.1 Pour tout 6= 0, on a (L ) | 1|.

Thorme 5.20 Soit A une matrice hermitienne dfinie positive. Si


]0, 2[, la mthode de relaxation converge pour toute donne initiale.

Cest une consquence du thorme 5.15.

5.7 Cas des matrices tridiagonales, comparai-


son des mthodes
Thorme 5.21 Soit A une matrice tridiagonale. Alors (L1 ) = ((J))2 :
les mthodes de Jacobi et Gauss-Seidel convergent ou divergent simultan-
ment. Si elles convergent, la mthode de Gauss-Seidel est la plus rapide.

Thorme 5.22 Soit A une matrice tridiagonale telles que les valeurs propres
de J soient relles. Alors les mthodes de Jacobi et de relaxation convergent
ou divergent simultanment pour ]0, 2[ . Si elles convergent, la fonction
2
7 (L ) a lallure suivante : avec = p . Le facteur de
1 + 1 ((J))2
|(L )|
1

1 2

Figure 5.1 variations de (L ) en fonction de

convergence optimal est (L ) = 1.

Remarque 5.2 On ne connat pas prcisment ce si on ne connat pas


(J). Dans ce cas, le graphe ci-dessus montre que quil vaut mieux choisir
trop grand que trop petit.

61
5.8 Mthode de Richardson
On rcrit litration sous la forme

u k+1 = u k + M 1r k .

Si on choisit M 1 = I, on obtient la mthode de Richardson

uk + bb.
u k+1 = (I A)u

Si A est une matrice symtrique et dfinie positive, ses valeurs propres i (A)
sont strictement positives, nous les ordonnons de faon croissante.

Thorme 5.23 Soit A une matrice symtrique et dfinie positive dordre


n. La mthode de Richardson converge si et seulement si (0, 2/(A)). La
2
convergence est optimale pour opt = 1 +n
. On a alors

(A) 1
(I opt ) = .
(A) + 1

5.9 La matrice du laplacien en dimension 1



2 1 0
1 2 1


An = .. .. ..
. . .

1 2 1
0 1 2

On a
2 4 2
(J) = 1 + O(n ), (L 1 ) = 1 + O(n4 ),
2n2 n2
2
= 2(1 + O(n2 )), (L ) = 1 == 1 + O(n2 ).
n n
Pour n=100, pour obtenir une erreur de = 101 , on doit faire
9342 itrations de lalgorithme de Jacobi,
4671 itrations de lalgorithme de Gauss-Seidel,
75 itrations de lalgorithme de lalgorithme de relaxation optimale.

62
5.10 Complexit
Supposons la matrice A pleine. La complexit dune itration est denviron
2n2 . Si lon fait au moins n itrations, on a donc une complexit totale de
2n3 , comparer aux 2n3 /3 de la mthode de Gauss.
Pour rsoudre un systme linaire, on prfrera les mthodes directes dans
le cas des matrices pleines, et les mthodes itratives dans le cas des matrices
creuses.

5.11 Mthodes par blocs


Reprenons lexemple des diffrences finies en dimension 2. La matrice A
est tridiagonale par blocs. On fait la dcomposition

T 0
T I 0
, F = ET

D= . . , E = .. ..
. . .
T I 0

ET on dcoupera aussi le vecteur u k par blocs. Tous les thormes prcdents


ont un analogue. Voir [4].

63
64
Chapitre 6

Interpolation polynmiale et
extrapolation

Deux problmes classiques


1) Interpolation : on considre une aile davion, quon soumet des vents
de 10, 50, 100, 200 km/h, et dont on calcule les dformations pour ces valeurs.
On veut savoir comment elle rsistera un vent de 150km/h.
2) Extrapolation : on connat la population franaise de 1800 2010 et
on veut en dduire une estimation de la population franaise dans les 10
prochaines annes.
Une solution est de dterminer un polynme dont la courbe sapproche le
plus possible (ou passe par) ces points, et de prendre sa valeur aux nouveaux
points. Cest le but de ce chapitre.
Le problme mathmatique est le suivant : on se donne n + 1 mesures
f0 , , fn en n + 1 points distincts x0 , , xn et on cherche calculer un
polynme q de degr infrieur ou gal m, avec m n, qui approche
les mesures f0 , , fn . La premire approche est quand m = n : cest le
polynme dinterpolation.

6.1 Interpolation de Lagrange


Thorme 6.1 1) Il existe un unique polynme pn Pn (espace vectoriel
des polynmes de degr infrieur ou gal n) tel que

i, 0 i n, pn (xi ) = fi . (6.1)

65
2) Il scrit sous la forme

n
X Y x xj
pn (x) = fi i (x), avec i (x) = . (6.2)
i=0 j6=i
xi xj

Les i sont les polynmes dinterpolation de Lagrange. pn est le polynme


dinterpolation aux points xi pour les mesures fi .

n
X
Dmonstration 1)Notons pn (x) = ak xk , x R. Rsoudre (6.1)
k=0
est quivalent rsoudre un systme linaire dont les inconnues sont les
coefficients ak :
Ay = b avec

1 x0 xn0 a0 f0
A = ... ... .. .. ,
.. ..
. . y = . , b = . ,
1 xn xnn an fn

A est une matrice de Vandermonde. Elle est inversible ce qui conclut la partie
1).
2) i est un polynme de Pn , et vrifie i (xj ) = ij . On vrifie que ce
polynme convient.

Figure 6.1 polynme dinterpolation

Lorsque les f i sont les valeurs dune certaine fonction f aux points xi , on
parle de pn comme de linterpolant de f et on la note n f .

66
Figure 6.2 interpolant

En principe il suffit de rsoudre le systme linaire pour calculer les ai ,


puis de calculer en chaque nouveau point x

1
x

pn (x) = (a0 , a1 , . . . , an ) ..
.
xn
Mais le systme est trs mal conditionn. Il vaut mieux programmer directe-
ment (6.2).
function [yy] = lagint(x, y, xx)
% LAGINT uses the points (x_i, y_i) for the Lagrange Form of the
% interpolating polynomial and interpolates the values
% yy_i = p_n(xx_i)
n = length(x); nn = length(xx);
for i = 1:nn,
yy(i) = 0;
for k =1:n
yy(i) = yy(i)+y(k)*prod((xx(i) - x([1:k-1,k+1:n])))...
/prod((x(k) - x([1:k-1,k+1:n])));
end;
end;

6.1.1 Formulation barycentrique


Utiliser la formulation (6.2) mne O(n2 ) oprations pour chaque x. Nous
dfinissons les coefficients
1
i = Q
j6=i (xi xj ).

67
et nous rcrivons

n
! n
!
X Y Y X i
pn (x) = i (x xj )fi = (x xj ) fi
i=0 j6=i j i=0
x xi

Puisque la formule est exacte pour les polynmes de degr 0, on peut crire
pour f 1 :

n
!
Y X i
1= (x xj )
j i=0
x xi

et donc

Y 1
(x xj ) = n
j
X i
i=0
x xi

ce qui nous donne la formule barycentrique

n
X i
fi
i=0
x xi
pn (x) = n
X i
i=0
x xi

68
n
X i
fi
i=0
x xi
pn (x) = n
X i
i=0
x xi
Pour lutiliser nous calculons dabord les i en O(n2 ) oprations,
function [lambda] = coeffbary(x)
% COEFFBARY computes the coefficients for the barycentric
% representation of the interpolating polynomial through
% the points (x_i, y_i)
n = length(x); x=x(:);
for k = 1:n,
lambda(k) = 1 / prod(x(k) - x([1:k-1,k+1:n]));
end;
Pn
i i fi
Puis pour chaque x nous calculons les poids i = et pn (x) = Pi=0
n
x xi i=0 i
en seulement O(n) oprations.
function [yy] = intbary(x, y,lambda, xx)
%% INTBARY evaluates the interpolating polynomial
%% through (x_i, y_i) for the values xx: yy = P_n(xx)
x=x(:); y=y(:); xx = xx(:);
nn = length(xx);
for i = 1:nn,
z = (xx(i)-x) + 1e-30; % prevents a division by zero
mue=lambda./z;
yy(i)=mue*y/sum(mue);
end;

6.1.2 Formule de Newton


On se donne les n + 1 points x0 , , xn . Pour tout k plus petit que n, on
note pk le polynme dinterpolation de f aux points x0 , , xk . On a
pk pk1 = C(x x0 ) (x xk1 )
Dfinition 6.1 Pour k + 1 points y0 , , yk , on note f [y0 , , yk ] le coeffi-
cient de degr k du polynme dinterpolation de f aux points y0 , , yk .
Lemme 6.1
pk pk1 = f [x0 , , xk ](x x0 ) (x xk1 )

69
Dmonstration

Thorme 6.2 (Formule de Newton)


n
X
pn (x) = f (x0 ) + f [x0 , , xk ](x x0 ) (x xk1 ) (6.3)
k=0
Dmonstration Il suffit de sommer la formule de rcurrence prcdente.

Lemme 6.2 (Formule des diffrences divises)


f [x1 , , xk ] f [x0 , , xk1 ]
k 1, f [x0 , , xk ] = (6.4)
xk x0
Dmonstration
Soit qk1 Pk1 le polynme dinterpolation de f aux points x1 , . . . , xk .
Posons
(x x0 )qk1 (x xk )pk1
pk =
xk x0
Alors pk = pk . En effet

et il ne reste plus qu galer les coefficients directeurs dans la formule de


pk .

Table de calcul

Figure 6.3 table des diffrences divises

70
Voici lalgorithme matlab
function [d,D] = coeffnewton(x, y)
% COEFFNEWTON computes the divided differences needed for
% constructing the interpolating polynomial through (x_i,y_i)
n = length(x)-1; % degree of interpolating polynomial
The Interpolation Polynomial 335
% divided differences
for i=1:n+1
D(i,1) = y(i);
for j = 1:i-1
D(i,j+1) = (D(i,j)-D(i-1,j))/(x(i)-x(i-j));
end
end
d = diag(D);
Une fois les di calculs, pour les utiliser nous couplons avec lalgorithme
de Hrner, en rcrivant le polynme pn sous la forme
pn (x) = d0 + (x x0 )(d1 + (x x1 )(d2 + + (x xn2 )(dn1 + (x xn1 )dn )))
function y = intnewton(x,d,z)
% INTNEWTON evaluates the Newton interpolating polynomial
% at the new points z: y = P_n(z) using the Horner form
% and the diagonal d of the divided difference scheme.
n = length(x)-1;
y = d(n+1)
for i= n:-1:1
y = y.*(z-x(i))+d(i);
end;
En Matlab, on utilise la fonction polyfit pour linterpolation polynomiale.
Cette fonction utilise une interpolation au sens des moindres carrs discrets
(voir partie 3).

6.1.3 estimation derreur


Thorme 6.3 si f C n+1 ([a, b]), x [a, b], x appartenant au plus petit
intervalle ouvert contenant x, x0 , , xn , tel que
1
f (x) pn (x) = f (n+1) (x )n+1 (x) (6.5)
(n + 1)!

71
n
Y
o n+1 (x) = (x xi ).
i=0

Dmonstration On remarque dabord que lgalit est vraie si x est lun


des xi . On suppose ensuite que x est fix, non gal lun des xi . On applique
le thorme de Rolle n + 1 fois la fonction dfinie pour x fix par
F (t) = f (t) pn (t) Cn (t)
o C est dfini par F (x) = 0.

On dduit de ce thorme dabord que les diffrences divises sont des


approximations des drives : il existe un dans lintervalle (inf (xi ), sup(xi ))
tel que
f (n) ()
f [x0 , , xn ] =
(n)!
En effet crivons daprs le lemme 6.1
pn (xn ) pn1 (xn ) = f [x0 , , xn ](xn x0 ) (xn xn1 )
et daprs lestimation derreur aux points x0 , . . . , xn1 ,
1 (n)
f (xn ) pn1 (xn ) = f ()(xn x0 ) (xn xn1 ).
(n)!
Egalons ces deux expressions pour conclure.
Nous en dduisons aussi une estimation derreur grossire. On note pour
une fonction , kk = supx[a,b] |(x)|, et on a
1
kf pn k kF n+1 k kn+1 k (6.6)
(n + 1)!
Pour une fonction f donne, on minimise lerreur en choisissant bien les
points dinterpolation :
Thorme 6.4 Sur un intervalle [a, b], kn+1 k est minimale pour le choix
des points
a + b b a n+1
xTi = + y , 0in
2 2 i
2i + 1
Les yin+1 = cos( ) sont les zros du polynme de Chebyshev Tn+1 .
2(n + 1)

72
Polynmes de Chebyshev

Pour tout k on dfinit sur [1, 1] la fonction

Tk (y) = cos(kArc cosy). (6.7)

Tk est en fait un polynme de degr k. Pour le voir, on tablit la formule de


rcurrence
Tk+1 (y) = 2y Tk Tk1 , T0 = 1, T1 = y, (6.8)
ce qui permet de les dfinir sur tout R. Le coefficient dominant de Tk est
2k1 y k , ses zros sont les yik = cos ( 2i+1
2k
) pour 0 i k 1, et les extrema
valent (1)i , atteints aux points yik = cos ( ki ) pour 0 i k.

Lemme 6.3 Pour tout p Pk unitaire (i.e. p = y k + ), on a


Tk 1
kpk k k1
k = k1
2 2
Dmonstration Pour nimporte quel choix des points dinterpolation
x0 , , xn , faisons un changement de variable
a+b ba a+b ba
xi = + yi , 0 i n, x= + y
2 2 2 2
Lorsque x varie dans lintervalle [a, b], y varie dans lintervalle [1, 1] et
 n+1 Y n
ba
n+1 (x) = (y yi )
2 i=0

Minimiser lerreur est donc minimiser la norme infinie dun polynme unitaire
sur (1, 1], et
 n+1
Y
T ba
inf kn+1 k = k (x xi )k = 2
{xi } 4
Admis, cf Demailly, analyse numrique et quations diffrentielles.

Remarque 6.1 Pour une division en points quidistants, i.e. xj = a + ba


n
j,
on montre que
en
kn+1 k (b a)n+1
n ln n
Pour (a, b) = (1, 1), la figure suivante montre le logarithme des erreurs en
fonction de n dans les deux cas

73
5
10
points de Chebyshev
0 points quidistants
10

5
10

10
10

15
10

20
10

25
10

30
10

35
10
0 20 40 60 80 100

Figure 6.4 Comparaison de kn+1 k pour deux ensembles de points

6.1.4 Convergence de pn vers f


x+1
Considrons la fonction f (x) = 5
sin(x) sur [0,6] (ex de Quarteroni).

0.8
fn = 1
n
n = 23
n==6
0.6

0.4

0.2

0.2

0.4

0.6

0.8

1.2
0 1 2 3 4 5 6

Figure 6.5 interpolant

On constate dans ce cas que la suite n (f ) converge vers f . Ce nest pas


vrai en gnral. Le contre-exemple classique est celui de la fonction de Runge
1
f (x) = :
1 + 15x2

74
8
f
7 n=2
n=4
6 n = 14
5

1
1 0.5 0 0.5 1

Figure 6.6 interpolant

Bien que la fonction soit tout fait rgulire, on voit que lerreur en 1
tend vers linfini.

6.2 Interpolation dHermite


f est toujours une fonction suffisamment rgulire sur le segment [a, b].
On se donne k + 1 points x0 , , xk dans [a, b].

Thorme 6.5 Posons n = 2k + 1. Il existe un et un seul polynme pn Pn


tel que
j, 0 j k, pn (xj ) = f (xj ) et pn (xj ) = f (xj ).

Thorme 6.6 si f C n+1 ([a, b]), x [a, b], x appartenant au plus petit
intervalle ouvert contenant x, x0 , , xk , tel que
1
f (x) pn (x) = F n+1 (x )n+1 (x) (6.9)
(n + 1)!
k
Y
o n+1 (x) = (x xi )2 .
i=0

pn dpend de 2k + 2 coefficients, nous allons lexprimer sous la forme


k
X k
X
pn (x) = f (xi )qi (x) + f (xi )ri (x) (6.10)
i=0 i=0

75
o les polynmes qi et ri sont dfinis par

qi (xj ) = ij , ri (xj ) = 0,

q (xj ) = 0,

r (xj ) = ij . (6.11)
i i

On peut les dterminer en fonction des polynmes dinterpolation de La-


grange i :
qi (x) = (1 + 2(xi x)i (xi ))2i (x), ri (x) = (x xi )2i (x).

6.3 Interpolation par morceaux


Soient a a0 < a1 < < aN b des points qui divisent lintervalle
I = [a, b] en sous-intervalles Ij = [aj , aj+1 ] de longueur H = ba
N
, soit aj =
a + jH.

6.3.1 Interpolation affine


Sur chaque intervalle Ij , on interpole f par un polynme de degr infrieur
ou gal 1. On obtient un polynme par morceaux, not H 1 f . Il scrit

H
1 f (x) = f (aj ) + f [aj , aj+1 ](x aj ), x Ij

H
1 f f

a H b

Figure 6.7 interpolation affine par morceaux

Thorme 6.7 Si f C 2 (I), alors


H2
sup |f (x) H
1 f (x)| sup |f (x)|. (6.12)
xI 8 xI

76
Dmonstration Il suffit dappliquer lestimation derreur (6.6).

Remarque 6.2 Si f C n+1 (I), on peut faire de mme une interpolation


par des polynmes de degr infrieur ou gal n dans chaque sous-domaine
et on obtient lestimation derreur
H n+1
sup |f (x) H
n f (x)| sup |f (n+1) (x)|. (6.13)
xI 4(n + 1) xI

6.3.2 Interpolation par fonctions splines


Linconvnient de la dmarche prcdente est que lapproximation de f
manque de rgularit. Ici nous nous donnons yi = f (ai ) et aussi des valeurs
yi que nous choisirons ensuite. Dans chaque sous-intervalle, nous interpolons
la fonction f par un polynme pi P3 tel que
pi (ai ) = yi , pi (ai+1 ) = yi+1 , pi (ai ) = yi , pi (ai+1 ) = yi+1

,
Faisons le changement de variable y = (x ai )/H, et posons p(x) = P (y).
On doit donc avoir
Pi (0) = yi , Pi (1) = yi+1 ; Pi (0) = Hyi , Pi (1) = Hyi+1

;
Nous utilisons les formules donnes pour les polynmes dHermite.
Pi = yi q0 + yi+1 q1 + yi r0 + yi+1

r1
Les polynme de Lagrange aux points 0 et 1 sont 0 = 1 y, 1 = y, et les
polynmes qi et ri sont donns par
q0 (y) = (2y1)(1y)2, q0 (y) = (2y1)y 2, r0 (y) = y(1y)2, ri (y) = (1y)y 2.
Comment maintenant calculer la valeur de pi en un point x ?
1. Dterminer lintervalle [ai , ai+1 ] o se trouve x.
2. Calculer la variable locale y = (x ai )/H.
3. valuer Pi (y), de prfrence par lalgorithme de Hrner.
Pour dterminer lintervalle o se trouve x, on utiliser un algorithme de
recherche binaire si les intervalles ne sont pas de mme taille. Sinon bien sr
on prend la partie entire de x/H.
Les yi doivent approcher les drives f (ai ) qui ne sont pas donnes en
gnral. On peut alors approcher par exemple f (ai ) par des diffrences di-
vises yi = f [ai1 , ai+1 ] pour 1 i N 1. Aux deux extrmits on peut
prendre des drives dcentres y0 = f [a0 , a1 ] et yN

= f [aN 1 , aN ].
Peut-on dterminer les yi de faon tre encore plus rgulier ? Par exemple

que les drives secondes soient aussi continues ? La rponse est oui, ce sont
les vrais splines cubiques historiques.

77
78
Chapitre 7

Approximation par des polynmes

7.1 Thormes gnraux


Soit E un espace vectoriel norm (e.v.n.) sur R ou C, muni dune norme
k k.

Thorme 7.1 Si M est un sous-espace vectoriel de dimension finie de


E, alors pour tout g dans E, il existe au moins un y dans M tel que kg yk =
inf kg xk.
xM

Dmonstration On se fixe x0 dans M. On dfinit K = {x M, kg xk


kg x0 k}. Alors inf M = inf K . La fonction x 7 kg xk est une fonction
continue sur K compact, elle admet une borne infrieure daprs le thorme
de Weirstrass.

Thorme 7.2 (Thorme de projection dans un Hilbert) Soit E est


un espace de Hilbert muni du produit scalaire (, ), k k est la norme associe.
Soit M un sous-espace vectoriel de dimension finie de E, alors pour tout g
dans E, il existe un unique y dans M tel que kg yk = inf kg xk. On le
xM
note PM g. Cest la projection de g sur M, caractrise par

z M, (g PM g, z) = 0

Dmonstration Vu en L2.

On va appliquer ces thormes M = Pn . Dabord un rsultat dapproxi-


mation

79
Thorme 7.3 (Thorme de Weierstrass) Si (a, b] est compact, toute
fonction continue sur (a, b] peut tre approche uniformment par des poly-
nmes, ou encore lespace des polynmes est dense dans C 0 ((a, b]) pour la
norme de L .

Dmonstration La dmonstration est un peu longue, elle sappuie sur


les polynmes de Bernestein
n  
X n k
Bn (f ) = f ( )xk (1 x)nk
k=0
k n

Lquivalent pour les fonctions priodiques est trs utile :

Thorme 7.4 Soit f une fonction continue de priode 2. Alors il existe


des coefficients rels a0 , , an , et b1 , , bn , tels que
n
X
Sn (t) = a0 + (ak cos kt + bk sin kt)
k=1

converge uniformment vers f sur R.

7.2 Polynmes orthogonaux, moindres carrs


Lespace L2 (a, b) des fonctions de carr intgrable sur (a, b) est un espace
Rb
de Hilbert pour le produit scalaire (f, g) = a f (x)g(x) dx. Il contient les
polynmes.

Dfinition 7.1 On dit quune suite de polynmes p0 , , pn , forme une


suite de polynmes orthogonaux si
dpn = n pour tout n,
(pi , pj ) = 0 pour i 6= j.

Il existe une unique suite, une constante multiplicative prs. Exemple :


sur [1, 1], les polynmes de Legendre sont dfinis par Ln (1) = 1. Ils sont
dfinis galement par la formule de rcurrence

(n + 1)Ln+1 (x) = (2n + 1)xLn (x) n Ln1 (x), L0 = 1, L1 = x.

Ils sont aussi solution de lquation diffrentielle

(1 x2 )y 2xy + n(n + 1)y = 0.

80
Leur norme est gale 2/(2n + 1).
Soit maintenant f une fonction de L2 (a, b). Par le thorme de projection,
il existe un unique Pn dans Pn , projection de f sur Pn . Dcomposons le sur
la base des polynmes orthogonaux pj :
n
X
Pn = jn pj .
j=0

Par la caractrisation de la projection, on doit avoir pour 0 j n :

(f, pj ) = (Qn , pj ) = jn kpj k2

et donc jn ne dpend pas de n et

(f, pj )
jn = j =
kpj k2

Thorme 7.5 Soit f une fonction de L2 (a, b).


1. Pour tout n positif, il existe un unique polynme P Pn tel que kf
Pn k = inf P Pn kf P k. Il est donn par
n
X (f, pj )
Pn = pj
k=0
kpj k2

2. Si de plus [a, b] est compact et f est continue, alors Pn tend vers f dans
L2 et

X (f, pj )2
kf k2 =
kpj k2
k=0

7.3 Moindres carrs discrets


On se place maintenant dans E = RN . On se donne N points xi , N
mesures fi , et on cherche p Pn1 qui "approche" les fi aux points xi . Il
est clair que si N >> n, il nexiste en gnral pas de polynme qui passe
par tous les points. On va alors chercher passer "le plus prs possible",
cest--dire minimiser
PN la distance entre les p(xi ) et les fi : on cherche donc
pn1 qui minimise i=1 |pn1 (xi ) fi | . On cherche pn sous la forme
2

n1
X
pn1 (x) = ak xk ,
k=0

81
P Pn1
cest--dire quon cherche les ak , et et on minimise N
i=1 | k=0 ak xi fi | .
k 2

Notons A la matrice des aik = xik1 , 1 i N, 1 k n, y =


(a0 , , an1 ), b = (f1 , , fN ).

T rouver y Rn , kAy bk = infn kAz bk (7.1)


zR

Thorme 7.6 Soit A une matrice N n. Le problme de minimisation


(7.1) admet une solution, caractrise par AT Ay = AT b. La solution est
unique si et seulement si A est injective (i.e. rg A = n).

Ce sont les quations normales. Pour rsoudre le problme de moindres


carrs, on na donc qu rsoudre un systme linaire de taille n. Mais ce
problme est mal conditionn. Un exemple :

1 1 1
0 0
A= 0 0

0 0

alors
1 + 2 1 1
A= 1 1 + 2 1
1 1 1 + 2

Dfinition 7.2 Les valeurs singulires de A sont les racines carres positives
des n valeurs propres de AT A.

Thorme 7.7 Soit A une matrice N n avec N n. Alors il existe 2


matrices orthogonales U (N N) et V (n n), et un matrice de taille
N n
1

2 0
..
0 .

= n



0

telles que A = UV T .

Dmonstration
V T (AT A)V = diag(i2 )

82
Soit cj le j-me vecteur de AV . On a
cTi cj = i2 ij
On ordonne les i : 1 , , r non nulles. Donc ci 0 pour i > r. On pose
cj
uj =
j
pour j r. Ils forment un systme orthonorm, quon complte en une base
orthonorme de RN . Soit U la matrice des uj .
En corollaire, lePrang de A est gal P au nombre de valeurs singulires de A.
On a A = i ui vi , A A =
T T
i2 vi viT . On en dduit que u1 , , ur
forment une base de ImA, vr+1 , , vn une base de ker A, v1 , , vr une
base de ImAT = (ker A) .
On appelle maintenant pseudo-inverse de la matrice

1/1 0

1/2

..
. 0 0

=


1/r

0
..
.
On dfinit alors la pseudo-inverse de A par
A = V U T
P P
On a maintenant A = 1/i vi uTi . On en dduit que AAP

= ui uTi est
la matrice de la projection orthogonale sur ImA et A A = vi viT la matrice
T
de la projection orthogonale sur ImA . Revenons notre systme de moindres
carrs. Les quations normales ont maintenant une interprtation agrable.
Si b nappartient pas ImA, nous le projetons sur ImA en AA b et nous
rsolvons alors Ax = AA b, ou encore A(x A b) = 0, ou x A b ker A,
ou x A b = (I A A)w pour un quelconque w.
Thorme 7.8 La solution gnrale du problme de moindres carrs discrets
scrit
y = A b + (I A A)w
Si A est de rang n, il y a une solution unique. Si rgA < n, lensemble des
solutions est un espace vectoriel de dimension n r.
Dans le deuxime cas, on choisit dans lensemble des solutions celle de
norme minimale, i.e. on cherche w ker A tel que
kA b + wk = inf kA b + zk
zker A

ce qui revient projeter A b sur ker A.

83
7.4 Rgression linaire
On a mesur, sur N individus, n + 1 variables Y, X1 , , Xn . Appelons
xij la mesure de la variable Xj sur lindividu i, et yi celle de la variable Y .
On cherche reconstituer la loi de Y partir de celles des Xi , supposes
linairement indpendantes, par une formule linaire

Y = b0 + b1 X1 + + bn Xn

Soit y le vecteur des yi = b0 +b1 xi1 + +bn xin , et y le vecteur de composantes


yi . On cherche b = (b0 , , bn ) qui minimise la norme de y y. EN notant
X la matrice

1 x11 x1in
.. .. .. ..
. . . .

X = 1 xi1 xin

. .. .. ..
.. . . .
1 xN 1 xN n
yk.
on est ramens minimiser kXb

7.5 Rsolution des quations normales


7.5.1 Mthode de Cholewski
Supposons la matrice A injective. La matrice B = AT A est alors sym-
trique dfinie positive. On crit sa dcomposition de Cholewski : il existe
une unique matrice S triangulaire suprieure coefficients diagonaux stric-
tement positifs, telle que B = S T S. On rsout alors successivement les deux
problmes triangulaires.
Malheureusement, les quations normales ne sont pas bien conditionnes,
et la dcomposition nest valable que si A est injective. On va donc faire
diffremment.

7.5.2 Dcomposition QR
Toujours en supposant la matrice A injective, crivons successivement

S T S = AT A
1
(S T ) AT AS 1 = I
T
(AS 1 ) (AS 1 ) = I

84
ce qui montre que la matrice Q1 = AS 1 est orthogonale. On peut aussi
crire
A = Q1 S
Augmentons Q1 (de taille N n) par une matrice Q2 en une matrice carre
de taille N : Q = (Q1 |Q2 ), alors nous pouvons crire lgalit prcdente
comme  
S
A = (Q1 |Q2 ) = QR
0
En fait cette dcomposition peut tre obtenue par dautre moyen (voir
plus bas), et ne ncessite pas que A soit injective. Puisque la matrice Q est
orthogonale on a pour tout z, daprs le thorme de Pythagore,
kAz bk2 = kQT (Az b)k2 = kRz QT bk2 = kSz (QT b)1 k2 + k(QT b)2 k2
Si R est inversible, cest--dire si le rang r de A est gal n, lquation
Sz = (QT b)1 a une seule solution y, et le minimum est atteint pour y :
inf kAz bk = kAS 1 (QT b)1 k = k(QT b)1 k.
z

Si r < n, notons que ker A = ker S : il y a une infinit de solution, comme


mentionn dans le thorme 7.8. Pour en trouver une, nous effectuons une
factorisation QR de S T , sous la forme
ST = P V
o P T est une matrice orthogonale n n et V de taille n r triangulaire
suprieure de rang r

v1

v2
..
0 .  T 
V
V = vr = 0
nr,r


0

La matrice V est donc triangulaire infrieure de rang r. Do


S = V T P = (V |0r,nr ) P
Dcomposons z = P z sous la forme
 
z1
z = , z1 Rr , z2 Rnr .
z2

85
Donc  
V z1
Sz =
0r,nr
et
kSz (QT b)1 k2 = kV z1 (QT b)1 k2 ,
do
kAz bk2 = kV z1 (QT b)1 k2 + k(QT b)2 k2 .
La matrice V est inversible, donc kAzbk est minimal pour V y1 (QT b)1 = 0
et le minimum est de nouveau k(QT b)2 k. Choisissons
 
y1
y = , y = P T y
0

Alors y est solution du problme de minimisation. y est de norme minimale :


toutes les autres solutions scrivent sous la forme
 
T y1
z = P z, z =
z2

si bien que (puisque la matrice P T est orthogonale),

kzk2 = z k2
k
= y1 k2 + k
k z2 k2
2
= k
y k + kz2 k2
= kyk2 + kz2 k2
2
kyk

7.5.3 Dcomposition QR par matrices de Householder


Dfinition 7.3
On appelle matrice de Householder associe au vecteur u
p
R de norme 2 la matrice p p donne par

Hu = I u u T

Proprits 7.1 Pour tout u dans Rp de norme 2, la matrice Hu est sym-
trique, orthogonale. Cest la matrice de la rflexion sur lhyperplan orthogonal
u.

Pour effectuer la dcomposition QR de la matrice A, on va procder comme


dans la mthode de Gauss : on va multiplier successivement la matrice A
gauche par des matrices lmentaires de faon mettre successivement des
zros sous la diagonale de A.

86
Lemme 7.1 Soit x un vecteur non colinaire e1 (premier vecteur de base).
Alors il existe un nombre rel, et une matrice Hu telle que Hu x = e1 .
est donn par || = kxk, et son signe est loppos de celui de x1 . Le
vecteur u est alors x e1
u= 2
kx e1 k
Ecrivons la matrice A laide de ses vecteurs colonne :
A = (a1 . . . an ), Hu A = (Hu a1 . . . Hu an ),
Supposons que a1 nest pas colinaire e1 (sinon on ne fait rien). Utilisons le
lemme pour trouver (1 , u1) R RN tel que Hu1 a1 = 1 a1 , et dfinissons
A1 = Hu1 A. La premire colonne de la matrice A1 est le vecteur

1
0

..
.
0
et la matrice A1 se dcompose par blocs :

1 ...
0

A1 = ..
A1

.
0

Nous renouvelons la construction sur A1 : construisons (2 , u2 ) R RN 1


tel que
2 ...
0

Hu2 A1 = ..

. A2

0
Attention la matrice A2 est de taille (N 2) (N 2). Notons que si nous
dfinissons le vecteur  
0
u2 =
u2
alors on a
1 ...

0

.. = Hu2
. Hu2
0

87
et

1 ...
1 ... 0 2 . . .

0
..


A2 = Hu2 A1 = .. = . 0
.
Hu2 A1 .. ..


0
. . A2
0 0

On itre jusqu An1 qui est triangulaire suprieure, avec la construction


dune famille u1 , . . . , un1 et

An1 = Hun1 . . . Hu1 A

et
A = (Hun1 . . . Hu1 )1 An1 = (Hu1 . . . Hun1 ) An1
puisque les matrices Hu sont orthogonales et symtriques. La matrice P =
Hu1 . . . Hun1 est orthogonale et nous avons fini la construction.

7.5.4 Lien avec lorthogonalisation de Gram-Schmidt


Notons aj les vecteurs colonne de A et q j les vecteurs colonne de Q. Alors
j
X
j
A = QR j, 1 j n, a = Rkj q k
k=1

La dcomposition QR correspond donc lorthogonalisation des colonnes de


A.

88
Chapitre 8

Formules de quadrature

Les formules de quadrature sont des formules approches de calcul din-


tgrales de Riemann du type
Z b
I := f (x) dx.
a

La formule la plus connue est la formule des trapzes. elle consiste introduire
des points quidistants ai dans lintervalle, a =: a0 < a1 < aN < aN +1 :=
b, avec ai+1 ai = h, et remplacer lintgrale (laire de la portion de plan
situe entre la courbe et laxe des x) par la somme suivante

h h
IN := f (a) + h(f (a1 ) + + f (ai ) + + f (aN )) + f (b)
2 2

Ti

a a1 a2 ai ai+1 aN b

Figure 8.1 calcul approch par la formule des trapzes

89
Rcrivons la formule comme
h
SN := (f (a0 ) + f (a1 ))
2
h
+ (f (a1 ) + f (a2 ))
2
+
h
+ (f (ai ) + f (ai+1 ))
2
+
h
+ (f (aN ) + f (aN +1 ))
2
h
La quantit 2
(f (ai ) + f (ai+1 )) reprsente laire Ai du trapze Ti . On a alors

SN = T0 + T1 + Ti + TN . (8.1)

Maintenant pourquoi garder un partage quidistant ? On peut avoir avantage


gnraliser la formule (8.1), avec des points distribus diffremment, ai+1
ai = hi , et Ai = h2i (f (ai ) + f (ai+1 )).

Ti

a a1 a2 ai ai+1 aN b

Figure 8.2 calcul approch par la formule des trapzes, choix des points
non quidistants

On connait galement les sommes de Riemann :


N
X
(aj+1 aj )f (bj ), bj [aj , aj+1 ]
j=0

90
Lintgrale de Riemann dune fonction rgle est dfinie comme la limite de
telles sommes.
Questions
1. Peut-on valuer lerreur en fonction de h ?
2. Peut-on en trouver dautres ?
3. Peut-on les comparer ?

8.1 Formules de quadrature lmentaires


Ce sont les formules qui permettent de calculer dans un sous-intervalle.
Reprenons la formule
Z aj+1
hj
Ij = f (x) dx (f (aj ) + f (aj+1 ))
aj 2

Tj

aj aj+1

Figure 8.3 calcul lmentaire par la formule des trapzes

On voit bien que si f est affine sur lintervalle, les deux quantits coinci-
dent. Do une autre faon dobtenir la formule lmentaire. On remplace f
par son polynme dinterpolation de degr 1 sur (aj , aj+1 ).
1
f (x) = p1 (x) + f (x )(x aj )(x aj+1 ), x ]aj , aj+1[
2
et on crit
Z aj+1 Z aj+1
1
Ij = p1 (x) dx + f (x)(x aj )(x aj+1 ) dx
aj 2 aj

91
On applique la formule de la moyenne au dernier terme, et on obtient
Z aj+1 Z aj+1 Z aj+1
1 h3j
Ij = p1 (x) dx+ f (j ) (xaj )(xaj+1 ) dx = p1 (x) dx f (j )
aj 2 aj aj 12
1
Dautre part p1 = (f (aj+1)(x aj ) f (aj )(x aj+1 )), et
hj
Z aj+1
hj
p1 (x) dx = (f (aj ) + f (aj+1 ))
aj 2

hj h3j
Mthode des trapzes Ij = (f (aj ) + f (aj+1)) f (j )
2 12
Si nous interpolons dans P0 , nous obtenons les 3 formules, suivant que
nous interpolons gauche, droite ou au point milieu
Mthode Formule Erreur
h2j
formule des rectangles gauche Ij hj f (aj ) f (j )
2
h2j
formule des rectangles droite Ij hj f (aj+1) f (j )
2
aj + aj+1 h3j
formule du point milieu Ij hj f ( ) f (j )
2 24

La mthode de Simpson, utilise linterpolation dans P2 aux points aj ,


a +a
aj+1 , et j 2 j+1 . On dmontre que lon a

 
1 2 aj + aj+1 1 h5j (4)
Mthode de Simpson Ij = hj f (aj ) + f ( ) + f (aj+1 ) f (j )
6 3 2 6 2880

On note sur cette formule quelle est en fait exacte pour des polynmes
de degr infrieur ou gal 3.
On appelle formules de Newton-Cotes toutes les formules quon obtient
de cette manire. Pour systmatiser on fait le changement de variable dans
Ij :
[1, 1] [aj , aj+1]
aj , aj+1 hj
y 7 x = + y
2 2
et donc Z
hj 1 aj , aj+1 hj
Ij = f( + y) dy.
2 1 2 2

92
a ,a h
On notera j (y) = f ( j 2j+1 + 2j y).
On se donne des points i = 1 + 2i/n. Pour les formules de Newton-
Cotes fermes, i varie de 0 n. Pour les formules ouvertes i varie de 1 n1.
Commenons par les formules fermes. On crit pour tout f dans [1, 1],
Z 1 n
X
(y) dy = i (i ) + E().
1 i=0

Avec n + 1 coefficients dterminer, on peut rclamer que la formule soit


exacte dans Pn .

Thorme 8.1 Il existe une et une seule formule de quadrature exacte


dans Pn . Les poids sont donns par
Z 1
i = i (y) dy
1

Si n est pair, la formule est exacte dans Pn+1 .


(n+2) Z
() 1

yn+1 (y) dy si n est pair,
(n + 2)! Z1
E() =
(n+1) () 1

n+1 (y) dy si n est impair,
(n + 1)! 1

Dmonstration Prenons pour le polynme dinterpolation de Lagrange


au point i . On en dduit les coefficients par la formule prcdente, ce qui
donne aussi lunicit. Le deuxime point relve de considrations de parit.
Pour lerreur on crit pour n impair la formule derreur pour le polynme
dinterpolation de aux points i :

(n+1) (y )
(y) = pn (y) + n+1 (y).
(n + 1)!
R1 P
Il faut alors intgrer sur [1, 1], utilisant le fait que 1 pn (y) dy = ni=0 i (i ).
Lintgration prcise est alors un peu difficile, voir dans les livres.

Le cas n = 1 correspond la formule des trapzes, le cas n = 2 la


formule de Simpson.
Les formules de Newton-Cotes ouvertes ne sont utilises que dans le cas
du point-milieu.
On dfinit lordre r des formules de Newton-Cotes comme le plus grand
entier tel que la formule est exacte pour f Pr1 .

93
Thorme 8.2 Si n est pair, r = n + 1, Si n est impair, r = n.

Mthode nombre de points ordre


rectangles 1 1
point-milieu 1 2
trapzes 2 2
Simpson 3 4

8.2 Mthode composite


On recolle maintenant les intgrales lmentaires. Pour cela les points j,i
se dduisent tous des points i = 1 + 2i/n au moyen de la transformation
affine et
N n
X hj X
I= ( i f (j,i) + E(j ))
j=0
2 i=0
Pn
avec i=0 i = 2. Lerreur globale E(f ) est donc
 n+2 (n+2) Z
hj f (j ) 1
N yn+1(y) dy si n est pair,
X hj 2 (n + 2)! 1
E(f ) =  n+1 (n+1) Z
2 h f (j ) 1
j=0 j
n+1 (y) dy si n est impair,
2 (n + 1)! 1

Que se passe t-il pour la mthode des trapzes ? Lerreur scrit


N
X h3j
E(f ) = f (j ), j ]aj , aj+1 [
j=0
12

Si hj h, on peut montrer quil existe ]a, b[ tel que

Z b
h h (b a)2 h2
f (x) dx = f (a) + h(f (a1 ) + + f (ai ) + + f (aN )) + f (b) f ()
a 2 2 12

Thorme 8.3 On suppose que la formule de quadrature lmentaire est


dordre r et que f C r+1 ([a, b]). Soit h = sup hj . Alors
Z
b N n
X hj
X
r+1
sup |f (r+1) (x)|

f (x) dx i f ( j,i Ch
)
a 2j=0 i=0
[a,b]

94
Mise en uvre :

a b

Figure 8.4 N uds de la formule de quadrature

Supposons que pour le pas hN les nuds intrieurs soient les ronds noirs
du dessin, a + i hN . Pour le pas hN +1 = hN /2, on ajoute les points rouges.

SN +1 = SN /2+hN +1 (f (a+hN +1 )+ +f (a+3hN +1 )+ +f (a+(2N1)hN +1 )

95
function T = trapez(f,a, b, tol);
% TRAPEZ(f,a, b, tol) tries to integrate int_a^b f(x) dx
% to a relative tolerance tol using the composite
% trapezoidal rule.
%
h = b - a; s = (f(a) + f(b)) / 2;
tnew = h * s; zh = 1; told = 2*tnew;
while abs (told - tnew) > tol * abs (tnew),
told = tnew; zh = 2 * zh;
h = h / 2;
s = s + sum(f(a + [1:2:zh]*h));
tnew = h * s;
end;
T = tnew;

Quen est-il pour Simpson ? Les extrmits sont affectes du poids 1/6, les
points noirs du poids 2/6 et les points rouge du poids 4/6. Mise en uvre :

1 2 4 2 4 1
4
h

1 4 2 4 2 4 2 4 2 4 2 4 1
h/2

Figure 8.5 N uds de la formule de quadrature avec les poids pour Simp-
son

On crit
h
S(h) = (s1 + 2s2 + 4s4 )
6

Notons snew
j les nouvelles valeurs, pour h1 = h/2.

snew
1 = s1 , snew
2 = s2 + s4 , snew
4 = f (a + h1 /2) + f (a + 3h1 /2) +

On crit alors

96
function S = simpson (f,a,b,tol);
% SIMPSON (f,a, b,tol) tries to integrate int_a^b f(x) dx
% to a relative tolerance tol using the composite
% Simpson rule.
%
h = (b-a)/2; s1 = f(a) + f(b); s2 = 0;
s4 = f(a + h); snew = h*(s1 + 4 * s4)/6
zh = 2; sold=2*snew;
while abs(sold-snew)>tol*abs(snew),
sold = snew; zh = 2 * zh; h = h / 2;
s2 = s2 + s4;
s4 = sum(f(a +[1:4:zh]*h));
snew = h*(s1 + 2*s2 + 4*s4)/6;
end
S = snew;

97
Rsultats pour le calcul de
Z 1
x ex e
2
dx = = 0.3591409142...
0 (x + 1) e2

Erreur divise par 4 Erreur divise par 16

Figure 8.6 Comparaison des mthodes des trapzes et de Simpson

8.3 Mthode de Gauss


Jusquici nous nous sommes fixs les points et nous avons cherch les
poids pour obtenir un ordre. On peut chercher optimiser aussi les points
pour maximiser encore lordre de la formule de quadrature. On se place sur
[1, 1] et on cherche les points j et les poids j pour minimiser
Z 1 n
X
f (x) dx j f (j )
1 j=0

98
Thorme 8.4 Il existe un choix et un seul des points j et des poids j de
sorte que la mthode soit dordre r = 2n + 1. Les points j sont les zros du
polynme de Legendre Ln+1 . Les poids sont donns par
Z 1
j = j (x)dx,
1

lerreur est donne par


f (2n+2) ()
E(f ) = C
(2n + 2)!
Exemple, n = 1. Si on connait la formule de rcurrence
(n + 1)Ln+1 (x) = (2n + 1)xLn (x) n Ln1 (x),L0 = 1, L1 = x.

on a L0 = 1, L1 = x, et L2 = 3x2 /2 1/2. Les nuds sont donc 1/ 3. les
poids sont gaux 1.
Z 1
1 1
f (x) dx f ( ) + f ( )
1 3 3
Cas gnral, calcul des nuds : on rcrit la formule de rcurrence sous
la forme
n+1 n
xLn (x) = Ln+1 (x) + Ln1 (x).
2n + 1 2n + 1
et on constate que x est valeur propre dune matrice tridiagonale :

Qn
Calcul des coefficients
Q : Ecrivons Ln+1 (x) = an+1 j=0 (j ). On a alors
Ln+1 (i ) = an+1 nj=0 (j ), et on a
j6=i

Ln+1 (x)
i (x) =
Ln+1 (i )(x i )

99
et Z 1
1 Ln+1 (x)
i = dx
Ln+1 (i ) 1 (x i )
Thorme 8.5 Definissons 0 = 0, et
Z 1
Li (x) Li (t)
i (t) = dx
1 (x t)

Alors les i satisfont la mme relation de rcurrence que les Li et on a

i (i )
i =
Ln+1 (i )

100
Chapitre 9

Calcul de vecteurs propres et


valeurs propres

9.1 Gnralits, outils matriciels


9.1.1 Matrices de Householder
Pour tout vecteur v de Cn 0, on introduit la matrice de HouseholderH(v)
dfinie par
vv
H(v) = I 2 (9.1)
v v
H(v) est la matrice de la symtrie orthogonale par rapport lhyperplan de
Cn orthogonal v. La matrice H(v) est hermitienne et unitaire. Par abus de
langage, on considrera lidentit comme une matrice de Householder, et lon
crira I = H(0).

Lemme 9.1 Pour tout x dans Cn , on a (x H(v)x) (x + H(v)x) = 0.


Lemme 9.2 Soient x et y deux vecteurs linairement indpendants. Si v
est un vecteur de Cn 0, et un nombre complexe de module 1 tels que
y = H(v)x, alors il existe un nombre complexe tel que
y x = x y
v = (x y) et (9.2)
On en dduit :
Proposition 9.1 pour tout couple (x, y) dans Cn tel que kxk2 = kyk2, il
existe une matrice de Householder H(v) et un nombre complexe de module
1 tels que
H(v)x = y (9.3)

101
Daprs les lemmes on a v = (x y) et = ei o est largument
de x. v tant dfini une constante multiplicative prs, on peut le choisir
de sorte que kvk2 = 1. De plus le choix pratique du signe dans est gouvern
par des considrations de conditionnement. On choisira tel que kx yk2
est maximal.

9.1.2 Quotients de Rayleigh


Dfinition 9.1 Soit A une matrice hermitienne de dimension n. Pour x 6=
0, on pose
x Ax
rA (x) =
xx
rA est appel le quotient de Rayleigh associ A.

On ordonne les valeurs propres de A par ordre dcroissant 1 n .

Thorme 9.1 On a

n = inf rA (x), 1 = sup rA (x)


x6=0 x6=0

k = sup inf rA (x), k = inf sup rA (x), 1 k n


dim V =k xV 0 dim W =nk+1 xW 0

9.1.3 Conditionnement dun problme de valeurs propres


Thorme 9.2 Soient A et A deux matrices hermitiennes, et E = A A.
On note i et i les valeurs propres de A et A , i les valeurs propres de E,
toutes ordonnes dans lordre dcroissant. On a alors pour 1 k n,

i + n i i + 1 ,
|i i | kEk pour toute norme matricielle.

9.2 Dcompositions
9.2.1 Dcomposition QR
Thorme 9.3 Soit A Mn (C) (resp. Mn (R)). Alors il existe une matrice
Q unitaire (resp. orthogonale) et une matrice R triangulaire suprieure telles
que A = QR. De plus on peut assurer que Rii 0. Si A est inversible, la
dcomposition avec Rii > 0 est unique.

102
Lien avec la dcomposition de Gram-Schmidt Notons aj les colonnes de
A, q j les colonnes de Q. Q est unitaire si et seulement si les q j forment une
base orthonorme, et
X
A = QR j, aj = Rj q j
1j

ce qui se rcrit

a1 = R1,1 q 1
..
.
aj = Rj,j q j + Rj1,j q j1 + + R1,j q 1
..
.
an = Rn,n q n + Rn1,n q n1 + + R1,n q 1

Si A est inversible, le systme de ses vecteurs colonnes est un systme libre,


et on sait quon peut construire un systme orthonormal par le procd de
Gram-Schmidt : supposons connus q 1 , , q j1, et les coefficients Rk,i pour
1 i j 1 et k i. On calcule alors la ligne j les coefficients Rk,j par

Rj,j q j = aj Rj1,j q j1 R1,j q 1

On crit (q j , q k ) = 0, ce qui donne (aj , q k ) Rk,j = 0 pour k < j, puis


(q j , q j ) = 1 ce qui donne Rj,j = (aj , q j ) ou encore
X
Rj,j = kaj k22 (aj , q k )2
k<j

On peut compter le nombre doprations ncessit par ce procd. On a 2n3


oprations lmentaires + n extractions de racines carres. De plus ce procd
est peu stable numriquement. On prfere utiliser les matrices de Househol-
der.

Daprs la proposition 9.1, il existe une matrice de Householder H(v (1) )


et un nombre complexe 1 de module 1 tels que

H(v (1) ) a1 = 1 ka1 ke1 (9.4)

On note H (1) = H(v (1) ). La premire colonne de la matrice A(2) = H (1) A est
donc de la forme t (r1,1 , 0, , 0). Par rcurrence, on construit une suite de
matrices A(k) de la forme

103
(k) (k)

r1,1 r1,k1 a1,k a1,n
.. .. .. ..
0L . . . .

(k) (k)
rk1,k1 ak1,k ak1,n
A(k) =



(k) (k)

ak,k ak,n
.. ..
0 . .
(k) (k)
an,k an,n

et une suite de matrices de HouseholderH (k) = H(v (k)), telles que

A(k+1) = H (k) A(k) , k = 1, , n. (9.5)

On cherche v (k) sous la forme t v (k) = (0,t v(k) ), et lon vrifie que
 
(k) Ik 0 (k)
H = v (k) t v(k)
(k) , avec H = Ink+1 2
0 H

On a donc
A(n) = H (n1) H (1) A
et la matrice A(n) est triangulaire suprieure. Si lon pose t Q = H (n1) H (1) ,
Q est une matrice orthogonale et A = tQ1 A(n) = QA(n) . On a ainsi construit
les matrices Q et R.

Remarque 9.1 1. Si A est relle, les H (k) sont relles, avec k = 1, Q


et R sont relles, et Q est orthogonale.
2. Le nombre doprations ncessaires pour calculer Q et R est de lordre
de 34 n3 + n racines carres. De plus cette mthode est beaucoup plus
stable que le procd de Gram-Schmidt.
3. Par contre ce nest pas une mthode comptitive pour rsoudre un sys-
tme linaire.

9.2.2 Tridiagonalisation dune matrice symtrique


Thorme 9.4 Soit A Mn (R) symtrique. Alors il existe une matrice P
orthogonale telle que tP AP soit tridiagonale.

La dmonstration est du mme type que pour la mthode QR. Ici on multiplie
droite et gauche par une matrice de Householder.

104
9.3 Algorithmes pour le calcul de toutes les va-
leurs propres dune matrice
9.3.1 Mthode de Jacobi
Soit A une matrice relle symtrique. On sait quil existe une matrice
orthogonale O telle que t OAO soit diagonale.

1
..
t

. 0

OAO = = .
0 . .
n
La mthode de Jacobi consiste construire une suite de matrices de rotation
O (k) telles que la suite dfinie par A(k+1) = t O (k) A(k) O (k) converge vers .
Soit Rpq la matrice de rotation dans le plan (ep , eq ) dangle :

p q

1 0 0 0
.. .. ..
.

. .

1 0 0
p
0 0 cos() 0 0 sin() 0 . . . 0

Rp,q () = 0 1 0
.. .. ..

. . .

0 1 0

q
sin() 0 0 cos()

1

..
.
1
On pose B = tRp,q ()ARp,q (). Les bi,j sont alors donns par
bi,j = ai,j , i 6= p, q, j 6= p, q
bp,j = ap,j cos() aq,j sin(), j= 6 p, q
bq,j = ap,j sin() + aq,j cos(), j 6= p, q
bp,p = ap,p cos2 () + aq,q sin2 () ap,q sin(2)
bq,q = ap,p sin2 () + aq,q cos2 () + ap,q sin(2)
ap,p aq,q
bp,q = ap,q cos(2) + sin(2)
2
bp,q = bq,p .

105
Thorme 9.5 Si ap,q 6= 0, il existe un unique dans ] 4 , 0[]0, 4 [ tel que
bp,q = 0. Cest lunique racine de lquation
aq,q ap,p
cotg 2 =
2ap,q

Etape 1. On choisit p1 et q1 tels que |ap1 ,q1 | = maxi6=j |ai,j |.On choisit 1
(1)
tel que A(1) = tRp1 ,q1 (1 )ARp1 ,q1 (1 ) vrifie ap1 ,q1 = 0.
(1) (1)
Etape 2. On choisit p2 et q2 tels que |ap2 ,q2 | = maxi6=j |ai,j |.On choisit
(2)
2 tel que A(2) = tRp2 ,q2 (2 )A(1) Rp2 ,q2 (2 ) vrifie ap2 ,q2 = 0. Puisque
(2)
p2 6= p1 , q1 , q2 6= p1 , q1 , on a aussi ap1 ,q1 = 0.
(k1) (k1)
Etape k. On choisit pk et qk tels que |apk ,qk | = maxi6=j |ai,j |.On choisit
(k)
k tel que A(k) = tRpk ,qk (k )A(k1) Rpk ,qk (k ) vrifie apk ,qk = 0. On a
(k) (k)
ap1 ,q1 = = apk ,qk = 0.
On vide ainsi la matrice de tous ses lments extradiagonaux.
(k)
Thorme 9.6 Chaque lment diagonal ai,i converge vers une valeur propre
de A quand k tend vers +.

On a ltape k, A(k) = tRpk ,qk (k ) tRp1 ,q1 (1 )ARp1 ,q1 Rpk ,qk (k ) =
t (k)
O AO (k), o O (k) est une matrice orthogonale. Lorsque k tend vers lin-
fini, O (k) tend donc vers la matrice des vecteurs propres de A. Pour calculer
les vecteurs propres de A, il suffit donc de calculer les matrices O (k) , ce qui
et nanmoins assez coteux.

9.3.2 Mthode de Givens ou bisection


Soit A une matrice symtrique relle. La mthode de bisection permet de
calculer toutes les valeurs propres de A. Le principe est le suivant.
Etape 1. On se ramne une matrice symtrique tridiagonale relle par la
mthode de Householder.La matrice

a1 b2 0 0
.. .
. ..

b2 a2 b3
B=
.. ..
0 b3 . . 0
. . . .
.. . . . . . . bn
0 0 bn an

a les mmes valeurs propres que A.

106
Etape 2. On calcule les valeurs propres de B.
Ltape 1 a dj t dcrite, passons ltape 2. On suppose dabord tous
les ci non nuls, sinon on dcompose B par blocs qui ont les mmes valeurs
propres. On note pi le polynme caractristique de la matrice Ai dfinie pour
i 1 par

a1 b2 0 0
.. .
. ..

  b2 a2 b3
a1 b2 .. ..
A1 = (a1 ), A2 = , , Ai = 0 b 3 . . 0 ,
b2 a2
. .

. . . . . . . . bi

..
0 0 bi ai

On posera par convention p0 1. On a la relation de rcurrence

pi () = (ai )pi1 () b2i pi2 ()

Lemme 9.3 Les polynmes pi ont les proprits suivantes :


1. lim = +, 1 i n.

2. pi (0 ) = 0 pi1 (0 )pi+1 (0 ) < 0, 1 i n 1.
3. Le polynme pi possde i racines relles distinctes, qui sparent les
(i+1) racines du polynme pi+1 , 1 i n 1.

Thorme 9.7 Soit () le nombre de changements de signe de lensemble


{p0 (), , pn ()}. Alors pn possde (b) (a) racines dans lintervalle
[a, b[.

La mthode consiste alors en deux tapes.


Etape 1. On cherche un intervalle [a, b] qui contient toutes les valeurs
propres (par exemple lunion des disques de Gerschgrin D(ak , |bk | +
|bk+1 |). On a alors (a) = 0, (b) = n.
Etape 2. On applique une mthode de dichotomie. On calcule ( a+b 2
),
ce qui dtermine le nombre de racines dans les intervalles [a, a+b
2
[ et
[b, a+b
2
, [. On itre.

9.4 Mthode de la puissance itre


Elle permet le calcul de la valeur propre de plus grand module et dun
vecteur propre associ.

107
On choisit q (0) Cn tel que kq (0) k = 1.

Pour k = 1, 2, . . . on calcule :

x(k) = Aq (k1)

(k)
(k) xj
j = (k1) j = 1, . . . , n

qj

(k)
q (k)
= kxx(k) k
On fera lhypothse suivante :

(H) la valeur propre de plus grand module est unique.

On suppose que A est diagonalisable, et on note V lespace propre associ


1 .

Thorme 9.8 On suppose que A est diagonalisable et que lhypothse (H)


est vrifie. On suppose de plus que q0 nest pas orthogonal V . Alors on a
1. lim kAqk k2 = |1 |,
k
(k) (k)
2. lim j = 1 1 j n, si qj 6= 0,
k
 k
| 1 |
3. lim q (k) est un vecteur propre associ 1 .
k 1

Ak q0
On remarque que qk est galement dfini par qk = .
kAk q0 k2
La mthode de la puissance inverse permet de calculer la plus petite valeur
propre en module de A en appliquant la mthode de la puissance A1 .

108
Sommaire

109

Vous aimerez peut-être aussi