Documente Academic
Documente Profesional
Documente Cultură
15 octobre 2010
1
2.4.2 Cas dun terme dordre 1 supplementaire en espace . . 27
2.4.3 Cas de la dimension 2 dans un domaine rectangulaire 29
4 Exercices 50
4.1 Exercice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 Exercice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
References 51
2
1 Introduction
Le but de ce cours est de presenter les methodes dapproximation de so-
lutions dequations aux derivees partielles (EDP) par differences finies en se
basant sur le cas particulier de lequation de la chaleur en dimension 1, puis
de presenter les methodes classiques danalyse numerique matricielle pour
la resolution des systemes lineaires. Une bibliographie succinte se trouve en
fin de document.
Lobjet de la presente section est de motiver lutilisation de ces methodes,
et dintroduire les notations et les proprietes de base utilisees.
3
Deformation dun fil inelastique Avec les memes parametres, la posi-
tion dun fil inelastique est la solution x [0, 1] 7 u(x) au probleme
( 4
d u
dx4
(x) + c(x)u(x) = f (x), pour x ]0, 1[,
0 0
u(0) = u(1) = u (0) = u (1) = 0.
Dans le marche financier decrit plus haut, le prix darbitrage dune option
europeenne decheance T et de flux h(ST ) est donne par v(t, y) a la date
dachat t T lorsque St = y, ou
2 2 2 v
(
v v
t (t, y) + 2 y y 2 (t, y) + ry y (t, y) rv(t, y) = 0, pour t [0, T [ et y R+ ,
v(T, y) = h(y), pour y ]0, +[.
4
de y nest pas majore, et que la valeur minimale 0 ne peut pas etre atteinte
par lactif St .
On remarque quen choisissant convenablement et , le changement
de fonction inconnue u(t, x t) = v(T t, exp(x)) ramene cette equation
a lequation de la chaleur dans tout lespace (c.-a-d. x R).
Dans le cas dune membrane vibrante tendue sur la frontiere dun do-
maine D R2 , lequation devient
2
u 2
t2 (t, x) c u(t, x) = f (t, x),
pour t ]0, +[ et x D,
u(0, x) = u0 (x) et u
t (0, x) = u1 (x) pour x ]0, 1[,
u(t, x) = 0, pour x D et t 0,
EDP lineaire ou non lineaire On dit que lEDP est lineaire si elle se
met sous la form Lu = f , ou u 7 Lu est une application lineaire par rap-
port a u. Sinon, elle est non lineaire. Toutes les EDP decrites plus haut
sont lineaires. Letude et la discretisation des EDP non-lineaires sont beau-
coup plus delicates. On rencontre frequemment des EDP non lineaires dans
tous les domaines scientifiques. Par exemple, le prix v(t, y) dune options
americaine de flux h(S ), ou le temps dexercie est choisi par le detenteur
de loption, est donne par
n
v 2 2 2 v
max t (t, y) + 2 y y 2 (t, y) o
+ry v
y (t, y) rv(t, y) ; h(y) v(t, y) = 0, dans [0, T [R+ ,
v(T, y) = h(y), pour y R+ .
5
EDP elliptiques, paraboliques et hyperboliques En dimension 2, les
EDP lineaires dordre 2 secrivent
2 2
X 2u X u
aij (x) + bi (x) + cu(x) = f (x).
xi xj xi
i,j=1 i=1
Si lequation
2
X 2
X
aij xi xj + bi xi + c = 0
i,j=1 i=1
est celle dune ellipse (ou parabole, ou hyperbole), on dit que lEDP est
elliptique (ou parabolique, ou hyperbolique). Dans les exemples precedents,
lequation de la membrane elastique est elliptique, lequation de la chaleur
est parabolique, et lequation des ondes est hyperbolique.
6
Aproximation par elements finis (ou methode de Galerkin, ou approxi-
mation variationnelle). Il sagit ici de chercher une fonction proche de
la solution de lEDP dans un espace de fonctions de dimension finie. Par
exemple, on peut chercher une fonction continues, et affine par morceaux
sur un nombre fini de petits intervalles. La difficulte est alors de definir une
notion correcte de solution approchee a lEDP. Ces methodes sont na-
turellement adaptees aux EDP elliptiques ou hyperboliques. Elles peuvent
aussi etre employees sur des EDP paraboliques en couplant differences finies
et elements finis.
Ax = b,
7
ou les fonctions w1 , . . . , wn et les vecteurs x = (x1 , . . . , xm ) et c =
(c1 , . . . , cm ) sont donnes. Il sagit de trouver une combinaison lineaire
des fonctions wj qui passe aussi pres que possible des n points (xi , ci ),
pour 1 i n. Ce probleme revient a resoudre t BBv = t Bc, avec
B = (wj (xi ))1in, 1jm .
8
ou A1 , . . . , An sont des matrices carrees, B2 , . . . , Bn , C1 , . . . , Cn1 sont des
matrices (pas necessairement carrees), et tous les autres blocs de la matrice
A sont nuls.
Lorsque la matrice A a beaucoup de coefficients nuls (par exemple si elle
est tridiagonale), on dit que la matrice est creuse. Sinon, elle est pleine.
On rappelle egalament la definition des normes l1 , l2 et l dans Rn : si
x = (x1 , . . . , xn ) Rn ,
q
kxk1 = |x1 | + . . . + |xn |, kxk2 = x21 + . . . + x2n , kxk = max |xi |.
1in
(A) = max |i |,
1in
ou k k = k k1 , ou k k2 , ou k k .
Si A = (aij )1i,jn est une matrice n n,
n
X n
X p
kAk1 = max |aij |, kAk = max |aij | et kAk2 = (t AA).
1jn 1in
i=1 j=1
kAk2 = (A).
9
2.1 Principe de la methode : le probleme aux limites dordre
2 en dimension 1
On considere le probleme aux limites
( 2
ddxu2 + c(x)u(x) = f (x), pour x ]0, 1[,
(1)
u(0) = g0 , u(1) = g1 ,
h2 00
u(x + h) = u(x) + hu0 (x) + u ()
2
ou ]x, x + h[, linegalite
u(x + h) u(x) 0
u (x) Ch,
h
10
u est C 3 , la formule de Taylor a lordre 3 donne
h2 00 h3 000
u(x + h) = u(x) + hu0 (x) + u (x) + u (1 ),
2 6
h2 h3 000
u(x h) = u(x) hu0 (x) + u00 (x) u (2 ),
2 6
ou 1 ]x, x + h[ et 2 ]x h, x[. On obtient alors
2
u(x + h) u(x h) 0
h 000 00 C 0 h2 ,
u (x) = (u ( 1 ) + u ( 2 ))
2h 6
u(x + h) u(x h)
u0 (x)
2h
est donc consistante dordre 2.
En ce qui concerne les derivees secondes, on demontre facilement (exer-
cice !) en utilisant la formule de Taylor a lordre 4, que si u est C 4 au voisinage
de x, lapproximation
u(x + h) 2u(x) + u(x h)
u00 (x) (2)
h2
est consistante dordre 2. Plus precisement,
h2
u(x + h) 2u(x) + u(x h) 00 (4)
u (x) 12 sup |u (y)|,
(3)
h2 y[0,1]
11
On observe quon obtient N equations servant a determiner les N incon-
nues u1 , . . . , uN . On dit usuellement quon a discretise le probleme par une
methode de differences finies utilisant le schema a trois points de la derivee
seconde. On note que la connaissance des conditions au bord u0 et uN +1
est necessaires a la resolution du systeme, puisquelles apparaissent dans (4)
lorsque i = 1 et i = N .
Matriciellement, le probleme secrit :
Ah uh = bh , (5)
ou
f (x1 ) + hg02
u1
u2
f (x2 )
uh = .. ..
, bh = ,
.
.
uN 1 f (xN 1 )
uN f (xN ) + hg12
c(x1 ) 0 ... 0
.. ..
(0) 0 c(x 2 ) . .
Ah = Ah + .. .. ..
,
. . . 0
0 ... 0 c(xN )
2 1 0 . . . 0
1 2 1 . . .
..
.
1
Ah = 2 0 . . . . . . . . . 0 .
(0)
(6)
h
..
..
. . 1 2 1
0 . . . 0 1 2
12
Cette quantite est positive, et non nulle si z 6= 0 (car au moins lun des termes au
numerateur est non nul).
13
On notera que, dans cet exemple, la consistance du schema permet
immediatement dobtenir la convergence. Ceci est particulier a cet exemple
simple. En general, un autre ingredient est necessaire a la convergence : la
stabilite du schema (voir section 2.3).
14
(j)
Ceci laisse N (M + 1) inconnues a determiner les ui pour 1 i N et
1 j M + 1. Les equations correspondantes sont obtenues en approchant
les derivees partielles dans lEDP par des quotients differentiels. On a deja
vu que le terme de derivee seconde pouvait etre approche avec
(j) (j) (j)
2u u(tj , xi+1 ) 2u(tj , xi ) + u(tj , xi1 ) u 2ui + ui1
2
(tj , xi ) 2
i+1
x h h2
(schema a trois points pour la derivee seconde). Comme on la vu dans
la section 2.1.1, plusieurs choix sont possibles pour lapproximation de la
derivee en temps. Chacun de ces choix conduit a une famille de schemas
distincte.
15
Ce systeme peut egalement se reecrire sous la forme
(0)
U (j+1) = (Id t Ah )U (j) + t C (j) , j {0, . . . , M }, (11)
couple aux memes conditions initiales que le schema explicite (noter que
cette fois lindice j varie de 1 a M + 1). Vectoriellement, on obtient
(0) (0)
U (j) = (Id + t Ah )1 U (j1) + t (Id + t Ah )1 C (j) ,
j {1, . . . , M + 1}. (12)
(0)
On remarque que la matrice (Id + t Ah ) est symetrique definie positive
(0)
et donc inversible puisque Ah est symetrique definie positive.
Ce schema est dit implicite puisque, contrairement au schema explicite,
sa resolution necessite la resolution dun systeme lineaire a chaque pas de
(0)
temps (ou le calcul initial de linverse de la matrice (Id + t Ah ), utilise
ensuite a chaque pas de temps). La resolution du schema implicite est donc
plus couteuse que le schema explicite. Cependant, comme on le verra plus
loin, ce cout en temps de calcul est largement compense par la meilleure
stabilite du schema.
16
2.2.4 Un autre schema
Tous les schemas imaginables ne sont pas necessairement bons, comme
le montre lexemple suivant : on pourrait chercher a ameliorer la precision
en temps en utilisant lapproximation dordre 2 (voir section 2.1.1) suivante
de la derivee en temps :
(j+1) (j1)
u u(tj+1 , xi ) u(tj1 , xi ) u ui
(tj , xi ) i .
t 2t 2t
On obtiendrait alors le schema
17
2.3.1 Consistance
La definition suivante etend celle de la section 2.1.3.
Definition 2.5 On appelle erreur de consistance a linstant tj du
schema (14) le vecteur h (u)(j) de RN defini par
ou
u(t, x1 )
h (u)(t) = ..
.
.
u(t, xN )
On dit que le schema est consistant pour la norme k k de RN si
18
Par un developpement de Taylor par rapport a la variable de temps (xi etant fixe),
on obtient :
u t2 2 u
u(tj+1 , xi ) = u(tj , xi ) + t (tj , xi ) + (, xi ),
t 2 t2
ou ]tj , tj+1 [, de sorte que
t 2 u
Ei = (xi , ).
2 t2
Concernant Fi , on montre de meme que
h2 4 u 4u
Fi = (tj , 1 ) + (tj , 2 )
24 x4 x4
19
Definition 2.9 On dit que le schema (14) est stable pour la norme k k
dans RN sil existe deux constantes positives C1 (T ) et C2 (T ) independantes
de t et h telles que
si B1 = 0 ou B1 = 0, ou bien
20
soit la maniere dont t et h tendent vers 0. Cest une condition tres contrai-
gnante dun point de vue pratique, puisque si lon souhaite avoir une bonne
precision en espace, il est necessaire de choisir h petit, ce qui impose un
choix de t nettement plus petit. Par exemple, le choix h = 103 impose t
de lordre de 106 . Le cout en temps de calcul par rapport a un code ou lon
peut choisir t = 103 (par exemple, le schema implicite, voir plus loin) est
1000 fois superieur.
ou lon a pose r = t
h2 . Le point cle de la preuve est que, sous lhypothese (15), le
(j) (j)
membre de droite de cette equation est une combinaison convexe 1 de ui1 , ui et
(j) (j)
ui+1 (plus un terme independant des ui ). On en deduit
(j+1) (j) (j) (j)
|ui | (1 2r)|ui | + r|ui1 | + r|ui+1 | + t |f (tj , xi )|
(1 2r + r + r)kU (j) k + t kC (j) k ,
dou on deduit
21
Pour sen convaincre, il suffit de considerer une fonction v(x) continue sur
[0, 1], et decrire lapproximation dintegrale par sommes de Riemann sui-
vante :
Z 1 N
1 X
v 2 (x) = lim v(xi )2 = lim kh vk2h .
0 N + N h0
i=1
kV k2h hN kV k2 kV k2 .
Theoreme 2.13 Un schema de la forme (16) est stable pour la norme ma-
tricielle subordonnee k kh si et seulement sil existe une constante C0 > 0
independante de t et h telle que
(B) 1 + C0 t,
22
Demonstration On va commencer par demontrer que le schema est convergent
si et seulement si
max kB j k2 C(T ) (17)
0jM +1
quels que soient U (0) et les termes sources C (j) . En particulier, pour C (j) = 0, on
obtient U (j) = B j U (0) et
max kB j k2 C1 (T ),
0jM +1
kB j k2 = (B j ) = (B)j .
23
x
La fonction x 7 C(T ) T est convexe sur lintervalle [0, T ], donc
x C(T ) 1
C(T ) T x, x [0, T ].
T
En appliquant cette inegalite avec x = t, on obtient (B) 1 + C1 t avec
C1 = [C(T ) 1]/T , ce qui acheve la preuve du theoreme 2.13.
24
Stabilite su schema implicite Dans le cas du schema implicite, la ma-
trice B est donnee par
(0)
B = (Id + tAh )1 .
25
Pour k = N , on a
8t N 4t
N = sin2
h2 2(N + 1) h2
pour N suffisamment grand. On a donc
q
N + 2N + 4 N + 2 2t
(B) + N (B) = 1+ 2 .
2 2 h
Dapres le theoreme 2.13, on a ainsi montre la
Proposition 2.16 Le schema (13) est instable pour la norme k kh .
Meme si le schema saute-mouton est explicite, donc facile a program-
mer, et a une erreur de consistance dordre 2 en temps et en espace, il est
totalement instable ! Un tel schema doit etre rejete car il nes pas convergent.
26
Definition 2.17 On dit que le schema (14) avec termes source (19) est
stable pour la norme k k dans RN sil existe deux constantes positives
C1 (T ) et C2 (T ) independantes de t et h telles que
h i
max kU (j) k C1 (T ) kU (0) k + max (|g0 (tj )| + |g1 (tj )|)
0jM +1 0jM +1
+ C2 (T ) max kC (j) k
0jM +1
si B1 = 0 ou B1 = 0, ou bien
h i
max kU (j) k C1 (T ) (kU (0) k + kU (1) k + max (|g0 (tj )| + |g1 (tj )|)
0jM +1 0jM +1
+ C2 (T ) max kC (j) k
0jM +1
27
ou la matrice B est donnee par : dans la cas du schema decentre a droite
1 1 0 ... 0
0 1 1 . . . ...
t .. .. .. ..
B = Id + b ;
. . . . 0
h
..
.. ..
. . . 1
0 ... ... 0 1
28
centre est instable pour la norme k k (sauf si b = 0). Dans les deux cas,
la condition de CFL obtenue est
t 1
.
h |b|
29
(k)
On note alors ui,j la valeur approchee de u(tk , xi , yj ), et les conditions aux
bords permettent de determiner
(0) (k) (k) (k) (k)
ui,j = u0 (xi , yj ), et u0,j = uN +1,j = ui,0 = ui,N +1 = 0.
Afin decrire vectoriellement les schemas implicites et explicites obtenus,
il faut dabord choisir comment enumerer les points du maillage correspon-
(k)
dant aux inconnues ui,j avec 1 i, j N . Le choix le plus simple est de les
enumerer ligne par ligne de la facon suivante : x1,1 , x2,1 , . . ., xN 1,1 , xN,1 ,
x1,2 , x2,2 , . . ., xN 1,2 , xN,2 , . . ., x1,N , x2,N , . . ., xN 1,N , xN,N . On peut ainsi
(k)
definir le vecteur U (k) dapproximation au temps tk en enumerant les ui,j
dans lordre correspondant.
Il est alors facile de se convaincre que le schema explicite a la forme
U (k+1) U (k)
+ A0h U (k) = C (k) , j {0, . . . , M },
t
ou C (k) est le vecteur des f (tk , xi , yj ), et la matrice A0h est symetrique et
tridiagonale par blocs, de la forme
A Id 0 0 ...
..
..
Id A Id . .
0 1 .. ..
..
Ah = 2 0 ,
. . 0 .
h
..
..
. . Id A Id
0 ... 0 Id A
ou les matrices A, Id et 0 sont toutes de taille n n, et
4 1 0 ... 0
. ..
1 . .
1 4 .
A = 0 ... .. .. .
. . 0
..
..
. . 1 4 1
0 . . . 0 1 4
De meme, le schema implicite a la forme
U (k) U (k1)
+ A0h U (k) = C (k) , j {1, . . . , M + 1},
t
et demande donc dinverser la matrice Id + tA0h .
30
3 Analyse numerique matricielle
Afin dappliquer a des cas pratiques le schema implicite dapproximation
par differences finies dEDP devolution, il est necessaire de mettre en uvre
un algorithm de resolution de systemes lineaires. Lobjet de cette section est
de decrire les differentes methodes de resolution dun systeme lineaire de la
forme
Ax = b,
ou A = (aij )1i,jn est une matrice carre n n a coefficients reels, supposee
inversible, et b = (bi )1in et x = (xi )1in sont des vecteurs colonne de
Rn . x est linconnue du systeme.
Theoriquement, si A est inversible, det(A) 6= 0, et on a existence et
unicite de la solution x, donnee par la formule explicite
det(Ai )
xi = , i {1, . . . , n},
det(A)
X n
Y
det(A) = (1)() ai,(i) ,
i=1
(ou la somme porte sur toutes les permutations sur n objets) requiert n!
flops. Sur un ordinateur usuel, la resolution dun systeme de 50 equation
par cette methode necessiterait un temps plus long que lage presume de
lunivers !
Les sections suivantes detaillent des algorithmes alternatifs avec un cout
raisonnable. On distingue les methodes directes, qui donneraient un resultat
exact en un nombre fini doperations si lordinateur faisait des calculs exacts,
et les methodes iteratives qui consistent a construire une suite (xk )k0
convergeant vers la solution x.
31
Il peut etre parfois utile de calculer linverse de la matrice A, par exemple
pour lapproximation implicite par differences finies de lequation de la cha-
leur. Cette methode demande de resoudre un grand nombre de fois un
systeme Ax = b (une fois pour chaque pas de temps), avec un second membre
b different a chaque fois. Dans ce type de situation, il vaut mieux calculer
A1 une fois pour toute avant de commencer la resolution du schema impli-
cite.
Pour cela, notons v (1) , . . . , v (n) les colonnes de la matrice A1 , c.-a-d.
A = (v (1) , . . . , v (n) ). La relation AA1 = Id se traduit par les n systemes
1
ou e(k) est le vecteur colonne ayant tous ses elements nuls sauf celui de la
ligne k, qui vaut 1 :
0 1
.. ..
. .
(k)
e = 1 k .
.. ..
. .
0 n
Il est donc necessaire de resoudre n systemes lineaires, ce qui multiplie par
n le cout des algorithmes decrits ci-dessous.
Certains algorithmes, comme par exemple lalgorithme de Gauss, per-
mettent de calculer A1 plus rapidement : une fois connue la decomposition
LU de la matrice A, les n systemes precedents se resolvent comme 2n
systemes triangulaires, ce qui conduit a un cout moindre que le calcul effectif
des matrices L et U (voir section 3.1.3).
max (A)
K(A) = .
min (A)
32
reliee au conditionnement de la matrice A par linegalite
kx xk2 krk2
K(A) ,
kxk2 kbk2
33
3.1.3 Methode delimination de Gauss et decomposition LU
Lalgorithme delimination de Gauss consiste a calculer une suite de ma-
(k)
trices A(k) = (aij ) pour k = 1, 2, . . . , n de maniere recursive de la facon
suivante : on pose A(1) = A, et pour k = 1, 2, . . . , n, ayant calcule A(k) , on
calcule A(k+1) comme suit :
(k)
aik
lik = (k)
, i = k + 1, . . . , n ;
akk
(k+1) (k) (k)
aij = aij lik akj , i = k + 1, . . . , n, j = k, . . . , n.
A(k+1) = Ek A(k)
ou
0
1 1
.. ..
0
.
.
0
1 k
Ek =
0
lk+1,k 1 k + 1
.. .. ..
0
. . .
ln,k 0 1 n
En particulier, la matrice A(n) est triangulaire superieure, et on a A(n) =
En1 . . . E1 A(1) . Autrement dit,
34
sur les k premieres lignes et les k premieres colonnes. Pour chacun de ces
elements, on doit faire une multiplication et une soustraction, soit un total
de 2(n k)2 flops. Au total, pour obtenir A(n) , il faut donc
n1 n1
X
2
X (n 1)n(2n 1) 2n3
2(n k) = 2 j2 =
3 3
k=1 j=1
(ii) A est a diagonale dominante par colonnes, c.-a-d. pour tout j {1, . . . , n},
X
|ajj | > |aij |.
i6=j
35
Notons enfin que, grace a la factorisation LU , on peut calculer le determinant
dune matrice n n avec environ 2n3 /3 operations, puisque
n n
(k)
Y Y
det(A) = det(L)det(U ) = det(U ) = ukk = akk .
k=1 k=1
ou les Pi sont soit la matrice identite, soit lune des matrices P (k,r) . La
maniere de resoudre le systeme Ax = b demande alors deffectuer les meme
operations sur les lignes et les meme echanges de lignes sur le vecteur b que
sur la matrice A. On obtient alors une suite de vecteurs b(k) telle que
LU = P A.
36
Dans ce cas, la resolution du systeme Ax = b revient simplement a resoudre
LU = P b comme explique dans la section 3.1.3.
soit y = 12
1 1 en tenant compte des erreurs darrondi de lordinateur.
La valeur de x obtenue par substitution devient x = 1y 0.
Lorsque lon echange les lignes du systeme, ce qui revient a choisir le
plus grand prmier pivot, on obtient
1 1 x
= 2 1 .
1 y
37
On suppose que
a1 c1 0 ... 0
.. ..
b2
a2 c2 . .
A=0
.. .. ..
. . . 0
..
..
. . bn1 an1 cn1
0 ... 0 bn an
Dans ce cas, les matrices L et U de la factorisation LU ont la forme
0
1 0 ... 0 1 c1
. . .. 0 2 . . .
2 1 . .
L= .. ..
et U = .. . . . .
,
. . 0 . . . cn1
0 n 1 0 ... 0 n
ou les inconnues a determiner sont les i et les i . On peut les determiner
en ecrivant les coefficients de legalite LU = A dans lordre (1, 1), (2, 1),
(2, 2),. . . ,(n, n 1), (n, n) :
b2
1 = a1 , 2 1 = b2 2 = , 2 c1 + 2 = a2 2 = a2 2 c1 , . . .
1
On obtient finalement
bi
1 = a1 , i = , i = ai i ci1 , i = 2, . . . , n.
i1
Avec cet algorithme, le systeme Ax = b se ramene a resoudre deux systemes
bidiagonaux Ly = b et U x = y avec
y1 = b1 , yi = fi i yi1 , i = 2, . . . , n,
yn yi ci xi+1
xn = , xi = , i = n 1, . . . , 1.
n i
Le cout total de cet algorithme est de lordre de 9n flops.
38
Demonstration La matrice A etant symetrique definie positive, cest aussi le
cas des matrices Ai du theoreme 3.3. En particulier, il existe donc unique factori-
sation LU de la matrice A telle que les elements diagonaux de L sont tous egaux a
1. De plus, tous les uii sont strictement positifs puisque
k
Y
uii = det(Ak ) > 0, k {1, . . . , n}.
i=1
Soit D la matrice diagonale dont les elements diagonaux sont u11 , u22 , . . ., unn .
En posant B = LD et C = D1 U , on a
u1 1 0 ... 0 u11 ...
. .. . ..
u2 2 . . u22 . .
. 0 .
A = BC = .
.
,
.. . .. . .. . . . . .
0 . . .
... unn 0 ... 0 unn
a12
a11 = b211 b11 = a11 , a12 = b11 b21 b21 = ,...
b11
a1n
... a1n = b11 bn1 bn1 = .
b11
On a donc calcule la premiere colonne de la matrice B. Par recurrence, si
lon connait les (i 1) premieres colonnes de la matrice B, on calcule la
39
i-ieme colonne en ecrivant la i-ieme ligne de A = B t B :
q
Pi1 2
aii = b2i1 + . . . + b2ii bii = aii k=1 bik ,
Pi1
ai,i+1 k=1 bik bi+1,k
ai,i+1 = bi1 bi+1,1 + . . . + bii bi+1,i bi+1,i = ,...
bii
ai,n i1
P
k=1 bik bn,k
. . . ai,n = bi1 bn,1 + . . . + bii bn,i bn,i = .
bii
Dapres le theoreme 3.4, on peut choisir la matrice B telle que tous ses coeffi-
cients diagonaux sont positifs. Ceci assure que toutes les racines carrees dans
lalgorithme precedent sont bien definies, ce qui netait nullement evident a
priori.
Lalgorithme de Choleski consiste a calculer la matrice B par lalgorithme
precedent, puis a resoudre les deux systemes triangulaires By = b et t Bx =
3
y. On verifie quil necessite n6 flops (plus des termes dordre n2 et n), ce qui
donne un cout deux fois moindre que lalgorithme de Gauss.
On notera enfin que lalgorithme de Choleski permet de calculer le de-
terminant de A grace a la formule
det(A) = (b11 b22 . . . bnn )2 .
Les methodes iteratives sont souvent plus couteuses en temps de calcul que
les methodes directes, mais elles ont lavantage detre plus faciles a program-
mer et necessitent moins de place memoire (ce qui peut etre crucial lorsque
n est tres grand).
3.2.1 Generalites
La strategies habituelle consiste a construire la suite (x(k) ) par une re-
lation de recurrence de la forme
x(k+1) = Bx(k) + c, (22)
ou B est la matrice diteration de la methode iterative, construite a partir
de A, et c est un vecteur dependant de b. En passant a la limite k +,
on voit que la solution x du systeme doit satisfaire
x = Bx + c.
Puisque x = A1 b, on voit que necessairement, c = (Id B)A1 b, donc la
methode iterative est en fait completement definie par la matrice B.
40
Critere de convergence En definissant lerreur au pas k comme
e(k) = x x(k) ,
On voit donc que x(k) x pour tout x(0) ssi e(k) 0 pour tout e(0) ssi
B k 0 lorsque k +. En utilisant le critere classique de convergence
des puissances de matrices, on obtient le
Theoreme 3.5 La methode iterative (22) converge pour tout choix de x(0)
ssi (B) < 1, ou (B) est le rayon spectral de B, defini dans la section 1.2.2.
De plus, on a
h i
lim sup ke(k) k1/k = (B).
k+ x(0) t.q. kx(0) k1
r(k) = b Ax(k) ,
kr(k) k2
,
kbk2
et
kbk2 = kAxk2 kAk2 kxk2 ,
41
on deduit que
kr(k) k2 ke(k) k2
K(A).
kbk2 kxk2
kx(k) x(k1) k
.
kx(k) k
A = P N,
B = P 1 N = Id P 1 A.
En pratique, les splittings les plus classiques sont bases sur lecriture
A = D E F, ou
D : diagonale de A,
E : triangulaire inferieure avec des 0 sur la diagonale,
F : triangulaire superieure avec des 0 sur la diagonale.
x(k+1) = D1 (E + F )x(k) + D1 b.
42
On appelle matrice de Jacobi la matrice diteration de la methode
J = D1 (E + F ) = Id D1 A.
BGS = (D E)1 F.
43
Elle coincide avec la methode de Gauss-Seidel lorsque = 1. Lidee de cette
definition est de choisir > 1 (sur-relaxation) ou < 1 (sous-relaxation)
afin de diminuer (B ) et donc daccelerer la methode. Dans les bons cas
(par exemple le cas tridiagonal, voir section 3.2.3), il est meme possible de
determiner le parametre 0 optimal.
De nouveau, il est inutile de calculer explicitement la matrice B pour
mettre en uver lalgorithme : on verifie que le vecteur x(k+1) est donne par
les formules suivantes
i1 n
(k+1) (k) bi
X (k+1)
X (k)
xi = xi + aij xj aij xj , i = 1, 2, . . . , n.
aii
j=1 j=i
donc
(k+1) 1 X (k)
max |xi xi | |aij | max |xl xl |
1in aii 1ln
j6=i
(k)
max |xl xl |,
1ln
44
ou la constante ]0, 1[ est donnee par lhypothese de diagonale-dominance de A.
On en deduite que
kx(k+1) xk kx(k) xk , soit kx(k) xk k kx(0) xk .
Puisque < 1, on a prouve la convergence de la methode.
45
3.3 Methodes de gradient
On sinteresse maintenant a une autre classe de methodes iteratives,
appelees methodes de descente ou de gradient. Elles supposent que la matrice
A est symetrique definie positive. On le supposera dans toute cette section.
Ces methodes sont generalement particulierement bien adaptees aux cas ou
la matrice A est creuse (voir section 1.2.2).
3.3.1 Generalites
Ces methodes sont basees sur des iterations de la forme
F (y) = t yAy 2b y,
puisque
E(y) = y Ay 2t yAx + x Ax = F (y) + x b,
et le nombre x b est une constante independante de y.
Signalons enfin quon utilise classiquement pour ces algorithmes les memes
criteres darret que pour les autres methodes iteratives (voir section 3.2.1).
46
3.3.2 Methode du gradient a pas optimal
La methode du gradient a pas optimal consiste a choisir p(k) = F (x(k) ) =
E(x(k) ), c.-a-d.
p(k) = 2r(k) ,
ou r(k) = b Ax(k) est le residu a letape k. Ensuite, il sagit de choisir le
pas k optimal, c.-a-d. celui minimisant la fonctionnelle E dans la direction
p(k) . Or on a
qui est un trinome du second degre en . Le minimum est donc donne par
r(k) p(k)
k = t p(k) Ap(k)
.
kr(k) k22
x(k+1) = x(k) + k r(k) , avec k = t r (k) Ar (k)
. (23)
Theoreme 3.12 La suite (x(k) )k0 definie par la methode du gradient a pas
optimal (23) verifie
K(A) 1 2 (0)
(k)
kx xk2 K(A) kx xk2 , k 0.
K(A) + 1
Ce resultat signifie que plus K(A) est proche de 1, plus vite la methode
converge.
p(k) r(k+1) = 0.
On peut alors rechercher p(k+1) dans le plan forme par les deux directions
orthogonales p(k) et r(k+1) .
47
Le calcul donne alors lalgorithme
Soit x0 quelconque, par exemple x0 = 0, et p(0) = r(0) = b Ax(0) ,
Pour k = 0, 1, . . .,
kr(k) k22
k = t p(k) Ap(k)
, x(k+1) = x(k) + k p(k) , r(k+1) = r(k) k Ap(k)
kr(k+1) k22
k+1 = , p(k+1) = r(k+1) + k+1 p(k) .
kr(k) k22
On a le resultat suivant sur la vitesse de convergence
Theoreme 3.13 La methode du gradient conjugue est exacte au bout de n
iterations. De plus, on a
p !k
(k) K(A) 1
kx xk2 2K(A) p kx(0) xk2 , k {1, . . . , n}.
K(A) + 1
En dautres termes, la methode du gradient conjugue converge toujours
plus vite (au sens de la vitesse de convegrence geometrique)
p que la methode
du gradient avec pas optimal. En effet, on a toujours K(A) < K(A)
puisque K(A) > 1.
48
La methode du gradient preconditionne avec pas optimal On verifie
que la methode du gradient conjugue appliquee au systeme (24) revient a
calculer x(k+1) = x(k) + k p(k) , ou
r(k) p(k)
p(k) = P 1 r(k) et k = t p(k) Ap(k)
. (25)
49
Si k est choisi comme dans (25), on retrouve la methode du gradient
preconditionne a pas optimal. En particulier, la methode du gradient a pas
optimal avec matrice de preconditionnement P = D converge plus vite que
la methode de Jacobi.
Un autre preconditionnement souvent utilise est le preconditionnement
SSOR dEvans. En utilisant la decomposition habituelle
A = D E t E,
on fixe un parametre ]0, 2[ et on choisit
1
P = (D E)D1t (D E).
(2 )
On constate que P est obtenue directement en fonction de A : aucun calcul
ni stockage nest necessaire.
A titre dexemple, lorsque la matrice A est celle obtenue par discretisation
implicite de lequation de la chaleur en dimension 2 dans un carre (voir sec-
tion 2.4.3), le choix optimal du parametre conduirait a un conditionnement
K(P 1 A) de lordre de 1/h, alors que K(A) est de lordre de 1/h2 . En pra-
tique, le choix = 1 permet generalement un gain important en terme de
vitesse de convergence.
4 Exercices
4.1 Exercice 1
On considere le probleme
2u
u
t (t, x) x2 (t, x) = 0, pour t ]0, T [ et x ]0, 1[,
u(0, x) = u0 (x), pour x ]0, 1[, (26)
u(t, 0) = 0 et u(t, 1) = 0, pour t 0.
50
3. Implementer le schema dapproximation implicite par differences finies
de lEDP (26) avec N = 10 et M = 10, 100, 200, 400. On calculera
linverse de la matrice par lalgorithme de Thomas, puis par lalgo-
rithme de Gauss-Seidel. Comparer les resultats avec la solution exacte
et ceux obtenus a la question 2.
Indications : de nouveau, lalgorithme consiste a calculer des produits
matrice-vecteur de la forme U (j+1) = AU (j) ou A est linverse dune
matrice, a calculer avec lalgorithme de Thomas et la methode de
Gauss-Seidel.
4.2 Exercice 2
On considere maintenant le probleme
2u
u u
t (t, x) x2 (t, x) x (t, x) = 1, pour t ]0, T [ et x ]0, 1[,
u(0, x) = u0 (x), pour x ]0, 1[, (27)
u(t, 0) = 1 et u(t, 1) = 1, pour t 0.
References
[1] P.G. Ciarlet. Introduction a lanalyse numerique matricielle et a lopti-
misation. Masson (1982).
[2] P. Lascaux et R. Theodor. Analyse numerique matricielle appliquee a
lart de lingenieur. Tome 1. Masson (1986).
[3] P. Lascaux et R. Theodor. Analyse numerique matricielle appliquee a
lart de lingenieur. Tome 2. Masson (1987).
[4] B. Lucquin. Equations aux derivees partielles et leurs approximations.
Ellipse (2004).
51