Vous êtes sur la page 1sur 63

MACS1.

Cours d Analyse numrique


L. Halpern
24 septembre 2010
2
Table des matires
I Introduction gnrale 7
II Rsolution numrique de systmes linaires 11
1 Gnralits 13
1.1 Rappels sur les matrices . . . . . . . . . . . . . . . . . . . . . 13
1.1.1 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.2 Cas particulier de matrices . . . . . . . . . . . . . . . . 15
1.1.3 Dterminants . . . . . . . . . . . . . . . . . . . . . . . 15
1.1.4 Produit de matrices par blocs . . . . . . . . . . . . . . 16
1.2 Rduction des matrices . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Algorithme, complexit . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Systmes linaires, dnitions . . . . . . . . . . . . . . . . . . 19
1.5 Norme de vecteurs et de matrices . . . . . . . . . . . . . . . . 22
1.6 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.6.1 Erreur darrondi . . . . . . . . . . . . . . . . . . . . . . 25
1.6.2 Conditionnement dun problme . . . . . . . . . . . . . 26
1.6.3 Conditionnement dune matrice . . . . . . . . . . . . . 26
1.7 Notion de prconditionnement . . . . . . . . . . . . . . . . . . 29
2 Mthodes directes 31
2.1 Mthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.1 Systmes triangulaires . . . . . . . . . . . . . . . . . . 31
2.1.2 Dcomposition LU : un rsultat thorique . . . . . . . 33
2.1.3 Dcomposition LU : mthode de Gauss . . . . . . . . 35
2.1.4 Mthode de Crout . . . . . . . . . . . . . . . . . . . . 39
2.1.5 Complexit de lalgorithme . . . . . . . . . . . . . . . . 40
2.1.6 mthode du pivot partiel . . . . . . . . . . . . . . . . . 41
2.2 Mthode de Cholewski . . . . . . . . . . . . . . . . . . . . . . 45
3
3 Mthodes itratives 47
3.1 Suite de vecteurs et de matrices . . . . . . . . . . . . . . . . . 47
3.2 Mthode de Jacobi, Gauss-Seidel, S.O.R. . . . . . . . . . . . . 48
3.3 Rsultats gnraux de convergence . . . . . . . . . . . . . . . 50
3.4 Cas des matrices hermitiennes . . . . . . . . . . . . . . . . . . 51
3.5 Cas des matrices tridiagonales . . . . . . . . . . . . . . . . . . 51
3.6 Matrices diagonale dominante . . . . . . . . . . . . . . . . . 51
3.7 La matrice du laplacien . . . . . . . . . . . . . . . . . . . . . . 52
3.8 Complexit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4 Calcul des valeurs propres et vecteurs propres 55
4.1 Gnralits, outils matriciels . . . . . . . . . . . . . . . . . . . 55
4.1.1 Matrices de Householder . . . . . . . . . . . . . . . . . 55
4.1.2 Quotients de Rayleigh . . . . . . . . . . . . . . . . . . 56
4.1.3 Conditionnement dun problme de valeurs propres . . 57
4.2 Dcompositions . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2.1 Dcomposition QR . . . . . . . . . . . . . . . . . . . . 57
4.2.2 Tridiagonalisation dune matrice symtrique . . . . . . 59
4.3 Algorithmes pour le calcul de toutes les valeurs propres dune
matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.1 Mthode de Jacobi . . . . . . . . . . . . . . . . . . . . 59
4.3.2 Mthode de Givens ou bisection . . . . . . . . . . . . . 60
4.4 Mthode de la puissance itre . . . . . . . . . . . . . . . . . . 62
4
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
5
6
Premire partie
Introduction gnrale
7
Le Calcul Scientique 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 diren-
tielle du second degr par exemple, modlisant le mouvement dun pendule
de longueur l :
x

+
g
l
sinx = 0. (1)
Le problme linaris pour de petits mouvements du pendule scrit
x

+
g
l
x = 0 (2)
peut se rsoudre sous la forme x = x
0
cos
_
g
l
t + x

0
sin
_
g
l
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). 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) = x
0
et x

(0) = x

0
. On se donne une suite dinstants
t
n
= nt, avec T = Nt, et on crit une approximation de la drive seconde
x

