You are on page 1of 74

UNIVERSITE DE LIEGE

Facult e des Sciences Appliqu ees


ANALYSE NUMERIQUE
Premi` ere partie - Alg` ebre Lineaire et Equations Di erentielles
Cours dispense en Matrise de Mathematique ` a lUniversite dAbidjan
J. CHEVALIER
1993
Table des mati` eres
1 COMPLEMENTS SUR LES MATRICES 1
1.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Reduction dune matrice ` a la forme triangulaire superieure . . . . . . . . . 2
1.3 Normes vectorielles et normes matricielles . . . . . . . . . . . . . . . . . . 3
1.4 Rayon spectral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 METHODES DIRECTES POUR LES SYSTEMES LINEAIRES 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Calculs en virgule ottante . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Conditionnement dun syst`eme lineaire . . . . . . . . . . . . . . . . . . . . 11
2.4 Lalgorithme de GAUSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Strategie du pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Interpretation matricielle de lalgorithme de GAUSS . . . . . . . . . . . . . 18
2.7 Syst`emes lineaires `a matrice bande . . . . . . . . . . . . . . . . . . . . . . 20
2.8 Algorithme de CHOLESKI . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 METHODES ITERATIVES POUR LES SYSTEMES LINEAIRES 27
3.1 Generalites sur les methodes iteratives . . . . . . . . . . . . . . . . . . . . 27
3.2 Presentation des methodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Le cas dune matrice hermitienne denie positive . . . . . . . . . . . . . . 33
4 CALCUL DES VALEURS PROPRES 39
4.1 Conditionnement dun probl`eme aux valeurs propres . . . . . . . . . . . . . 39
4.2 Matrices de Householder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Decomposition QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4 Forme canonique de Hessenberg . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 Calcul des valeurs propres par la methode QR . . . . . . . . . . . . . . . . 46
5 RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES 53
5.1 Resume de la theorie classique des equations dierentielles . . . . . . . . . 53
5.2 Generalites sur les schemas `a un pas . . . . . . . . . . . . . . . . . . . . . 55
5.3 Resultats de consistance et de stabilite . . . . . . . . . . . . . . . . . . . . 57
5.4 Ordre dun schema ` a un pas . . . . . . . . . . . . . . . . . . . . . . . . . . 59
i
pii
5.5 Les schemas de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.6 Integration de lequation du pendule simple . . . . . . . . . . . . . . . . . 68
Chapitre 1
COMPLEMENTS SUR LES
MATRICES
1.1 Rappels
Nous considerons lespace vectoriel des vecteurs colonnes x = (x
i
)
n
i=1
C
n
muni du
produit scalaire et de la norme
1
(x, y) =
n

i=1
x
i
y
i
, |x| =
_
(x, x) =

_
n

i=1
[x
i
[
2
et lalg`ebre des matrices carrees A = (a
ij
)
n
i,j=1
/
n
(C).
A toute matrice A on associe son adjointe A

= A
t
. Celle-ci verie la formule de
transfert
2
(Ax, y) = (x, A

y) x, y C
n
.
On appelle valeur propre dune matrice A tout nombre C pour lequel il existe un
vecteur x ,= 0 (egalement qualie de propre) veriant Ax = x. Les valeurs propres de A
sont alors les zeros du polyn ome de degre n obtenu en developpant le determinant de la
matrice A I et leur nombre est egal ` a n, compte tenu de leur multiplicite.
Une matrice A est dite hermitienne si elle verie A

= A, auquel cas toutes ses valeurs


propres sont reelles.
Une matrice A est dite unitaire si elle verie A

= A
1
, auquel cas toutes ses valeurs
propres sont de module egal ` a 1.
Une matrice A est dite normale si elle verie A

A = AA

. Les matrices hermitiennes


et unitaires sont normales.
1
Cette norme sera notee |x|
2
quand il faudra la distinguer des autres normes denies sur C
n
.
2
Ladjointe se denit aussi pour une matrice rectangulaire et la formule de transfert est encore valable,
pour autant que les vecteurs x et y aient des hauteurs appropriees.
Dans ce contexte, le produit scalaire (x, y) secrit y

x.
1
p2 Chapitre 1. COMPLEMENTS SUR LES MATRICES
1.2 R eduction dune matrice ` a la forme triangulaire
sup erieure
Parmi les dierentes formes canoniques dune matrice A /
n
(C) nous retiendrons
la reduction ` a la forme triangulaire superieure, cest-`a-dire ` a une matrice T veriant t
ij
= 0
lorsque j < i. Comme cas particulier nous avons les matrices diagonales
D = diag(a
1
, . . . , a
n
) pour lesquelles d
ij
= a
i

