L. Halpern
24 septembre 2010
2
Table des matires
I Introduction gnrale 7
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
Bibliographie
5
6
Premire partie
Introduction gnrale
7
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)
l
Le problme linaris pour de petits mouvements du pendule scrit
g
x + x = 0 (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). 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 ) = + O(t2 ) (3)
t2
et on remplace lquation par
yn+1 2yn + yn1 g
+ sin(yn ) = 0. (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 (4) est une
approximation de lquation (1). Il est souhaitable que
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 (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 (2) scrit
yn+1 2yn + yn1 g
+ yn = 0. (5)
t2 l
9
Elle peut se mettre sous forme dun systme linaire, cest--dire AY = b, o
1 0 y0
0 1 0 y0 y1
0 1 1 ..
,Y = . ,b = 0 ,
A=
.. .. .. ..
. . . 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
Deuxime partie
Rsolution numrique de
systmes linaires
11
Chapitre 1
Gnralits
Sommaire
1.1 Rappels sur les matrices . . . . . . . . . . . . . . . 13
1.1.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . 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, dfinitions . . . . . . . . . . . . 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
13
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
A(x) = 0 x = 0
Dfinition 1.3 Lapplication linaire A est bijective si elle est la fois in-
jective et surjective.
14
1.1.2 Cas particulier de matrices
Toutes les matrice considres dans ce paragraphe sont carres.
1.1.3 Dterminants
Le dterminant dune matrice carre A se note det A, ou
15
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.
16
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 :
A11 B 11 + A12 B 21 A11 B 12 + A12 B 22
AB = ,
A21 B 11 + A22 B 21 A21 B 12 + A22 B 22
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.
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 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].
19
Ax = b
Il sera souvent utile dcrire (1.1) sous la forme
a11 a12 a1m b1
a21
a22
a2m
b2
x1 .. + x2 .. + + xm .. = .. (1.2)
. . . .
an1 an2 anm bn
a1j
(j) (j)
a2j
Soit, en notant a le j-me vecteur colonne de A, a = .. ,
.
anj
x1 a1 + x2 a2 + xm am = b
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
a11 a12 a1n
a21 a22 a2r
.. .. . . ..
. . . .
an1 an2 ann
21
Si lon fait une combinaison linaire des r premires lignes avec les
coefficients jk , on obtient
l(j) x = j1b1 + jr br
bj = j1 b1 + jr br , r + 1 j n (1.4)
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
n
La deuxime norme Pnest la norme euclidienne sur C . Elle drive du produit
scalaire (u, v)2 = i=1 uivi .
22
Thorme 1.6 Soit V un espace de dimension finie. Pour tout nombre rel
p 1, lapplication v 7 kvkp dfinie par
n
!1/p
X p
kvkp = |vi |
i=1
n n
!1/p n
!1/q
X X X
kuvk1 = |ui vi | |ui |p |vi |q = kukp kvkq
i=1 i=1 i=1
Rappel 1.2 Sur un espace vectoriel de dimension finie toutes les normes
sont quivalentes.
kAvk
kAk = sup = sup kAvk = sup kAvk ,
vKn kvk vKn vKn
v6=0 kvk1 kvk=1
23
De plus
kAvk kAk kvk v Kn
et la norme kAk peut se dfinir aussi par
kIk = 1
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
AA = A A = kAk2 = (A) .
(A) kAk .
24
2. Etant donn une matrice A et un nombre > 0, il existe au moins une
norme matricielle subordonne telle que
kAk (A) + .
pour toute matrice A = (aij ) dordre n, est une norme matricielle non subor-
donne (pour n 2), invariante par transformation unitaire :
et qui vrifie
kAk2 kAkE n kAk2 , A Mn .
De plus kIkE = n.
1.6 Conditionnement
1.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}
1
exemple = 3.141592653 scrit = 0. 31415926
| {z } 53 10 , et avec = 8,
8
1
on a | {z } 10 .
= 0. 31415927
8
Dfinition 1.7 La prcision de lordinateur est le plus petit eps tel que
arr (1 + eps) > 1.
x = 0. 10 0} 49 101 ,
| {z arr (x) = 1,
x = 0. 10 0} 50 101 ,
| {z arr (x) = 1. 10 0} 1 101 > 1,
| {z
25
On a pour tout x 6= 0, xarr (x)
x < eps. En effet
(x1 , x2 ) 7 x1 x2 .
Si K est grand, le problme est mal conditionn, si K nest pas trop grand,
le problme est bien conditionn.
x1 x2 x1 x2
= (1 + 1 )(1 + 2 ) 1 = 1 + 2 + 1 2 ,
x1 x2
do
x1 x2 x1 x2
2 + 2
x1 x2
Axx = b,
(A + A) y = (bb + bb) .
26
Exemple de R.S. Wilson :
10 7 8 7 32
7 5 6 5 23
A= 8
, b=
33 ,
6 10 9
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 1, 36
Auu = b + b u = 1, 35 , = x = u x = 0, 35
0, 79 0, 21
81 82
137 136
(A + A) v = b v = 34 , = x = v x = 35
22 21
Ax
x = b et A (x
x + x
x) = b + b
b.
27
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.
Ax
x = b et (A + A) (x
x + x
x) = b.
cond(A) 1,
cond(A) = cond(A1 ),
cond(A) = cond(A), pour tout scalaire 6= 0
28
3. Si A est une matrice normale,
max |i (A)|
i
cond2 (A) =
min |i (A)|
i
Rappel 1.4 Les valeurs singulires dune matrice rectangulaire A sont les
racines carres positives des valeurs propres de A 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
31
a11 0 0 0
a21 a22 0 0
A= .. .. .. ..
. . . .
an1n1 0
an1 an1 ann
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 :
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
32
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
A = LU
LUx = b,
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
Q matrice U triangulaire
suprieure telles que A = LU. De plus det (A) = ni=1 uii.
34
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
35
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
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
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
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.
37
(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) Lk ak+1k xk + + ak+1n xn = bk+1
akk
(k)
(k)
aik (k) .. .. ..
Li (k) Lk . . .
akk
(k)
(k) ank (k) (k) (k) (k)
Ln (k) Lk ank xk + + ann xn = bn
akk
1 0 0
0 1 0
..
. 0
M (k)
= 0 0 1 1 0
.. ..
. . 0 mk+1k 1
.. .. .. .. ..
. . . . 0 .
..
0 0 0 mnk . 1
A(n) x = b(n)
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 :
1 0 0 u11 u12 u1n
m21 1 0 0
0 u22
mi1 mi2 1 0 ..
LU = . 0 u33
.. .. .. ..
.. .. .. .. ..
. . . 1 . . . . . .
.
mn1 mn2 .. mnn1 1 0 0 0 0 0 unn
j = 1, , n, u1j = a1j
Ligne 2
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
39
Colonne j i :aij = li1 u1j + li2 u2j + + lii uij , do
colonne
j<i j1 j
ji i1 i1
+
total Ni Ni
Pi1 Pi1 i(i1)
On a donc Ni = j=1 (j) + j=1 (i 1) = 2
+ (i 1)(n i + 1) et
Pn n(n2 1)
N = i=1 (Ni ) = 3
. On fait le mme calcul pour N + et on a
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
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 + 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.
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
(1 104 )y = 1 2 104 .
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
42
Explicitons maintenant la mthode. Pour cela reprenons la matrice A(k)
(k) (k) (k)
a11 a12 a1n
(k) (k)
0 a22 a2n
.. .. (k)
. . ak1k1
(k) (k)
A(k)
= 0 0 0 akk 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
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) ,
43
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) .
Posons = n1 , alors
(n1) M
U =M (1) P A,
(n1) M
et lon conclut comme prcdemment avec L = (M (1) )1 .
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 tL.
Thorme 2.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
Thorme 2.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.
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
limk kvk vk = 0
et on crit
v = limk vk .
Remarque 3.1 Sur un espace vectoriel de dimension finie, toutes les normes
sont quivalentes. Donc vk tend vers v si et seuelement si kvk vk tend vers
0 pour une norme.
47
Thorme 3.1 1. Soit kk une norme matricielle subordonne, et B une
matrice vrifiant
kBk < 1.
Alors la matrice (I + B) est inversible, et
(I + B)1
1
.
1 kBk
2. Si une matrice de la forme (I + B) est singulire, alors ncessairement
kBk 1
pour toute norme matricielle, subordonne ou non.
Thorme 3.2 Soit B une matrice carre. Les conditions suivantes sont
quivalentes :
1. limk Bk = 0,
2. limk Bk v = 0 pour tout vecteur v,
3. (B) < 1,
4. kBk < 1 pour au moins une norme matricielle subordonne k.k.
P n
La dmonstration repose sur la srie de Neumann B .
Thorme 3.3 Soit B une matrice carre, et k.k une norme matricielle quel-
conque. Alors
limk kBk k1/k = (B).
48
Mthode de Jacobi
n
!
(k+1) 1 X (k)
xi = bi aij xj i {1, . . . , n}
aii
j=1,j6=i
Mthode de Gauss-Seidel
i1 n
!
(k+1) 1 X (k+1)
X (k)
xi )= bi aij xj aij xj i {1, . . . , n}
aii j=1 j=i+1
Mthodes de relaxation
Mxk+1 = Nxk + b
avec
Jacobi M =D N =E+F
Gauss-Seidel M = DE N =F
1 1
SOR M= DE N= 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)
Il est dusage daffecter les noms suivants aux matrices des mthodes prc-
dentes
Jacobi J = D 1 (E + F )
1 1
SOR L = ( D E)1 ( D + F)
50
Thorme 3.5 Si la mthode de relaxation converge pour toute donne ini-
tiale, on a
0<<2
On dfinit le taux de convergence asymptotique par
R(B) = ln (B)
Corollaire 3.1 Soit A une matrice hermitienne dfinie positive. Si ]0, 2[,
la mthode de relaxation converge pour toute donne initiale.
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
2
7 (L ) a lallure suivante : avec = p .
1 + 1 ((J))2
51
|(L )|
1
1 2
3.8 Complexit
Supposons la matrice A pleine. La complexit dune itration est denvi-
ron 2n2 . Si lon fait au moins n itrations, on a donc une complexit totale
52
de 2n3 , comparer aux 2n3 /3 de la mthode de Gauss.
53
54
Chapitre 4
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
55
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).
y x = x y
v = (x y) et (4.2)
On en dduit :
Proposition 4.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 (4.3)
Thorme 4.1 On a
n = inf rA (x), 1 = sup rA (x)
x6=0 x6=0
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 i | kEk pour toute norme matricielle.
4.2 Dcompositions
4.2.1 Dcomposition QR
Thorme 4.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.
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
57
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.
58
4.2.2 Tridiagonalisation dune matrice symtrique
Thorme 4.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.
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
59
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 .
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 4.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.
60
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 b 3 . . 0
. .
. . . . . . . . bn
..
0 0 bn an
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 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 . . 0 ,
b2 a2
. .
3
.. . .
. . . . . . bi
0 0 bi ai
On posera par convention p0 1. On a la relation de rcurrence
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.
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 :
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 .
62
63