(t
n
) =
x(t
n+1
) 2x(t
n
) + x(t
n1
)
t
2
+O(t
2
) (3)
et on remplace lquation par
y
n+1
2y
n
+ y
n1
t
2
+
g
l
sin(y
n
) = 0. (4)
Puisque lon a une quation de rcurrence 2 niveaux, il faut se donner y
0
et y
1
. Nous verrons plus tard comment calculer y
1
. Lquation (4) est une
approximation de lquation (1). Il est souhaitable que
1. (4) ait une solution unique,
2. y
n
x(t
n
), cest la consistance,
3. une erreur petite sur les donnes initiales y
0
et y
1
produise une erreur
faible sur y
n
: cest la stabilit.
Ce sont les 3 notions de base en Calcul Scientique. Lquation (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 dirences nies de (2) scrit
y
n+1
2y
n
+ y
n1
t
2
+
g
l
y
n
= 0. (5)
9
Elle peut se mettre sous forme dun systme linaire, cest--dire AY = b, o
A =
_
_
_
_
_
_
_
1 0
0 1 0
0 1 1
.
.
.
.
.
.
.
.
. 1
0 1
_
_
_
_
_
_
_
, Y =
_
_
_
y
0
.
.
.
y
N
_
_
_
, b =
_
_
_
_
_
_
_
y
0
y
1
0
.
.
.
0
_
_
_
_
_
_
_
,
avec = 2+
g
l
t
2
. De manire gnrale, toute quation issue de la modlisa-
tion est ensuite discrtise puis mise sous la forme dun systme, direntiel
ou non, linaire ou non. Tout commence par la rsolution des systmes li-
naires, puis des quations non linaires, puis des quations direntielles.
Nous verrons en deuxime anne les modles dquations aux drives par-
tielles.
10
Deuxime partie
Rsolution numrique de
systmes linaires
11
Chapitre 1
Gnralits
Sommaire
1.1 Rappels sur les matrices . . . . . . . . . . . . . . . 13
1.1.1 Dnitions . . . . . . . . . . . . . . . . . . . . . . 13
1.1.2 Cas particulier de matrices . . . . . . . . . . . . . 15
1.1.3 Dterminants . . . . . . . . . . . . . . . . . . . . . 15
1.1.4 Produit de matrices par blocs . . . . . . . . . . . . 16
1.2 Rduction des matrices . . . . . . . . . . . . . . . . 17
1.3 Algorithme, complexit . . . . . . . . . . . . . . . . 18
1.4 Systmes linaires, dnitions . . . . . . . . . . . . 19
1.5 Norme de vecteurs et de matrices . . . . . . . . . 22
1.6 Conditionnement . . . . . . . . . . . . . . . . . . . . 25
1.6.1 Erreur darrondi . . . . . . . . . . . . . . . . . . . 25
1.6.2 Conditionnement dun problme . . . . . . . . . . 26
1.6.3 Conditionnement dune matrice . . . . . . . . . . . 26
1.7 Notion de prconditionnement . . . . . . . . . . . 29
1.1 Rappels sur les matrices
1.1.1 Dnitions
Une matrice (m, n) est un tableau m lignes et n colonnes
A =
_
_
_
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
a
m2
a
mn
_
_
_
_
_
13
Cest aussi la matrice dune application linaire / de K
n
dans K
m
o K est
R ou C : une base e
1
, , e
n
tant choisie dans K
n
, et une base f
1
, , f
m
dans K
m
, / est dni par
1 j n, /(e
j
) =
n

i=1
a
ij
f
i
Le j-me vecteur colonne de A reprsente donc la dcomposition de /(e
j
)
dans la base f
1
, , f
m
.
Dnition 1.1 Lapplication linaire / est injective si
/(x) = 0 x = 0
Dnition 1.2 Lapplication linaire / est surjective si pour tout b dans
K
m
, on peut trouver x dans K
n
tel que /(x) = b
Dnition 1.3 Lapplication linaire / est bijective si elle est la fois in-
jective et surjective.
Si / 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
(AB)
ij
=
n

k=1
(A)
ik
(B)
kj
4. Transpose dune matrice : Pour A(m, n) la transpose de A est de
dimension (n, m) et est dnie par (
t
A)
ij
= A
ji
.
5. Adjointe dune matrice : Pour A(m, n) ladjointe de A est de dimension
(n, m) et est dnie par (A

)
ij
=

A
ji
.
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 A
1
.
14
1.1.2 Cas particulier de matrices
Toutes les matrice considres dans ce paragraphe sont carres.
1. Matrices symtriques : elles vrient
t
A = A, ou encore a
ij
= a
ji
.
2. Matrices hermitiennes : elles vrient A

= A, ou encore a
ij
= a
ji
.
3. Matrices diagonales : elles vrient a
ij
= 0 pour i ,= j.
4. Matrices triangulaires infrieures : elles vrient a
ij
= 0 pour j > i, i.e.
elles ont la forme
A =
_
_
_
_
_
_
_
0 0 0
0 0

.
.
. 0 0
0

_
_
_
_
_
_
_
5. Matrices triangulaires suprieures : elles vrient a
ij
= 0 pour j < i,
i.e. elles ont la forme
A =
_
_
_
_
_
_
_

0
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.
1.1.3 Dterminants
Le dterminant dune matrice carre A se note det A, ou
15
det A =
a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nn
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
t
A = det A,
3. det A

= det A,
4. pour tout scalaire (complexe ou rel) , det(A) =
n
det A,
5. det AB = det Adet B,
6. Si A est inversible, det A
1
=
1
det A
,
7. Le dterminant dune matrice triangulaire est gal au produit de ses
lments diagonaux.
1.1.4 Produit de matrices par blocs
On dcompose la matrice carre A de la faon suivante :
A =
_
_
_
_
_
_
_
_
_
_
_
_
_
a
11
a
1J
a
1J+1
a
1n
.
.
.
.
.
.
.
.
.
.
.
.
a
I1
a
IJ
a
IJ+1
a
In
a
I+11
a
I+1J
a
I+1J+1
a
I+1n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
nJ
a
nJ+1
a
nn
_
_
_
_
_
_
_
_
_
_
_
_
_
=
_
A
11
(I,J)
A
21
(I,nJ)
A
12
(nI,J)
A
22
(nI,nJ)
_
La matrice A
11
(I,J)
=
_
_
_
a
11
a
1J
.
.
.
.
.
.
a
I1
a
IJ
_
_
_
est de dimension(I, J),
A
21
(I,nJ)
=
_
_
_
a
1J+1
a
1n
.
.
.
.
.
.
a
IJ+1
a
In
_
_
_
est de dimension(I, n J),
16
A
12
(nI,J)
=
_
_
_
a
I+11
a
I+1J
.
.
.
.
.
.
a
n1
a
nJ
_
_
_
est de dimension(n I, J),
A
21
(nI,nJ)
=
_
_
_
a
I+1J+1
a
I+1n
.
.
.
.
.
.
a
nJ+1
a
nn
_
_
_
est de dimension(n I, n J).
Si lon prend une matrice B partitionne de la faon suivante :
B =
_
B
11
(J,K)
B
21
(J,nK)
B
12
(nJ,K)
B
22
(nJ,nK)
_
,
alors on peut faire le produit AB comme si lon avait aaire des matrices
2 2 :
AB =
_
A
11
B
11
+ A
12
B
21
A
11
B
12
+ A
12
B
22
A
21
B
11
+ A
22
B
21
A
21
B
12
+ A
22
B
22
_
,
1.2 Rduction des matrices
Soit A une matrice carre n n, on dit que est valeur propre si il
existe un x ,= 0 tel que Ax = x. On dit alors que x est un vecteur propre
associ la valeur propre . Les valeurs propres sont les zros du polynme
caractristique p(x) = det(AxI). 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 (f
1
, , f
n
) de R
n
constitue de vecteurs propres de A associs au valeurs propres
1
, ,
n
(comptes sans la multiplicit). On a alors pour tout i Af
i
=
i
f
i
. On pourra
crire matriciellement A = PP
1
o est la matrice diagonale des valeurs
propres de A, et P la matrice des vecteurs propres.
Thorme 1.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 1.1 Une matrice dont toutes les valeurs propres sont simples est
diagonalisable.
17
Thorme 1.2 Une matrice symtrique est diagonalisable en base orthonor-
me.
Thorme 1.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.
1.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 = bq
0
+ r
0
, r
0
= 0 ou dr
0
< da,
b = r
0
q
1
+ r
1
, r
1
= 0 ou dr
1
< dr
0
r
0
= r
1
q
2
+ r
2
, r
2
= 0 ou dr
2
< dr
1
on a alors a b = b r
0
= = r
n1
r
n
tant que r
n
,= 0. La suite des dr
k
est une suite dentiers strictement dcroissante, il existe donc un n tel que
r
n+1
= 0. On a alors a b = r
n
. Cest la forme que lon a apprise lcole.
On peut crire lalgorithme sous la forme
d
1
= da; d
2
= db ;
si d
1
< d
2
, p
1
= b & p
2
= a ;
sinon p
1
= a & p
2
= b ;
tant que p
2
,= 0,
p
1
= q p
2
+ r
si r = 0, pgcd = p
2
sinon p
1
= p
2
; p
2
= 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 ;
18
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 n1 additions. Ce qui
fait nmp multiplications et (n 1)mp additions. Pour des matrices carres,
on obtient en tout, (2n1)n
2
. 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 n
log
2
(7)
oprations lmentaires avec log
2
(7)
2.81. Voir [1].
1.4 Systmes linaires, dnitions
Rsoudre un systme linaire de n quations m inconnues, cest trouver
m nombres, rels ou complexes, x
1
, , x
m
, tels que
_

_
a
11
x
1
+ a
12
x
2
+ + a
1m
x
m
= b
1
a
21
x
1
+ a
22
x
2
+ + a
2m
x
m
= b
2
.
.
. . . .
.
.
.
a
n1
x
1
+ a
n2
x
2
+ + a
nm
x
m
= b
n
(1.1)
Les donnes sont les coecients a
ij
, 1 i n, 1 j m et b
j
, 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 coecients a
ij
et le vecteur b
des b
j
:
A =
_
_
_
_
_
a
11
a
12
a
1m
a
21
a
22
a
2m
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nm
_
_
_
_
_
, b =
_
_
_
_
_
b
1
b
2
.
.
.
b
n
_
_
_
_
_
et de chercher un vecteur
x =
_
_
_
_
_
x
1
x
2
.
.
.
x
m
_
_
_
_
_
tel que
19
Ax = b
Il sera souvent utile dcrire (1.1) sous la forme
x
1
_
_
_
_
_
a
11
a
21
.
.
.
a
n1
_
_
_
_
_
+ x
2
_
_
_
_
_
a
12
a
22
.
.
.
a
n2
_
_
_
_
_
+ + x
m
_
_
_
_
_
a
1m
a
2m
.
.
.
a
nm
_
_
_
_
_
=
_
_
_
_
_
b
1
b
2
.
.
.
b
n
_
_
_
_
_
(1.2)
Soit, en notant a
(j)
le j-me vecteur colonne de A, a
(j)
=
_
_
_
_
_
a
1j
a
2j
.
.
.
a
nj
_
_
_
_
_
,
x
1
a
1
+ x
2
a
2
+ x
m
a
m
= b
On en dduit un premier rsultat : le systme (1.1) admet une solution si
et seulement si b appartient au sous-espace vectoriel de R
n
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.
Thorme 1.4 Supposons m = n. Alors les proprits suivantes sont
quivalentes :
(i) A est inversible,
(ii) det(A) ,= 0,
(iii) pour tout b dans R
n
, le systme (1.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.
20
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

a
11
a
12
a
1n
a
21
a
22
a
2r
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
a
nn

soit non nul. On dit que x


1
, , x
n
sont les inconnues principales,
x
r+1
, , x
n
sont les inconnues non principales. On rcrit le systme
sous la forme
_

_
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
= b
1
(a
1r+1
x
r+1
+ + a
1m
x
m
)
a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
= b
2
(a
2r+1
x
r+1
+ + a
2m
x
m
)
.
.
. . . .
.
.
.
a
n1
x
1
+ a
n2
x
2
+ + a
nn
x
n
= b
n
(a
nr+1
x
r+1
+ + a
nm
x
m
)
Pour un second membre donn b, pour chaque choix de (x
r+1
, , x
n
)
dans R
nr
, il y a une seule solution x
1
, , x
r
. Lensemble des solu-
tions est un espace ane de dimension n r. On dira quil y a une
indtermination dordre mn.
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)
) R
n
. On a alors r quations
principales, supposons que ce soient les r premires. Nous raisonnons
maintenant sur les vecteurs lignes. Notons l
(i)
les vecteurs lignes de A.
Le systme se rcrit
_