ij
.
Theor`eme 1.2.1 Pour toute matrice A /
n
(C) il existe une matrice unitaire U telle
que U

AU soit triangulaire superieure. Si A est normale, cette matrice triangulaire se


reduit `a une matrice diagonale.
Preuve. La premi`ere partie de la proposition est evidente avec U = 1 si n = 1 et il sut
de letendre aux valeurs superieures de n par recurrence.
Supposons que toute matrice de /
n1
(C) soit reductible `a la forme triangulaire su-
perieure au moyen dune matrice untaire et considerons A /
n
(C) avec n > 1.
Cette matrice admet au moins un vecteur propre x
1
relatif ` a une valeur propre . Ce
vecteur peut toujours etre suppose norme en le divisant eventuellement par sa norme.
Completons-le par y
2
, . . . , y
n
de mani`ere `a obtenir une base orthonormee de C
n
et trans-
formons A au moyen de la matrice unitaire (x
1
[Y ) = (x
1
[y
2
, . . . , y
n
).
Nous obtenons
_
x

1
Y

_
A (x
1
[Y ) =
_
x

1
Y

_
(x
1
[AY ) =
_
x

1
AY
0 Y

AY
_
.
La matrice Y

AY /
n1
(C) est reductible `a la forme triangulaire superieure au
moyen dune matrice unitaire V et la matrice
_
1 0
0 V
_
/
n
(C),
qui est visiblement unitaire, op`ere la transformation suivante
_
1 0
0 V

__
x

1
AY
0 Y

AY
__
1 0
0 V
_
=
_
1 0
0 V

__
x

1
AY V
0 Y

AY V
_
=
_
x

1
AY V
0 V

(Y

AY )V
_
,
ce qui est une matrice triangulaire superieure de /
n
(C).
En conclusion, nous avons reduit A `a la forme triangulaire superieure au moyen de la
matrice
U = (x
1
[Y )
_
1 0
0 V
_
/
n
(C)
qui est unitaire comme produit de matrices unitaires.
p 1.3. NORMES VECTORIELLES ET NORMES MATRICIELLES 3
Si la matrice A est normale, la matrice triangulaire superieure T = U

AU est restee
normale, puisque
TT

= (U

AU)(U

U) = U

AA

U = U

AU = (U

U)(U

AU) = T

T,
et il reste `a montrer quune matrice triangulaire superieure normale est necessairement
diagonale.
Des relations (TT

)
ii
= (T

T)
ii
nous deduisons
n

k=i
[t
ik
[
2
=
i

k=1
[t
ki
[
2
, 1 i n,
ce qui donne t
ij
= 0 si j > i, en procedant de proche en proche sur les valeurs de i, do` u
la conclusion.
Remarque 1.2.2 Notons que les elements diagonaux de la matrice triangulaire
T = U

AU sont necessairement les valeurs propres


1
, . . . ,
n
de A (repetees selon leur
multiplicite), vu linvariance du polyn ome caracteristique dans une transformation matri-
cielle.
Remarque 1.2.3 Si A est normale, nous avons U

AU = diag(
1
, . . . ,
n
), soit encore
AU = U(
1
e
1
, . . . ,
n
e
n
) o` u les e
i
designent les vecteurs de la base canonique de C
n
et, si
nous representons les vecteurs colonnes de U par x
1
, . . . , x
n
, il vient enn
(Ax
1
, . . . , Ax
n
) = (
1
x
1
, . . . ,
n
x
n
),
ce qui montre que les colonnes de U sont des vecteurs propres orthonormes de A.
Lorsque A est symetrique (i.e. hermitienne reelle), tous ses vecteurs propres sont reels
comme solutions de syst`emes lineaires ` a coecients reels et la matrice U est en fait
orthogonale (i.e. unitaire reelle).
1.3 Normes vectorielles et normes matricielles
Une norme sur C
n
est une application
|.| : x C
n
|x| R
veriant pour tous x, y C
n
et tout C
|x| 0, legalite ayant lieu si et ssi x = 0,
|x| = [[ |x|,
|x + y| |x| +|y|.
De ce dernier axiome on deduit
[ |x| |y| [ |x y|.
p4 Chapitre 1. COMPLEMENTS SUR LES MATRICES
En analyse numerique, on invoque essentiellement les normes suivantes
|x|
1
=
n

i=1
[x
i
[, |x|
2
=

_
n

i=1
[x
i
[
2
, |x|

= sup
1in
[x
i
[.
En fait, toutes les normes denies sur C
n
sont equivalentes, cest-`a-dire quelles de-
nissent la meme topologie, car on montre facilement (T.D.) quune norme quelconque et
la norme |.|
2
se majorent mutuellement et de l` a, deux normes sur C
n
se majorent lune
lautre.
Une norme matricielle est une application
|.| : A /
n
(C) |A| R
qui verie les axiomes dune norme rappeles plus haut et
|AB| |A| |B| A, B /
n
(C).
Toute norme |.| sur C
n
denit une norme matricielle, ` a savoir
|A| = sup
x=0
|Ax|
|x|
= sup
x1
|Ax| = sup
x=1
|Ax|,
dite norme subordonnee (` a cette norme vectorielle). Cest un cas particulier dun resultat
general relatif aux operateurs lineaires continus sur un espace lineaire norme pour lequel
nous renvoyons au cours danalyse fonctionnelle, mais une preuve elementaire est possible
(T.D.).
Remarque 1.3.1 La premi`ere denition de |A| implique
|Ax| |A| |x| x C
n
.
En fait, |A| est la plus petite des constantes C telle que |Ax| C|x| pour tout x C
n
.
Theor`eme 1.3.2 Les normes matricielles subordonnees aux normes vectorielles |.|
1
,
|.|
2
, |.|

sont donnees par


|A|
1
= sup
1jn
n

i=1
[a
ij
[, |A|
2
=

n
, |A|

= sup
1in
n

j=1
[a
ij
[,
o` u
n
designe la plus grande valeur propre de A

A
3
.
Preuve. (i) Nous avons pour tout x C
n
|Ax|
1
=

i
[(Ax)
i
[ =

i
[

j
a
ij
x
j
[
3
Cest aussi la plus grande valeur propre de AA

comme prouve au theor`eme I.4.1 .


p 1.3. NORMES VECTORIELLES ET NORMES MATRICIELLES 5

j
[a
ij
[ [x
j
[ =

j
(

i
[a
ij
[) [x
j
[ (sup
j

i
[a
ij
[) |x|
1
et, si ce supremum est atteint pour j = j
0
,
|Ae
j
0
|
1
=

i
[a
ij
0
[ = (sup
j

i
[a
ij
[) |e
j
0
|
1
,
de sorte que ce supremum est eectivement la plus petite des constantes C telles que
|Ax|
1
C|x|
1
pour tout x C
n
.
(ii) Remarquons dabord que la matrice A

A est hermitienne semi-denie positive


puisque, par la formule de transfert, (A

Ax, x) = |Ax|
2
2
0 et ses valeurs propres
verient
n

1
0, do` u la denition de

n
.
Si U est une matrice unitaire qui reduit A

A `a la forme diagonale, nous avons pour


tout x C
n
|Ax|
2
2
= (A

Ax, x) = ([U

AU]U

x, U

x) =

i
[(U

x)
i
[
2

n

i
[(U

x)
i
[
2
=
n
(U

x, U

x) =
n
|x|
2
2
,
tandis que si y est un vecteur propre de A

A relatif ` a la valeur propre


n
il vient
|Ay|
2
2
= (A

Ay, y) =
n
|y|
2
2
,
do` u la conclusion.
(iii) Pour tout x C
n
nous avons
|Ax|

= sup
i
[(Ax)
i
[ = sup
i
[

j
a
ij
x
j
[ sup
i

j
[a
ij
[ [x
j
[ (sup
i

j
[a
ij
[) |x|

.
Dautre part, si ce supremum est realise pour i = i
0
, le vecteur y C
n
de composantes
y
j
=
_

_
a
i
0
j
|a
i
0
j
|
si a
i
0
j
,= 0
1 si a
i
0
j
= 0
verie |y|

= 1 et

j
[a
i
0
j
[ =

j
a
i
0
j
y
j
= [

j
a
i
0
j
y
j
[ = [(Ay)
i
0
[ |Ay|

|A|

,
do` u la conclusion, puisque les deux parties de la preuve impliquent
|A|

sup
j

j
[a
ij
[, sup
j

j
[a
ij
[ |A|

.
p6 Chapitre 1. COMPLEMENTS SUR LES MATRICES
Remarque 1.3.3 Si la matrice A est normale, nous avons
|A|
2
= sup
1in
[
i
[,
o` u les
i
sont les valeurs propres de A.
Il existe en eet une matrice unitaire U telle que U

AU = D diag(
1
, . . . ,
n
), de
sorte que
A

A = (UD

)(UDU

) = UD

DU

.
La plus grande valeur propre de A

A est donc celle de DD

= diag([
1
[
2
, . . . , [
n
[
2
), do` u
la th`ese.
Pour conclure, conrmons lexistence de normes matricielles non subordonnees, par
exemple la norme de Frobenius
|A|
F
=

_
n

i=1
n

j=1
[a
ij
[
2
.
Cest une norme, car elle concide avec la norme |.|
2
de la matrice A consideree comme
un vecteur de C
n
2
. Elle verie
|AB|
F
|A|
F
|B|
F
,
puisque
|AB|
2
F
=

j
[(AB)
ij
[
2
=

j
[

k
a
ik
b
kj
[
2

j
(

k
[a
ik
[[b
kj
[)
2
et, en invoquant linegalite de Cauchy-Schwarz dans R
n
(

k
[a
ik
[[b
kj
[)
2
(

k
[a
ik
[
2
)(

k
[b
kj
[
2
),
nous obtenons
|AB|
2
F
(

k
[a
ik
[
2
)(

k
[b
kj
[
2
) = |A|
2
F
|B|
2
F
.
Ce nest pas une norme subordonnee car une telle norme verie |I| = 1 alors que |I|
F
=

n.
1.4 Rayon spectral
On appelle rayon spectral de A /
n
(C) le maximum du module de ses valeurs
propres. On le note (A).
p 1.4. RAYON SPECTRAL 7
Theor`eme 1.4.1 Pour toute matrice A /
n
(C)
|A|
2
=
_
(A

A) =
_
(AA

)
et, si la matrice A est normale, |A|
2
= (A).
Preuve. Nous avons montre au theor`eme I.3.2 que |A|
2
concide avec
_
(A

A) et il
reste `a prouver que (A

A) = (AA

).
Il existe un vecteur x ,= 0 tel que A

Ax = (A

A)x et, si (A

A) > 0, on a s urement
Ax ,= 0, de sorte que
(AA

)Ax = (A

A)Ax, avec Ax ,= 0.
De l`a, (A

A) est une valeur propre de la matrice hermitienne semi-denie positive AA

et nous avons 0 < (A

A) (AA

).
Le meme raisonnement mene `a partir de A

au lieu de A conduit ` a linegalite inverse,


do` u legalite.
Si (A

A) = 0, alors (AA

) = 0, sinon le raisonnement precedent donnerait


0 < (AA

) (A

A).
Si la matrice A est normale, on invoque la remarque I.3.3 .
Les resultats suivants permettent la comparaison entre (A) et les normes matricielles
de A.
Theor`eme 1.4.2 Pour toute matrice A /
n
(C) et toute norme matricielle |.| (subor-
donnee ou non), il vient (A) |A|.
Preuve. Il existe un vecteur x C
n
veriant
x ,= 0, Ax = x, [[ = (A)
et, en choisissant un vecteur q ,= 0, la matrice xq
t
nest pas nulle. Alors pour toute norme
matricielle |.|
(A) |xq
t
| = |xq
t
| = |Axq
t
| |A| |xq
t
|,
do` u la th`ese, en simpliant les membres extr`emes par |xq
t
|.
Theor`eme 1.4.3 Etant donne une matrice A /
n
(C) et un nombre > 0, il existe
une norme matricielle subordonnee |.| telle que |A| (A) + .
Preuve. Il existe une matrice unitaire U telle que
U

AU =
_
_
_
_
_
_

1
t
12
t
1n

2
t
2n
.
.
.
.
.
.

n
_
_
_
_
_
_
,
les
i
designant les valeurs propres de A.
p8 Chapitre 1. COMPLEMENTS SUR LES MATRICES
A tout > 0 associons la matrice D

= diag(1, , . . . ,
n1
). Elle verie
(UD

)
1
A(UD

) = D
1

(U

AU)D

=
_
_
_
_
_
_

1
t
12

n1
t
1n

2

n2
t
2n
.
.
.
.
.
.

n
_
_
_
_
_
_
.
Etant donne > 0, choisissons de telle mani`ere que
n

j=i+1
[
ji
t
ij
[ , 1 i n 1.
Alors nous avons
|(UD

)
1
A(UD

)|

(A) + ,
o` u le premier membre est la norme matricielle de A subordonnee `a la norme vectorielle
|(UD

)
1
x|

, puisque il vaut
sup
x=0
|(UD

)
1
A(UD

)x|

|x|

= sup
x=0
|(UD

)
1
A(UD

)x|

|(UD

)
1
(UD

)x|

= sup
y=0
|(UD

)
1
Ay|

|(UD

)
1
y|

,
en invoquant (UD

)C
n
= C
n
et (UD

)x = 0 si et ssi x = 0.
Theor`eme 1.4.4 Pour toute matrice A /
n
(C) et toute norme matricielle (subor-
donnee ou non)
(A) = lim
k+
|A
k
|
1
k
.
Preuve. Nous avons (A)
k
= (A
k
) |A
k
|, do` u (A) |A
k
|
1
k
et nous allons montrer
que
( > 0) (K N
0
) (k K) |A
k
|
1
k
(A) + ,
do` u la th`ese.
Les valeurs propres de la matrice A

= A/((A) + ) sont celles de A divisees par


(A) +, donc (A

) < 1. Il existe alors une norme matricielle subordonnee |.|

telle que
|A

< 1 et nous avons |A


k

|A

|
k
0. Comme toutes les normes sont equivalentes
sur C
n
2
, nous avons aussi |A
k

| 0, do` u lexistence dun entier K > 0 tel que


|A
k
|
((A) + )
k
1 si k K
et la conclusion suit.
Chapitre 2
METHODES DIRECTES POUR
LES SYSTEMES LINEAIRES
2.1 Introduction
Dans ce chapitre et le suivant, nous etudions les methodes de resolution dun syst`eme
de n equations lineaires `a n inconnues Ax = b. Par methodes directes nous entendons
celles qui m`enent `a la solution en un nombre ni doperations elementaires. La methode
de CRAMER en est une, mais, proclamons-le de suite, elle est numeriquement inaccep-
table. Sa mise en oeuvre demande le calcul de n + 1 determinants et n divisions. Or le
calcul de
det A =

sign()a
1
1
a
n
n
,
o` u la somme porte sur les permutations = (
1
, . . . ,
n
) de (1, . . . , n), exige n! (n 1)
multiplications et n! 1 additions, soit un total de lordre de nn! operations elementaires.
Pour les n + 1 determinants, cet ordre sel`eve `a n(n + 1)!. En invoquant la formule de
STIRLING n!

2nn
n
e
n
, cela donne pour ` a peine 100 equations (et les sciences de
lingenieur en requi`erent des milliers !) environ 10
4
100! 9.3 10
161
operations. Avec
un ordinateur executant 10
8
operations elementaires ` a la seconde, il faudrait 3 10
146
annees, soit 2 10
136
fois lage de lunivers !
Dans ce chapitre, nous presentons essentiellement la methode deliminations succes-
sives de GAUSS et son interpretation matricielle, laquelle debouche sur la methode de
CHOLESKI pour un syst`eme `a matrice hermitienne denie positive.
Nous nous limitons bien entendu ` a des syst`emes Ax = b avec det A ,= 0. Notons que
cette condition est toujours satisfaite si A est `a diagonale strictement dominante :
[a
ii
[ >

j=i
[a
ij
[, 1 i n.
En eet, si det A = 0, il existe un vecteur x ,= 0 tel que Ax = 0 et, si x
i
en est une
9
p10 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
composante de module maximal, il vient successivement
Ax = 0 (Ax)
i
= 0

j
a
ij
x
j
= 0 a
ii
=

j=i
a
ij
x
j
x
i
[a
ii
[

j=i
[a
ij
[
[x
j
[
[x
i
[

j=i
[a
ij
[,
de sorte que la dominance diagonale stricte est une condition susante de non annulation
de det A.
2.2 Calculs en virgule ottante
Avant daborder tout sujet danalyse numerique, il convient dattirer lattention sur
les limites imposees `a la representation des reels dans un ordinateur et ses consequences.
Rappelons que dans un syst`eme de numerotation de base (entier strictement supe-
rieur ` a 1, soit 2, 8, 10 ou 16 en pratique) tout reel x secrit
x = (d
p
d
0
, d
1
d
2
)

j=
d
j

j
,
o` u les d
j
sont des entiers veriant
1
0 d
j
1, d
p
,= 0 si x ,= 0,
et ce developpement est unique si on convient de remplacer 0, ( 1)( 1) par 1 et
, d
1
d
q
( 1)( 1) avec d
q
< 1 par , d
1
(d
q
+ 1), conformement ` a
la relation
(q+1)

j=
( 1)
j
= ( 1)
(q+1)
+

j=0

j
= ( 1)
(q+1)
1
1
1
=
q
.
Dans un ordinateur, on ne represente que certains reels, qualies de ottants, `a savoir
ceux de la forme
x = (0, d
1
d
t
)


e
,
o` u les d
j
sont des entiers veriant
0 d
j
1, d
1
,= 0 si x ,= 0
et e est un entier veriant 0 e < N. Ces entiers , t, N sont propres ` a la machine. La
partie (0, d
1
d
t
)

est la mantisse et e est lexposant. La condition d


1
,= 0 assure un
1
Si = 16 on utilise les symboles A, . . . , F pour designer les entiers 10, . . .,15. Ainsi (15, 75)
10
=
(1111, 11)
2
= (F, C)
16
.
p 2.3. CONDITIONNEMENT DUN SYST
`
EME LIN

EAIRE 11
nombre de chires signicatifs toujours egal ` a t. Les ottants sont reserres au voisinage
de 0 et de plus en plus espaces vers les extr`emes (0, ( 1) ( 1))


+(N1)
.
Tout reel x compris entre ceux-ci peut etre approche de deux mani`eres : par troncature
ou par arrondi . Dans lapproximation par troncature, la mantisse est denie par les t
premiers chires signicatifs de x. Dans lapproximation par arrondi, la mantisse est celle
du ottant le plus proche de x et, en cas dequidistance, celle du ottant inferieur ou du
ottant superieur selon la machine. Dans lapproximation dun reel x ,= 0 par le ottant
(x) par troncature, lerreur (x) x est toujours de signe oppose `a x et verie
[(x) x[
t

e
= (0, 1)

1t
[x[
1t
.
Si (x) est deni par arrondi, lerreur (x) x est tant ot positive, tant ot negative quel
que soit le signe de x et elle verie
[(x) x[
1
2

1
2
[x[
1t
.
Dans un ordinateur, on utilise lapproximation des reels par arrondi, car les erreurs sont
moins importantes et se compensent plus facilement. Mais elles saccumulent quand meme
lors de longs calculs et il faut seorcer den reduire leet dans la conception des algo-
rithmes.
Les operations arithmetiques sont denies dans lordinateur de telle mani`ere que les
valeurs calculees de x+y, xy, xy, x/y soient (x+y), (xy), (xy), (x/y). De telles
operations nont plus les proprietes traditionnelles : par exemple
(10
t
+ (1 1)) = 10
t
, ((10
t
+ 1) 1) = 0
et laddition des ottants nest pas associative.
Si le resultat dune operation est en valeur absolue superieur au plus grand ottant
(0, ( 1) ( 1))


+(N1)
, il y a overow . Sil est non nul, mais inferieur en
valeur absolue ` a la moitie du plus petit ottant strictement positif (0, 1)


(N1)
, il est
arrondi ` a 0 et la machine signale un underow .
2.3 Conditionnement dun syst` eme lin eaire
Considerons le syst`eme lineaire
_
1 1
1 1.01
__
x
1
x
2
_
=
_
2
2.01
_
de solution
_
1
1
_
.
Si on perturbe leg`erement ses coecients comme indique ci-apr`es, on obtient une
solution nettement dierente, soit
_
1 1
1.001 1
__
x
1
x
2
_
=
_
2
2.01
_
de solution
_
10
8
_
.
p12 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
Une erreur relative de 1/100 sur les coecients implique une erreur relative de 10/1
sur la solution, do` u un facteur damplication de 1000.
De tels syst`emes, o` u une faible variation relative sur les donnees entrane une forte
variation relative sur la solution sont dits mal conditionnes. Ces syst`emes sont sensibles
aux erreurs darrondi et que penser de leur solution, si leurs coecients et second membres
sont les resultats de mesures forcement limitees `a la precision de lappareillage utilise !
Le resultat suivant permet de caracteriser numeriquement ce genre de situation.
Theor`eme 2.3.1 Considerons une norme vectorielle |.| et la norme matricielle |.| qui
lui est subordonnee. Si A /
n
(C) est inversible et si
Ax = b, (A + A)(x + x) = b + b,
o` u la perturbation A verie |A| < |A
1
|
1
, alors lerreur relative sur x verie
|x|
|x|
|A
1
| |A| (
|A|
|A|
+
|x|
|x|
)1 + o(|A|), si |A| 0.
Preuve. Nous avons r |A
1
| |A| < 1 et la matrice I +A
1
A est inversible
2
, puisque
(I + A
1
A)x = 0 |x| = |A
1
Ax| r|x| < |x| x = 0.
La relation (I + A
1
A)(I + A
1
A)
1
= I implique ensuite
(I + A
1
A)
1
= I A
1
A(I + A
1
A)
1
,
|(I + A
1
A)
1
| 1 + r|(I + A
1
A)
1
|,
|(I + A
1
A)
1
|
1
1 r
.
Dautre part nous avons x = (I + A
1
A)
1
A
1
(b Ax), de sorte que
|x|
|A
1
|
1 r
(|b| +|A| |x|).
De Ax = b nous deduisons |b| |A| |x|, si bien que
|x|
|x|

|A|
1
|A|
1 r
(
|b|
|b|
+
|A|
|A|
).
On conclut en remarquant que
1
1 r
= 1 +
r
1 r
= 1 + o(r) = 1 + o(|A|) si |A| 0;
puisque |A
1
| est xe.
2
La matrice A + A = A(I + A
1
A) est donc aussi inversible
p 2.3. CONDITIONNEMENT DUN SYST
`
EME LIN

EAIRE 13
Lexpression K(A) = |A
1
| |A|, appelee conditionnement de A, limite lamplication
des erreurs relatives sur les donnees du syst`eme. Comme A
1
A = I, nous avons toujours
K(A) 1 et le syst`eme est dautant mieux conditionne que K(A) est proche de 1. Bien
entendu nous avons K(A
1
) = K(A) et K(A) = K(A) si ,= 0.
Le resultat suivant precise la valeur de K
2
(A) = |A
1
|
2
|A|
2
.
Theor`eme 2.3.2 Pour toute matrice inversible A /
n
(C)
K
2
(A) =

1
,
o` u
1
et
n
designent respectivement la plus petite et la plus grande des valeurs propres
de A

A.
Si la matrice A est normale inversible,
K
2
(A) =
sup
i
[
i
[
inf
i
[
i
[
,
o` u les
i
designent les valeurs propres de A.
Si la matrice A est unitaire, K
2
(A) = 1.
Si la matrice U est unitaire, K
2
(UA) = K
2
(AU) = K
2
(U

AU) = K
2
(A).
Preuve. (i) Comme A est inversible, la matrice hermitienne A

A est denie positive et


ses valeurs propres sont strictement positives, do` u la denition de
_

n
/
1
.
La proposition resulte alors du theor`eme I.4.1, puisque
|A|
2
=
_
(A

A) =

n
, |A
1
|
2
=
_
(A
1
A
1
) =
_
((A

A)
1
) =

1
.
(ii) Comme
1

n
= det A ,= 0, nous avons inf
i
[
i
[ , = 0.
La proposition resulte alors du theor`eme I.4.1, puisque A et A
1
etant normales
|A|
2
= (A) = sup
i
[
i
[, |A
1
|
2
= (A
1
) = sup
i
[
1

i
[ =
1
inf
i
[
i
[
.
(iii) Si la matrice A est unitaire, alors elle est normale avec [
i
[ = 1 quel que soit i,
do` u la conclusion.
(iv) Une application de la formule de transfert montre que |Ux|
2
= |x|
2
si U est une
matrice unitaire et de l` a, |UA|
2
= |AU|
2
= |U

AU|
2
= |A|
2
, do` u la conclusion.
Si nous retournons ` a lexemple du debut de cette section, les valeurs propres de la
matrice symetrique
A =
_
1 1
1 1.01
_
valent approximativement 2 et 0.005, do` u K
2
(A) 400, ce qui est eectivement un tr`es
mauvais conditionnement.
p14 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
2.4 Lalgorithme de GAUSS
Le principe de lalgorithme de GAUSS est bien connu. On place en tete du syst`eme une
equation contenant linconnue x
1
et on elemine celle-ci de n1 equations restantes en les
combinant avec la premi`ere. La procedure se poursuit avec les n 1 nouvelles equations
en x
2
, . . . , x
n
ainsi obtenues et on continue de la sorte jusqu` a obtention dun syst`eme
triangulaire equivalent au syst`eme initial
_
_
_
_
a

11
a

1n
.
.
.
.
.
.
a

nn
_
_
_
_
_
_
_
_
x
1
.
.
.
x
n
_
_
_
_
=
_
_
_
_
b

1
.
.
.
b

n
_
_
_
_
,
o` u chacun des coecients a

ij
di`ere de 0 si la matrice initiale est reguli`ere
3
.
Precisons maintenant la mise en oeuvre de cet algorithme.
Le passage du syst`eme A
k
x = b
k
au syst`eme A
k+1
x = b
k+1
, o` u nous avons pose A
1
= A,
b
1
= b et
A
k
=
_
_
_
_
_
_
_
_
_
_
a
(1)
11
a
(1)
1k
a
(1)
1n
.
.
.
.
.
.
.
.
.
a
(k)
kk
a
(k)
kn
.
.
.
.
.
.
a
(k)
nk
a
(k)
nn
_
_
_
_
_
_
_
_
_
_
, b
k
=
_
_
_
_
_
_
_
_
_
_
b
(1)
1
.
.
.
b
(k)
k
.
.
.
b
(k)
n
_
_
_
_
_
_
_
_
_
_
, 1 k n 1
se decompose comme suit :
Permuter eventuellement lequation [k] et lequation [i], i > k de telle mani`ere que
a
(k)
kk
,= 0.
4
Remplacer chacune des equations [i], i > k par
[i]
a
(k)
ik
a
(k)
kk
[k]
de mani`ere `a eliminer linconnue x
k
.
Le determinant de la matrice A
k+1
ainsi obtenue vaut det A
k
selon quil y a eu
permutation dequations on non. Ainsi pour chaque valeur de k nous avons det A
k
=
det A ,= 0, ce qui assure lexistence dun a
(k)
ik
,= 0 pour i k. Cet element est appele
pivot. Nous reviendrons au paragraphe suivant sur la strategie ` a suivre dans la recherche
de ce pivot.
Dans limplantation de lalgorithme de reduction du syst`eme initial ` a la forme trian-
gulaire, on remplace lelement a
(k)
ik
que lon cherche ` a annuler par le quotient a
(k)
ik
/a
(k)
kk
.
Linteret de cette aectation apparatra dans linterpretation matricielle de lalgorithme
de GAUSS. La procedure `a programmer est donc la suivante :
3
Nous verrons que det A

= det A.
4
Nous verrons que cest toujours possible parce que det A ,= 0.
p 2.4. LALGORITHME DE GAUSS 15
Triangularisation de GAUSS
Boucle sur k = 1, . . . , n 1
(Recherche du pivot et permutation de lignes)
Boucle sur i = k + 1, . . . , n
a
ik
:= a
ik
/a
kk
Boucle sur j = k + 1, . . . , n
a
ij
:= a
ij
a
ik
a
kj
Fin de boucle sur j
b
i
:= b
i
a
ik
b
k
Fin de boucle sur i
Fin de boucle sur k
On resout ensuite le syst`eme triangulaire depuis la derni`ere equation par (pas de
somme si i = n)
x
i
=
1
a

ii
[b

j=i+1
a

ij
x
j
].
Dans limplantation on remplace progressivement les seconds membres b

n
, . . . , b

1
par
les valeurs calculees de x
n
, . . . , x
1
do` u la procedure `a programmer :
Resolution du syst` eme triangulaire
Boucle sur i = n, . . . , 1
Si i < n alors boucle sur j = i + 1, . . . , n
b
i
:= b
i
a
ij
b
j
Fin de boucle sur j
b
i
:= b
i
/a
ii
Fin de boucle sur i
On notera que loccupation de la memoire de lordinateur se reduit uniquement ` a ce
quil faut pour stocker les donnees.
Traitons un exemple.
Syst` eme `a resoudre
4x
1
+ x
2
+ 2x
3
= 12
3x
1
+ 5x
2
+ x
3
= 16
x
1
+ x
2
+ 3x
3
= 12
p16 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
Etats de la m emoire apr` es donn ees et eliminations
(Les elements encadres sont les pivots)
_

_
4 1 2 12
3 5 1 16
1 1 3 12
_

_
_

_
4 1 2 12
3/4 17/4 1/2 7
1/4 3/4 5/2 9
_

_
_

_
4 1 2 12
3/4 17/4 1/2 7
1/4 3/17 44/17 132/17
_

_
Syst` eme triangulaire
4x
1
+ x
2
+ 2x
3
= 12
(17/4)x
2
(1/2)x
3
= 7
(44/17)x
3
= 132/17
Solution et etat nal de la m emoire
x
3
= 3
x
2
= 2
x
1
= 1
_

_
4 1 2 1
3/4 17/4 1/2 2
1/4 3/17 44/17 3
_

_
Pour conclure, denombrons les operations elementaires requises par lalgorithme de
GAUSS en negligeant la question du pivot.
A lelimination de x
k
il faut eectuer
n k divisions,
(n k)(n + 1 k) multiplications et autant dadditions,
ce qui donne un total de

n1

k=1
(n k) =
n1

l=1
l =
n(n 1)
2
divisions,

n1

k=1
(n k)(n + 1 k) =
n1

l=1
(l
2
+ l) =
_
n(n 1)(2n 1)
6
+
n(n 1)
2
_
=
n(n
2
1)
3
multiplications et autant dadditions.
La resolution du syst`eme triangulaire demande
n divisions,

n1

i=1
(n i) =
n(n 1)
2
multiplications et autant dadditions.
En denitive, le nombre doperations elementaires est de lordre de n
3
/3 pour les
multiplications, autant pour les additions et n
2
/2 pour les divisions, ce qui, pour de
grandes valeurs de n, donne un ordre de 2n
3
/3 operations elementaires. Pour n = 100,
cela represente 0.66 10
6
operations et, avec un ordinateur eectuant 10
8
operations par
seconde, il ne faut que 7 10
3
seconde.
p 2.5. STRAT

EGIE DU PIVOT 17
2.5 Strat egie du pivot
Considerons pour xer les idees une machine o` u les reels seraient arrondis ` a des ot-
tants dont la mantisse ne comporte que trois chires signicatifs en numerotation deci-
male, soit (0, d
1
d
2
d
3
) 10
e
, et conons-lui le syst`eme
10
4
x
1
+ x
2
= 1
x
1
+ x
2
= 2
dont la solution exacte vaut x
1
= 1.000100010001 , x
2
= 0.999899989998 .
Une elimination de x
1
sans permutation des equations m`ene au syst`eme triangulaire
suivant
10
4
x
1
+ x
2
= 1
(1 10
4
)x
2
= 2 10
4
cest-`a-dire au niveau de la machine
(0, 1) 10
3
x
1
+ (0, 1) 10 x
2
= (0, 1) 10
(0, 1) 10
5
x
2
= (0, 1) 10
5
et elle fournit la solution x
2
= 1, x
1
= 0.
Par contre, si nous permutons les equations, nous obtenons le syst`eme triangulaire
x
1
+ x
2
= 2
(1 10
4
)x
2
= 1 2 10
4
cest-`a-dire au niveau de la machine
(0, 1) 10x
1
+ (0, 1) 10x
2
= (0, 2) 10
(0, 1) 10x
2
= (0, 1) 10
et elle fournit cette fois la solution x
2
= 1, x
1
= 1, ce qui est tout-` a-fait acceptable.
En fait, dans la premi`ere situation [x
1
[ = [[(1 x
2
)/10
4
][ = 10
4
[x
2
[, tandis que
dans la seconde [x
1
[ = [[2 x
2
][ = [x
2
[. Cet exemple montre que le choix dun pivot
trop petit en valeur absolue peut mener ` a un resultat errone `a cause de lamplication
des erreurs darrondi que ce choix implique.
Si, avant lelimination de x
k
, on recherche le coecient a
ik
, i k de module maximal
pour permuter les lignes i et k, on pratique la politique du pivot partiel .
Si on recherche le coecient a
ij
, i et j k de module maximal pour permuter les
lignes i et k puis les colonnes j et k, on pratique la politique du pivot total . Bien entendu,
lordinateur doit memoriser la permutation des colonnes, car elle revient ` a une permutation
des inconnues dans les equations. Le nombre de comparaisons
n1

k=1
(k
2
1) =
n(n 1)(2n 1)
6
(n 1)
n
3
3
impliquees par le pivot total ont pour eet quon se contente souvent du pivot partiel.
p18 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
2.6 Interpr etation matricielle de lalgorithme de GAUSS
Lalgorithme de GAUSS debouche sur une decomposition remarquable des matrices
reguli`eres appelee decomposition LU.
Theor`eme 2.6.1 Si tous les determinants diagonaux principaux de la matrice
A /
n
(C) ne sont pas nuls, il existe une matrice triangulaire inferieure L dont les
elements diagonaux valent 1 et une matrice triangulaire superieure U telles que A = LU
et cette decomposition est unique.
Preuve. Etablissons dabord lunicite.
Puisque det A ,= 0, les matrices L et U sont necessairement reguli`eres et si nous
avions A = L
1
U
1
= L
2
U
2
, il viendrait L
1
2
L
1
= U
2
U
1
1
. Comme une forme triangulaire se
conserve par inversion et produit
5
, la valeur commune des matrices U
2
U
1
1
et L
1
2
L
1
est
une matrice diagonale dont les elements diagonaux valent 1 comme ceux de L
1
2
L
1
. Nous
devons donc avoir L
1
2
L
1
= U
2
U
1
1
= I et de l`a L
1
= L
2
, U
1
= U
2
.
Etablissons maintenant lexistence de la decomposition LU.
Admettons provisoirement qu` a chaque etape de la triangularisation, lelement a
(k)
kk
ne
soit pas nul, de sorte quil puisse etre choisi comme pivot. A lelimination de x
k
nous
construisons alors la matrice A
k+1
= L
k
A
k
, avec
L
k
=
_
_
_
I
k1
1
p
k
I
nk
_
_
_,
o` u I
k1
et I
nk
representent les matrices identites de /
k1
(C) et /
nk
(C), p
k
designe le
vecteur des a
(k)
ik
/a
(k)
kk
, i k et les blocs vides sont formes delements nuls. Si U represente
la matrice triangulaire superieure `a laquelle nous aboutissons au terme des eliminations,
nous avons donc
L
n1
L
1
A = U et A = L
1
1
L
1
n1
U.
Comme chaque matrice L
k
est triangulaire inferieure avec des elements diagonaux
egaux ` a 1, il en va de meme pour les matrices L
1
k
, donc aussi pour leur produit
L = L
1
1
L
1
n1
.
Il reste `a montrer que la non annulation des determinants diagonaux principaux de A
implique la non annulation de lelement a
(k)
kk
apr`es lelimination de x
k1
.
Cela resulte de ce que
L
k1
L
1
=
_
T
k
I
nk
_
,
5
Pour linversion, il sut de remarquer que la i-`eme colonne de L
1
est solution de Lx = e
i
, do` u
x
1
= = x
i1
= 0 et x
i
= 1/l
ii
.
Pour le produit, il vient (L
1
L
2
)
ij
=

i
k=j
(L
1
)
ik
(L
2
)
kj
si j i et 0 sinon.
En particulier, (L
1
L
2
)
ii
= (L
1
)
ii
(L
2
)
ii
.
p 2.6. INTERPR

ETATION MATRICIELLE DE LALGORITHME DE GAUSS 19


o` u T
k
est une matrice triangulaire inferieure de /
k
(C) dont les elements diagonaux
valent 1 et represente un bloc (n k) k. Cest vrai pour L
1
et il sut de raisonner
par recurrence sur k. De fait
L
k
(L
k1
L
1
) =
_
_
_
I
k1
1
p
k
I
nk
_
_
_
_
T
k
I
nk
_
=
_
T
k
I
nk
_
=
_
T
k+1
I
nk1
_
,
en incrementant la coupure des lignes et celle des colonnes dune unite.
Cela etant, si
k
designe la sous-matrice diagonale principale (a
ij
)
k
i,j=1
de A, le bloc
11 de la relation L
k1
L
1
A = A
k
donne
T
k

k
=
_
_
_
_
a
(1)
11
a
(1)
1k
.
.
.
.
.
.
a
(k)
kk
_
_
_
_
,
o` u det T
k
=1, do` u a
(1)
11
a
(k)
kk
= det
k
,= 0 et a
(k)
kk
nest pas nul apr`es lelimination de
x
k1
.
Remarque 2.6.2 Precisons la structure de la matrice L = L
1
1
L
1
n1
.
Tout dabord, en ecrivant
L
k
=
_
_
_
I
k1
1
p
k
I
nk
_
_
_,
il vient (verier la relation L
k
L
1
k
= I
n
)
L
1
k
=
_
_
_
I
k1
1
+p
k
I
nk
_
_
_.
Ensuite, si nous avons
L
1
1
L
1
k1
=
_
T
k1
P
k1
I
nk+1
_
,
o` u T
k1
est une matrice triangulaire inferieure de /
k1
(C) avec des elements diagonaux
egaux ` a 1 et o` u P
k1
designe un bloc (n k + 1) (k 1), il vient
(L
1
1
L
1
k1
)L
1
k
=
_
T
k1
P
k1
I
nk+1
_
_
_
_
I
k1
1
p
k
I
nk
_
_
_ =
_
_
_
_
_
T
k1
1
P
k1
p
k
I
nk
_
_
_
_
_
p20 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
et, vu la denition des vecteurs p
k
, on en deduit par recurrence sur k que la matrice
L = L
1
1
L
1
n1
est la partie situee sous la diagonale de la matrice obtenue ` a la n de la
triangularisation, completee par des 1 sur cette diagonale.
Ainsi, en reprenant lexemple de la section 4
_
_
_
1
3/4 1
1/4 3/17 1
_
_
_
. .
L
_
_
_
4 1 2
17/4 1/2
44/17
_
_
_
. .
U
=
_
_
_
4 1 2
3 5 1
1 1 3
_
_
_
. .
A
.
Remarque 2.6.3 Pour resoudre plusieurs syst`emes Ax = b
1
, Ax = b
2
, on calcule la
decomposition A = LU une fois pour toutes, puis on resout les syst`emes triangulaires
Ly = b
i
, Ux = y. En particulier, on calcule les colonnes de A
1
en choisissant les vecteurs
de la base canonique de C
n
pour vecteurs b
i
.
Pour conclure cette section, signalons que lalgorithme de GAUSS avec strategie du pi-
vot revient ` a calculer la decomposition LU dune matrice
L
A
C
, o` u
L
et
C
designent
des matrices de permutation, respectivement des lignes et des colonnes, produits de ma-
trices de permutation elementaires (p, k) obtenues en permutant les lignes ou colonnes
(cest equivalent) p et k de la matrice identite.
2.7 Syst` emes lin eaires `a matrice bande
Une matrice A /
n
(C) est dite bande de largeur (, ) si a
ij
= 0 chaque fois que
j < i ou j > i +. Ce type de matrice se rencontre dans la resolution numerique des
equations aux derivees partielles.
Le lecteur veriera ` a titre dexercice que si A et B sont des matrices bandes de largeurs
respectives (, ) et (, ), alors AB est une matrice bande de largeur
( + , + ).
Theor`eme 2.7.1 Si A est une matrice bande de largeur (, ) dont tous les determinants
diagonaux principaux ne sont pas nuls, elle admet une decomposition LU o` u L est de
largeur (, 0) et U est de largeur (0, ).
Preuve. De la decomposition A = LU nous deduisons U = L
1
A. Ainsi U est triangulaire
superieure et produit de matrices bandes de largeurs respectives (n1, 0) et (, ) : cest
donc une matrice bande de largeur (0, ).
On raisonne de la meme mani`ere pour L = AU
1
.
Lorsquon applique lalgorithme de GAUSS ` a une matrice qui satisfait aux conditions
de la proposition precedente, on ne calcule pas les elements des matrices L et U que lon
sait etre nuls et lalgorithme ` a programmer dans ce cas se reduit comme suit.
Decomposition LU (sans pivotement) pour une matrice bande (, )
p 2.8. ALGORITHME DE CHOLESKI 21
Boucle sur k = 1, . . . , n 1
Boucle sur i = k + 1, . . . , inf(k + , n)
a
ik
:= a
ik
/a
kk
Boucle sur j = k + 1, . . . , inf(k + , n)
a
ij
:= a
ij
a
ik
a
kj
Fin de boucle sur j
Fin de boucle sur i
Fin de boucle sur k
Pour de grandes valeurs de n, le nombre doperations elementaires vaut au plus ` a
chaque eleimination +2, soit un total de (n1)(+2) n(+2) operations,
nettement inferieur ` a lorfre 2n
3
/3 dans le cas dune matrice pleine.
Nous laissons au lecteur le soin decrire lalgorithme de resolution des deux syst`emes
triangulaires Ly = b, Ux = y compte tenu des formes reduites de L et U et den estimer
le co ut pour une matrice A qui satisfait aux conditions de la proposition precedente.
2.8 Algorithme de CHOLESKI
Rappelons quune matrice hermitienne A est dite denie positive si (Ax, x) > 0 pour
tout vecteur non nul x C
n
ou encore si et ssi ses valeurs propres
i
sont toutes strictement
positives, de sorte que det A
1

n
> 0.
Le resultat suivant montre que, dans le cas dune matrice hermitienne denie positive,
la decomposition LU engendre une decomposition plus simple, dite decomposition de
CHOLESKI.
Theor`eme 2.8.1 Si A est une matrice hermitienne denie positive, il existe une et une
seule matrice triangulaire inferieure T `a elements diagonaux strictement positifs telle que
A = T

T.
Preuve. Remarquons dabord que les sous-matrices diagonales principales dordre k, `a
savoir
k
= (a
ij
)
k
i,j=1
, sont hermitiennes denies positives avec A. Elles sont trivialement
hermitiennes et, en associant ` a tout vecteur C
k
0 le vecteur x C
n
0 deni
par
x
i
=
i
pour 1 i k, x
i
= 0 pour k + 1 i n,
il vient (
k
, ) = (Ax, x) > 0.
La matrice A admet alors une decomposition LU unique o` u les elements u
ii
sont
strictement positifs, puisque si L
k
et U
k
designent les sous-matrices diagonales principales
dordre k de L et U, nous avons
k
= L
k
U
k
et de l`a,
det
k
= det L
k
det U
k
= u
11
u
kk
,
o` u le premier membre est strictement positif pour 1 k n .
p22 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
Nous pouvons d`es lors considerer la matrice D = diag(

u
11
, . . . ,

u
nn
) et ecrire A =
(LD)(D
1
U). Posons B = LD et C = D
1
U. Nous avons
A

= A C

= BC B
1
[C

](B

)
1
= B
1
[BC](B

)
1
B
1
C

= C(B

)
1
.
Le premier membre est un produit de matrices triangulaires inferieures, tandis que
le second est un produit de matrices triangulaires superieures. Leur valeur commune est
donc une matrice diagonale dont les elements diagonaux valent
1
b
ii
.c
ii
=
1

u
ii
.
1

u
ii
u
ii
= 1,
cest-`a-dire lidentite. De l`a, C = B

et A = BB

, o` u B est triangulaire inferieure avec


des elements diagonaux b
ii
=

u
ii
> 0.
Il reste `a montrer que cette decomposition est unique.
Si A = TT

est une decomposition de ce type et si = diag(t


11
, . . . , t
nn
), alors
(T
1
)(T

) realise une decomposition LU de A et si nous avons A = T


1
T

1
= T
2
T

2
, luni-
cite de la decomposition LU implique
1
T

1
=
2
T

2
= U. Lidentication des elements
diagonaux dans les deux expressions de A donne (T
1
)
2
ii
= (T
2
)
2
ii
, do` u
(T
1
)
ii
= (T
2
)
ii
puisque les deux membres sont strictement positifs par hypoth`ese. De
l`a,
1
=
2
, puis T
1
= T
2
.
Remarque 2.8.2 Linteret de la decomposition de CHOLESKI est de reduire la resolu-
tion du syst`eme Ax = b `a celle de deux syst`emes triangulaires Ty = b, T

x = y dont les
matrices de coecients sont transposees.
Voyons ` a present comment calculer les elements non nuls t
ij
, i j de T.
On part de la relation matricielle A = TT

en se souvenant de la relation t

= 0 si
> . Pour i j il vient
a
ij
=
n

k=1
t
ik
t

kj
=
j

k=1
t
ik
t
jk
.
Avec i = j nous en deduisons (pas de somme si j = 1)
t
2
jj
= a
jj

j1

k=1
[t
jk
[
2
,
o` u le second membre est necessairement strictement positif, puisque nous savons dej`a que
t
jj
lest. De l`a,
t
jj
=

_
a
jj

j1

k=1
[t
jk
[
2
.
Ensuite si i > j (j < n; pas de somme si j = 1)
t
ij
=
1
t
jj
_
_
a
ij

j1

k=1
t
ik
t
jk
_
_
.
p 2.8. ALGORITHME DE CHOLESKI 23
Il est donc possible de calculer T, colonne apr`es colonne, ` a partir de la partie triangu-
laire inferieure de A et des colonnes dej`a calculees de T. Comme lelement a
ij
, i j de
A nintervient que dans le calcul de t
ij
, on peut reduire loccupation de la memoire en ne
stockant au depart que la partie triangulaire inferieure de A et en rempla cant progressi-
vement les a
ij
par les t
ij
calcules.
Lalgorithme de calcul de T se presente alors comme suit :
Calcul de la matrice T de CHOLESKI
Boucle sur j = 1, . . . , n
Si j > 1 alors boucle sur k = 1, . . . , j 1
a
jj
:= a
jj
a
jk
a
jk
Fin de boucle sur k
a
jj
:=

a
jj
Si j < n alors boucle sur i = j + 1, . . . , n
Si j > 1 alors boucle sur k = 1, . . . , j 1
a
ij
:= a
ij
a
ik
a
jk
Fin de boucle sur k
a
ij
:= a
ij
/a
jj
Fin de boucle sur i
Fin de boucle sur j
Pour la resolution des syst`emes triangulaires Ty = b, T

x = y, on stocke b dans un
vecteur quon remplace par y, puis par x. Les composantes de y etant donnees par (pas
de somme si i = 1)
y
i
=
1
t
ii
_
_
b
i

i1

j=1
t
ij
y
j
_
_
et celles de x par (pas de somme si i = n)
x
i
=
1
t
ii
_
_
y
i

j=i+1
t
ji
x
j
_
_
,
nous avons les algorithmes de resolution suivants :
Resolution du premier syst` eme triangulaire de CHOLESKI
Boucle sur i = 1, . . . , n
Si i > 1 alors boucle sur j = 1, . . . , i 1
b
i
:= b
i
a
ij
b
j
Fin de boucle sur j
b
i
:= b
i
/a
ii
Fin de boucle sur i
p24 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
Resolution du second syst` eme triangulaire de CHOLESKI
Boucle sur i = n, . . . , 1
Si i < n alors boucle sur j = i + 1, . . . , n
b
i
:= b
i
a
ji
b
j
Fin de boucle sur j
b
i
:= b
i
/a
ii
Fin de boucle sur i
Remarque 2.8.3 En reprenant la preuve du theor`eme precedent nous observons que
T = L et si A est hermitienne denie positive bande de largeur (, ), T est produit
de matrices bandes de largeur (, 0) et (0, 0), donc T est triangulaire inferieure bande de
largeur (, 0). Le lecteur adaptera les algorithmes donnes ci-dessus `a cette situation.
Remarque 2.8.4 Comme on ne manipule que des matrices triangulaires inferieures dans
les algorithmes precedents, on peut les simuler par un vecteur A constitue des par-
ties utiles des colonnes mises bout `a bout. Il sagit donc dun vecteur de dimension
n + (n 1) + + 1 = n(n + 1)/2 qui stocke lelement a
ij
, i j en position
(j 1)n + i
j1

k=1
k = (j 1)n + i
(j 1)j
2
=
(j 1)(2n j)
2
+ i.
Traitons un exemple.
Syst` eme `a resoudre
8x
1
+ 4x
2
+ 2x
3
= 6
4x
1
+ 4x
2
+ 2x
3
= 2
2x
1
+ 2x
2
+ 3x
3
= 1
La matrice des coecients est symetrique denie positive, puisque ses determinants
diagonaux principaux valent 8, 16, 32.
Calcul de T
_

2

1

3

2

1
_

_
_

1

2

3

1

2

1
_

_ =
_

_
8 4 2
4 4 2
2 2 3
_

_
Eectuons les produits ligne i par colonne j necessaires au calcul des
i
,
i
,

i
.
i = 1
_

_
j = 1 :
2
1
= 8
1
= 2

2
j = 2 :
1

2
= 4
2
=

2
j = 3 :
1

3
= 2
3
=

2/2
p 2.8. ALGORITHME DE CHOLESKI 25
i = 2
_
j = 2 :
2
2
+
2
1
= 4
1
=

2
j = 3 :
2

3
+
1

2
= 2
2
=

2/2
i = 3, j = 3 :
2
3
+
2
2
+
2
1
= 3
1
=

2
do` u
T =
_

_
2

2/2

2/2

2
_

_.
Resolution de Ty = b
2

2 y
1
= 6 y
1
= 3

2/2

2 y
1
+

2 y
2
= 2 y
2
=

2/2
(

2/2) y
1
+ (

2/2) y
2
+

2 y
3
= 1 y
3
=

2
Resolution de T

x = y
2

2 x
1
+

2 x
2
+ (

2/2) x
3
= 3

2/2 x
1
= 1

2 x
2
+ (

2/2) x
3
=

2/2 x
2
= 0

2 x
3
=

2 x
3
= 1
Pour conclure, estimons le nombre doperations elementaires invoquees pour le calcul
de T. Nous avons
n racines carrees

j=2
(j 1) +
n1

j=2
(n j)(j 1) multiplications et autant dadditions, soit
n

j=2
(j 1)(n + 1 j) =
n1

l=1
l(n l) = n
n1

l=1
l
n1

l=1
l
2
= n
(n 1)n
2

n(n 1)(2n 1)
6
=
n(n
2
1)
6
,
ce qui est de lordre de n
3
/3 operations elementaires, soit deux fois moins que pour la
reduction ` a un syst`eme triangulaire dans lalgorithme de GAUSS.
p26 Chapitre 2. METHODES DIRECTES POUR LES SYSTEMES LINEAIRES
Chapitre 3
METHODES ITERATIVES POUR
LES SYSTEMES LINEAIRES
3.1 G eneralit es sur les m ethodes it eratives
Nous considerons toujours un syst`eme lineaire de n equations ` a n inconnues Ax = b,
avec det A ,= 0.
Les methodes iteratives reposent sur une decomposition de A en des matrices M et N
telles que
A = M N, det M ,= 0,
de sorte quil est equivalent de resoudre le syst`eme
Mx = Nx + b. (3.1.1)
On adopte alors une methode dapproximations successives. Partant dune premi`ere ap-
proximation arbitrairement choisie x
0
, on construit les approximations suivantes au moyen
de la formule de recurrence
Mx
p
= Nx
p1
+ b. (3.1.2)
La methode est dite convergente si, quel que soit x
0
, la suite x
p
converge. Si cest le cas,
la limite x des x
p
est necessairement la solution du syst`eme considere, car un passage ` a
la limite
1
dans (3.1.2) donne (3.1.1).
Theor`eme 3.1.1 La methode iterative denie par (3.1.2) est convergente si et seulement
si (M
1
N) < 1 ou si et seulement sil existe une norme matricielle subordonnee |.| telle
que |M
1
N| 1.
Preuve. Des relations (3.1.1) et (3.1.2) nous deduisons
(x x
p
) = M
1
N(x x
p1
) = = (M
1
N)
p
(x x
0
)
1
Remarquer que si x
p
x, alors Bx
p
Bx, puisque si |.| designe `a la fois une norme vectorielle et
la norme matricielle subordonnee |Bx Bx
p
| |B| |x x
p
|.
27
p28 Chapitre 3. METHODES ITERATIVES POUR LES SYSTEMES LINEAIRES
et la methode iterative converge si et seulement si
lim
p+
(M
1
N)
p
y = 0 y C
n
.
Par consequent, il sut de montrer que cette derni`ere condition est equivalente ` a (M
1
N) <
1 ou |M
1
N| 1 pour une norme matricielle subordonnee.
Posons B = M
1
N et considerons les trois propositions suivantes :
(1) lim
p+
B
p
y = 0 y C
n
,
(2) (B) < 1,
(3) |B| < 1 pour une norme matricielle subordonnee.
Nous avons (1) (2) car, si (B) 1, on peut trouver un vecteur y ,= 0 tel que
By = y avec [[ = (B) 1, de sorte que B
p
y =
p
y ,0.
Nous avons (2) (3) par application du theor`eme I.4.3 avec < 1 (B).
Nous avons (3) (1), puisque si |.| designe aussi la norme vectorielle ` a laquelle la
norme matricielle est subordonnee
|B
p
y| |B
p
| |y| |B|
p
|y| 0 y C
n
.
Remarque 3.1.2 Il ressort de la demonstration precedente que si |.| designe `a la fois
une norme vectorielle et la norme matricielle qui lui est subordonnee
|x x
p
| |(M
1
N)
p
| |x x
0
|.
Ainsi, etant donne deux decompositions A = M
1
N
1
= M
2
N
2
telles que (M
1
1
N
1
) <
(M
1
2
N
2
) < 1, il existe en vertu du theor`eme I.4.4 un entier P tel que
|(M
1
1
N
1
)
p
| < |(M
1
2
N
2
)
p
| p P,
de sorte que la methode iterative la plus rapidement convergente est celle dont le rayon
spectral (M
1
N) est le plus petit.
3.2 Pr esentation des m ethodes
Considerons le syst`eme de n equations ` a n inconnues Ax = b et decomposons la matrice
A en blocs
A =
_
_
_
_
A
11
. . . A
1s
.
.
.
A
s1
. . . A
ss
_
_
_
_
,
o` u A
ij
est une matrice ` a n
i
lignes et n
j
colonnes (

s
i=1
n
i
= n) et o` u toutes les sous-
matrices diagonales A
ii
sont inversibles.
p 3.2. PR

ESENTATION DES M

ETHODES 29
Posons alors
D =
_
_
_
_
A
11
.
.
.
A
ss
_
_
_
_
,
E =
_
_
_
_
_
_
0
A
21
0
.
.
.
.
.
.
A
s1
. . . A
s(s1)
0
_
_
_
_
_
_
, F =
_
_
_
_
_
_
0 A
12
. . . A
1s
.
.
.
.
.
.
0 A
(s1)s
0
_
_
_
_
_
_
,
o` u les blocs non suggeres sont constitues delements nuls, de sorte que A = D E F.
Evidemment, si tous les elements a
ii
de A di`erent de 0, il nest pas necessaire de
decomposer A en blocs et les matrices D, E, F sont respectivement la partie diago-
nale de A, sa partie triangulaire inferieure et sa partie triangulaire superieure, elements
diagonaux exclus.
Decomposons aussi les vecteurs x et b en sous-vecteurs x
i
et b
i
C
n
i
, soit
x =
_
_
_
_
x
1
.
.
.
x
s
_
_
_
_
, b =
_
_
_
_
b
1
.
.
.
b
s
_
_
_
_
.
La methode de Jacobi correspond au choix
M = D, N = E + F.
La condition det M ,= 0 est satisfaite, puisque
det M = det A
11
. . . det A
ss
,
o` u les matrices A
ii
sont inversibles et la formule de recurrence (3.1.2) devient
Dx
(p)
= (E + F)x
(p1)
+ b,
ce qui m`ene `a la resolution des syst`emes
A
ii
x
(p)
i
=

j=i
A
ij
x
(p1)
j
+ b
i
, 1 i s.
La methode de Gauss-Seidel correspond au choix
M = D E, N = F.
Ici encore
det(D E) = det A
11
. . . det A
ss
,= 0
et la formule (3.1.2) devient
(D E)x
(p)
= Fx
(p1)
+ b
p30 Chapitre 3. METHODES ITERATIVES POUR LES SYSTEMES LINEAIRES
do` u les syst`emes
A
ii
x
(p)
i
=

j<i
A
ij
x
(p)
i

j>i
A
ij
x
(p1)
i
+ b
i
, 1 i s.
On remarque de suite lavantage presente par la methode de Gauss-Seidel sur celle de
Jacobi. Dans la methode de Jacobi, on utilise tout le vecteur x
(p1)
pour calculer x
(p)
,
do` u le stockage simultane de ces deux vecteurs et laectation de x
(p)
`a x
(p1)
avant de
passer ` a literation suivante. Par contre, la methode de Gauss-Seidel ne necessite que le
stockage du vecteur
(x
(p)
1
, . . . , x
(p)
i1
, x
(p1)
i
, . . . , x
p1)
s
,
chaque x
(p1)
i
etant progressivement remplace par x
(p)
i
.
La methode de relaxation est une variante de la methode de Gauss-Seidel. Elle cor-
respond au choix
M =
D

E, N =
1

D + F, ,= 0.
pour lequel
det(
D

E) =
det A
11

n
1

det A
ss

n
s
,= 0.
La formule de recurrence (3.1.2) devient
(
D

E)x
(p)
= [
1

D + F]x
(p1)
+ b,
soit encore
(D E)x
(p)
= [(1 )D + F]x
(p1)
+ b,
do` u
A
ii
x
(p)
i
= (1 )A
ii
x
(p1)
i

j<i
A
ij
x
(p)
j

j>i
A
ij
x
(p1)
j
+ b
i
.
En introduisant le vecteur x
(p)
i
C
n
i
deni par legalite
x
(p)
i
= x
(p)
i
+ (1 )x
(p1)
i
,
la relation precedente donne
A
ii
x
(p)
i
+ (1 )A
ii
x
(p1)
i
= (1 )A
ii
x
(p1)
i

j<i
A
ij
x
(p)
j

j>i
A
ij
x
(p1)
j
+ b
i
,
do` u les formules de lalgorithme
A
ii
x
(p)
i
=

j<i
A
ij
x
(p)
j

j>i
A
ij
x
(p1)
j
+ b
i
,
x
(p)
i
= x
(p)
i
+ (1 )x
(p1)
i
, 1 i s.
p 3.2. PR

ESENTATION DES M

ETHODES 31
Si on le compare ` a lalgorithme de Gauss-Seidel quant ` a loccupation de la memoire,
lalgorithme de relaxation necessite le stockage provisoire de x
(p)
i
avant laectation de
x
(p)
i
+ (1 )x
(p1)
i
`a x
(p)
i
. La methode de relaxation concide avec celle de Gauss-
Seidel lorsque = 1 : pour > 1, on parlera de sur-relaxation et pour = 1 de
sous-relaxation. La methode de relaxation a ete introduite dans le but de reduire le rayon
spectral (M
1
N) et, par consequent, daccelerer la convergence des iterations.
Pour chacune des trois methodes decrites ci-dessus, on est amene `a resoudre des sys-
t`emes de dimensions inferieures du type A
ii
x
i
= y
i
, pour lesquels on utilise une methode
directe. Le cas le plus simple est evidemment celui o` u les elements a
ii
de A di`erent de 0,
car ces syst`emes se reduisent alors ` a x
i
= y
i
/a
ii
: les methodes de Jacobi, Gauss-Seidel et
de relaxation sont alors qualiees de ponctuelles.
Notons encore que si la matrice A est hermitienne denie positive, il en va de meme
pour les sous-matrices diagonales A
ii
, puisquen completant tout vecteur non nul x
i
C
x
i
par des 0 de mani`ere `a obtenir un vecteur non nul x C
n
(avec x
i
`a la place qui convient)
nous avons
0 < (Ax, x) = (0 [ x

i
[ 0)
_
_
_

A
ii


_
_
_
_
_
_
0
x
i
0
_
_
_
= ( [ x

i
A
ii
[ )
_
_
_
0
x
i
0
_
_
_ = x

i
A
ii
x
i
= (A
ii
x
i
, x
i
).
Ainsi, si la matrice A est hermitienne denie positive, il est possible de resoudre les
syst`emes A
ii
x
i
= y
i
par la methode de Choleski.
Du point de la precision, les methodes iteratives sont autocorrectives, alors que dans
les methodes directes, il y a accumulation des erreurs darrondi. On utilisera donc les
methodes iteratives pour les grands syst`emes. Elles sont cependant nettement plus lentes
que les methodes directes et il faut choisir un test darret pour mettre un terme aux
iterations, par exemple
|x
(p)
i
x
(p1)
i
| |x
(p)
i
| i,
o` u lerreur relative toleree.
Pour cl oturer cette section, reprenons la resolution du syst`eme
8x
1
+ 4x
2
+ 2x
3
= 6
4x
1
+ 4x
2
+ 2x
3
= 2
2x
2
+ 2x
2
+ 3x
3
= 1
rencontre `a propos de la methode de Choleski.
Methode de Jacobi
p32 Chapitre 3. METHODES ITERATIVES POUR LES SYSTEMES LINEAIRES
A =
_
_
_
8 . .
. 4 .
. . 3
_
_
_
. .
M

_
_
_
. 4 2
4 . 2
2 2 .
_
_
_
. .
N
M
1
N =
_
_
_
1/8 . .
. 1/4 .
. . 1/3
_
_
_
_
_
_
. 4 .
4 . 2
2 2 .
_
_
_ =
_
_
_
. 1/2 .
1 . 1/2
2/3 2/3 .
_
_
_.
Ni |M
1
N|
1
, ni |M
1
N|

ne sont inferieurs `a 1. Estimons donc (M


1
N). Les
valeurs propres de M
1
N sont les zeros de

1/2 1/4
1 1/2
2/3 2/3

=
3
+
1
3
.
En = 2, ce polyn ome vaut 17/3, tandis quen = 1, il vaut -1/3. Il existe donc
une valeur propre entre -2 et -1 et (M
1
N) > 1, si bien que la methode de Jacobi ne
peut pas converger.
Methode de Gauss-Seidel
A =
_
_
_
8 . .
4 4 .
2 2 3
_
_
_
. .
M

_
_
_
. 4 2
. . 2
. . .
_
_
_
. .
N
M
1
N =
_
_
_
1/8 . .
1/8 1/4 .
. 1/6 1/3
_
_
_
_
_
_
. 4 2
. . 2
. . .
_
_
_ =
_
_
_
. 1/2 1/4
. 1/2 1/4
. . 1/3
_
_
_.
Nous avons |M
1
N|

= 3/4 et la methode de Gauss-Seidel converge.


La formule de recurrence est
_
_
_
8 . .
4 4 .
2 2 3
_
_
_
_
_
_
_
x
(p)
1
x
(p)
2
x
(p)
3
_
_
_
_
=
_
_
_
. 4 2
. . 2
. . .
_
_
_
_
_
_
_
x
(p1)
1
x
(p1)
2
x
(p1)
3
_
_
_
_
+
_
_
_
6
2
1
_
_
_,
do` u les formules de lalgorithme
x
(p)
1
=
1
2
x
(p1)
2

1
4
x
(p1)
3
+
3
4
,
x
(p)
2
= x
(p)
1

1
2
x
(p1)
3
+
1
2
,
x
(p)
3
=
2
3
x
(p)
1

2
3
x
(p)
2

1
3
.
En approximations arrondies ` a 5 decimales, les 10 premi`eres iterations donnent au
depart de x
1
= x
2
= x
3
= 0
p 3.3. LE CAS DUNE MATRICE HERMITIENNE D

EFINIE POSITIVE 33
iter. 1 2 3 4 5
x
1
0.75000 1.04167 1.07639 1.05671 1.03453
x
2
-0.25000 -0.20833 -0.13194 -0.07523 -0.04070
x
3
-0.66667 -0.88889 -0.96296 -0.98765 -0.99588
iter. 6 7 8 9 10
x
1
1.01932 1.01035 1.00540 1.00278 1.00141
x
2
-0.02138 -0.01103 -0.00563 -0.00285 -0.00144
x
3
-0.99863 -0.99954 -0.99985 -0.99995 -0.99998
et elles convergent eectivement vers x
1
= 1, x
2
= 0, x
3
= 1.
Pour la methode de relaxation, on calcule les x
(p)
i
comme on calcule les x
(p)
i
dans la
methode de Gauss-Seidel, puis on denit x
(p)
i
par la formule
x
(p)
i
= x
(p)
i
+ (1 )x
(p1)
i
.
La diculte reside dans le choix de . Cette question sera abordee dans la section sui-
vante. Signalons toutefois quavec = 1.2 et en approximations arrondies ` a 5 decimales,
la dixi`eme iteration au depart de x
1
= x
2
= x
3
= 0 donne
x
1
= 0.99996, x
2
= 0.00008, x
3
= 0.99994
et on constate eectivement un progr`es au niveau de x
1
et x
2
.
3.3 Le cas dune matrice hermitienne d enie positive
Theor`eme 3.3.1 Si la matrice A est hermitienne denie positive, la methode de rela-
xation converge si et seulement si 0 < < 2. En particulier, la methode de Gauss-Seidel
converge.
Preuve. (i) Montrons dabord que si la matrice A est hermitienne denie positive, avec
une decomposition A = M N, det M ,= 0, telle que la matrice hermitienne
2
M

+ N
est aussi denie positive, alors la methode iterative associee converge.
Considerons la norme vectorielle
|x|

=
_
(Ax, x).
Cest bien une norme, puisque lexpression (Ax, y) verie les axiomes dun produit
scalaire sur C
n
.
linearite `a gauche et antilinearite `a droite,
2
La matrice M

+ N est necessairement hermitienne, puisque


A

= A M

= M N M

+ N = M + N

= (M

+ N)

.
p34 Chapitre 3. METHODES ITERATIVES POUR LES SYSTEMES LINEAIRES
hermiticite, puisque (Ax, y) = (x, Ay) = (Ay, x),
denie positive, puisque (Ax, x) > 0 si x ,= 0.
Nous allons montrer que la norme matricielle subordonnee `a cette norme vectorielle,
|M
1
N|

= sup
x

=1
|M
1
Nx|

est strictement inferieur ` a 1 et la convergence de la methode associee `a la decomposition


A = M N sen suivra.
Tout dabord
M
1
N = M
1
(M A) = I M
1
A,
de sorte que, en exploitant lhermiticite de A,
|M
1
Nx|
2
= (A[x M
1
Ax], [x M
1
Ax])
= (Ax, x) (Ax, M
1
Ax) (M
1
Ax, Ax) + (AM
1
Ax, M
1
Ax).
En posant y = M
1
Ax, soit x = A
1
My, nous en deduisons
|M
1
Nx|
2
|x|
2
= (My, y) (y, My) + (Ay, y)
= ([M

+ N]y, y) < 0 si x ,= 0,
puisque la matrice M

+ N est hermitienne denie positive et que x ,= 0 implique y ,= 0.


D`es lors,
|M
1
Nx|

< 1 si |x|

= 1
et comme la fonction x C
n
|M
1
Nx|

R est continue (par composition de


x M
1
Nx et y |y|

), elle realise sa borne superieure sur le compact |x|

= 1 en
un element x
0
de ce compact. Ainsi
sup
x

=1
|M
1
Nx|

= |M
1
Nx
0
|

< 1.
(ii) Etablissons la convergence de la methode de relaxation si 0 < < 2.
Nous avons
M =
D

E, N =
1

D + F,
de sorte que vu lhermiticite de A (D

= D et E

= F)
M

+ N =
D

+
1

D + F =
2

D.
Nous allons montrer que D est hermitienne denie positive, do` u la conclusion si
(2 )/ > 0, soit si 0 < < 2.
p 3.3. LE CAS DUNE MATRICE HERMITIENNE D

EFINIE POSITIVE 35
Nous avons dej`a remarque dans la section precedente que les blocs A
ii
sont des ma-
trices hermitiennes denies positives avec A. Alors la matrice D lest egalement : elle est
evidemment hermitienne et pour tout vecteur non nul x C
n
(Dx, x) = (x

1
[ . . . [x

s
)
_
_
_
_
A
11
.
.
.
A
ss
_
_
_
_
_
_
_
_
x
1
.
.
.
x
s
_
_
_
_
= (x

1
A
11
[ . . . [x

s
A
ss
)
_
_
_
_
x
1
.
.
.
x
s
_
_
_
_
= x

1
A
11
x
1
+ + x

s
A
ss
x
s
= (A
11
x
1
, x
1
) + + (A
ss
x
s
, x
s
) > 0,
car un des sous-vecteurs x
i
au moins nest pas nul avec x.
(iii) Montrons que la convergence de la methode de relaxation implique 0 < < 2 en
prouvant que nous avons (M
1
N) 1 si ,]0, 2[.
De fait, si
1
, . . . ,
n
sont les valeurs propres de M
1
N,
[(M
1
N)]
n
[
n
i=1

i
[ = [ det(M
1
N)[ = [
det N
det M
[

det[
1

D + F]
det[
1

D E]

(
1

)
n
(
1

)
n

= [1 [
n
,
puisque les matrices N et M sont triangulaires par blocs. Ainsi (M
1
N) > [1 [,
expression superieure ou egale ` a 1 si 0 ou 2.
Remarque 3.3.2 Dans le cas o` u la matrice A est tridiagonale par blocs, cest-`a-dire de
la forme suggeree par la gure suivante :
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
A
11
A
12
A
21
A
22
A
23
A
32
A
33
A
34
A
43
A
44
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(L )

(J)
2
- 1
0

0
0
1
1
2
p36 Chapitre 3. METHODES ITERATIVES POUR LES SYSTEMES LINEAIRES
o` u les blocs non suggeres sont constitues delements nuls, forme courante dans la discre-
tisation des probl`emes aux limites, on peut etablir les resultats suivants
3
.
Designons par J la matrice M
1
N relative ` a la methode de Jacobi et par L

la meme
matrice relative ` a la methode de relaxation.
Si A est une matrice tridiagonale par blocs, alors
(L
1
) = (J)
2
,
de sorte que les methodes de Jacobi et de Gauss-Seidel sont simultanement convergentes
ou divergentes et, lorsquelles convergent, la methode de Gauss-Seidel est plus rapide.
Si A est une matrice hermitienne denie positive tridiagonale par blocs, alors les
methodes de Jacobi, Gauss-Seidel et de relaxation pour 0 < < 2 convergent et la
fonction ]0, 2[(L

) a lallure indiquee par la gure suivante


o` u
0
= 2/(1+
_
1 (J)
2
). Cest donc la methode de relaxation avec =
0
qui converge
le plus rapidement.
Considerons le syst`eme `a matrice tridiagonale
5x
1
4x
2
= 14
4x
1
+ 6x
2
4x
3
= 6
4x
2
+ 6x
3
= 8
de solution x
1
= 2, x
2
= 1, x
3
= 2.
La matrice des coecients est aussi symetrique et elle est denie positive puisque les
determinants diagonaux principaux valent 5, 14, 4.
La decomposition de Jacobi est
A =
_
_
_
5 . .
. 6 .
. . 6
_
_
_
. .
M

_
_
_
. 4 .
4 . 4
. 4 .
_
_
_
. .
N
3
Voir CIARLET Introduction ` a lanalyse numerique matricielle et ` a loptimisation, ed. Masson, pp.
105-109.
p 3.3. LE CAS DUNE MATRICE HERMITIENNE D

EFINIE POSITIVE 37
do` u
J = M
1
N =
_
_
_
1/5 . .
. 1/6 .
. . 1/6
_
_
_
_
_
_
. 4 .
4 . 4
. 4 .
_
_
_ =
_
_
_
. 4/5 .
2/3 . 2/3
. 2/3 .
_
_
_,
puis le polyn ome caracteristique
det(J I) =

4/5 .
2/3 2/3
. 2/3

= (
44
45

2
),
de sorte que (J) =
_
44/45 et
0
= 2/(1 + 1/

45) 1.740536.
La decomposition de Gauss-Seidel est
A =
_
_
_
5 . .
4 6 .
. 4 6
_
_
_
. .
M

_
_
_
. 4 .
. . 4
. . .
_
_
_
. .
N
,
do` u lalgorithme de relaxation
x
(p)
1
=
4
5
x
(p1)
2
+
14
5
, x
(p)
1
= x
(p)
1
+ (1 )x
(p1)
1
,
x
(p)
2
=
2
3
x
(p)
1
+
2
3
x
(p1)
3
1, x
(p)
2
= x
(p)
2
+ (1 )x
(p1)
2
,
x
(p)
3
=
2
3
x
(p)
2

4
3
, x
(p)
3
= x
(p)
3
+ (1 )x
(p1)
3
.
Nous reproduisons ci-apr`es le resultat des iterations 10, 20, 30, 40 et 50 pour la methode
de Gauss-Seidel ( = 1) et la methode de relaxation optimale ( = 1.740536) au depart
de x
1
= x
2
= x
3
= 0.
Resultats pour Gauss-Seidel
iter. 10 20 30 40 50
x
1
3.24761 2.99650 2.79594 2.63574 2.50779
x
2
0.52485 0.21795 -0.02718 -0.22298 -0.37937
x
3
-0.98343 -1.18803 -1.35146 -1.48199 -1.58625
Resultats pour la relaxation optimale
iter. 10 20 30 40 50
x
1
4.52900 2.25578 2.01915 2.00127 2.00008
x
2
1.84511 -0.72024 -0.97925 -0.99863 -0.99992
x
3
-0.27891 -1.83420 -1.98779 -1.99920 -1.99995
Lacceleration de la convergence vers x
1
= 2, x
2
= 1, x
3
= 2 prevue par la theorie
est manifeste.
p38 Chapitre 3. METHODES ITERATIVES POUR LES SYSTEMES LINEAIRES
Chapitre 4
CALCUL DES VALEURS
PROPRES
4.1 Conditionnement dun probl` eme aux valeurs propres
Considerons la matrice de /
n
(C)
A() =
_
_
_
_
_
_
0
1 0
.
.
.
.
.
.
1 0
_
_
_
_
_
_
,
o` u les elements de la premi`ere sous-diagonale valent 1, lelement 1n vaut > 0 et tous les
autres elements sont nuls. En appliquant la r`egle des mineurs `a la premi`ere ligne, il vient
det(A() I) = ()

1
.
.
.
.
.
.
1

+ (1)
n+1

1
.
.
.
.
.
.
1
1

= (1)
n
(
n
)
et les valeurs propres de A() valent
n

, soit 0 si = 0 et 10
1
si = 10
n
. Ainsi, une
erreur absolue de 10
n
sur lelement 1n de la matrice A(0) implique une erreur absolue
10
n1
fois plus grande sur lestimation de ses valeurs propres.
Lorsque, comme dans cet exemple, une petite erreur absolue sur les elements de la
matrice implique une tr`es grande erreur absolue dans lestimation des valeurs propres, on
dit que le probl`eme aux valeurs propres est mal conditionne pour cette matrice. Le resultat
suivant permet dexprimer cette situation en termes numeriques.
Theor`eme 4.1.1 Soit A une matrice diagonalisable, P une matrice telle que
P
1
AP = diag(
1
, . . . ,
n
)
39
p40 Chapitre 4. CALCUL DES VALEURS PROPRES
et |.| une norme matricielle veriant pour toute matrice diagonale
1
|diag(a
1
, . . . , a
n
)| = sup
i
[a
i
[.
Alors pour toute valeur propre de A + A, il existe une valeur propre
i
de A telle
que
[
i
[ K(P) |A|,
o` u K(P) = |P
1
| |P|.
Preuve. Cest immediat si concide avec une des valeurs propres
i
de A.
Si ,=
i
pour tout i = 1, . . . , n, la matrice D I, o` u D = diag(
1
, . . . ,
n
), est
inversible et si P reduit A `a D, il vient
P
1
(A + A I)P = (D I + P
1
AP)
= (D I)(I + (D I)
1
P
1
AP)
et, puisque (A + A I) nest pas inversible, il en va de meme pour la matrice
I + (D I)
1
P
1
AP.
Posons B = (D I)
1
P
1
AP. Nous avons |B| 1, sinon il viendrait
(B) |B| < 1 et ceci est impossible, puisque det(I + B) = 0 implique que -1 est
valeur propre de B. Ainsi
1 |(D I)
1
| |P
1
| |A| |P|
1
min [
i
[
K(P)|A|,
vu lhypoth`ese formulee sur la norme matricielle |.|, do` u la conclusion.
Il resulte de la preuve que
min [
i
[ inf
P
K(P)|A|,
o` u la borne inferieure porte sur les matrices P qui reduisent A `a la forme diagonale. Le
nombre
(A) = inf
P
K(P)
est appele conditionnement du probl`eme aux valeurs propres relatif ` a A (pour la norme
matricielle choisie). Si les K(P) sont calcules au moyen dune norme matricielle subor-
donnee, alors (A) 1. Si A est normale, on peut toujours choisir P unitaire, donc tel
que K
2
(P) = 1, de sorte que
2
(A) = 1 et un probl`eme aux valeurs propres relatif ` a une
matrice normale est toujours bien conditionne.
Signalons quon peut montrer que si A et A sont des matrices hermitiennes et si les
valeurs propres
i
de A et
i
de B = A + A sont ordonnees par valeurs croissantes (ou
decroissantes), alors
[
i

i
[ |A|
2
1 i n.
1
Cette condition est satisfaite par les normes subordonnees |.|
1
, |.|
2
et |.|

, ce qui se verie aisement.


v

x
v
-v
( x, v ) = 0
p 4.2. MATRICES DE HOUSEHOLDER 41
4.2 Matrices de Householder
Si v ,= 0, nous considerons la matrice
H(v) = I 2
vv

|v|
2
2
,
dite matrice de Householder.
Cette matrice est hermitienne
2
, puisque
H
ij
(v) =
ij
2
v
i
v
j
|v|
2
= [
ji
2
v
j
v
i
|v|
2
] = H
ji
(v),
et unitaire, puisque
H(v)H

(v) = H
2
(v) = [I 2
vv

|v|
2
]
2
= I 4
vv

|v|
2
+ 4
v(v

v)v

|v|
4
= I.
On verie sans peine que H(v) = H(v) si ,= 0. Enn, lapplication x H(v)x est
une symetrie orthogonale par rapport ` a lhyperplan dequation (x, v) = 0, puisque
(x, v) = 0 v

x = 0 H(v)x = x et H(v)v = v
Theor`eme 4.2.1 Si x ,= e
1
, alors
3
H[x |x|
2
e
i arg x
1
e
1
]x = |x|
2
e
i arg x
1
e
1
,
o` u nous choisissons arg x
1
= 0 quand x
1
= 0.
Preuve. Dabord x |x|e
i arg x
1
e
1
,= 0 sinon x = e
1
et la matrice de Householder est
denie.
Il vient ensuite
H[x |x|e
i arg x
1
e
1
]x = x
2(x |x|e
i arg x
1
e
1
)(x

|x|e
i arg x
1
e

1
)x
|x |x|e
i arg x
1
e
1
|
2
,
2
Nous omettons lindice 2 de la norme vectorielle, excepte dans les denitions et enonces de theor`emes.
3
Dans le cas reel, e
i arg x
1
se reduit ` a la signature de x
1
, soit +1 si x
1
0 et 1 si x
1
< 0.
p42 Chapitre 4. CALCUL DES VALEURS PROPRES
o` u le numerateur vaut
2(x |x|e
i arg x
1
e
1
)(|x|
2
|x|e
i arg x
1
x
1
) = 2|x|(x |x|e
i arg x
1
e
1
)(|x| [x
1
[)
et le denominateur vaut
|x|
2
2|x|'(x, e
i arg x
1
e
1
) +|x|
2
= 2|x|(|x| [x
1
[),
do` u la conclusion.
Remarque 4.2.2 Si x = e
1
, nous avons Ix = e
1
et en convenant que lidentite est
aussi une matrice de Householder, nous pouvons dire que pour tout x C
n
il existe une
matrice de Householder H telle que les (n 1) derni`eres composantes de Hx sont nulles.
Remarque 4.2.3 La premi`ere composante de
x |x|e
i arg x
1
e
1
vaut ([x
1
[ |x|)e
i arg x
1
et on choisira + pour obtenir un vecteur v = x +|x|e
i arg x
1
e
1
de
norme maximale et reduire ainsi les eets des erreurs darrondi dans lestimation ottante
de 2vv

/|v|
2
.
4.3 D ecomposition QR
La methode de calcul des valeurs propres la plus utilisee repose sur la decomposition
QR des matrices, laquelle est precisee dans la proposition suivante
Theor`eme 4.3.1 Toute matrice A /
n
(C) peut secrire A = QR, o` u Q est une matrice
unitaire produit de (n 1) matrices de Householder et R est une matrice triangulaire
superieure.
De plus, si A est inversible, on peut en deduire une decomposition A = Q

o` u Q

est unitaire et R

est triangulaire superieure ` a elements diagonaux strictement positifs et


cette decomposition est unique.
Preuve. Posons A
0
= A. Il existe une matrice de Householder, se reduisant eventuelle-
ment `a lidentite selon la remarque IV.3.2, qui applique la premi`ere colonne de A sur un
vecteur dont les (n 1) derni`eres composantes sont nulles, de sorte que si H
1
designe
cette matrice, il vient
A
1
= H
1
A
0
=
_
R
1

B
1
_
o` u B
1
est une matrice de /
n1
(C).
Considerons ` a present la matrice
A
k
=
_
R
k

B
k
_
p 4.3. D

ECOMPOSITION QR 43
o` u B
k
est une matrice de /
nk
(C) et R
k
une matrice triangulaire superieure de /
k
(C).
Il existe une matrice de Householder H
k
/
nk
(C) qui applique la premi`ere colonne de
B
k
sur un vecteur dont les (n k 1) derni`eres composantes sont nulles, de sorte que si
I
k
designe lidentite de /
k
(C)
_
I
k
H
k
__
R
k

B
k
_
=
_
R
k

H
k
B
k
_
=
_
_
_
R
k


B
k+1
_
_
_ =
_
R
k+1

B
k+1
_
,
o` u B
k+1
est une matrice de /
nk1
(C) et R
k+1
une matrice triangulaire superieure de
/
k+1
(C).
Montrons que la matrice H
k+1
= diag(I
k
, H
k
) peut etre consideree comme une matrice
de Householder de /
n
(C).
Cest immediat si H
k
= I
nk
. Sinon, designons par
k
le vecteur de C
nk
tel que
H
k
= H(
k
) et par x
k
le vecteur de C
n
obtenu en le precedant de k composantes nulles,
soit
x
k
=
_
0

k
_
.
Il vient alors
H(x
k
) = I 2
x
k
x

k
|x
k
|
2
= I
2
|
k
|
2
_
0

k
_
(0 [

k
)
= I
2
|
k
|
2
_

k

k
_
=
_
I
k
H(
k
)
_
= diag(I
k
, H
k
).
Par recurrence, on peut donc conclure quil existe (n 1) matrices de Householder
H
1
, . . . , H
n1
/
n
(C) telles que
H
n1
. . . H
1
A = R
o` u R est une matrice triangulaire superieure. De l`a
A = H
1
1
. . . H
1
n1
R = H

1
. . . H

n1
R = H
1
. . . H
n1
R
puisque les matrices de Householder sont ` a la fois unitaires et hermitiennes. Le produit
Q = H
1
. . . H
n1
etant unitaire avec ses facteurs, la conclusion sensuit.
Maintenant, si A est inversible, il vient
det Q. det R = det A ,= 0
et les elements r
ii
de R ne sont pas nuls. Alors la matrice
D = diag(
r
11
[r
11
[
, . . . ,
r
nn
[r
nn
[
)
p44 Chapitre 4. CALCUL DES VALEURS PROPRES
est unitaire et nous avons
A = (QD

)(DR),
o` u QD

est unitaire et DR est triangulaire superieure delements diagonaux


r
ii
[r
ii
[
.r
ii
= [r
iv
[ > 0,
do` u le resultat annonce avec Q

= QD

et R

= DR.
Il reste `a prouver lunicite de cette derni`ere decomposition.
Si A = Q

1
R

1
= Q

2
R

2
, alors Q

2
Q

1
= R

2
R
1
1
et cette valeur commune est une matrice
unitaire, triangulaire superieure `a elements diagonaux strictement positifs. Ainsi

1
est triangulaire inferieure et superieure, donc diagonale. Finalement, est diagonale,
unitaire, ` a elements diagonaux strictement positifs : cest necessairement lidentite. De l`a,
Q

1
= Q

2
et R

1
= R

2
.
4.4 Forme canonique de Hessenberg
Une forme canonique utile dans la recherche des valeurs propres dune matrice quel-
conque est la forme de Hessenberg superieure, o` u les elements situes sous la premi`ere
sous-diagonale sont tous nuls, soit
a
ij
= 0 si j < i 1 (3 i n).
Theor`eme 4.4.1 Pour toute matrice A /
n
(C), il existe une matrice unitaire S, pro-
duit de n 2 matrices de Householder, telle que S

AS soit une matrice de Hessenberg


superieure. Cette matrice est hermitienne tridiagonale si A est hermitienne.
Preuve. Nous allons transformer A au moyen de (n 2) matrices de Householder, de
mani`ere `a annuler successivement les elements a
i1
avec i 3, a
i2
avec i 4, . . . , a
nn2
.
Comme une matrice de Householder est unitaire et que lhermiticite se conserve dans
une transformation unitaire, si A est hermitienne, on annulera aussi les elements a
1j
avec
j 3, a
2j
avec j 4, . . . , a
n2,n
, do` u laboutissement ` a une forme tridiagonale dans ce
cas particulier.
Posons A
1
= A. Il existe une matrice de Householder H
1
/
n1
(C) qui applique le
vecteur
a
1
=
_
_
_
_
a
21
.
.
.
a
n1
_
_
_
_
C
n1
sur un vecteur dont les (n 2) derni`eres composantes sont nulles et la matrice
S
1
= diag(1, H
1
), qui est hermitienne et unitaire avec H
1
, op`ere la transformation suivante
A
2
= S

1
A
1
S
1
= S
1
A
1
S
1
=
_
1
H
1
__
a
11

a
1

__
1
H
1
_
p 4.4. FORME CANONIQUE DE HESSENBERG 45
=
_
1
H
1
__
a
11

a
1

_
=
_
a
11

H
1
a
1

_
=
_
_
_
a
11



a
2

_
_
_
=
_
X
2

a
2

_
,
o` u X
2
est une matrice de Hessenberg superieure de /
2
(C) et a
2
est un vecteur de C
n2
precede dun vecteur nul.
Considerons ` a present la matrice
A
k
=
_
X
k

a
k

_
,
o` u X
k
est une matrice de Hessenberg superieure de /
k
(C) et a
k
un vecteur de C
nk
precede de (k 1) vecteurs nuls.
On construit alors une matrice de Householder H
k
/
nk
(C) telle que H
k
a
k
ait
ses (n k 1) derni`eres composantes nulles et on pose S
k
= diag(I
k
, H
k
) o` u I
k
designe
lidentite de /
k
(C). Cette matrice S
k
est hermitienne et unitaire avec I
k
et H
k
, de sorte
que
A
k+1
= S

k
A
k
S
k
= S
k
A
k
S
k
=
_
I
k
H
k
__
X
k

a
k

__
I
k
H
k
_
=
_
I
k
H
k
__
X
k

a
k

_
=
_
X
k

H
k
a
k

_
=
_
X
k+1

a
k+1

_
o` u X
k+1
est une matrice de Hessenberg superieure de /
k+1
(C) et a
k+1
est un vecteur
de C
nk1
precede de k vecteurs nuls, obtenus en decalant les limites de bloc dun rang
comme ci-apr`es
_
_
_
_
_
_
_
_
_
_






_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_






_
_
_
_
_
_
_
_
_
_
.
En conclusion, on transforme la matrice A en une matrice de Hessenberg superieure
S

n2
. . . S

1
AS
1
. . . S
n2
= (S
1
. . . S
n2
)

A(S
1
. . . S
n2
),
o` u chaque matrice S
k
peut etre consideree comme une matrice de Householder de /
n
(C),
ainsi que nous lavons dej`a montre `a propos de la decomposition QR.
La matrice S = S
1
. . . S
n2
est unitaire comme produit de matrices unitaires.
p46 Chapitre 4. CALCUL DES VALEURS PROPRES
4.5 Calcul des valeurs propres par la m ethode QR
Le principe de lalgorithme QR pour lestimation des valeurs propres dune matrice
quelconque est le suivant. En invoquant la decomposition QR, on construit une suite de
matrices A
k
telles que
A
1
= A, A
k
= Q
k
R
k
, A
k+1
= R
k
Q
k
,
o` u les matrices Q
k
et R
k
sont respectivement unitaire et triangulaire superieure. Comme
les matrices A
k
verient
A
k+1
= R
k
Q
k
= Q

k
A
k
Q
k
,
elles ont toutes les memes valeurs propres que A et si elles convergent vers une matrice
triangulaire superieure, soit si
(A
k
)
ij
0 pour i > j,
on peut esperer que les elements diagonaux de la matrice limite A

soient les valeurs


propres de A.
On peut prouver cette convergence moyennant des hypoth`eses restrictives sur A.
On reduit le nombre delements (A
k
)
ij
sous-diagonaux ` a annuler en transformant au
prealable la matrice A en une matrice de Hessenberg superieure B. En eet, tous ses iteres
B
k
sont des matrices de Hessenberg superieures si, `a chaque iteration, les elements de la
premi`ere sous-diagonale di`erent de 0. Cela resulte de la proposition suivante.
Theor`eme 4.5.1 Si B est une matrice de Hessenberg superieure dont les elements de
la premi`ere sous-diagonale di`erent de 0, admettant la decomposition B = QR, avec Q
unitaire et R triangulaire superieure, alors Q et RQ sont des matrices de Hessenberg
superieures.
Si la matrice B est hermitienne tridiagonale, alors la matrice RQ est aussi hermitienne
tridiagonale.
Preuve. De la relation B = QR, avec R triangulaire superieure, nous deduisons
b
ij
=
j

k=1
q
ik
r
kj
.
En raisonnant de proche en proche sur j = 1, . . . , n 2, on montre avec i = j +1 que
r
jj
,= 0, puis avec i > j + 1 que b
ij
= 0 q
ij
= 0 et Q est une matrice de Hessenberg
superieure.
Ensuite, il vient, compte tenu des formes de Q et R,
(RQ)
ij
=
j+1

k=i
r
ik
q
kj
et cette somme ne contient aucun terme si i > j + 1, donc RQ est aussi une matrice de
Hessenberg superieure.
p 4.5. CALCUL DES VALEURS PROPRES PAR LA M

ETHODE QR 47
Comme
RQ = (Q

Q)RQ = Q

(QR)Q = Q

(B)Q,
la matrice RQ est hermitienne, donc tridiagonale, en meme temps que B.
Etudions en detail le cas particulier dune matrice A hermitienne.
On commence par la transformer en une matrice hermitienne tridiagonale B = S

AS
conformement au theor`eme IV.4.1. Cette matrice admet les memes valeurs propres que A.
Elle est dite irreductible si tous les elements b
i+1,i
de la premi`ere sous-diagonale di`erent de
0. Si elle nest pas irreductible, elle est necessairement de la forme
diag(B
(1)
, . . . , B
(q)
), o` u chaque bloc B
(l)
est tridiagonal irreductible. Par exemple, la ma-
trice A est reduite `a la forme
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_








_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
Dans ce dernier cas, on lance lalgorithme QR en calculant les decompositions
B
(l)
= Q
(l)
R
(l)
et en posant ensuite Q = diag(Q
(1)
, . . . , Q
(q)
) et R = diag(R
(1)
, . . . , R
(q)
).
Ces matrices Q et R restent respectivement unitaires et triangulaires superieures avec
leurs blocs diagonaux constitutifs et il vient toujours
diag(Q
(1)
R
(1)
, . . . , Q
(q)
R
(q)
) = QR, diag(R
(1)
Q
(1)
, . . . , R
(q)
Q
(q)
) = RQ.
En appliquant cette procedure `a chaque iteration de lalgorithme, les matrices B
k
sont
toutes hermitiennes tridiagonales, par application du theor`eme IV.5.1 aux blocs hermitiens
tridiagonaux irreductibles B
(l)
k1
.
Nous nous proposons maintenant detablir la convergence des iterations B
k
vers une
matrice diagonale lorsque les blocs B
(l)
sont inversibles (ce qui equivaut ` a linversibilite
de B et A) et sans valeurs propres opposees
4
. Cette convergence repose sur les deux
resultats suivants.
Theor`eme 4.5.2 Si B est une matrice hermitienne tridiagonale irreductible, ses valeurs
propres sont simples.
4
Il est dailleurs ` a noter que si B admet des valeurs propres opposees, la convergence vers une matrice
diagonale nest pas assuree, comme le montre lexemple
B =
_
0 1
1 0
_
dont tous les iteres B
k
valent B.
p48 Chapitre 4. CALCUL DES VALEURS PROPRES
Preuve. Si B est une matrice de /
n
(C), le mineur de lelement n1 de BI di`ere de 0
comme determinant dune matrice triangulaire inferieure `a elements diagonaux non nuls.
Ainsi, si est valeur propre de B, la matrice BI est de rang n1, si bien que lespace
propre associe est de dimension 1. La matrice B etant diagonalisable, on en deduit que la
valeur propre est simple.
Theor`eme 4.5.3 Si S est une matrice unitaire qui transforme une matrice hermitienne
tridiagonale irreductible B en une matrice diagonale, alors les determinants diagonaux
principaux de S et S

di`erent de 0.
Preuve. Il sut de montrer que les determinants diagonaux principaux de S ne sont pas
nuls, puisque ceux de S

leurs sont conjugues. On raisonne par recurrence sur lordre.


(i) Lelement s
11
nest pas nul.
La premi`ere colonne c
1
de S est un vecteur propre de B, de sorte que Bc
1
=
1
c
1
. En
identiant les composantes i des deux membres de cette egalite, il vient compte tenu de
la forme tridiagonale de B
inf(i+1,n)

k=sup(1,i1)
b
ik
s
k1
=
1
s
i1
o` u n designe lordre des matrices considerees. En faisant varier i de 1 ` a n, il apparat que
si s
11
= 0, alors c
1
= 0, ce qui est impossible pour un vecteur propre.
(ii) Si le determinant diagonal principal dordre p de S di`ere de 0, celui dordre p +1
di`ere aussi de 0.
Les p+1 premi`eres colonnes c
1
, . . . , c
p+1
de S sont des vecteurs propres de B relatifs ` a
des valeurs propres
1
, . . . ,
p+1
. Designons par c

j
les vecteurs denis par leurs p premi`eres
composantes et par c

j
les vecteurs denis par leurs p + 1 premi`eres composantes.
Si det(c

1
, . . . , c

p+1
) = 0, il existe une relation lineaire entre les c

j
, par exemple
c

p+1
=
p

k=1

k
c

k
,
de sorte que
(Bc
p+1
)

= (
p+1
c
p+1
)

=
p+1
c

p+1
=
p+1
p

k=1

k
c

k
.
Comme la matrice B est tridiagonale, le vecteur (Bc
p+1
)

ne fait intervenir que le


vecteur c

p+1
et il vient encore
(Bc
p+1
)

= (B[
p

k=1

k
c
k
])

=
p

k=1

k
c

k
.
En identiant les deux expressions de (Bc
p+1
)

on obtient
p

k=1

k
(
p+1

k
)c

k
= 0
p 4.5. CALCUL DES VALEURS PROPRES PAR LA M

ETHODE QR 49
ce qui contredit lhypoth`ese de recurrence, puisque les valeurs propres de B sont distinctes
par la proposition precedente et que les coecients
k
ne sont pas tous nuls (sinon s
1,p+1
=
0 et c
p+1
= 0 en reprenant largumentation (i)).
Nous pouvons maintenant etablir le theor`eme de convergence annonce. Ce nest pas
le plus general, mais il couvre de nombreuses situations pratiques et presente lavantage
dune relative simplicite.
Theor`eme 4.5.4 Les iterations QR dune matrice hermitienne tridiagonale B convergent
vers une matrice diagonale dont les elements diagonaux sont les valeurs propres de B, si
les blocs diagonaux irreductibles de celle-ci sont inversibles et sans valeurs propres oppo-
sees.
Preuve. Il sut de considerer une matrice B hermitienne tridiagonale irreductible in-
versible sans valeurs propres opposees, puisque pour B = diag(B
(1)
, . . . , B
(q)
), avec des
blocs diagonaux veriant ces conditions, il vient B
k
= diag(B
(1)
k
, . . . , B
(q)
k
), matrice qui
converge vers la forme diagonale en meme temps que les blocs B
(l)
k
.
(i) Realisons une premi`ere decomposition QR de la puissance B
k
.
Les iterations B
k
sont denies par
B
1
= B, B
k
= Q
k
R
k
, B
k+1
= R
k
Q
k
,
o` u les matrices Q
k
, R
k
sont respectivement unitaires et triangulaires superieures. Nous
avons ensuite
B
k+1
= Q

k
B
k
Q
k
= Q

k
Q

k1
B
k1
Q
k1
Q
k
= = Q

k
BQ
k
,
o` u nous avons utilise la matrice unitaire Q
k
= Q
1
Q
k
. Considerons encore la matrice
triangulaire superieure 1
k
= R
k
R
1
. Nous avons
Q
k
1
k
= Q
1
(Q
k
R
k
) R
1
= Q
k1
B
k
1
k1
= Q
k1
(Q

k1
BQ
k1
)1
k1
= BQ
k1
1
k1
= = B
k1
Q
1
R
1
= B
k
,
de sorte que Q
k
1
k
realise une premi`ere decomposition QR de la puissance B
k
.
(i) Realisons une seconde decomposition QR de la puissance B
k
.
Comme nous considerons une matrice B hermitienne, tridiagonale irreductible et in-
versible, ses valeurs propres sont reelles, simples et non nulles et, puisque nous avons aussi
admis quelles ne sont pas opposees, il est possible de les ordonner par modules strictement
decroissants
[
1
[ > [
2
[ > > [
n
[ > 0
et nous considerons la matrice diagonale inversible D = diag(
1
, . . . ,
n
).
Il existe une matrice unitaire S telle que D = S

BS et, en vertu du theor`eme IV.5.3,


la matrice S

admet la decomposition LU avec L triangulaire inferieure delements dia-


gonaux egaux ` a 1 et U triangulaire superieure. Nous obtenons de proche en proche
D
m
= S

B
m
S, puis
B
k
= SD
k
S

= SD
k
LU = S(D
k
LD
k
)D
k
U.
p50 Chapitre 4. CALCUL DES VALEURS PROPRES
Comme la matrice (D
k
LD
k
) est inversible, elle admet une decomposition

Q
k

R
k
avec

Q
k
unitaire et

R
k
triangulaire superieure, univoquement denie en imposant (

R
k
)
ii
> 0 pour
1 i n et nous obtenons une seconde decomposition QR de la puissance B
k
, ` a savoir
B
k
= (S

Q
k
)(

R
k
D
k
U),
o` u la matrice triangulaire superieure

R
k
D
k
U est inversible avec B
k
.
(ii) Etudions le comportement limite des iteres B
k
.
En identiant les deux expressions de la puissance B
k
nous obtenons
(S

Q
k
)

Q
k
= (

R
k
D
k
U)1
1
k
[=
k
],
o` u la valeur commune
k
est une matrice triangulaire superieure unitaire, donc necessai-
rement diagonale et nous en deduisons Q
k
= S

Q
k

k
, soit un produit de trois matrices
unitaires dont la derni`ere est diagonale. Nous avons ensuite
B
k+1
= Q

k
BQ
k
=

k
(S

BS)

Q
k

k
=

k
D

Q
k

k
,
do` u
(B
k
)
ij
=

k
)
i
(

Q

k
D

Q
k
)

(
k
)
j
= (
k
)
ii
(

Q

k
D

Q
k
)
ij
(
k
)
jj
et il reste `a elucider le comportement limite de cette expression.
La matrice D
k
LD
k
est triangulaire inferieure, ses elements diagonaux valent 1 tandis
que ses elements sous-diagonaux
(D
k
LD
k
)
ij
=
k
i
l
ij

k
j
tendent vers 0, puisque i > j et d`es lors [
i
[ < [
j
[. De l` a,

Q
k

R
k
= I + F
k
avec F
k
0.
Les colonnes des matrices

Q
k
sont orthonormees et n applications emboitees du theo-
r`eme de Bolzano-Weierstrass de C
n
permet dextraire simultanement de ces suites de co-
lonnes des sous-suites convergentes vers des vecteurs orthonormes. On peut donc extraire
de la suite des matrices unitaires

Q
k
une sous-suite

Q
k
qui converge vers une matrice
unitaire

Q. Il vient ensuite

R
k
=

Q

k
(I + F
k
)

Q

,
o` u la matrice

Q

est `a la fois unitaire (avec



Q) et triangulaire superieure delements
(

Q

)
ii
0 pour 1 i n (comme limite des matrices

R
k
). Elle est alors diagonale
unitaire avec tous ses elements (

Q

)
ii
strictement positifs et se reduit ` a I. D`es lors,

Q = I
et

Q
k
I. En fait, cest toute la suite qui verie

Q
k
I, sinon, pour toute norme
matricielle, il existerait > 0 et une sous-suite telle que |

Q
k
I| > et, en reprenant
les considerations precedentes, on extrairait une sous-suite

Q
k
de

Q
k
telle que

Q
k
I,
ce qui m`enerait ` a une contradiction.
Ainsi nous avons

Q

k
D

Q
k
D et les expressions (B
k
)
ij
donnees plus haut convergent
vers 0 si i ,= j et vers
i
si i = j, puisque [(
k
)
ii
[ = 1 pour tout i et tout k (
k
est
diagonale unitaire).
p 4.5. CALCUL DES VALEURS PROPRES PAR LA M

ETHODE QR 51
Remarque 4.5.5 La convergence de

Q

k
D

Q
k
vers D resulte de celle de F
k
vers 0, laquelle
depend des rapports (
i
/
j
)
k
pour i > j. De l`a, lidee fondamentale de lalgorithme QR
avec translation ( shift-QR algorithm en anglais) qui consiste ` a remplacer chaque
matrice B
k
par une matrice B
k
s
k
I, o` u s
k
est une "bonne approximation" de
n
, pour
accelerer la convergence de lelement (B
k
)
n,n1
vers 0 puisquil vient alors
[(B
k
)
n,n1
[ [

n
s
k

n1
s
k
[
k
.
Un choix naturel est s
k
= (B
k
)
nn
, puisque cet element est destine `a tendre vers
n
, mais
il en existe de plus ecaces sur lesquels nous ninsisterons pas.
Ainsi, `a la k
i` eme
iteration de lalgorithme QR, on eectue une decomposition
B
k
s
k
I = Q
k
R
k
,
puis on pose
B
k+1
= R
k
Q
k
+ s
k
I
de sorte que lon ait toujours
Q

k
(B
k
)Q
k
= Q

k
(Q
k
R
k
+ s
k
I)Q
k
= R
k
Q
k
+ s
k
I = B
k+1
.
De plus, si B
k
est tridiagonale, il en va de meme pour B
k
s
k
I, puis pour R
k
Q
k
et enn
pour B
k+1
= R
k
Q
k
+ s
k
I. On ne perd donc rien du gain en volume de calcul ` a chaque
iteration QR.
Lorsquon juge que lelement (B
k
)
n,n1
est susamment proche de 0, ce qui revient ` a
admettre que (B
k
)
nn
est susamment proche de
n
, on poursuit les iterations QR avec la
matrice constituee des (n1) premi`eres lignes et colonnes de B
k
et ainsi de suite jusqu`a
lestimation de toutes les valeurs propres de
5
A. Cette technique est appelee deation.
Nous avons applique lalgorithme QR avec deation ` a la matrice symetrique
A =
_
_
_
_
_
9 1 2 1
1 8 3 2
2 3 7 1
1 2 1 6
_
_
_
_
_
et nous avons obtenu les resultats suivants (les valeurs dordre 10
7
doivent etre conside-
rees comme nulles du fait des erreurs darrondis en simple precision) :
Forme tridiagonale
9.00000E + 00 2.44949E + 00 1.22183E 08 2.71826E 08
2.44949E + 00 9.00000E + 00 1.73205E + 00 1.19209E 07
1.22183E 08 1.73205E + 00 9.0000E + 00 4.76837E 07
2.71826E 08 1.19209E 07 5.96047E 07 3.00000E + 00
5
En fait, on cl oture les matrices Q par un bloc diagonal identite de plus en plus grand .
p52 Chapitre 4. CALCUL DES VALEURS PROPRES
It erations 1 : 1
i` ere
1.07143E + 01 1.86810E + 00 3.57628E 07 9.01138E 08
1.86810E + 00 8.54887E + 00 1.77236E + 00 1.64960E 07
6.78181E 08 1.77236E + 00 7.73684E + 00 1.89003E 07
1.46480E 14 5.60080E 15 2.09562E 15 3.00000E + 00
It erations 2 : 5
i` eme
1.19834E + 01 3.14696E 01 6.46822E 07
3.14696E 01 6.01655E + 00 4.89294E 07
1.35383E 16 6.34411E 12 9.00000E + 00
It erations 3 : 2
i` eme
1.20000E + 01 3.90573E 07
7.66916E 11 6.00000E + 00
Les valeurs propres sont donnees depuis la derni`ere dans lordre prevu par la theorie,
`a savoir 3, 6, 9 et 12. Leur somme vaut 30, ce qui correspond eectivement ` a la trace de
A. Leur produit vaut 1944, ce qui correspond eectivement au determinant de A.
Chapitre 5
RESOLUTION NUMERIQUE DES
EQUATIONS DIFFERENTIELLES
5.1 R esum e de la th eorie classique des equations dif-
f erentielles
Dans ce chapitre, nous considerons une fonction continue
f : (t, y) [t
0
, t
0
+ T] R
m
f(t, y) R
m
et nous nous donnons un element y
0
R
m
. Nous nous proposons alors de rechercher une
fonction contin ument derivable
y : t [t
0
, t
0
+ T] y(t) R
m
,
solution du probl`eme de Cauchy
y

(t) = f(t, y(t)) dans [t


0
, t
0
+ T], y(t
0
) = y
0
. (5.1.1)
Dans les applications, t represente souvent le temps et la condition y(t
0
) = y
0
est la
condition initiale.
Insistons sur le fait que nous considerons ici un syst`eme dequations dierentielles du
premier ordre
_

_
y

1
(t) = f
1
(t, y
1
(t), . . . , y
m
(t)),
. . . . . .
y

m
(t) = f
m
(t, y
1
(t), . . . , y
m
(t)),
ce qui contient les equations dierentielles dordre m
y
(m)
(t) = g(t, y(t), . . . , y
(m1)
(t)),
o` u g est une fonction continue sur [t
0
, t
0
+T] R
m
et ` a valeurs dans R et y est une fonction
m fois contin ument derivable sur [t
0
, t
0
+ T] `a valeurs dans R. Il sut en eet de poser
y
1
= y, y
2
= y

, . . . , y
m
= y
(m1)
53
p54 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
et lequation dordre m est equivalente au syst`eme du premier ordre
_

_
y

1
(t) = y
2
(t),
. . . . . .
y

m1
(t) = y
m
(t),
y

m
(t) = g(t, y
1
(t), . . . , y
m
(t)),
tandis que la condition imposee en t = t
0
pour lequation
y(t
0
) =
0
, . . . , y
(m1)
(t
0
) =
m1
,
donne
y
1
(t
0
) =
0
, . . . , y
m
(t
0
) =
m1
pour le syst`eme equivalent.
Rappelons quelques resultats classiques de la theorie qualitative des equations die-
rentielles
1
.
En ce qui concerne lexistence et lunicite de la solution dun probl`eme de Cauchy nous
avons la proposition suivante.
Theor`eme 5.1.1 On suppose que la fonction f est continue sur [t
0
, t
0
+T] R
m
et quil
existe une constante L > 0 telle que pour une certaine norme sur R
m
|f(t, y) f(t, z)| L|y z|, t [t
0
, t
0
+ T], y, z R
m
.
Alors le probl`eme de Cauchy admet une et une seule solution y (
1
([t
0
, t
0
+ T]).
Remarque 5.1.2 La condition supplementaire imposee `a f est la condition de Lipschitz.
Elle est toujours satisfaite dans le cas du probl`eme de Cauchy lineaire
y

(t) = A(t)y(t) + b(t), y(t


0
) = y
0
,
o` u A(t) /
m
(R) et b(t) R
m
ont des elements et composantes continus sur [t
0
, t
0
+T].
En eet, nous avons alors
f(t, y) = A(t)y + b(t)
et il vient
|f(t, y)f(t, z)|
1
= |A(t)(yz)|
1
|A(t)|
1
|yz|
1
sup
t
0
tt
0
+T
sup
j

i
[a
ij
(t)[ |yz|
1
.
En ce qui concerne leet de perturbations sur les donnees f et y
0
, nous avons le
resultat suivant.
1
Voir CROUZEIX et MIGNOT, Analyse numerique des equations dierentielles, Masson, chapitre 3.
p 5.2. G

EN

ERALIT

ES SUR LES SCH

EMAS
`
A UN PAS 55
Theor`eme 5.1.3 On suppose que la fonction f est continue sur [t
0
, t
0
+T] R
n
et quil
existe une constante L > 0 telle que pour une certaine norme sur R
m
|f(t, y) f(t, z)| L|y z| t [t
0
, t
0
+ T], y, z R
m
et on consid`ere le probl`eme de Cauchy perturbe
y

(t) = f(t, y

(t)) +
1
g(t) dans [t
0
, t
0
+ T], y

(t
0
) = y
0
+
0
,
avec g fonction continue de [t
0
, t
0
+ T] dans R
m
,
0
et
1
R et R
m
.
Alors le probl`eme perturbe admet une et une seule solution y

liee `a la solution y du
probl`eme non perturbe (
0
=
1
= 0) par linegalite
|y(t) y

(t)| |
0
|e
L(tt
0
)
+
_
t
t
0
|
1
g(s)|e
L(ts)
ds.
Enn, sagissant de la regularite de la solution dun probl`eme de Cauchy, on etablit
aisement par des applications successives du theor`eme de derivation des fonctions com-
posees.
Theor`eme 5.1.4 Si y est solution du probl`eme de Cauchy et si f est p fois contin ument
derivable sur [t
0
, t
0
+T] R
m
, alors y est p +1 fois contin ument derivable sur [t
0
, t
0
T],
avec
y
(k+1)
(t) = f
(k)
(t, y(t)), 0 k p,
o` u f
(k)
est la fonction denie sur [t
0
, t
0
+ T] R
m
par la relation de recurrence
f
(k)
(t, y) =
f
(k1)
t
(t, y) +
m

i=1
f
(k1)
y
i
(t, y) f
i
(t, y), f
(0)
(t, y) = f(t, y).
5.2 G eneralit es sur les schemas ` a un pas
Nous reprenons le probl`eme de Cauchy
y

(t) = f(t, y(t)) dans [t


0
, t
0
+ T], y(t
0
) = y
0
,
o` u f est une fonction continue sur [t
0
, t
0
+ T] R
m
veriant la condition de Lipschitz
(L > 0) (t [t
0
, t
0
+ T]) (y, z R
m
) |f(t, y) f(t, z)| L|y z|
pour une certaine norme sur R
m
.
Partageons lintervalle [t
0
, t
0
+ T] au moyen des points
t
0
< t
1
< < t
N
= t
0
+ T
p56 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
et posons
h
n
= t
n+1
t
n
, h = sup
0n<N
h
n
[0, H].
Bien entendu, dans ces notations, la borne N des indices n crot quand h diminue.
Les schemas ` a un pas consistent ` a calculer une valeur approchee Y
n+1
de y(t
n+1
) ` a partir
de t
n
, h
n
et de la valeur approchee Y
n
de y(t
n
) au moyen dune relation de recurrence
Y
n+1
= Y
n
+ h
n
(t
n
, Y
n
; h
n
), Y
0
donne dans R
m
, (5.2.1)
o` u est une fonction continue de [t
0
, t
0
+ T] R
m
[0, H] dans R
m
liee `a f.
Ce schema est dit convergent si, quel que soit y
0
R
m
,
lim
Y
0
y
0
h0
sup
0nN
|Y
n
y(t
n
)| = 0.
Il est dit consistant si, pour toute solution y du syst`eme dierentiel (5.1.1),
lim
h0
N1

n=0
|y(t
n+1
) y(t
n
) h
n
(t
n
, y(t
n
); h
n
)| = 0.
Cette condition signie que lerreur commise en rempla cant chaque y(t
n+1
) par son
approximation selon le schema (5.2.1), calculee au depart de y(t
n
), tend vers 0 avec le pas
maximal h.
Le schema (5.2.1) est dit stable sil existe une constante M > 0 telle que, pour tout
h [0, H] et toutes suites Y
n
, Z
n
,
n
R
m
, 0 n N veriant
Y
n+1
= Y
n
+ h
n
(t
n
, Y
n
; h
n
),
Z
n+1
= Z
n
+ h
n
(t
n
, Z
n
; h
n
) +
n
,
on ait
(n N) |Y
n
Z
n
| M[|Y
0
Z
0
| +
n1

k=0
|
k
|].
Cette condition assure que laccumulation des erreurs darrondi na quun eet limite
sur le calcul des approximations.
La consistance et la stabilite correspondent ` a des comportements numeriques die-
rents. Un schema consistant non stable calcule quelque chose qui peut etre initialement
proche de la solution exacte, mais qui sen eloigne rapidement, surtout lorsque le pas est
petit. Un schema stable non consistant calcule quelque chose qui na rien ` a voir avec la
solution exacte. On comprend d`es lors quun schema stable et consistant a davantage de
chances de converger vers la solution exacte. Cest ce que prouve la proposition suivante.
Theor`eme 5.2.1 Le schema (5.2.1) est convergent sil est stable et consistant.
p 5.3. R

ESULTATS DE CONSISTANCE ET DE STABILIT

E 57
Preuve. Posons pour tout n = 0, . . . , N 1

n
= y(t
n+1
) y(t
n
) h
n
(t
n
, y(t
n
); h
n
).
Vu lhypoth`ese de consistance, nous avons
lim
h0
N1

n=0
|
n
| = 0
et la stabilite avec Z
n
= y(t
n
) donne
sup
0nN
|Y
n
y(t
n
)| M[|Y
0
y
0
| +
N1

k=0
|
k
|] 0 si Y
0
y
0
et h 0.
5.3 R esultats de consistance et de stabilit e
Theor`eme 5.3.1 Le schema (5.2.1) est consistant si et seulement si
(t, y; 0) = f(t, y)
pour tout t [t
0
, t
0
+ T] et tout y R
m
.
Preuve. Supposons m = 1 pour rester dans le cadre du calcul dierentiel et integral des
fonctions ` a valeurs reelles.
Considerons donc une solution y de lequation dierentielle y

(t) = f(t, y(t)) et posons

n
= y(t
n+1
) y(t
n
) h
n
(t
n
, y(t
n
); h
n
), 0 n N 1.
Par la formule des accroissements nis, il existe
n
]t
n
, t
n+1
[ tel que
y(t
n+1
) y(t
n
) = h
n
y

(
n
) = h
n
f(
n
, y(
n
)),
de sorte que

n
= h
n
[f(
n
, y(
n
)) (t
n
, y(t
n
); h
n
)].
Posons

n
= h
n
[f(
n
, y(
n
)) (
n
, y(
n
); 0)],

n
= h
n
[(
n
, y(
n
); 0) (t
n
, y(t
n
); h
n
)],
si bien que

n
=
n
+
n
. (5.3.1)
p58 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
La fonction t [f(t, y(t)) (t, y(t); 0)[ est continue sur le compact [t
0
, t
0
+ T] sous
les hypoth`eses generales de la section precedente et, en vertu de linterpretation de son
integrale sur cet ensemble comme limite de sommes de Riemann, il vient
lim
h0
N1

n=0
[
n
[ =
_
t
0
+T
t
0
[f(t, y(t)) (t, y(t); 0)[ dt.
Dautre part, la fonction (t, h) (t, y(t); h) est continue, donc uniformement conti-
nue, sur le compact [t
0
, t
0
+ T] [0, H] et, puisque
[
n
t
n
[ h
n
h,
nous obtenons
N1

n=0
[
n
[ T sup
|tt

|h
0h

h
[(t, y(t); 0) (t

, y(t

); h

)[,
o` u la majorante tend vers 0 si h 0.
Revenant ` a (5.3.1), nous voyons que si (t, y(t); 0) = f(t, y), alors
n
=
n
et le schema
est consistant.
Reciproquement, nous avons
N1

n=1
[
n
[ =
N1

n=1
[
n

n
[
N1

n=1
[
n
[ +
N1

n=1
[
n
[
et, si le schema est consistant, alors
_
t
0
+T
t
0
[f(t, y(t)) (t, y(t); 0)[ dt = 0.
Ceci implique f(t, y(t)) = (t, y(t); 0) presque partout dans [t
0
, t
0
+ T], donc partout
par continuite. On en deduit que f(t

, y

) = (t

, y

; 0) pour tout couple (t

, y

) dans
[t
0
, t
0
+ T] R, puisque lequation dierentielle y

(t) = f(t, y(t)) admet une solution qui


verie y(t

) = y

.
Theor`eme 5.3.2 Une condition susante pour que le schema (5.2.1) soit stable est
lexistence dune constante > 0 telle que
|(t, y; h) (t, z; h)| |y z|
pour tout t [t
0
, t
0
+ T], tous y, z R
m
et tout h [0, H].
Preuve. Si nous avons pour 0 n N 1
Y
n+1
= Y
n
+ h
n
(t
n
, Y
n
; h
n
),
Z
n+1
= Z
n
+ h
n
(t
n
, Z
n
; h
n
) +
n
,
p 5.4. ORDRE DUN SCH

EMA
`
A UN PAS 59
alors
|Y
n+1
Z
n+1
| |Y
n
Z
n
| + h
n
|(t
n
, Y
n
; h
n
) (t
n
, Z
n
; h
n
)| +|
n
|
(1 + h
n
)|Y
n
Z
n
| +|
n
|
e
h
n
|Y
n
Z
n
| +|
n
|,
puisque 1 + x e
x
pour tout x R.
Nous en deduisons par recurrence sur n
|Y
n
Z
n
| e
(t
n
t
0
)
|Y
0
Z
0
| +
n1

k=0
e
(t
n
t
k+1
)
|
k
|
pour 1 n N et de l`a,
|Y
n
Z
n
| e
T
[|Y
0
Z
0
| +
n1

k=0
|
k
|], 0 n N.
Remarque 5.3.3 La constante de stabilite M = e
T
obtenue dans la preuve peut etre
tr`es grande. Il se peut cependant que pour certaines fonctions f et certains schemas
(5.2.1) judicieusement choisis, on obtienne une meilleure constante de stabilite, au prix
dune argumentation propre ` a f et au schema considere.
5.4 Ordre dun sch ema ` a un pas
On dit que le schema (5.2.1) est dordre p 1 si, pour toute solution y du syst`eme
dierentiel (5.1.1), il existe une constante C independante de h [0, H] telle que
N1

n=0
|y(t
n+1
) y(t
n
) h
n
(t
n
, y(t
n
); h
n
)| C h
p
.
Cette notion, plus ne que la consistance, permet dexprimer la vitesse de convergence
comme le montre le resultat suivant.
Theor`eme 5.4.1 Si le schema (5.2.1) est stable et dordre p 1 et si on choisit Y
0
de
telle mani`ere que lon ait |Y
0
y
0
| C

h
p
, alors
sup
0nN
|Y
n
y(t
n
)| M(C + C

)h
p
.
Preuve. Il sut dadapter la preuve du theor`eme V.2.1.
Theor`eme 5.4.2 Supposons que f soit p fois contin ument derivable dans [t
0
, t
0
+T]R
m
et que admette des derivees

h
, . . . ,

p

h
p
continues sur [t
0
, t
0
+ T] R
m
[0, T]. Alors
le schema (5.2.1) est dordre p sous les conditions susantes

h
k
(t, y; 0) =
1
k + 1
f
(k)
(t, y) (t, y) [t
0
, t
0
+ T] R
m
(k = 0, . . . , p 1). (5.4.1)
Ces conditions sont aussi necessaires lorsque le pas est constant.
p60 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
Preuve. Supposons m = 1 pour rester dans le cadre du calcul dierentiel et integral des
fonctions ` a valeurs dans R.
Si f (
p
([t
0
, t
0
+ T] R), alors toute solution y de lequation dierentielle (5.1.1)
admet des derivees continues sur [t
0
, t
0
+T] jusqu`a lordre p+1 conformement au theor`eme
V.1.4 et lexpression y(t
n+1
) y(t
n
) admet un developpement de Taylor limite `a lordre
p, i.e.
y(t
n+1
) y(t
n
) =
p

k=1
h
k
n
k!
y
(k)
(t
n
) +
h
p+1
n
(p + 1)!
y
(p+1)
(
n
)
=
p

k=1
h
k
n
k!
f
(k1)
(t
n
, y(t
n
)) +
h
p+1
n
(p + 1)!
y
(p+1)
(
n
),
avec
n
]t
n
, t
n+1
[.
De meme, si la fonction admet des derivees /h, . . . ,
p
/h
p
continues sur
[t
0
, t
0
+ T] R [0, H], lexpression (t
n
, y(t
n
); h
n
) admet un developpement de Tay-
lor limite `a lordre p 1 au voisinage de h
n
= 0, de sorte que
h
n
(t
n
, y(t
n
); h
n
) =
p1

k=0
h
k+1
n
k!

h
k
(t
n
, y(t
n
); 0) +
h
p+1
n
p!

h
p
(t
n
, y(t
n
),
n
),
avec
n
]0, h
n
[.
Nous avons donc

n
= y(t
n+1
) y(t
n
) h
n
(t
n
, y(t
n
); h
n
) =
p1

k=0
h
k+1
n
k!

k
(t
n
) + c
np
h
p+1
n
,
avec

k
(t) =
1
k + 1
f
(k)
(t, y(t))

k

h
k
(t, y(t); 0),
[c
np
[ [
1
(p + 1)!
sup
t[t
0
,t
0
+T]
[y
(p+1)
(t)[ +
1
p!
sup
t[t
0
,t
0
+T]
h[0,H]
[

h
p
(t, y(t); h)[]
. .
K
.
Si la condition (5.4.1) est satisfaite, alors
n
= c
np
h
p+1
n
et de l`a
N1

n=0
[
n
[
N1

n=0
[c
np
[h
p+1
n
K(
N

n=0
h
n
)h
p
TKh
p
et le schema est dordre p.
Reciproquement, si le schema (5.2.1) est dordre p, alors il est consistant et verie la
condition (5.4.1) pour k = 0. Il reste donc ` a letendre pour k = 1, . . . , p 1 lorsque le pas
h
n
se reduit ` a une constante h. On proc`ede par recurrence sur k.
p 5.5. LES SCH

EMAS DE RUNGE-KUTTA 61
Si la condition (5.4.1) est satisfaite pour k = 0, . . . , j 1, avec j < p, alors

n
=
p1

k=j
h
k+1
k!

k
(t
n
) + c
np
h
p+1
,
o` u les
k
(t
n
) sont majores par une meme constante par continuite des fonctions
k
(t) sur
[t
0
, t
0
+ T]. Il vient ensuite pour h [0, H]
h
j+1
[
j
(t
n
)[ = j! [
n

p1

k=j+1
h
k+1
k!

k
(t
n
) c
np
h
p+1
[
j! [[
n
[ + Qh
j+2
+ Kh
p+1
],
de sorte que
N1

n=0
h
j+1
[
j
(t
n
)[ j! [Ch
p
+ QTh
j+1
+ KTh
p
], avec j < p
et
lim
h0
N1

n=0
h[
j
(t
n
)[ = 0.
Nous en deduisons
_
t
0
+T
t
0
[
1
j + 1
f
(j)
(t, y(t))

j
h
j
(t, y(t); 0)[ dt = 0,
do` u la condition (5.4.1) pour k = j, par une argumentation analogue ` a celle du theor`eme
V.3.1.
5.5 Les sch emas de Runge-Kutta
Nous considerons toujours f (
0
([t
0
, t
0
+ T] R
m
), satisfaisant ` a la condition de
Lipschitz
|f(t, y) f(t, z)| L|y z|
pour tout t [t
0
, t
0
+ T] et tous y, z R
m
, pour une certaine norme sur R
m
. Nous
partageons lintervalle [t
0
, t
0
+ T] au moyen des points
t
0
< t
1
< < t
N
= t
0
+ T
et nous nous proposons de construire quelques schemas ` a un pas classiques.
Pour obtenir un schema dordre p 1, on pourrait denir la fonction (t, y; h) de
telle mani`ere que h
n
(t
n
, y(t
n
); h
n
) concide avec le developpement limite `a lordre p de
y(t
n+1
) y(t
n
), mais il faudrait alors evaluer des derivees de f. Cest pourquoi nous
p62 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
nous limitons ici ` a presenter la technique de Runge-Kutta, qui repose sur des evaluations
intermediaires de f(t, y(t)) dans lintervalle [t
n
, t
n+1
].
On se donne c
1
, . . . , c
q
[0, 1] distincts ou non et on leur associe des formules dinte-
gration numerique
_
c
i
0
g(s) ds
q

j=1
a
ij
g(c
j
), 1 i q,
_
1
0
g(s) ds
q

j=1
b
j
g(c
j
).
Ces reels c
i
denissent les points intermediaires
t
n,i
= t
n
+ c
i
h
n
. (5.5.1)
Comme lintegration de y

(t) = f(t, y(t)) donne


y(t) = y(t
n
) +
_
t
t
n
f(s, y(s)) ds,
le changement de variable s = t
n
+ h
n
implique
y(t
n,i
) = y(t
n
) +
_
c
i
0
f(t
n
+ h
n
, y(t
n
+ h
n
))h
n
d
y(t
n
) + h
n
q

j=1
a
ij
f(t
n,j
, y(t
n,j
)), 1 i q,
puis
y(t
n+1
) = y(t
n
) +
_
1
0
f(t
n
+ h
n
, y(t
n
+ h
n
))h
n
d
y(t
n
) + h
n
q

j=1
b
j
f(t
n,j
, y(t
n,j
)).
On denit par consequent les schemas de Runge-Kutta par
Y
n+1
= Y
n
+ h
n
q

j=1
b
j
f(t
n,j
, y
n,j
), (5.5.2)
o` u on a pose
y
n,i
= Y
n
+ h
n
q

j=1
a
ij
f(t
n,j
, y
n,j
). (5.5.3)
Ces schemas sont donc caracterises par la donnee du tableau de leurs param`etres c
i
, b
j
,
a
ij
c
1
a
11
. . . a
1q
.
.
.
.
.
.
.
.
.
c
q
a
q1
. . . a
qq
b
1
. . . b
q
.
p 5.5. LES SCH

EMAS DE RUNGE-KUTTA 63
Au niveau de la programmation on pose ` a chaque pas
k
i
= f(t
n
+ c
i
h
n
, Y
n
+ h
n
q

j=1
a
ij
k
j
) (1 i q), Y
n+1
= Y
n
+ h
n
q

j=1
b
j
k
j
et on resout le syst`eme de q equations en les k
j
avant de calculer Y
n+1
2
.
Le schema est qualie dexplicite si la matrice A = (a
ij
)
q
i,j=1
est strictement triangulaire
inferieure, car chacun des k
i
sexprime en fonction de ceux qui ont dej`a ete calcules. Le
schema est dit semi-implicite si la matrice A est triangulaire inferieure, auquel cas chacun
des k
i
est solution dune equation du type k
i
= (k
i
). Enn, le schema est dit implicite si
la matrice A est quelconque, auquel cas les k
i
sont solution dun syst`eme de q equations
`a q inconnues. Bien entendu, si f nest pas lineaire, ces equations ne le sont pas non plus
et on les resout generalement par une technique dapproximations successives.
Un schema de Runge-Kutta est un schema ` a un pas deni par la fonction
(t, y; h) =
q

j=1
b
j
f[t + c
j
h, y
j
(t, y; h)], (5.5.4)
o` u les fonctions y
j
constituent la solution du syst`eme
y
i
= y + h
q

j=1
a
ij
f(t + c
j
h, y
j
), 1 i q. (5.5.5)
Dans le cas dun schema explicite, ces relations denissent trivialement de proche en
proche une et une seule solution
[y
1
(t, y; h), . . . , y
q
(t, y; h)]
continue sur [t
0
, t
0
+T] R
m
[0, H] et la fonction (t, y; h) est univoquement denie et
continue sur le meme ensemble. Si la fonction f appartient ` a (
p
([t
0
, t
0
+ T] R
m
), alors
les fonctions y
j
appartiennent ` a (
p
([t
0
, t
0
+T] R
m
[0, H]) et il en va de meme pour .
Ces conclusions sont encore vraies dans le cas dun schema (semi-)implicite lorsque
HL([A[) < 1, o` u L est la constante de Lipschitz de f et ([A[) est le rayon spectral de
la matrice [A[ = ([a
ij
[)
q
i,j=1
. Cela peut se prouver en invoquant le theor`eme du point xe
(admettre).
Theor`eme 5.5.1 Les schemas de Runge-Kutta sont consistants si et seulement si

q
j=1
b
j
= 1. Les schemas explicites sont toujours stables et les schemas (semi-)implicites
le sont sous la condition HL([A[) < 1.
Preuve. La consistance est immediate, puisque
(t, y; 0) = (
q

j=1
b
j
)f(t, y).
2
Remarquer que si f est `a valeurs dans R
m
, les k
i
sont des vecteurs de R
m
.
p64 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
Pour etablir la stabilite, considerons les suites y
i
et z
i
, 1 i q denies par
y
i
= y + h
q

j=1
a
ij
f(t + c
j
h, y
j
),
z
i
= z + h
q

j=1
a
ij
f(t + c
j
h, z
j
).
Nous avons
|(t, y; h) (t, z; h)|
q

j=1
[b
j
[ |f(t + c
j
h, y
j
) f(t + c
j
h, z
j
)|
L
q

j=1
[b
j
[ |y
j
z
j
|
et il reste `a majorer les expressions |y
j
z
j
| par |y z| conformement au theor`eme
V.3.2.
Cest evident de proche en proche dans le cas explicite, puisque
|y
1
z
1
| = |y z|
|y
2
z
2
| |y z| + h[a
21
[ |f(t + c
1
h, y
1
) f(t + c
1
h, z
1
)|
|y z| + LH[a
21
[ |y z| c
2
|y z|
et ainsi de suite.
Dans le cas (semi-)implicite, on peut le montrer sous la condition HL([A[) < 1
(admettre).
En invoquant les conditions necessaires (et susantes `a pas constant)

h
k
(t, y; 0) =
1
k + 1
f
(k)
(t, y), 0 k p 1,
pour quun schema ` a un pas soit dordre p, on obtient les relations que doivent satisfaire
les coecients c
i
, b
j
, a
ij
pour atteindre un certain ordre. Ces relations sexpriment dune
mani`ere condensee au moyen des matrices et vecteurs
A =
_
_
_
_
a
11
. . . a
1q
.
.
.
a
q1
. . . a
qq
_
_
_
_
; C = diag(c
1
, . . . , c
q
); b =
_
_
_
_
b
1
.
.
.
b
q
_
_
_
_
; e =
_
_
_
_
1
.
.
.
1
_
_
_
_
.
Nous les avons rassembles dans le tableau suivant pour p 4, o` u chaque ligne donne
les relations ` a ajouter aux precedentes pour atteindre lordre correspondant.
Ordre Relations ` a cumuler
1 b
t
e = 1
2 b
t
Ce = 1/2, b
t
Ae = 1/2
3 b
t
C
2
e = 1/3, b
t
ACe = 1/6 si Ae = Ce
4 b
t
C
3
e = 1/4, b
t
AC
2
e = 1/12, b
t
A
2
Ce = 1/24, b
t
CACe = 1/8
p 5.5. LES SCH

EMAS DE RUNGE-KUTTA 65
Remarque 5.5.2 Lhypoth`ese Ae = Ce imposee d`es lordre 3 signie c
i
=

j
a
ij
pour
tout i = 1, . . . , q, cest-`a-dire que les formules dintegration numerique
_
c
i
0
g(s) ds
q

j=1
a
ij
g(c
j
), 1 i q
sont exactes pour les constantes. Il en va de meme pour
_
1
0
g(s) ds
q

j=1
b
j
g(c
j
)
`a cause de la condition de consistance b
t
e = 1.
Remarque 5.5.3 Il ne faut pas perdre de vue que les ordres annonces ne peuvent etre
atteints que si la fonction f est contin ument derivable jusqu` a lordre voulu.
Pour conclure, citons les exemples les plus usites.
Exemple 5.5.4 Le -schema deni par le tableau
0 0 0
1 1
1
,
o` u est un param`etre reel.
Etudions-le compl`etement.
Les valeurs propres de la matrice [A[ sont 0 et [[, do` u ([A[) = [[ et le -schema
est deni et stable si on se limite ` a des pas h
n
H avec LH[[ < 1, condition toujours
realisee avec = 0. Comme (1) + = 1, le -schema est consistant et au moins dordre
1 si f est de classe (
1
.
Precisons le schema selon les formules (5.5.2) et (5.5.3). Elles donnent
y
n,1
= Y
n
y
n,2
= Y
n
+ h
n
[(1 )f(t
n
, y
n,1
) + f(t
n
+ h
n
, y
n,2
)]
Y
n+1
= Y
n
+ h
n
[(1 )f(t
n
, y
n,1
) + f(t
n
+ h
n
, y
n,2
)]
formules que lon peut condenser en
Y
n+1
= Y
n
+ h
n
[(1 )f(t
n
, Y
n
) + f(t
n+1
, Y
n+1
)].
Pour = 0, nous avons le schema dEuler explicite
Y
n+1
= Y
n
+ h
n
f(t
n
, Y
n
).
Pour = 1 nous avons le schema dEuler implicite
Y
n+1
= Y
n
+ h
n
f(t
n+1
, Y
n+1
).
p66 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
Pour = 1/2 nous avons le schema du trap`eze implicite (ou de Crank-Nicolson)
Y
n+1
= Y
n
+
h
n
2
[f(t
n
, Y
n
) + f(t
n+1
, Y
n+1
)].
Etudions lordre, sans exploiter le tableau des relations cumulatives.
Ici nous avons
(t, y; h) = (1 )f(t, y) + f(t + h, z)
avec z = y + h[(1 )f(t; y) + f(t + h, z)].
Il vient ensuite

h
=
f
t
(t + h, z) +
n

i=1
f
y
i
(t + h, z)
z
i
h
avec
z
i
h
= [(1 )f
i
(t, y) + f
i
(t + h, z)] + h

h
[f
i
(t + h, z)],
donc pour h = 0

h
(t, y; 0) =
f
t
(t, y) +
m

i=1
f
y
i
(t, y).f
i
(t, y) = f
(1)
(t, y).
Le -schema est donc dordre 1 si f est de classe (
1
et ,= 1/2. Il est dordre 2 si f
est de classe (
2
et = 1/2.
Exemple 5.5.5 Le schema du trap`eze explicite deni par
0 0 0
1 1 0
1/2 1/2
.
Etant explicite, ce schema est toujours deni et stable. Il est aussi consistant parce
que 1/2 + 1/2 = 1.
Les formules (5.5.2), (5.5.3) donnent
y
n,1
= Y
n
y
n,2
= Y
n
+ h
n
f(t
n
, y
n,1
)
Y
n+1
= Y
n
+
h
n
2
[f(t
n
, y
n,1
) + f(t
n
+ h
n
; y
n,2
)]
soit dune mani`ere condensee
y
n+
1
2
= Y
n
+ h
n
f(t
n
, y
n
)
Y
n+1
= Y
n
+
h
n
2
[f(t
n
, Y
n
) + f(t
n
+ h
n
, y
n+
1
2
)].
p 5.5. LES SCH

EMAS DE RUNGE-KUTTA 67
Ici
(t, y; h) =
1
2
[f(t, y) + f(t + h, z)]
avec z = y + hf(t, y), de sorte que

h
=
1
2
f
t
(t + h, z) +
1
2
m

i=1
f
y
i
(t + h, z)f
i
(t, y)
et

h
(t, y; 0) =
1
2
f
(1)
(t, y).
Le schema du trap`eze explicite est dordre 2 si f est de classe (
2
.
Exemple 5.5.6 Le schema explicite le plus cel`ebre est le schema dordre 4 deni par le
tableau
0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 1/3 1/3 1/6
.
Il est deni et stable parce quexplicite. Il est consistant parce que 1/6 + 1/3 + 1/3 +
1/6 = 1..
Les formules du schema sont
y
n,1
= Y
n
y
n,2
= Y
n
+
h
n
2
f(t
n
, y
n,1
)
y
n,3
= Y
n
+
h
n
2
f(t
n
+
h
n
2
, y
n,2
)
y
n,4
= Y
n
+ h
n
f(t
n
+
h
n
2
, y
n,3
)
Y
n+1
= Y
n
+ h
n
[
1
6
f(t
n
, y
n,1
) +
1
3
f(t
n
+
h
n
2
, y
n,2
)
+
1
3
f(t
n
+
h
n
2
, y
n,3
) +
1
6
f(t
n
+ h
n
, y
n,4
]
ou dune mani`ere plus pratique en programmation
k
1
= f(t
n
, Y
n
)
k
2
= f(t
n
+
h
n
2
, Y
n
+
h
n
2
k
1
)
k
3
= f(t
n
+
h
n
2
, Y
n
+
h
n
2
k
2
)
k
4
= f(t
n
+ h
n
, Y
n
+ h
n
k
3
)
Y
n+1
= Y
n
+ h
n
[
k
1
6
+
k
2
3
+
k
3
3
+
k
4
6
].
p68 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
On verie que ce schema est dordre 4 si f est de classe (
4
au moyen des relations
cumulatives.
5.6 Int egration de l equation du pendule simple
Les oscillations du pendule simple sont decrites par lequation dierentielle du second
ordre

+
2
sin = 0.
Nous nous proposons ici de calculer des approximations de et

dans le cas o` u = 1
et au depart des conditions initiales (0) = 0.1 rad,

(0) = 0 rad/s sur 5 pas de 0.1 s et
de 0.2 s, en invoquant les schemas explicites dEuler (ordre 1), du trap`eze (ordre 2) et de
Runge-Kutta classique dordre 4, puis de comparer les valeurs obtenues avec celles de la
solution exacte de lequation linearisee

+ = 0.
Probl` eme de Cauchy sous forme d equation du second ordre

+ sin = 0; (0) = 0.1,



(0) = 0.
Probl` eme de Cauchy sous forme de syst` eme du premier ordre
Poser
1
= ,
2
=

, do` u
3
_

2
_
=
_

2
sin
1
_
;
_

1
(0)

2
(0)
_
=
_
0.1
0
_
.
Probl` eme lin earis e

+ = 0 = C
1
cos t + C
2
sin t et

= C
1
sin t + C
2
cos t
(0) = 0.1 C
1
= 0.1 et

(0) = 0 C
2
= 0.
On va donc comparer les approximations de et

aux valeurs de = 0.1 cos t et

= 0.1 sin t.
Methode dEuler explicite
k = f(t
n
, Y
n
), Y
n+1
= Y
n
+ h
n
k.
Ici nous avons
y =
_

1

2
_
; f(t, y) =
_

2
sin
1
_
; h
n
= h
3
La condition de Lipschitz est triviale au niveau de la premi`ere composante et elle est realisee par
application de la formule des accroissements nis au niveau de la seconde composante.
p 5.6. INT

EGRATION DE L

EQUATION DU PENDULE SIMPLE 69


et nous posons
k =
_
k
1
k
2
_
,
do` u lalgorithme

Initialisation :
1
:= 0.1;
2
:= 0; h := 0.1 ou 0.2
Boucle sur n = 1, . . . , 5
k
1
:=
2
k
2
:= sin
1

1
:=
1
+ h k
1

2
:=
2
+ h k
2
acher
1
et
2
Fin de boucle sur n
Methode du trap` eze explicite
k
1
= f(t
n
, Y
n
), k
2
= f(t
n
+ h
n
, Y
n
+ h
n
k
1
), Y
n+1
= Y
n
+
h
n
2
(k
1
+ k
2
).
Nous posons
k
1
=
_
k
11
k
12
_
, k
2
=
_
k
21
k
22
_
,
do` u lalgorithme

Initialisation :
1
:= 0.1;
2
:= 0; h := 0.1 ou 0.2
Boucle sur n = 1, . . . , 5
k
11
:=
2
k
12
:= sin
1
k
21
:=
2
+ h k
12
k
22
:= sin(
1
+ h k
11
)

1
:=
1
+ h (k
11
+ k
21
)/2

2
:=
2
+ h (k
21
+ k
22
)/2
acher
1
et
2
Fin de boucle sur n
Methode de Runge-Kutta explicite dordre 4
Les formules pratiques sont ecrites plus haut et nous posons
k
i
=
_
k
i1
k
i2
_
, 1 i 4,
p70 Chapitre 5. RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES
do` u lalgorithme

Initialisation :
1
:= 0.1;
2
:= 0; h := 0.1 ou 0.2
Boucle sur n = 1, . . . , 5
k
11
:=
2
k
12
:= sin
1
k
21
:=
2
+ h k
12
/2
k
22
:= sin(
1
+ h k
11
/2)
k
31
:=
2
+ h k
22
/2
k
32
:= sin(
1
+ h k
21
/2)
k
41
:=
2
+ h k
32
k
42
:= sin(
1
+ h k
31
)

1
:=
1
+ h (k
11
/6 + k
21
/3 + k
31
/3 + k
41
/6)

2
:=
2
+ h (k
12
/6 + k
22
/3 + k
32
/3 + k
42
/3)
acher
1
et
2
Fin de boucle sur n
Nous donnons ci-apr`es les valeurs de et

obtenues par linearisation avec, en regard,
les valeurs approchees obtenues au moyen des schemas dEuler, du trap`eze ou de Runge-
Kutta dordre 4.
Nous avons aussi compare les approximations obtenues pour t = 0.2 s et t = 0.4 s avec
chacun des deux pas h = 0.1 s et h = 0.2 s. On constate quelles sont quasi identiques
(` a 10
6
pr`es) lorsquon utilise le schema dordre 4. Ces valeurs sont probablement plus
proches des valeurs relatives ` a la solution exacte de lequation non lineaire que les valeurs
obtenues par linearisation. Il semble aussi que ces derni`eres soient ables `a 10
4
pr`es.
lin Euler
h = 0.1

lin

Euler
0.099500 0.100000
0.009983 0.009983
0.098007 0.099002
0.019867 0.019967
0.095534 0.097005
0.029552 0.029851
0.092106 0.094020
0.038942 0.039536
0.087758 0.090066
0.047943 0.048924
lin Euler
h = 0.2

lin

Euler
0.098007 0.100000
0.019867 0.019967
0.092106 0.096007
0.038942 0.039933
0.082534 0.088020
0.056464 0.059105
0.069671 0.076199
0.071736 0.076686
0.054030 0.060862
0.084147 0.091912
p 5.6. INT

EGRATION DE L

EQUATION DU PENDULE SIMPLE 71


lin trap`eze
h = 0.1

lin

trap`eze
0.099500 0.099501
0.009983 0.009983
0.098007 0.098006
0.019867 0.019867
0.095534 0.095530
0.029552 0.029553
0.092106 0.092098
0.038942 0.038945
0.087758 0.087743
0.047943 0.047948
lin trap`eze
h = 0.2

lin

trap`eze
0.098007 0.098003
0.019867 0.019967
0.092106 0.092053
0.038942 0.039138
0.082534 0.082387
0.056464 0.056743
0.069671 0.069392
0.071736 0.072071
0.054030 0.053591
0.084147 0.084499
lin RK4
h = 0.1

lin

RK4
0.099500 0.099501
0.009983 0.009967
0.098007 0.098010
0.019867 0.019834
0.095534 0.095541
0.029552 0.029505
0.092106 0.092119
0.038942 0.038882
0.087758 0.087777
0.047943 0.047872
lin RK4
h = 0.2

lin

RK4
0.098007 0.098010
0.019867 0.019834
0.092106 0.092119
0.038942 0.038881
0.082534 0.082561
0.056464 0.056385
0.069671 0.069715
0.071736 0.071648
0.054030 0.054092
0.084147 0.084062

You might also like