_
l
(1)
x = b
1
l
(2)
x = b
2
.
.
. . . .
.
.
.
l
(r)
x = b
r
l
(r+1)
x = b
r+1
.
.
. . . .
.
.
.
l
(n)
x = b
n
(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)
=
j1
l
(1)
+
jr
l
(r)
21
Si lon fait une combinaison linaire des r premires lignes avec les
coecients
jk
, on obtient
l
(j)
x =
j1
b
1
+
jr
b
r
dune part, et b
j
daprs le systme. On a donc le
Thorme 1.5 Suppososns que les r premires lignes (l
(1)
, , l
(r)
)
sont indpendantes, et que les autres lignes vrient
l
(j)
=
j1
l
(1)
+
jr
l
(r)
, r + 1 j n (1.3)
Alors toute solution du systme principal (systme des r premires
quations) est solution de (1.1) si et seulement si
b
j
=
j1
b
1
+
jr
b
r
, r + 1 j n (1.4)
(1.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.
1.5 Norme de vecteurs et de matrices
Dnition 1.4 Une norme sur un espace vectoriel V est une application
|| : V R
+
qui vrie les proprits suivantes
|v| = 0 v = 0,
|v| = [[ |v|, K, v V,
|u +v| |u| +|v| , (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 C
n
:
|v|
1
=
n

i=1
[v
i
[
|v|
2
=
_
n

i=1
[v
i
[
2
_
1/2
|v|

= max
i
[v
i
[ .
La deuxime norme est la norme euclidienne sur C
n
. Elle drive du produit
scalaire (u, v)
2
=

n
i=1
u
i
v
i
.
22
Thorme 1.6 Soit V un espace de dimension nie. Pour tout nombre rel
p 1, lapplication v |v|
p
dnie par
|v|
p
=
_
n

i=1
[v
i
[
p
_
1/p
est une norme.
Rappel 1.1 Pour p > 1 et
1
p
+
1
q
= 1, lingalit
|uv|
1
=
n

i=1
[u
i
v
i
[
_
n

i=1
[u
i
[
p
_
1/p
_
n

i=1
[v
i
[
q
_
1/q
= |u|
p
|v|
q
sappelle lingalit de Hlder.
Dnition 1.5 Deux normes || et ||

, dnies sur un mme espace vec-


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

telles que
|v|

C |v| et |v| C

|v|

pour tout v V.
Rappel 1.2 Sur un espace vectoriel de dimension nie toutes les normes
sont quivalentes.
Dnition 1.6 Soit /
n
lanneau des matrices dordre n, lments dans
le corps K. Une norme matricielle est une application || : /
n
R
+
vriant
1. |A| = 0 A = 0,
2. |A| = [[ |A|, K, A /
n
,
3. |A+B| |A| +|B| , (A, B) /
2
n
(ingalit triangulaire)
4. |AB| |A| |B| , (A, B) /
2
n
Rappel 1.3 Etant donn une norme vectorielle || sur K
n
, lapplication
|| : /
n
(K) R
+
dnie par
|A| = sup
vK
n
v=0
|Av|
|v|
= sup
vK
n
v1
|Av| = sup
vK
n
v=1
|Av| ,
est une norme matricielle, appele norme matricielle subordonne ( la
norme vectorielle donne).
23
De plus
|Av| |A| |v| v K
n
et la norme |A| peut se dnir aussi par
|A| = inf R : |Av| |v| , v K
n
.
Il existe au moins un vecteur u tel que
u ,= 0 et |Au| = |A| |u| .
Enn une norme subordonne vrie toujours
|I| = 1
Thorme 1.7 Soit |A| = (a
ij
) une matrice carre. Alors
|A|
1
df.
= sup
vC
n
v=0
|Av|
1
|v|
1
= max
j

i
[a
ij
[
|A|
2
df.
= sup
vC
n
v=0
|Av|
2
|v|
2
=
_
(A

A) =
_
(AA

) = |A

|
2
|A|

df.
= sup
vC
n
v=0
|Av|

|v|

= max
i

j
[a
ij
[
La norme ||
2
est invariante par transformation unitaire :
UU

= I =|A|
2
= |AU|
2
= |UA|
2
= |U

AU|
2
.
Par ailleurs, si la matrice A est normale :
AA

= A

A =|A|
2
= (A) .
Remarque 1.1 1. Si une matrice A est hermitienne, ou symtrique (donc
normale), on a |A|
2
= (A) .
2. Si une matrice A est unitaire ou orthogonale (donc normale), on a
|A|
2
= 1.
Thorme 1.8 1. Soit A une matrice carre quelconque et || une norme
matricielle subordonne ou non, quelconque. Alors
(A) |A| .
24
2. Etant donn une matrice A et un nombre > 0, il existe au moins une
norme matricielle subordonne telle que
|A| (A) + .
Thorme 1.9 Lapplication ||
E
: /
n
R
+
dnie par
|A|
E
=
_

i,j
[a
ij
[
2
_
1/2
=
_
tr (A

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

= I =|A|
E
= |AU|
E
= |UA|
E
= |U

AU|
E
et qui vrie
|A|
2
|A|
E

n|A|
2
, A /
n
.
De plus |I|
E
=

n.
1.6 Conditionnement
1.6.1 Erreur darrondi
Un nombre rel scrit de faon unique x = a10
b
, 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 a10


b
, avec a = 0.
..

. par
exemple = 3.141592653 scrit = 0. 31415926
. .
8
53 10
1
, et avec = 8,
on a = 0. 31415927
. .
8
10
1
.
Dnition 1.7 La prcision de lordinateur est le plus petit eps tel que
arr

(1 +eps) > 1.
x = 0. 10 0
. .

49 10
1
, arr

(x) = 1,
x = 0. 10 0
. .

50 10
1
, arr

(x) = 1. 10 0
. .
1 10
1
> 1,
On en dduit que eps = 510

. Si lon calcule en base 2, on aura 2


l
.
25
On a pour tout x ,= 0,

xarr

(x)
x

< eps. En eet


x arr

(x)
x
=
(a a) 10
b
a 10
b
=
(a a)
a

510
1
10
1
= 510

= eps
On peut crire aussi arr

(x) = x(1 +), avec [[ < eps.


1.6.2 Conditionnement dun problme
Soit P un problme, cest--dire une application de R
N
dans R. Par
exemple le produit de 2 nombres scrit
(x
1
, x
2
) x
1
x
2
.
Le conditionnement de P mesure linuence dune perturbation de x sur la
solution du problme P(x) :
Dnition 1.8 La condition / de P est le plus petit nombre tel que

x x
x

< eps

P(x) P( x)
P(x)

< / eps
Si / est grand, le problme est mal conditionn, si / nest pas trop grand,
le problme est bien conditionn.
Exemple 1.1 : produit de 2 nombres. Soient x
i
= (1+
i
)x
i
, et = max([
i
[).
x
1
x
2
x
1
x
2
x
1
x
2
= (1 +
1
)(1 +
2
) 1 =
1
+
2
+
1

2
,
do

x
1
x
2
x
1
x
2
x
1
x
2


2
+ 2
Comme
2
est ngligeable devant , on a / 2.
1.6.3 Conditionnement dune matrice
On veut estimer xy, o x est solution du systme linaire, et y solution
du systme perturb
Axxx = bbb,
(A + A) yyy = (bbb + bbb) .
26
Exemple de R.S. Wilson :
A =
_
_
_
_
10 7 8 7
7 5 6 5
8 6 10 9
7 5 9 10
_
_
_
_
, bbb =
_
_
_
_
32
23
33
31
_
_
_
_
,
A + A =
_
_
_
_
10 7 8, 1 7, 2
7, 08 5, 04 6 5
8 5, 98 9, 89 9
6, 99 4, 99 9 9, 98
_
_
_
_
, b + b b + b b + b =
_
_
_
_
32, 01
22, 99
33, 01
30, 99
_
_
_
_
,
A =
_
_
_
_
0 0 0, 1 0, 2
0, 08 0, 04 0 0
0 0, 02 0, 11 0
0, 01 0, 01 0 0, 02
_
_
_
_
, b b b =
_
_
_
_
0, 01
0, 01
0, 01
0, 01
_
_
_
_
.
Axxx = bbb xxx =
_
_
_
_
1
1
1
1
_
_
_
_
,
Auuu = b + b b + b b + b uuu =
_
_
_
_
1, 82
0, 36
1, 35
0, 79
_
_
_
_
, =x x x = u x u x u x =
_
_
_
_
0, 82
1, 36
0, 35
0, 21
_
_
_
_
(A + A) vvv = bbb vvv =
_
_
_
_
81
137
34
22
_
_
_
_
, =x x x = v x v x v x =
_
_
_
_
82
136
35
21
_
_
_
_
Dnition 1.9 Soit |.| une norme matricielle subordonne, le conditionne-
ment dune matrice rgulire A, associ cette norme, est le nombre
cond(A) = |A|
_
_
A
1
_
_
.
Nous noterons cond
p
(A) = |A|
p
|A
1
|
p
.
Thorme 1.10 Soit A une matrice inversible. Soient xxx et x + x x + x x + x les so-
lutions respectives de
Axxx = bbb et A(x + x x + x x + x) = b + b b + b b + b.
27
Supposons bbb ,= 000, alors lingalit
|x x x|
|xxx|
cond(A)
|b b b|
|bbb|
est satisfaite, et cest la meilleure possible : pour une matrice A donne, on
peut trouver des vecteurs bbb ,= 000 et b b b ,= 000 tels quelle devienne une galit.
Dmonstration Il sut de soustraire les 2 quations. x x x est solution du
systme linaire
Ax x x = b b b
do
|x x x|
_
_
A
1
_
_
|b b b|
|bbb|
|bbb|
_
_
A
1
_
_
|A| |xxx|
|b b b|
|bbb|
Thorme 1.11 Soit A une matrice inversible. Soient xxx et x + x x + x x + x les so-
lutions respectives de
Axxx = bbb et (A + A) (x + x x + x x + x) = bbb.
Supposons bbb ,= 000, alors lingalit
|x x x|
|x + x x + x x + x|
cond(A)
|A|
|A|
.
est satisfaite, et cest la meilleure possible : pour une matrice A donne, on
peut trouver un vecteur bbb ,= 000 et une matrice A ,= 0 tels quelle devienne
une galit.
Thorme 1.12 1. Pour toute une matrice inversible A,
cond(A) 1,
cond(A) = cond(A
1
),
cond(A) = cond(A), pour tout scalaire ,= 0
2. Pour toute matrice inversible A,
cond
2
(A) =

max

min
o
max
et
min
sont respectivement la plus grande et la plus petite
valeur singulire de A.
28
3. Si A est une matrice normale,
cond
2
(A) =
max
i
[
i
(A)[
min
i
[
i
(A)[
o les
i
(A) sont les valeurs propres de A.
4. Le conditionnement cond
2
(A) dune matrice unitaire ou orthogonale
vaut 1.
5. Le conditionnement cond
2
(A) est invariant par transformation unitaire
UU

= I =cond
2
(A) = cond
2
(AU) = cond
2
(UA) = cond
2
(U

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

A.
1.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.
29
30
Chapitre 2
Mthodes directes
Sommaire
2.1 Mthode de Gauss . . . . . . . . . . . . . . . . . . . 31
2.1.1 Systmes triangulaires . . . . . . . . . . . . . . . . 31
2.1.2 Dcomposition LU : un rsultat thorique . . . . . 33
2.1.3 Dcomposition LU : mthode de Gauss . . . . . . 35
2.1.4 Mthode de Crout . . . . . . . . . . . . . . . . . . 39
2.1.5 Complexit de lalgorithme . . . . . . . . . . . . . 40
2.1.6 mthode du pivot partiel . . . . . . . . . . . . . . . 41
2.2 Mthode de Cholewski . . . . . . . . . . . . . . . . 45
2.1 Mthode de Gauss
2.1.1 Systmes triangulaires
Considrons un systme triangulaire (infrieur) du type :
_

_
a
11
x
1
= b
1
a
21
x
1
+ a
22
x
2
= b
2
.
.
.
.
.
.
a
n1
x
1
+ a
n2
x
2
+ + a
nn
x
n
= b
n
cest--dire associ a une matrice triangulaire infrieure
31
A =
_
_
_
_
_
_
_
a
11
0 0 0
a
21
a
22
0 0
.
.
.
.
.
.
.
.
.
.
.
.
a
n1n1
0
a
n1
a
n1
a
nn
_
_
_
_
_
_
_
la rsolution est trs aise : on commence par rsoudre la premire qua-
tion :
Si a
11
,= 0, x
1
= b
1
/a
11
puis on reporte la valeur de x
1
ainsi determine dans la deuxime quation
et on calcule x
2
, etc. A ltape i on a :
Si a
ii
,= 0, x
i
= (b
i
a
i1
x
1
a
i2
x
2
a
ii1
x
i1
)/a
ii
.
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 i 1 i
.
.
.
.
.
.
.
.
.
n n 1 n
Do le nombre total doprations en sommant sur i :
N
+
=

i=1,n
(i 1) =
n(n 1)
2
N

i=1,n
(i) =
n(n + 1)
2
La dmarche est la mme pour un systme triangulaire suprieur, i.e.
32
_

_
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
= b
1
+ a
22
x
2
+ a
2n
x
n
= b
2
.
.
.
.
.
.
a
nn
x
n
= b
n
On le rsout en remontant :
Si a
nn
,= 0, x
n
= b
n
/a
nn
puis on reporte la valeur de x
n
ainsi dtermine dans la deuxime quation
et on calcule x
n
1, etc. A letape i on a :
Si a
ii
,= 0, x
i
= (b
i
a
ii+1
x
i+1
a
ii+2
x
i+2
a
in
x
n
)/a
ii
.
Le nombre doprations est le mme.
2.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
33
Thorme 2.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 matrice U triangulaire
suprieure telles que A = LU. De plus det (A) =

n
i=1
u
ii
.
Rappelons que le mineur principal dordre i de A est le dterminant des i
premires lignes et premires colonnes :
(det A)
i
=
a
11
a
12
a
1i
a
21
a
22
a
2i
.
.
.
.
.
.
.
.
.
.
.
.
a
i1
a
i2
a
ii
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 n1. On dcompose la matrice
A par blocs sous la forme
A =
_
A
(n1)
c
b
T
a
nn
_
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
c =
_
_
_
a
1n
.
.
.
a
n1n
_
_
_
, b =
_
_
_
a
n1
.
.
.
a
nn1
_
_
_
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 =
_
L
(n1)
0
t
l 1
_
, U =
_
U
(n1)
u
0 u
nn
_
,
En eectuant le produit par blocs et en identiant a la dcomposition de A,
on obtient le systeme dquations
A
(n1)
= L
(n1)
U
(n1)
t
b =
t
lU
(n1)
c = L
(n1)
u
a
nn
=
t
lu + u
nn
34
Ceci se rsout immdiatement par
t
l =
t
b(U
(n1)
)
1
u = (L
(n1)
)
1
c
u
nn
= a
nn

t
b(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.
2.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 (1.2), et
notons L
i
la ime ligne du systme. En supposant le premier pivot a
11
non
nul, soustrayons chaque ligne L
i
la premire ligne L
1
divise par a
11
et mul-
tiplie par a
i1
: cette opration annule le coecient de x
1
dans les lignes 2 n.
L
1
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
= b
1
L
2

a
21
a
11
a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
= b
2
.
.
.
.
.
.
.
.
.
L
i

a
i1
a
11
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
= b
i
.
.
.
.
.
.
.
.
.
L
n

a
n1
a
11
a
n1
x
1
+ a
n2
x
2
+ + a
nn
x
n
= b
n
On note m
i1
=
a
i1
a
11
pour 1 i n. On obtient alors le nouveau systme
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
= b
1
(a
22
m
21
a
12
)x
2
+ + (a
2n
m
21
a
1n
)x
n
= b
2
m
21
b
1
.
.
.
.
.
.
(a
i2
m
i1
a
12
)x
2
+ + (a
in
m
i1
a
1n
)x
n
= b
i
m
i1
b
1
.
.
.
.
.
.
(a
n2
m
n1
a
12
)x
2
+ + (a
nn
m
n1
a
1n
)x
n
= b
n
m
n1
b
1
35
ou encore
_
_
_
_
_
_
_
_
_
a
11
a
12
a
1n
0 a
22
m
21
a
12
a
2n
m
21
a
1n
.
.
.
.
.
.
.
.
.
.
.
.
0 a
i2
m
i1
a
12
a
in
m
i1
a
1n
.
.
.
.
.
.
.
.
.
.
.
.
0 a
n2
m
n1
a
12
a
nn
m
n1
a
1n
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
.
.
.
x
i
.
.
.
x
n
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
b
1
b
2
m
21
b
1
.
.
.
b
i
m
i1
b
1
.
.
.
b
n
m
n1
b
1
_
_
_
_
_
_
_
_
_
La matrice du nouveau systme est
A
(2)
=
_
_
_
_
_
_
_
_
_
a
11
a
12
a
1n
0 a
22
m
21
a
12
a
2n
m
21
a
1n
.
.
.
.
.
.
.
.
.
.
.
.
0 a
i2
m
i1
a
12
a
in
m
i1
a
1n
.
.
.
.
.
.
.
.
.
.
.
.
0 a
n2
m
n1
a
12
a
nn
m
n1
a
1n
_
_
_
_
_
_
_
_
_
et le second membre est
b
(2)
=
_
_
_
_
_
_
_
_
_
b
1
b
2
m
21
b
1
.
.
.
b
i
m
i1
b
1
.
.
.
b
n
m
n1
b
1
_
_
_
_
_
_
_
_
_
Le nouveau systme secrit alors
A
(2)
x = b
(2)
et il est quivalent au systme de dpart.
On introduit la matrice
M
(1)
=
_
_
_
_
_
_
_
_
_
1 0 0
m
21
1 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
m
i1
0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
m
n1
0 0 1
_
_
_
_
_
_
_
_
_
36
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)
qui a la forme suivante
A
(k)
=
_
_
_
_
_
_
_
_
_
_
_
_
_
a
(k)
11
a
(k)
12
a
(k)
1n
0 a
(k)
22
a
(k)
2n
.
.
.
.
.
.
0 0 a
(k)
k1k1
a
(k)
k1k
a
(k1)
kn
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 a
(k)
nk
a
(k)
nn
_
_
_
_
_
_
_
_
_
_
_
_
_
et le systme associ scrit
a
(k)
11
x
1
+ a
(k)
12
x
2
+ + + a
(k)
1n
x
n
= b
(k)
1
a
(k)
22
x
2
+ + + a
(k)
2n
x
n
= b
(k)
2
a
(k)
33
x
3
+ + a
(k)
3n
x
n
= b
(k)
3

.
.
.
a
(k)
kk
x
k
+ a
(k)
kn
x
n
= b
(k)
k
.
.
.
a
(k)
nk
x
k
+ a
(k)
nn
x
n
= b
(k)
n
soit sous forme compacte A
(k)
x = b
(k)
.
Il faut maintenant faire les manipulations sur les lignes adaptes. Suppo-
sons que le k-me pivot a
(k)
kk
est non nul, et notons L
(k)
i
la i-me ligne du
systme.
37
L
(k)
1
a
(k)
11
x
1
+ + + + a
(k)
1n
x
n
= b
(k)
1
L
(k)
2
a
(k)
22
x
2
+ + + a
(k)
2n
x
n
= b
(k)
2
.
.
.
.
.
.
.
.
.
.
.
.
L
(k)
k
a
(k)
kk
x
k
+ + a
(k)
kn
x
n
= b
(k)
k
L
(k)
k+1

a
(k)
k+1k
a
(k)
kk
L
(k)
k
a
(k)
k+1k
x
k
+ + a
(k)
k+1n
x
n
= b
(k)
k+1
L
(k)
i

a
(k)
ik
a
(k)
kk
L
(k)
k
.
.
.
.
.
.
.
.
.
L
(k)
n

a
(k)
nk
a
(k)
kk
L
(k)
k
a
(k)
nk
x
k
+ + a
(k)
nn
x
n
= b
(k)
n
Cette opration annule les coecients de x
k
dans les lignes k + 1 n. Nous
avons fait un pas de plus vers la trigonalisation de la matrice A. Notons
maintenant m
ik
=
a
(k)
ik
a
(k)
kk
pour k i n et introduisons la matrice
M
(k)
=
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0
0 1 0
.
.
. 0
0 0 1 1 0
.
.
.
.
.
. 0 m
k+1k
1
.
.
.
.
.
.
.
.
.
.
.
. 0
.
.
.
0 0 0 m
nk
.
.
. 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 coecients sont les m
ik
. Nous
avons ainsi obtenu pratiquement la dcomposition LU.
38
2.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 :
LU =
_
_
_
_
_
_
_
1 0 0
m
21
1 0 0
m
i1
m
i2
1 0
.
.
.
.
.
.
.
.
. 1
.
.
.
m
n1
m
n2
.
.
. m
nn1
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
11
u
12
u
1n
0 u
22
.
.
. 0 u
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 0 u
nn
_
_
_
_
_
_
_
Ecrivons lgalit des coecients ligne par ligne
Ligne 1
Pour j = 1, , n, a
1j
= u
1j
, ce qui permet de calculer
j = 1, , n, u
1j
= a
1j
Ligne 2
Colonne 1 a
21
= l
21
u
11
, et puisque u
11
est maintenant connu, on en
dduit
l
21
=
a
21
u
11
Colonne j, pour j 2, a
2j
= l
21
u
1j
+ u
2j
, et donc
j = 2, , n, u
2j
= a
2j
l
21
u
1j
Ligne i : supposons que nous avons t capable de calculer
u
11
u
12
u
1n
l
21
u
22
u
2n
.
.
.
.
.
.
l
i11
l
i1i2
u
i1i1
u
i1n
Colonne 1 : a
i1
= l
i1
u
11
, on en dduit l
i1
:
l
i1
=
a
i1
u
11
Colonne j < i : a
ij
= l
i1
u
1j
+ l
i2
u
2j
+ + l
ij
u
jj
, do
j = 1, , j, l
ij
=
a
ij
l
i1
u
1j
l
ij1
u
j1j
u
jj
39
Colonne j i :a
ij
= l
i1
u
1j
+ l
i2
u
2j
+ + l
ii
u
ij
, do
j = i, , n, u
ij
= a
ij
l
i1
u
1j
l
ii1
u
i1j
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.
2.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
N
+
i
et N

i
le nombre doprations lmentaires :
colonne
j < i j 1 j

j i i 1 i 1

total N
+
i
N

i
On a donc N

i
=

i1
j=1
(j) +

i1
j=1
(i 1) =
i(i1)
2
+ (i 1)(n i + 1) et
N

n
i=1
(N

i
) =
n(n
2
1)
3
. On fait le mme calcul pour N
+
et on a
N

=
n(n
2
1)
3
, N
+
=
n(n 1)(2n 1)
6
Exercice 2.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.
Dcomposition LU :
2n
3
3
oprations lmentaires, Rsolution des 2 sys-
tmes triangulaires : 2n
2
oprations lmentaires.
Comparons avec lutilisation des formules de Cramer : On crit x
j
=
D
j
D
0
o
chaque D reprsente un dterminant nn. Or le dterminant dune matrice
n n est calcul par
det =

permutation de {1, ,n}


()
n

i=1
a
i,(i)
40
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 + 1 calculer, on a N n
2
n!. Daprs la formule de
Stirling, n! n
n+1/2
e
n
_
(2).
Ex (http ://clusters.top500.org) le 28calculateur CEA AlphaServer SC45,
1 GHz (2560 processeurs) est a 3980 GFlops, soit environ 410
12
Flops. Pour
n = 100, on a N 10
162
. il faudrait environ 2 10
149
annes pour le rsoudre.
Rappelons que lunivers a 15 milliards dannes, i.e 15 10
9
. Remarquons
nanmoins que les formules de Cramer restent trs comptitives pour n = 3 !
Par la mthode LU, il faut environ 7 10
6
oprations, soit 1 millionnime
de seconde. Pour un systme 10
6
inconnues, il faut 610
17
oprations, soit
10
5
secondes, soit 25h.
Rappelons la dnition dun FLOPS : oating point operations per se-
cond. Les nombres sont en gnral stocks en ottant, cest--dire avec le
nombre de chires signicatifs, le signe, la base.
2.1.6 mthode du pivot partiel
Il peut se passer dans la pratique que lun des pivots a
(k)
kk
soit nul. Dautre
part, examinons le systme ci-dessous :
10
4
x + y = 1
x + y = 2
et appliquons la mthode de Gauss avec comme pivot 10
4
. On obtient for-
mellement
(1 1/10
4
)y = 2 10
4
Ceci, calcul en virgule ottante avec 3 chires signicatifs, (cf chier MAPLE
joint) donne y = 1, puis x = 0, ce qui est notoirement faux.
Echangeons maintenant les deux lignes
x + y = 2
10
4
x + y = 1
et prenons comme pivot 1 . On obtient maintenant
(1 10
4
)y = 1 2 10
4
.
Ceci, calcul en virgule ottante avec 3 chires signicatifs, donne y = 1,
puis x = 1.
En fait la raison du problme est que le pivot 10
4
est trop petit .
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
Fig. 2.1 pivot
42
Explicitons maintenant la mthode. Pour cela reprenons la matrice A
(k)
A
(k)
=
_
_
_
_
_
_
_
_
_
_
_
_
_
a
(k)
11
a
(k)
12
a
(k)
1n
0 a
(k)
22
a
(k)
2n
.
.
.
.
.
. a
(k)
k1k1
0 0 0 a
(k)
kk
a
(k)
kn
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 a
(k)
nk
a
(k)
nn
_
_
_
_
_
_
_
_
_
_
_
_
_
Si A est inversible, si a
(k)
kk
= 0, il existe forcment un indice i suprieur
k tel que a
(k)
ik
. En eet A est inversible si et seulement si A
(k)
lest, et le
dterminant de A
(k)
est gal :
det A
(k)
= a
(k)
11
a
(k)
k1k1
a
(k)
kk
a
(k)
kn
.
.
.
.
.
.
.
.
.
a
(k)
nk
a
(k)
nn
Donc si A est inversible, au moins un des lments de la premire colonne de
cette dernire matrice est non nul.
Soit i
0
lindice du nombre le plus grand en module :
[a
(k)
i
0
k
[ = max
kin
[a
(k)
ik
[.
La mthode du pivot partiel consiste changer la ligne k et la ligne i
0
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 dnie par

k
(k) = i
0
,

k
(i
0
) = k,

k
(i) = i si i ,= k et i ,= i
0
.
La matrice correspondante est dnie par ses vecteurs colonnes
P

k
(e
j
) = e

k
(j)
,
ou encore par ses lments (P

k
)
ij
=
i
k
(j)
.
43
On peut dnir plus gnralement la matrice de permutation associe
une permutation de 1, . . . , n par
P

(e
j
) = 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 eectuer la per-


mutation
1
sur les lignes de A,
Multiplier la matrice A droite par la matrice P

revient eectuer la per-


mutation sur les colonnes de A.
Soient et deux permutations, P

= P

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

k
, puis on fait la (k + 1) me tape de la rduction de Gauss sur la
matrice P

k
A
(k)
. On obtient donc ainsi
U = M
(n1)
P

n1
M
(1)
P

1
A.
Thorme 2.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
PA = LU
Dmonstration Il sut de remarquer que pour toute permutation de
1, , n, pour toute matrice M, la matrice

M = P
1

MP

est obtenue en
eectuant 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

n1
P

1
A.
Posons =
n1
, alors
U =

M
(n1)


M
(1)
P

A,
et lon conclut comme prcdemment avec L = (

M
(n1)


M
(1)
)
1
.
Remarque 2.1 Pour calculer le dterminant dune matrice, les formules de
Cramer sont prohiber. On utilise la dcomposition LU et D(A) =

u
ii
.
Remarque 2.2 On peut crire la dcomposition LU sous la forme LDV o
V est diagonale unit et D une matrice diagonale.
44
2.2 Mthode de Cholewski
Daprs la remarque 2.2, si A est une matrice symtrique, par lunicit
de la dcomposition, on peut crire A = LD
t
L.
Thorme 2.3 Soit A une matrice symtrique dnie positive. Alors il existe
une unique matrice L triangulaire infrieure diagonale unit, et une unique
matrice diagonale D coecients strictement positifs, telles que
A = LD
t
L
Dmonstration On applique la dcomposition LU, en vriant que si A
est symtrique dnie positive, les mineurs principaux sont non nuls.
Une factorisation de Cholewski de A est une factorisation sous la forme
A = B
t
B, o B est une matrice triangulaire infrieure.
Thorme 2.4 Soit A une matrice symtrique dnie positive. Alors il existe
une unique dcomposition de Cholewski de A sous la forme A = B
t
B, o B
est une matrice triangulaire infrieure coecients diagonaux strictement
positifs.
Dmonstration Daprs le thorme prcdent, A scrit sous la forme
LD
t
L. Puisque D est diagonale lments strictement positifs, on peut d-
nir la matrice racine carre de D comme la matrice dont les lments dia-
gonaux sont

d
ii
. On dnit alors B = L

D. Lunicit se dmontre comme


pour la dcomposition LU.
45
46
Chapitre 3
Mthodes itratives
Sommaire
3.1 Suite de vecteurs et de matrices . . . . . . . . . . . 47
3.2 Mthode de Jacobi, Gauss-Seidel, S.O.R. . . . . . 48
3.3 Rsultats gnraux de convergence . . . . . . . . . 50
3.4 Cas des matrices hermitiennes . . . . . . . . . . . . 51
3.5 Cas des matrices tridiagonales . . . . . . . . . . . . 51
3.6 Matrices diagonale dominante . . . . . . . . . . . 51
3.7 La matrice du laplacien . . . . . . . . . . . . . . . . 52
3.8 Complexit . . . . . . . . . . . . . . . . . . . . . . . 52
3.1 Suite de vecteurs et de matrices
Dnition 3.1 Soit V un espace vectoriel muni dune norme |.|, on dit
quune suite (v
k
) dlments de V converge vers un lment v V , si
lim
k
|v
k
v| = 0
et on crit
v = lim
k
v
k
.
Remarque 3.1 Sur un espace vectoriel de dimension nie, toutes les normes
sont quivalentes. Donc v
k
tend vers v si et seuelement si |v
k
v| tend vers
0 pour une norme.
47
Thorme 3.1 1. Soit || une norme matricielle subordonne, et B une
matrice vriant
|B| < 1.
Alors la matrice (I +B) est inversible, et
_
_
(I +B)
1
_
_

1
1 |B|
.
2. Si une matrice de la forme (I +B) est singulire, alors ncessairement
|B| 1
pour toute norme matricielle, subordonne ou non.
Thorme 3.2 Soit B une matrice carre. Les conditions suivantes sont
quivalentes :
1. lim
k
B
k
= 0,
2. lim
k
B
k
v = 0 pour tout vecteur v,
3. (B) < 1,
4. |B| < 1 pour au moins une norme matricielle subordonne |.|.
La dmonstration repose sur la srie de Neumann

B
n
.
Thorme 3.3 Soit B une matrice carre, et |.| une norme matricielle quel-
conque. Alors
lim
k
|B
k
|
1/k
= (B).
3.2 Mthode de Jacobi, Gauss-Seidel, S.O.R.
Soit A /
n
(K) une matrice rgulire et bbb K
n
. Il sagit de rsoudre le
systme Axxx = bbb par une mthode itrative, cest--dire de crer une suite xxx
k
qui converge vers xxx. On note D = diag(A), E la matrice triangulaire infrieure
vriant
_
e
ij
= 0, i j
e
ij
= a
ij
i > j
et F la matrice triangulaire suprieure vriant
_
f
ij
= 0, i j
f
ij
= a
ij
i > j
On a alors
A =
_
_
_
.
.
. F
D
E
.
.
.
_
_
_
= D E F
48
Mthode de Jacobi
x
(k+1)
i
=
1
a
ii
_
b
i

j=1,j=i
a
ij
x
(k)
j
_
i 1, . . . , n
Mthode de Gauss-Seidel
x
(k+1)
i
) =
1
a
ii
_
b
i

i1

j=1
a
ij
x
(k+1)
j

n

j=i+1
a
ij
x
(k)
j
_
i 1, . . . , n
Mthodes de relaxation
x
(k+1)
i
= x
(k+1)
i
+ (1 )x
(k)
i
o x
(k+1)
i
est obtenu partir de x
(k)
par lune des deux mthodes prcdentes.
Avec la mthode de Jacobi
x
(k+1)
i
=

a
ii
_
b
i

j=1,j=i
a
ij
x
(k)
j
_
+ (1 )x
(k)
i
i 1, . . . , n.
Avec la mthode de Gauss-Seidel
x
(k+1)
i
=

a
ii
_
b
i

i1

j=1
a
ij
x
(k+1)
j

n

j=i+1
a
ij
x
(k)
j
_
+(1 )x
(k)
i
i 1, . . . , n
Cette mthode de relaxation est appele mthode S.O.R. (successive over
relaxation) Toutes ces mthodes se mettent sous la forme
Mx
k+1
= Nx
k
+ b
avec
Jacobi M = D N = E + F
Gauss-Seidel M = D E N = F
SOR M =
1

D E N =
1

D + F
49
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 : on dnit le rsidu ltape k comme r
(k)
= b Ax
(k)
. Le test
scrit : tant que |r
(k)
| > eps, on continue.
Exercice 3.1 Ecrire une tape de lalgorithme SOR.
3.3 Rsultats gnraux de convergence
Soit donc lalgorithme
Mx
k+1
= Nx
k
+ b (3.1)
avec M N = A. Si la suite converge, elle converge vers la solution x de
Ax = b, et lerreur e
(k)
= x
(k)
x est solution de Me
(k+1)
= Ne
(k)
. On note
B = M
1
N. Daprs le thorme 3.2, on a
Thorme 3.4 La suite x
(k)
converge pour toute donne initiale x
0
si et
seulement si (B) < 1, si et seulement si |B| < 1 pour au moins une norme
matricielle subordonne |.|.
Il est dusage daecter les noms suivants aux matrices des mthodes prc-
dentes
Jacobi J = D
1
(E + F)
SOR L

= (
1

D E)
1
(
1

D + F)
Lemme 3.1 Pour tout ,= 0, on a (L

) [ 1[.
On en dduit par le thorme 3.4,
50
Thorme 3.5 Si la mthode de relaxation converge pour toute donne ini-
tiale, on a
0 < < 2
On dnit le taux de convergence asymptotique par
R(B) = ln (B)
Thorme 3.6 Le nombre ditrations ncessaires pour rduire lerreur dun
facteur est au moins gal K =
ln
R(B)
.
3.4 Cas des matrices hermitiennes
Thorme 3.7 Soit A une matrice hermitienne dnie positive, A = M
N, o M est inversible. Si M+N

(qui est toujours hermitienne), est dnie


positive, la mthode itrative converge pour toute donne initiale.
Corollaire 3.1 Soit A une matrice hermitienne dnie positive. Si ]0, 2[,
la mthode de relaxation converge pour toute donne initiale.
3.5 Cas des matrices tridiagonales
Thorme 3.8 Soit A une matrice tridiagonale. Alors (L
1
) = ((J))
2
: les
mthodes de Jacobi et Gauss-Seidel convergent ou divergent simultanment.
Si elles convergent, la mthode de Gauss-Seidel est la plus rapide.
Thorme 3.9 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
(L

) a lallure suivante : avec

=
2
1 +
_
1 ((J))
2
.
Remarque 3.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.
3.6 Matrices diagonale dominante
Thorme 3.10 Soit A une matrice diagonale strictement dominante ou
irrductible diagonale dominante. Alors la mthode de Jacobi converge.
51
[(L

)[
1
1
2

1
Fig. 3.1 variations de (L

) en fonction de
Thorme 3.11 Soit A une matrice diagonale strictement dominante ou
irrductible diagonale dominante. Si 0 < 1, la mthode de relaxation
converge.
3.7 La matrice du laplacien
A
n
=
_
_
_
_
_
_
_
2 1 0
1 2 1
.
.
.
.
.
.
.
.
.
1 2 1
0 1 2
_
_
_
_
_
_
_
On a
(J) = 1

2
2n
2
+O(n
4
), (L
1
) = 1

2
n
2
+O(n
4
),

= 2(1

n
+O(n
2
)), (L

) =

1 == 1
2
n
+O(n
2
).
Pour n=100, pour obtenir une erreur de = 10
1
, 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.
3.8 Complexit
Supposons la matrice A pleine. La complexit dune itration est denvi-
ron 2n
2
. Si lon fait au moins n itrations, on a donc une complexit totale
52
de 2n
3
, comparer aux 2n
3
/3 de la mthode de Gauss.
Pour rsoudre un systme linaire, on prferera les mthodes directes dans
le cas des matrices pleines, et les mthodes itratives dans le cas des matrices
creuses.
53
54
Chapitre 4
Calcul des valeurs propres et
vecteurs propres
Sommaire
4.1 Gnralits, outils matriciels . . . . . . . . . . . . . 55
4.1.1 Matrices de Householder . . . . . . . . . . . . . . . 55
4.1.2 Quotients de Rayleigh . . . . . . . . . . . . . . . . 56
4.1.3 Conditionnement dun problme de valeurs propres 57
4.2 Dcompositions . . . . . . . . . . . . . . . . . . . . . 57
4.2.1 Dcomposition QR . . . . . . . . . . . . . . . . . . 57
4.2.2 Tridiagonalisation dune matrice symtrique . . . . 59
4.3 Algorithmes pour le calcul de toutes les valeurs
propres dune matrice . . . . . . . . . . . . . . . . . 59
4.3.1 Mthode de Jacobi . . . . . . . . . . . . . . . . . . 59
4.3.2 Mthode de Givens ou bisection . . . . . . . . . . . 60
4.4 Mthode de la puissance itre . . . . . . . . . . . 62
4.1 Gnralits, outils matriciels
4.1.1 Matrices de Householder
Pour tout vecteur v de C
n
0, on introduit la matrice de HouseholderH(v)
dnie par
H(v) = I 2
vv

v
(4.1)
55
H(v) est la matrice de la symtrie orthogonale par rapport lhyperplan de
C
n
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 4.1 Pour tout x dans C
n
, on a (x H(v)x)

(x + H(v)x) = 0.
Lemme 4.2 Soient x et y deux vecteurs linairement indpendants. Si v
est un vecteur de C
n
0, et un nombre complexe de module 1 tels que
y = H(v)x, alors il existe un nombre complexe tel que
v = (x y) et y

x = x

y (4.2)
On en dduit :
Proposition 4.1 pour tout couple (x, y) dans C
n
tel que |x|
2
= |y|
2
, il
existe une matrice de Householder H(v) et un nombre complexe de module
1 tels que
H(v)x = y (4.3)
Daprs les lemmes on a v = (x y) et = e
i
o est largument
de

x. v tant dni une constante multiplicative prs, on peut le choisir


de sorte que |v|
2
= 1. De plus le choix pratique du signe dans est gouvern
par des considrations de conditionnement. On choisira tel que |x y|
2
est maximal.
4.1.2 Quotients de Rayleigh
Dnition 4.1 Soit A une matrice hermitienne de dimension n. Pour x ,=
0, on pose
r
A
(x) =
x

Ax
x

x
r
A
est appel le quotient de Rayleigh associ A.
On ordonne les valeurs propres de A par ordre dcroissant
1

n
.
Thorme 4.1 On a

n
= inf
x=0
r
A
(x),
1
= sup
x=0
r
A
(x)

k
= sup
dimV =k
inf
xV 0
r
A
(x),
k
= inf
dimW=nk+1
sup
xW0
r
A
(x), 1 k n
56
4.1.3 Conditionnement dun problme de valeurs propres
Thorme 4.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
[ |E| pour toute norme matricielle.
4.2 Dcompositions
4.2.1 Dcomposition QR
Thorme 4.3 Soit A /
n
(C) (resp. /
n
(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 R
ii
0. Si A est inversible, la
dcomposition avec R
ii
> 0 est unique.
Lien avec la dcomposition de Gram-Schmidt Notons a
j
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
A = QR j, a
j
=

1j
R
j
q
j
ce qui se rcrit
a
1
= R
1,1
q
1
.
.
.
a
j
= R
j,j
q
j
+ R
j1,j
q
j1
+ + R
1,j
q
1
.
.
.
a
n
= R
n,n
q
n
+ R
n1,n
q
n1
+ + R
1,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 coecients R
k,i
pour
1 i j 1 et k i. On calcule alors la ligne j les coecients R
k,j
par
R
j,j
q
j
= a
j
R
j1,j
q
j1
R
1,j
q
1
On crit (q
j
, q
k
) = 0, ce qui donne (a
j
, q
k
) R
k,j
= 0 pour k < j, puis
(q
j
, q
j
) = 1 ce qui donne R
j,j
= (a
j
, q
j
) ou encore
R
j,j
= |a
j
|
2
2

k<j
(a
j
, q
k
)
2
57
On peut compter le nombre doprations ncessit par ce procd. On a 2n
3
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 4.1, il existe une matrice de Householder H(v
(1)
)
et un nombre complexe
1
de module 1 tels que
H(v
(1)
) a
1
=
1
|a
1
|e
1
(4.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
(r
1,1
, 0, , 0). Par rcurrence, on construit une suite de
matrices A
(k)
de la forme
A
(k)
=
_
_
_
_
_
_
_
_
_
_
_
_
r
1,1
r
1,k1
a
(k)
1,k
a
(k)
1,n
0
L
.
.
.
.
.
.
.
.
.
.
.
.
r
k1,k1
a
(k)
k1,k
a
(k)
k1,n
a
(k)
k,k
a
(k)
k,n
0
.
.
.
.
.
.
a
(k)
n,k
a
(k)
n,n
_
_
_
_
_
_
_
_
_
_
_
_
et une suite de matrices de HouseholderH
(k)
= H(v
(k)
), telles que
A
(k+1)
= H
(k)
A
(k)
, k = 1, , n. (4.5)
On cherche v
(k)
sous la forme
t
v
(k)
= (0,
t
v
(k)
), et lon vrie que
H
(k)
=
_
I
k
0
0

H
(k)
_
, avec

H
(k)
= I
nk+1
2 v
(k) t
v
(k)
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 =
t
Q
1
A
(n)
= QA
(n)
. On a ainsi construit
les matrices Q et R.
Remarque 4.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
4
3
n
3
+ 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.
58
4.2.2 Tridiagonalisation dune matrice symtrique
Thorme 4.4 Soit A /
n
(R) symtrique. Alors il existe une matrice P
orthogonale telle que
t
PAP soit tridiagonale.
La dmonstration est du mme type que pour la mthode QR. Ici on multiplie
droite et gauche par une matrice de Householder.
4.3 Algorithmes pour le calcul de toutes les va-
leurs propres dune matrice
4.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.
t
OAO = =
_
_
_
_
_

1
.
.
. 0
0
.
.
.

n
_
_
_
_
_
La mthode de Jacobi consiste construire une suite de matrices de rotation
O
(k)
telles que la suite dnie par A
(k+1)
=
t
O
(k)
A
(k)
O
(k)
converge vers .
Soit R
pq

la matrice de rotation dans le plan (e


p
, e
q
) dangle :
R
p,q
() =
p q
p
q
_

_
1 0 0 0
.
.
.
.
.
.
.
.
.
1 0 0
0 0 cos() 0 0 sin() 0 . . . 0
0 1 0
.
.
.
.
.
.
.
.
.
0 1 0
sin() 0 0 cos()
1
.
.
.
1
_

_
59
On pose B =
t
R
p,q
()AR
p,q
(). Les b
i,j
sont alors donns par
b
i,j
= a
i,j
, i ,= p, q, j ,= p, q
b
p,j
= a
p,j
cos() a
q,j
sin(), j ,= p, q
b
q,j
= a
p,j
sin() + a
q,j
cos(), j ,= p, q
b
p,p
= a
p,p
cos
2
() + a
q,q
sin
2
() a
p,q
sin(2)
b
q,q
= a
p,p
sin
2
() + a
q,q
cos
2
() + a
p,q
sin(2)
b
p,q
= a
p,q
cos(2) +
a
p,p
a
q,q
2
sin(2)
b
p,q
= b
q,p
.
Thorme 4.5 Si a
p,q
,= 0, il existe un unique dans ]

4
, 0[]0,

4
[ tel que
b
p,q
= 0. Cest lunique racine de lquation
cotg 2 =
a
q,q
a
p,p
2a
p,q
Etape 1. On choisit p
1
et q
1
tels que [a
p
1
,q
1
[ = max
i =j
[a
i,j
[.On choisit
1
tel que A
(1)
=
t
R
p
1
,q
1
(
1
)AR
p
1
,q
1
(
1
) vrie a
(1)
p
1
,q
1
= 0.
Etape 2. On choisit p
2
et q
2
tels que [a
(1)
p
2
,q
2
[ = max
i =j
[a
(1)
i,j
[.On choisit

2
tel que A
(2)
=
t
R
p
2
,q
2
(
2
)A
(1)
R
p
2
,q
2
(
2
) vrie a
(2)
p
2
,q
2
= 0. Puisque
p
2
,= p
1
, q
1
, q
2
,= p
1
, q
1
, on a aussi a
(2)
p
1
,q
1
= 0.
Etape k. On choisit p
k
et q
k
tels que [a
(k1)
p
k
,q
k
[ = max
i =j
[a
(k1)
i,j
[.On choisit

k
tel que A
(k)
=
t
R
p
k
,q
k
(
k
)A
(k1)
R
p
k
,q
k
(
k
) vrie a
(k)
p
k
,q
k
= 0. On a
a
(k)
p
1
,q
1
= = a
(k)
p
k
,q
k
= 0.
On vide ainsi la matrice de tous ses lments extradiagonaux.
Thorme 4.6 Chaque lment diagonal a
(k)
i,i
converge vers une valeur propre
de A quand k tend vers +.
On a ltape k, A
(k)
=
t
R
p
k
,q
k
(
k
)
t
R
p
1
,q
1
(
1
)AR
p
1
,q
1
R
p
k
,q
k
(
k
) =
t
O
(k)
AO
(k)
, o O
(k)
est une matrice orthogonale. Lorsque k tend vers lin-
ni, O
(k)
tend donc vers la matrice des vecteurs propres de A. Pour calculer
les vecteurs propres de A, il sut donc de calculer les matrices O
(k)
, ce qui
et nanmoins assez coteux.
4.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.
60
Etape 1. On se ramne une matrice symtrique tridiagonale relle par la
mthode de Householder.La matrice
B =
_
_
_
_
_
_
_
_
a
1
b
2
0 0
b
2
a
2
b
3
.
.
.
.
.
.
0 b
3
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
.
.
.
. b
n
0 0 b
n
a
n
_
_
_
_
_
_
_
_
a les mmes valeurs propres que A.
Etape 2. On calcule les valeurs propres de B.
Ltape 1 a dj t dcrite, passons ltape 2. On suppose dabord tous
les c
i
non nuls, sinon on dcompose B par blocs qui ont les mmes valeurs
propres. On note p
i
le polynme caractristique de la matrice A
i
dnie pour
i 1 par
A
1
= (a
1
), A
2
=
_
a
1
b
2
b
2
a
2
_
, , A
i
=
_
_
_
_
_
_
_
_
a
1
b
2
0 0
b
2
a
2
b
3
.
.
.
.
.
.
0 b
3
.
.
.
.
.
. 0
.
.
.
.
.
.
.
.
.
.
.
. b
i
0 0 b
i
a
i
_
_
_
_
_
_
_
_
,
On posera par convention p
0
1. On a la relation de rcurrence
p
i
() = (a
i
)p
i1
() b
2
i
p
i2
()
Lemme 4.3 Les polynmes p
i
ont les proprits suivantes :
1. lim

= +, 1 i n.
2. p
i
(
0
) = 0 p
i1
(
0
)p
i+1
(
0
) < 0, 1 i n 1.
3. Le polynme p
i
possde i racines relles distinctes, qui sparent les
(i+1) racines du polynme p
i+1
, 1 i n 1.
Thorme 4.7 Soit () le nombre de changements de signe de lensemble
p
0
(), , p
n
(). Alors p
n
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(a
k
, [b
k
[ +
[b
k+1
[). On a alors (a) = 0, (b) = n.
61
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.
4.4 Mthode de la puissance itre
Elle permet le calcul de la valeur propre de plus grand module et dun
vecteur propre associ.
On choisit q
(0)
C
n
tel que |q
(0)
| = 1.
Pour k = 1, 2, . . . on calcule :
_

_
x
(k)
= Aq
(k1)

(k)
j
=
x
(k)
j
q
(k1)
j
j = 1, . . . , n
q
(k)
=
x
(k)
x
(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 4.8 On suppose que A est diagonalisable et que lhypothse (H)
est vrie. On suppose de plus que q
0
nest pas orthogonal V . Alors on a
1. lim
k
|Aq
k
|
2
= [
1
[,
2. lim
k

(k)
j
=
1
1 j n, si q
(k)
j
,= 0,
3. lim
k
_
[
1
[

1
_
k
q
(k)
est un vecteur propre associ
1
.
On remarque que q
k
est galement dni par q
k
=
A
k
q
0
|A
k
q
0
|
2
.
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 A
1
.
62
63

Vous aimerez peut-être aussi