8/13/2019 Cours Calcul Scientifique 2013
1/85
Calcul scientifique
Licence de Mecanique-3eme annee
Universite dAix-Marseille, 2013-2014
Uwe Ehrenstein
12 septembre 2013
8/13/2019 Cours Calcul Scientifique 2013
2/85
8/13/2019 Cours Calcul Scientifique 2013
3/85
TABLE DES MATIERES
4.3 Conditions de convergence . . . . . . . . . . . . . . . . . . . . . 74
4.4 Methode de Jacobi et de Gauss-Seidel, methode de relaxation . . . 764.4.1 Quelques resultats de convergence de methodes iteratives . 78
2
8/13/2019 Cours Calcul Scientifique 2013
4/85
Chapitre 1
Interpolation et integration
numerique
1.1 Motivation
En general il nest guere possible de trouver la valeur exacte dune integrale
Z ba
f(x)dx
sauf dans le cas ou on connat explicitement une primitive de la fonction f, oualors lorsque lexpression de la fonction fpermet par exemple une integration
par parties ou un changement de variable approprie. Lidee est alors dappro-
cher lintegrale par une somme. La methode la plus rudimentaire est dutiliser
les sommes de Riemann. Si on introduit les n + 1 points
xj= a + j
n(b a), j=0,1, ,n
alors une somme de Riemann, appelee encore formule des rectangles a gauche,
est donnee par
Sg=1
n
n
1
j=0f(xj).
LexpressionSgcorrespond a la somme des aires de tous les rectangles de base
[xj,xj+1](de longueurh=1/n) et de hauteur f(xj), qui est la valeur de f(xj)agauche du petit intervalle[xj,xj+1]. Dans la formule des rectangles a droite onprend la valeur f(xj+1)pour obtenir
Sd=1
n
n1
j=0
f(xj+1).
3
8/13/2019 Cours Calcul Scientifique 2013
5/85
Interpolation et integration numerique
Ces deux approximations sont illustrees sur la figure 1.1 par les aires hachurees.
On sait que, pour des fonctions fcontinues, ces sommes tendent precisement verslintegrale, lorsque n tend vers linfini, c.-a-d. lorsquon opere une sous-division
de plus en plus fine de lintervalle dintegration.
000000000000000000000000000
000
111111111111111111111111111
111
000000000000000000000000000
000
000
000
000
000000
111111111111111111111111111
111
111
111
111
111111
000000000000000000000000000
000
000
000
000
000
000000
111111111111111111111111111
111
111
111
111
111
111111
000000000000000000000000000
000
000
000
000
000
111111111111111111111111111
111
111
111
111
111
000000000000000000000000000
000
111111111111111111111111111
111
000000000000000000000000000
000
111111111111111111111111111
111
000000000000000000000000000
000
000
000
000
000
111111111111111111111111111
111
111
111
111
111
000000000000000000000000
000
000
000
000
000
000000000
111111111111111111111111
111
111
111
111
111
111111111
x
f (x)
000
000
000
000
000
000000000000000000000000000000
111
111
111
111
111
111111111111111111111111111111
000
000
000
000
000
000000000000000000000000000000
000
000
111
111
111
111
111
111111111111111111111111111111
111
111
000
000
000
000
000
000000000000000000000000000
111
111
111
111
111
111111111111111111111111111
000
000
000
000
000
000000000000000
111
111
111
111
111
111111111111111
000
000
000
000
000
000000000000000
111
111
111
111
111
111111111111111
000
000
000
000
000
000000000000000000000000000
111
111
111
111
111
111111111111111111111111111
000
000
000
000
000
000000000000000000000000000000
000
000
111
111
111
111
111
111111111111111111111111111111
111
111
000
000
000
000
000
000000000000000000000000000000
000
000
000
111
111
111
111
111
111111111111111111111111111111
111
111
111
000111
000111
000111000111000111000111
000111
000111
x
f (x)
a b
a b
S
S
g
d
FIG . 1.1 Formule des rectangles a gauche (haut) et des rectangles a droite (bas).
Pour construire ces sommes, on peut dire que lon approche la fonction dans
lintervalle[xj,xj+1]par une constante, egale a f(xj)pour la sommeSget egalea f(xj+1)pour la somme Sd. On peut donc dire que sur lintervalle [xj,xj+1]lafonction est approchee par un polynome de degre zero, c.-a-d. une constante.
4
8/13/2019 Cours Calcul Scientifique 2013
6/85
8/13/2019 Cours Calcul Scientifique 2013
7/85
Interpolation et integration numerique
Si la matrice Aest inversible, alors le systeme ci-dessus admet une solutiondet
une seule en fonction du vecteurz.Linterpolation polynomiale consiste a prendre comme fonctions hj(x)des
monomes
hj(x) =xj,j=0, ,n, (1.6)
c.-a-d. on cherchegsous la forme dun polynome de degrenque lon note pnet
pn(x) =n
j=0
cjxj. (1.7)
Dans ce cas les coefficients de la matrice Ade (1.5) sont
ai j= xj1i1 ,
et la matriceAqui en resulte est appelee matrice de Vandermonde
A=
1 x0 x20 xn0
1 x1 x21 xn1
... ...
... ...
1 xn1 x2n1 xnn11 xn x
2n xnn
. (1.8)
On peut montrer (voir des ouvrages dalgebre lineaire) que le determinant de cettematrice est
det(A) = 0i
8/13/2019 Cours Calcul Scientifique 2013
8/85
Interpolation polynomiale
Theoreme 2 Supposons que les points xj,j =0,
,n sont dans un intervalle
[a,b] et que f est(n + 1) fois continument d erivable dans lintervalle[a,b]. Soitx [a,b]et on introduit la fonction
(x) = (x x0)(xx1) (x xn). (1.10)
On note
Rn(x) = f(x) pn(x) (1.11)lerreur dinterpolation. Alors il existe un pointxdans le plus petit intervalle quicontient x,x0, xn(doncx [min(x,x0, ,xn),max(x,x0, ,xn)]) tel que
Rn(x) = (x)(n + 1)!
f(n+1)(x) (1.12)
avec f(n+1)(x)la d erivee n + 1 eme de f au pointx.
La formule (1.12) est evidente six = xj, car dans ce cas Rn(xj) = (xj) =0.Pour demontrer le resultat lorsque x =xj, on introduit une fonction
F(t) =Rn(t)(x) Rn(x)(t).
La fonction sannule aux pointsxj,j =0,
n,carR
n(x
j) =0 et(x
j) =0, mais
egalement par construction au point x. Donc, F(t)possede (n + 2)zeros. Or,dapres le theoreme de Rolle, si une fonction derivable sannule en deux points, il
y au moins un point entre ces deux zeros ou la derivee de la fonction sannule. Ici
F(t)an + 2 zeros, donc il y a au moinsn + 1 points ou la deriveeFsannule. Onpeut ensuite appliquer le theoreme de Rolle a F, ensuite aFetc. On en deduitquil existe au moins un pointxtel que la deriveen + 1 eme deF(t)
F(n+1)(t) =R(n+1)n (t)(x) Rn(x)(n+1)(t)
sannule. MaisRn(t) = f(t)
pn(t)etR(n+1)n (t) = f
(n+1)(t), car la deriveen + 1eme depn(t)est identiquement egale a zero). Par ailleurs, il est facile de constaterque(n+1)(t) = (n + 1)! et lexpression de lerreur dinterpolation (1.12) sensuit.
Evidemment, sauf dans des cas particuliers le point x, qui depend dexpourdes points dinterpolationxj,j =0, ,n,donnes, nest pas connu explicitement.De (1.12) on peut par exemple deduire la majoration
|Rn(x)| Cn+1|(x x0)....(x xn)|(n + 1)!
avec Cn+1= maxx[a,b]
|f(n+1)(x)| (1.13)
7
8/13/2019 Cours Calcul Scientifique 2013
9/85
Interpolation et integration numerique
La majoration de lerreur est donc fonction de
|(x
x0)....(x
xn)
|=
|(x)
|.
On peut essayer de trouver une majoration de cette quantite. On suppose avoirordonne les points dans lordre croissant
x0<
8/13/2019 Cours Calcul Scientifique 2013
10/85
Integration numerique : les formules de Newton et Coates
On peut alors aisement construire lunique polynome dinterpolation pn(x)de
degre ntel quepn(xk) = f(xk), k=0, ,n.
En effet, il peut secrire sous la forme
pn(x) =n
j=0
f(xj)Lj(x). (1.17)
En effet, lexpression ci-dessus est bien un polynome de degre net
pn(xk) =n
j=0
f(xj)Lj(xk) = f(xk),
dapres la definition (1.15) des polynomes de Lagrange.
Cest precisement linterpolation polynomiale qui permet de construire des
formules dintegration.
1.3 Integration numerique : les formules de Newton
et Coates
On suppose donne un intervalle[c,d]et on cherche a evaluer
I=
Z dc
f(x)dx
pour une fonction (continue) f. Lidee est dapprocher la fonction fpar un po-
lynome de degre lqui interpole fen des points discrets dans lintervalle[c,d].Soient donc une sous-division del + 1 points de lintervalle, c.-a-d.
xj= c +jh, j=0, , l et h= dcl .
Dapres lexpression (1.17) le polynome pl qui interpole fen ces points peut
secrire a laide des polynomes de Lagrange et
pl (x) =l
j=0
f(xj)Lj(x).
Une formule dintegration numerique est obtenue par la somme
Z dc
pl(x) =l
j=0
f(xj)Z d
cLj(x)dx (1.18)
9
8/13/2019 Cours Calcul Scientifique 2013
11/85
Interpolation et integration numerique
et il faut alors evaluer les integrales des polynomes de Lagrange. Faisons le chan-
gement de variable
x=c + ht, donc Lj(c + ht) =j,l(t) =l
k=0k=j
t kj k (1.19)
(on ecritj,l(t)car ces fonctions dependent bien sur de l). On peut alors ecrire(etant donne quedx=hdt)
Z dc
Lj(x)dx=hj,l avec j,l=
Z l0j,l(t)dt. (1.20)
Donc, la formule dintegration secrit
Z dc
pl(x) =hl
j=0
j,lf(xj). (1.21)
Exemples :
1.Pourl =1, il y a dans ce cas 2 points dans lintervalle,
0,1=
Z 100,1(t)dt=
Z 10
t1(
1)
dt=1
2
et
1,1=
Z 101,1(t)dt=
Z 10
tdt=1
2.
Par consequent Z dc
p1(x)dx=h
2(f(x0) +f(x1)) (1.22)
2.Pourl =2, donc avec 3 points dans lintervalle,
0,2=
Z 200,2(t)dt=
Z 20
(t1)(t2)2
dt=1
3,
1,2=
Z 201,2(t)dt=
Z 20
t(t2)(1) dt=
4
3
et
2,2=Z 2
02,2(t)dt=
Z 20
t(t1)2
dt=1
3.
Dans ce cas, on obtient la formule
Z dc
p2(x)dx=h
3(f(x0) + 4f(x1) +f(x2)) . (1.23)
10
8/13/2019 Cours Calcul Scientifique 2013
12/85
Integration numerique : les formules de Newton et Coates
Considerons maintenant un intervalle[a,b]et une fonction f(x)continue sur cet
intervalle. On sous-divise lintervalle en N+ 1 points
xi= a + ih, i=0,1, ,N, avec h= b aN
.
Lidee est de considerer des sous-intervalles a linterieur de[a,b]avecl + 1 pointset dinterpoler sur ces sous-intervalles fpar des polynomes de degrel , pourN>l (et en general Ngrand devant l). Plus precisement, supposons que Nest un
multiple del , cest-a-direN= lMet on definit lesMsous-intervalles
[xil, x(i+1)l ], i=0, ,M1 (1.24)dont chacun contientl +1 points. Ces intervalles jouent le role de lintervalle[c,d]ci-dessus : interpolant fsur cet intervalle par le polynome dinterpolation pi,l(x)de degrel , on peut ecrire par (1.21) pour les points xil,xil+1, ,x(i+1)l
Z x(i+1)lxil
pi,l(x)dx=hl
j=0
j,lf(xil+j). (1.25)
Evidemment, ces sommes sont des approximations de la vraie integrale
Z x(i+1)l
xil
f(x)dx
et lanalyse de lerreur fait lobjet du paragraphe suivant. Raccordant toutes ces
formules on obtient une formule dintegration qui est une approximation de
Z ba
f(x)dx.
On note cette formule dintegrationIN,l(f)et elle fait intervenirN+1 points, avecN=lM. Cette formule est appelee de Newton et Coates ; on lobtient en sommantles expressions (1.25) et donc
IN,l(f) =hM1i=0
l
j=0
j,lf(xil+j), N= lM. (1.26)
Exemples :
1.Prenons l =1 dans la formule ci-dessus : alors il a ete montre plus haut que0,1= 1,1=1/2 et on obtient la formule bien connue des trapezes
IN,1(f) =hN1i=0
1
2(f(xi+f(xi+1))
11
8/13/2019 Cours Calcul Scientifique 2013
13/85
Interpolation et integration numerique
que lon peut encore ecrire
IN,1(f) =h
2(f(x0) + f(xN)) + h
N1i=1
f(xi). (1.27)
Bien sur, le nom vient du fait que sur chaque intervalle [xi,xi+1]on approche lafonction par un polynome de degre 1, donc une droite, et laire obtenue est celle
du trapeze qui en resulte (cf. figure 1.2).
0
0
0
1
1
1
000000
000
000
000
000
000000000000000000000000000
111111
111
111
111
111
111111111111111111111111111
000000
000
000
000
000
000000000000000000000000000000
000
111111
111
111
111
111
111111111111111111111111111111
111
000000
000
000
000
000
000000000000000000000000000000
000
111111
111
111
111
111
111111111111111111111111111111
111
000000
000
000
000
000
000000000000000000000000
111111
111
111
111
111
111111111111111111111111
000
000
000
000
000
000
000000000000
111
111
111
111
111
111
111111111111
000000
000
000
000
000
000000000000000000000000
111111
111
111
111
111
111111111111111111111111
000
000
000
000
000
000
000000000000000000000000000000
000
111
111
111
111
111
111
111111111111111111111111111111
111
000000
000
000
000
000
000
000000000000000000000000000000
000
000
111111
111
111
111
111
111
111111111111111111111111111111
111
111
000000000000000000111111111111111111000000
000
111111
111
000000000000
000
111111111111
111
000000000000000111111111111111000000111111000000000000000111111111111111000000000000
000
111111111111
111
000
000
111
111
x
f (x)
a b
FIG . 1.2 Schema illustrant la formule des trapezes.
2.Pourl= 2 nous avons montre plus haut que0,2= 1/3,1,2= 4/3 et 2,2=1/3 et la formule correspondante secrit
IN,2(f) =hM
1
i=0
13
(f(x2i) + 4f(x2i+1) +f(x2i+2)) , N=2M,
ou encore
IN,2(f) =h
3(f(x0) +f(xN))+
4h
3
M1i=0
f(x2i+1)+2h
3
M1i=1
f(x2i),N= 2M. (1.28)
Cette formule est appelee laformule de Simpson.
12
8/13/2019 Cours Calcul Scientifique 2013
14/85
8/13/2019 Cours Calcul Scientifique 2013
15/85
Interpolation et integration numerique
avec
p(x) = f(c) +f(c)(x c) + + f(l)(c)(x c)l
l!
qui est un polynome de degre inferieur egal a l . Donc, dapres ce qui precede,
R(p) =Z d
cp(x)dx h
l
j=0
jp(xj) =0.
Il sensuit que
R(f) =1
l!Z
d
cZ
d
c
f(l+1)(t)ql(x, t)dtdx 1
l!
hl
j=0
j Z d
c
f(l+1)(t)ql(xj, t)dt.
Or, un peut intervertir lordre dintegration dans lintegrale double et lintegrale
dune somme etant la somme des integrales, on obtient le theoreme
Theoreme 3 Soit f Cl+1[c,d] ; alors lerreur (1.29) commise en approchantlint egrale par la formule dint egration de Newton et Coates est
R(f) =Z d
cf(l+1)(t)Kl(t)dt, (1.34)
Kl(t) etant la fonction dite de Peano dont lexpression est
Kl(t) =1
l!
Z dc
ql(x, t)dx hl
j=0
jql(xj, t)
(1.35)
avec ql(x, t)la fonction donnee par (1.31).
Exemples de fonctions de Peano :
1.Considerons dabord le casl =1 et la formule des trapezes (1.22). Dans ce cas[c,d]contient deux points etdc = h. Il convient alors de considerer un intervalletype de longueurh, par exemple[0,h]. Il suffit de determiner la fonction de Peano
K1(t) pour [0,h] car cette fonction dans tout autre intervalle de longueurhpeut etreobtenue par translation de la variable. Pour l=1 la fonction q1(x, t)est dapres(1.31)
q1(x, t) =
(x t)1, six t
0, six
8/13/2019 Cours Calcul Scientifique 2013
16/85
Lerreur dans les formules de Newton et Coates : la formule de Peano
(la borne inferieure tde la deuxieme integrale ci-dessus etant due au fait que
q1(x, t) =0 six< t). Sit [0,h], on deduit de lexpression de q1queq1(0, t) =0etq1(h, t) =h t. Les coefficients de la formule sont0= 1=1/2 et on obtientfinalement par (1.35)
K1(t) =(h t)2
2 h
2(h t) =(h t)(t)
2 , t [0,h]. (1.36)
On observe que cette fonction, representee sur la figure 1.3, est de signe constant
negatif sur lintervalle.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.14
0.12
0.1
0.08
0.06
0.04
0.02
0
FIG . 1.3 Fonction de PeanoK1(t)associee a la formule des trapezes (tracee pourh=1).
2. Le calcul pour l= 2 et pour la formule de Simpson, est plus complique ; prenonsdans lexpression (1.23) lintervalle de longueur 2hcentre en 0, a savoir[h,h].La formule est construite de facon a ce que si p(x)est un polynome de degre auplus 2, alors
Z h
hp(x)dx
h
3(p(
h) + 4p(0) +p(h)) =0.
Soits(x)un polynome de degre 3, alors s= ax3 +pavec pde degre 2 au plus.Bien sur, h
3(s(h) + 4s(0) + s(h)) = h3(p(h) + 4p(0) +p(h))et on aura
Z hh
p(x)dx h3
(s(h) + 4s(0) + s(h)) =0.
Or, Z hh
s(x)dx=Z h
hp(x)dx car
Z hh
ax3dx=0
15
8/13/2019 Cours Calcul Scientifique 2013
17/85
Interpolation et integration numerique
et finalement Z hh
s(x)dx h3
(s(h) + 4s(0) + s(h)) =0pour tout polynomesde degre inferieur ou egal a 3. Dune maniere generale, si
une formule dintegration de Newton et Coates est exacte pour des polynomes
de degre l, avec lentier pair, alors elle est exacte pour des polynomes de degre
l+ 1. La demonstration dans le cas general se fait aisement en sinspirant de lademonstration pour le casl= 2 ci-dessus. Le fait davoir demontre le resultat pourlintervalle[h,h]nenleve rien a la generalite. En effet, soit x [c,d]avec les 3pointsc,c + hetd= c + 2h, alors par la translation y =x c hla variable y [h,h]. Or, une telle translation ne change ni la nature de lintegrale cardx=dy,ni les degres des polynomes.
Donc, pour la formule de Simpson avec l=2 la fonction de Peano peut etreprise avecl + 1=3 et dapres (1.35)
K3(t) =1
3!
Z hh
q3(x, t)dx h3
(q3(h, t) + 4q3(0, t) + q3(h, t))
avec
q3(x, t) =
(x t)3, six t
0, six
8/13/2019 Cours Calcul Scientifique 2013
18/85
Lerreur dans les formules de Newton et Coates : la formule de Peano
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 10.014
0.012
0.01
0.008
0.006
0.004
0.002
0
FIG . 1.4 Fonction de PeanoK3(t)associee a la formule de Simpson (tracee pourh=1).
Proposition 1 Si Kl (t)est de signe constant dans[c,d], et si f Cl+1[c,d], alorsil existe un point ]c,d[ tel que lerreur dint egration donnee par (1.34) peutsecrire
R(f) = 1
(l + 1)!
f(l+1)()R(gl) (1.38)
avec R(gl )lerreur dint egration pour la fonction gl(x) =xl+1.
Pour la preuve, on fait appel a une variante du theoreme de la moyenne. Soit
donc Kl(t)de signe constant, par exempleKl (t) 0,c t d(le cas Kl(t) 0se traite de maniere analogue). On peut alors ecrire a partir de (1.34) que
minctd
f(l+1)(t)Z d
cKl(t)dtR(f) max
ctdf(l+1)(t)(t)
Z dc
Kl(t)dt.
Or, dapres hypothese f(l+1)(t)est continue car f Cl+1[c,d]et par consequent,par le theoreme de la valeur intermediaire, il existe
]c,d[tel que
R(f) = f(l+1)()Z d
cKl(t)dt.
Pour prouver la formule (1.38), il reste lintegrale de la fonction de Peano a cal-
culer. Pour ce faire, il savere commode de calculer lerreur pour la fonction par-
ticuliere f(x) =gl(x) =xl+1 : en effet, la derivee(l+ 1)eme de cette fonction
etant(l + 1)!, on aura
R(gl) = (l + 1)!
Z dc
Kl(t)dt
17
8/13/2019 Cours Calcul Scientifique 2013
19/85
8/13/2019 Cours Calcul Scientifique 2013
20/85
Erreurs dans les formules des trapezes et de Simpson pour lintervalle[a,b]
1.4.1 Erreurs dans les formules des trapezes et de Simpson
pour lintervalle[a,b]
Comme il a ete dit plus haut, linteret dune formule dintegration est de pou-
voir approcher lintegrale sur un intervalle [a,b]avec un grand nombre de pointsN= lM. Prenons dabord la formule des trapezes (1.27), alors pour chaque sousintervalle[xi,xi+1]on aura bien entendu une erreur de la forme (1.39) et
Ri(f) =Z xi+1
xi
f(x)dx h2
(f(xi) +f(xi+1)) = h3
12f(i), i ]xi,xi+1[.
(1.41)
Dans la formule des trapezes (1.27), les integrales sur les sous-intervalles sont
sommees et par consequent lerreur pour[a,b]est
RN,1(f) =Z b
af(x)dx IN,1=
N1i=0
Ri(f).
Or, par la formule de la moyenne on pourra ecrire
N1i=0
Ri(f) = h3
12
N1i=0
f(i) = h3
12N f()
pour une valeur
]a,b[. Or, ici
h=b a
N
et on obtient le resultat pour la formule des trapezes
RN,1(f) = h2
12(b a)f(), avec ]a,b[. (1.42)
Pour aboutir a une expression de lerreur dintegration pour la formule de Simpson
(1.28) on procede de maniere analogue. Dans ce casN=2Met
RN,2(f) =
Z ba
f(x)dx IN,2=M1i=0
Ri(f)
avec
Ri(f) =Z x2i+2
x2i
f(x)dx h3
(f(x2i) + 4f(x2i+1) +f(x2i+2))
= h5
90f(4)(i), i ]x2i,x2i+2[.
19
8/13/2019 Cours Calcul Scientifique 2013
21/85
Interpolation et integration numerique
Or, a nouveau par le theoreme de la valeur intermediaire il existe
]a,b[tel que
M1i=0
Ri(f) = h5
90M f(4)().
Etant donne que h= (b a)/N= (b a)/(2M), on aura M= (b a)/(2h)etfinalement on obtient la formule derreur
RN,2(f) = h4
180(b a)f(4)(), avec ]a,b[. (1.43)
Comparant RN,1avec RN,2, on observe que la formule de Simpson est en O(h4)
tandis que la formule des trapezes nest quen O(h2). De mettre en uvre la for-mule de Simpson est a peine plus complexe que dutiliser la formule des trapezes,
ce qui fait que la formule de Simpson est largement utilisee. Il faut cependant etre
conscient, que ce resultat derreur pour la methode de Simpson est obtenu pour
des fonctions 4 fois continument derivables dans[a,b].
20
8/13/2019 Cours Calcul Scientifique 2013
22/85
Chapitre 2
Resolution numerique desequations
differentielles ordinaires (EDO)
Avant daborderquelques methodes dapproximation dequations differentielles
ordinaires (on utilisera labreviation EDO), il convient de passer en revuequelques
resultats generaux.
2.1 Resultats generaux sur les EDO
Une equation differentielle est une relation de la forme
du
dt(t) = f(t,u(t)) (2.1)
ou u(t)est linconnue, la solution de lequation differentielle, quil convient dedeterminer tandis que f(t,u)est une fonction donnee. La solution u(t)dependdet R(test par exemple le temps) ; u(t)peut etre une fonction scalaire maisaussi vectorielle avecncomposantesu1(t),u2(t), ,un(t)et dans ce cas la fonc-tion fa egalementncomposantes f1(t,u),f2(t,u), fn(t,u)qui peuvent etre desfonctions non lineaires de toutes les composantes deu. Donc, f(t,u)est une ap-plication de R
Rn a valeurs dans Rn. Le probleme a valeur initiale consiste a
adjoindre a lequation (2.1) une condition dite initiale ent0avec
u(t0) =u0 (2.2)
(on prendra souvent t0=0). Ici nous considerons des equations differentiellesdordre 1, c.-a-d. seule la derivee premiere de la fonctionu(t)intervient. En fait,une equation dordre superieur avec des conditions initiales peut toujours etre re-
formuler comme un systemedODE. Prenons par exemple le probleme du pendule
(t) = sin((t)), (0) = 0, (0) = 1.
21
8/13/2019 Cours Calcul Scientifique 2013
23/85
Resolution numerique des equations differentielles ordinaires (EDO)
Alors, ecrivantu1=etu2= on aurau1= u2et le systeme secrit
d
dt
u1u2
=
u2
sin(u1),
u1(0)u2(0)
=
01
.
Pour quune EDO ait une solution, il faut que la fonction f(t,u)ait quelquesproprietes de regularite. Le theoreme fondamental quant a lexistence et lunicite
de la solution dune EDO avec condition initiale peut etre resume comme suit.
Theoreme 4 (Theoreme de Cauchy Lipschitz)
Soit f(t,u)est une application de RRn a valeurs dans Rn. Soient u0 Rn ett0
R donnes : on suppose quil existe un domaine D
R
n contenant u0 et un
intervalle[t0, t1]ainsi quune constante L>0, tels que quels que soient v,w Det quel que soit t [t0, t1],
||f(t,v) f(t,w)|| L||v w|| (2.3)
(ou|||| d esigne une norme de Rn, par exemple la norme euclidienne). On diraque f(t,u)est lipschitzienne par rapporta u de constante de Lipschitz L. Alors ilexiste un plus grand temps T [t0, t1], tel que lequation diff erentielle
du
dt
(t) = f(t,u(t)), u(t0) =u0,
possede une solution et une seule pour t [t0,T].
Afin dinterpreter ce theoreme, prenons la cas dune EDO scalaire : il est alors
facile de voir que si f(t,u)est derivable par rapport a u, alors f(t,u)est lipschit-zienne. En effet, par le theoreme des accroissements finis
|f(t,v) f(t,w)| maxuD
f
u(t,u)
|v w|
et on pourra prendre comme constante de Lipschitz le maximum pour t
[t0, t1]
de la quantite
maxuD
fu (t,u) .
Pourquoi est-il necessaire de supposer que f(t,u)est lipschitzienne et que signifielexistence dun plus grandTtel que la solution existe pourt [t0,T] ?Prenons par exemple lequation differentielle
du
dt(t) = (u(t))2
22
8/13/2019 Cours Calcul Scientifique 2013
24/85
Systemes dequations differentielles lineaires a coefficients constants
avec u(0) =a >0, donc t0=0 et u0= a. Ici la fonction f(u) =u2 ne depend
pas de tet la fonction est lipschitzienne pour tout domaine contenant aet pourtout intervalle de temps [0, t1]. Il est facile de voir que la solution de lequationdifferentielle est
u(t) = 1
a1 tet par consequent la solution tend vers linfini quand t1/a. On peut doncdeduire que le plus grand temps pour lexistence de la solution est T=1/a.
Prenons maintenant comme exemple
du
dt(t) = u(t), u(0) =0.
Ici, f(u) = u,u 0 et|f(u)|/|u| =1/utend vers linfini quand u 0. Parconsequent, fnest pas lipschitzienne au voisinage de u=0. LODE ne verifiepas les conditions du theoreme. On observe que cette equation differentielle na
pas de solution unique : en effet
u(t) 0est solution, mais aussi
u(t) =1
4t2.
Avant daborder des methodes numeriques de resolution, nous allons passer en re-vue quelques resultats generaux concernant les systemesdequations differentielles
lineaires.
2.1.1 Systemes dequations differentielles lineairesa coefficients
constants
SoitAune matricenna coefficients reels constants. On considere le systemedequations differentielles
u (t) =Au(t), u(t0) =u0, (2.4)
avec u0 Rn donne. Tout dabord on constate que ce systemepossede une solutionunique. En effet, ici f(u) =Auet pour toute norme de Rn
||f(v) f(w)|| = ||AvAw|| = ||A(v w)||.On verra au chapitre 4.2 la notion de norme de matrice||A||et on justifiera desmajorations de la forme
||A(v w)| || |A||||v w||.
23
8/13/2019 Cours Calcul Scientifique 2013
25/85
Resolution numerique des equations differentielles ordinaires (EDO)
La fonction f(u) =Auest donc lipschitzienne avecL =
||A
||la norme deAcomme
constantede Lipschitz. Avant de poursuivre, il convient de preciser de quelle faconune equation differentielle dordre npeut etre ecrite sous forme dun systeme
dordre 1. On note v(j)(t)la derivee j eme dune fonction scalaire v(t) Ret onconsidere lequation differentielle dordren
v(n)(t) + an1v(n1)(t) + + a1v (t) + a0v(t) =0 (2.5)avec les conditions intiales
v(t0) =v0,v(t0) =v1, ,v(n1)(t0) =vn1 (2.6)
(v0,v1, ,vn1donnes). Donc, si lon noteu1=v, u2=v , , un=v(n1) (2.7)
on obtient pour le vecteur u = (u1,u2, ,un)T un systeme dequations differentielles
u (t) =Au(t),avecA=
0 1
0 1. . .
. . .
0 1
a0 a1 an1
. (2.8)
En effet, u i = ui+1, i = 1,
n
1, les uietant definis par (2.7), et u
n=
nj=1 aj
1uj
par (2.5). Au systeme (2.8) est bien entendu associee la condition initiale
u(t0) =
v(t0),v(t0), ,v(n1)(t0)
T.
Revenons a (2.4) et considerons dabord le cas scalaire n=1 et la solution delequation (2.4) avecA=a R secrit bien entendu
u(t) =u0ea(tt0).
On cherche a generaliser ce resultat pour des matricesnn, cest-a-dire on cherchea definir lexponentielle dune matrice. On se rappelle que lexponentielle dun
nombre reel est donnee par une serie ce qui conduit par analogie a la definition
suivante
Definition 2 Soit A une matrice n n, alors on d efinit lexponentielle de la ma-trice A, not ee eA, par la s erie
eA =
j=0
1
j!Aj =I+A +
1
2A2 + +1
j!Aj + (2.9)
avec la convention que A0 =I, I etant la matrice identit e n n.
24
8/13/2019 Cours Calcul Scientifique 2013
26/85
8/13/2019 Cours Calcul Scientifique 2013
27/85
8/13/2019 Cours Calcul Scientifique 2013
28/85
Calcul de lexponentielle de la matrice
pourc(t)une fonction vectorielle dependant du temps. Derivantw(t)on obtient
w (t) = d
dt
etA
c(t) + etA c (t) =AetA c(t) + etA c (t) =Aw(t) + etA c (t)
et injectant cette expression dans (2.14), on obtient
etA c (t) =g(t).
De (2.11) on deduit que
c (t) =etA g(t)
dont la primitive sannulant ent0secrit
c(t) =Z t
t0
esAg(s)ds,
lintegration etant a operer composante par composante du vecteuresAg(s). Onen deduit que la solution particuliere qui sannule ent0secrit
w(t) =etAZ t
t0
esAg(s)ds=Z t
t0
e(ts)Ag(s)ds. (2.15)
Reste a determiner pour la solution generale v(t) =etA v0 le vecteur v0 tel que
v(t0) =u0: or
v(t0) =et0Av0=u0 implique v0=e
t0Au0.
La solution de (2.13) secrit en additionnantv(t)etw(t)et donc
u(t) =e(tt0)Au0+Z t
t0
e(ts)Ag(s)ds. (2.16)
On voit que lexponentielle de la matrice Aest la quantite-clef qui permet de
resoudre les systemesdequationsdifferentielles lineaires, a coefficients constants.
Au paragraphe suivant nous allons donner un mode demploi pour le calcul delexponentielle dune matrice, avant de lillustrer par lexemple dun systeme
simple 22.
2.1.2 Calcul de lexponentielle de la matrice
On supposera pour simplifier que t0=0 et donc la solution du systeme (2.4)secrit
u(t) =etA u0.
27
8/13/2019 Cours Calcul Scientifique 2013
29/85
Resolution numerique des equations differentielles ordinaires (EDO)
On peut remarquer que de choisirt0=0 nenleve rien a la generalite. En effet, la
solutionu(t) =e(tt0)Au0qui verifie u(t0) = u0est identique a la solutionu(t) =etA u0qui verifie u(0) = u0=e
t0Au0car nous avons vu quee(tt0)A =etA et0A.
Digression : valeurs et vecteurs propres dune matrice.
Ici il convient de rappeler la notion de valeur propre dune matriceA. Il sagit dun
nombre, complexe en general, tel quil existe un vecteur x =0, appele vecteurpropre associe a la valeur propre, tel que
A x=x.
Cette relation peut encore secrire (AI)x =0 pour un vecteur x
=0 avec I
la matrice identite n n. Par consequent, pour cette valeur la matrice (carree)A Inest pas inversible (on dit que cette matrice a un noyau non nul) et doncdet(AI) = 0. A partir de la definition du determinant on peut se convaincre que(pour tout nombre) p() =det(A I)est en fait un polynome en de degren. Un polynome de degre n a precisement n zeros (complexes ou reels, comptes
avec leurs multiplicites, cest-a-dire un zero double compte deux fois etc.). Donc
toute matrice n npossede nvaleurs propres, complexes ou reelles, compteesavec leurs multiplicites eventuelles, qui sont les zeros de p(k) =det(A kI) =0,k=1,2, ,n. A chaque valeur propre est associe un vecteur proprexktel que
Axk= kxk. Supposons que lesnvaleurs propres1,2,
,ndeAsont distinctes
et formons la matrice Pdont les colonnes sont precisement les vecteurs propresx1,x1, ,xnassocies. On forme la matrice diagonaleD
D=
1 (0)2
. . .
(0) n
avec sur la diagonale les valeurs propres de A. Les regles de multplication de
matrices permettent decrire les n egalites Axk=kxk,k= 1, ,nsous formematricielle
AP=PD.
En effet, la keme colonne deAPest precisementAxk, si la keme colonne dePest
le vecteurxk, et la keme colonne dePDestkxk. On peut montrer que les vecteurspropres asocies a des valeurs propres distinctes sont lineairement independants
et il sensuit que la matrice Pest inversible. Multipliant les deux membres de
legalite ci-dessus par linverse P1 deP, on obtient legalite
A=PDP1.
28
8/13/2019 Cours Calcul Scientifique 2013
30/85
Calcul de lexponentielle de la matrice
Dans ce cas ou les valeurs propres de Asont distinctes, on peut utiliser cette rela-
tion pour trouver une expression relativement simple des puissances successives
de A. En effet, A2 =PDP1PDP1 =PD2P1 et en iterant on trouve bien surAj =PDjP1 de facon a ce que
etA =
j=0
tj
j!PDjP1 =P
j=0
tj
j!Dj
P1 =PetD P1.
On peut se convaincre aisement que
tj
j!Dj =
tj
j!
j1 (0)
tj
j!
j2
. . .
(0) tj
j!
jn
et par consequent lelement de la keme position sur la diagonale de la matrice
(diagonale)etD est lexponentielleetk et
etD =
e
t1
(0)et2
. . .
(0) etn
.
Donc, par etA =Pe tD P1, on peut affirmer que chaque element de etA est unecombinaison lineaire des etk,k= 1,2, ,n. Bien sur, si on est en mesure dedeterminer explicitement Painsi que P1, ce qui souvent pour n 3 nest pasaise, on trouve une expression explicite de etA et donc aussi de u(t) =etA u0. Onpeut donc enoncer le resultat suivant.
Proposition 2 Chaque composante uj(t)du vecteur solution
u(t) = (u1(t),u2(t), ,un(t))T
de (2.4) est de la forme
uj(t) =n
k=1
bjkekt
pour des coefficients bjk.
29
8/13/2019 Cours Calcul Scientifique 2013
31/85
Resolution numerique des equations differentielles ordinaires (EDO)
Il convient de remarquer ici que les valeurs propres dune matriceAa coefficients
reels ne sont pas forcement reelles. Cependant, sil existe une valeurs proprek=k+ ikaveck =0, la valeur conjuguee complexek= k ikest egalementvaleur propre, la matrice Aetant reelle. Donc, une combinaison lineaire a valeur
reelle faisant intervenir ekt =ekteikt et ekt =ekteikt peut toujours secriresous la forme
ekt(ccos(kt) + dsin(kt)
avec des coefficients reelscetd.
Pour le systeme (2.8) equivalent a lequation scalaire (2.5) dordren,u1(t) =v(t)et la solution de (2.5) secrit
v(t) =n
k=1
bkekt (2.17)
aveckles valeurs propres de la matrice Ade (2.8). Cette fonction est solution delequation differentielle (2.5) quels que soient les coefficientsbk, si on ne precise
pas les conditions initiales. En particulier les fonctionsekt sont solutions et injec-
tant cette expression dans (2.5), on trouve
nk+ an1n1k + + a1k+ a0=0.
On en deduit le resultat que les valeurs propres de la matriceAdans (2.8) associee
a lequation (2.5) dordrensont les zeros du polynome caracteristique
p() =n + an1n1 + + a1+ a0. (2.18)Exemple :
On considere lequation du pendule avec un coefficient de frottement
v = v +v
et dapres ce qui precede, en notant u1= v et u2 = v, ce systeme peut encore
secrired
dt u1
u2
= 0 11 u1u2 . (2.19)
Les valeurs propres de la matrice Adu systeme sont
1/2=
2 42
. (2.20)
On suppose que = 2. Si||
8/13/2019 Cours Calcul Scientifique 2013
32/85
Calcul de lexponentielle de la matrice
et la solutionu1(t) =v(t)secrit
v(t) =et(/2)(a cos(t) + b sin(t)) avec =
1 (/2)2.
Si 0. Si ce-pendant> 0, alors la solution est amplifiee pourt>0. Si ||>2, alors les deuxsolution sont reelles et la solution secrit
v(t) =aet1 + bet1
avec1/2donnes par (2.20).
Considerons maintenant le cas ou la matriceAdans (2.4) est de la forme
A=
1 (0). . .
. . .
1(0)
(2.21)
On peut ecrire Asous la forme
A= I+N avec I matrice identiten
n
et
N=
0 1 (0). . .
. . .
0 1
(0) 0
. (2.22)
On peut se convaincre que
N2 =
0 0 1 (0). . .
. . . . . .
0 0 1
0 0
(0) 0
, , Nn1 =
0 0 0 10
0 0
. . . ... ...
0 0
(0) 0
et quainsi Nn =0 est la matrice identiquement egale a zero. Donc, lorsquonforme les puissances successives de Nles elements non nuls remontent. Les
matricesIetNcommutent et dapres ce qui precede
etA =et(I+N) =etIetN.
31
8/13/2019 Cours Calcul Scientifique 2013
33/85
Resolution numerique des equations differentielles ordinaires (EDO)
Or, etant donne queNn =0,etN est en fait une somme finie et
etN =I+ tN+t2
2N2 + + t
n1
(n 1)!Nn1.
Dapres les produits successifs deNci-dessus
etN =
1 t t2
2 tn2(n2)! t
n1(n1)!
1 t t2
2 tn2
(n2)!. . .
. . . . . .
...
1 t t2
2(0) 1 t1
.
La matriceetI est diagonale avecet sur la diagonale et donc
etA =
et tet t2
2 et tn2
(n2)! et tn1
(n1)! et
et tet t2
2et tn2(n2)! et
. . . . . .
. . . ...
et tet t2
2 et
(0) et tetet
Chaque element de etA est ainsi de la forme p(t)et avec p(t)un polynome dedegre n 1. On peut donc conclure, que si dans le systeme (2.4) la matriceAest de la forme (2.21), alors les composantes ui(t)de la solution u(t)sont de laforme
ui(t) = pi(t)et
pour des polynomes pi(t)de degres n 1. On observe queest valeur propredeAdonnee par (2.21) de multipliciten.
Revenons alors aA matrice n nquelconque : si ses nvaleurs propres sont dis-tinctes, alors Aest diagonalisable. Supposons cependant que certaines des va-
leurs propres sont multiples, plus precisement supposons queApossedemvaleurs
propres distinctes de multiplicites respectivementl1,l2, , lm(avecl1+l2+ +lm=n). AlorsAnest plus forcement diagonalisable : cependantApeut-etre misesous forme ditede Jordan, a savoir il existe des matrices PetP1 telles que
A=PJP1 (2.23)
32
8/13/2019 Cours Calcul Scientifique 2013
34/85
Calcul de lexponentielle de la matrice
avecJune matrice par blocs
J=
J1
0
J2
. . .
0
Jm
, (2.24)
chaque blocJketant une sous-matricelk lkde la forme
Jk=
k (0). . .
. . .
k (0) k
, =0 ou 1. (2.25)
Donc, chaque sous-matriceJkest de la taille de la multiplicite de la valeur propre
k, qui se trouve sur la diagonale de Jk, les coefficients sur la quasi-diagonaleimmediatement au-dessus de la diagonale sont egaux a 1 ou egaux a 0, selon
des cas particuliers, les autres coefficients de Jketant nuls. Bien-sur, si toutes
les valeurs propres sont simples, les Jksont en fait des matrices 1 1 donc desscalaires et on retrouve une matrice Jdiagonale. La mise sous forme de Jordan est
assez complexe en general et la methode est donnee dans des ouvrages dalgebre
lineaire. Ce quil convient de retenir est que chaque bloc est de la forme
Jk=kIk+Nk (2.26)
avec Ikmatrice identite lk lket Nkune matrice similaire a (2.22), mais ici detaille lk lk(et tous les elements juste au-dessus ne sont pas forcement egaux a1). Nous avons vu que la n eme puissance de la matrice (2.22) est identiquement
egale a 0 et de maniere analogue on peut affirmer que
Nlkk =0
Par (2.23), on aura a nouveau Aj =PJjP
1 et donc (analogue au cas diagonali-
sable)
etA =PetJP1.
Les multiplications deJavec elle-meme se faisant par blocs, il est facile de voir
que
etJ =
etJ1
0
etJ2
. . .
0
etJm
(2.27)
33
8/13/2019 Cours Calcul Scientifique 2013
35/85
Resolution numerique des equations differentielles ordinaires (EDO)
a egalement une structure par blocs. La decomposition (2.26) est similaire a celle
pour la matrice (2.21) : donc, chaque element deetJk est de la forme pk(t)ekt avecpk(t)polynome (en fait un monome) de degre lk1. On peut ainsi enoncer leresultat general.
Proposition 3 Soit le systeme (2.4) tel que A possede m valeurs propresk,k=1, ,m distinctes de multiplicit es respectivement l1, lm (avec l1+ lm= n).
Alors les composantes uj(t)de la solution u(t)de (2.4) sont de la forme
uj(t) =m
k=1
pjk(t)ekt (2.28)
avec pjk(t)des polynomes de degr es lk1.On peut remarquer que silk= 1, lespjk(t) sont des polynomes de degre zero, doncdes constantes. Par consequent, on retrouve evidemment le resultat de la proposi-
tion 5 lorsque les valeurs propres de Asont simples.
Exemple :On reprend le systeme 22 (2.19), les valeurs propres de la matrice enquestion etant (2.20). Pour= 2,1= 1 est double et dapres ce qui precedela solutionv(t) =u1(t)secrit
v(t) = (a + bt)et,
pour le polynome p1(t) = a + btde degre 1, les coefficients a betant determinespar la condition initiale.
2.2 Schemasa un pas pour la resolution dune EDO
Sauf dans des cas particuliers, par exemple pour des systemes dequations
differentielles lineaires a coefficients constants, il nest en general pas possible de
trouver des solutions explicites et analytiques dune equation differentielle
u (t) = f(t,u(t)), u(t0) =u0, (2.29)
a partir du moment ou la fonction f(t,u)avecu Rn est quelque peu complexe etque n 2. La variable tsera appelee desormais le temps et on cherche a trou-ver une solution approchee de la solution pour t> t0. On supposera toujoursque f(t,u)satisfait a la conditions de Cauchy-Lipschitz du theoreme 4 pour toutt [t0,T], cest-a-dire lequation differentielle possede une solution unique dans[t0,T]avecu(t0) =u0.Une solution numerique sera determinee en des temps discrets
tk+1=tk+ h, k=0,1,
34
8/13/2019 Cours Calcul Scientifique 2013
36/85
8/13/2019 Cours Calcul Scientifique 2013
37/85
Resolution numerique des equations differentielles ordinaires (EDO)
et une solution approchee de lEDO est donnee par le schema
Uk+1= Uk+ hF(tk,Uk,h), F(tk,Uk,h) =1
2[f(tk,Uk) +f(tk+1,Uk+1)]. (2.33)
La fonction F(tk,Uk,h) qui definit le schema (2.33) fait intervenir Uk+1qui dependimplicitement de Uk: pour determinerUk+1en fonction de Ukil faut resoudre une
equation qui est non lineaire en general. On parle dunemethode implicite, tandis
que le schema Euler (2.31) est explicite, dans la mesure ouUk+1est obtenue par
une simple relation algebrique en fonction deUk. Cependant le schema (2.33) est
plus precis que le schema dEuler explicite dans un sens qui sera precise ci-apres.
2.2.1 Ordre dun schema, consistance, stabilite et convergence
Supposons que pour le temps tkla solution numerique concide avec la solution
exacte, cest-a-direUk= u(tk)et on cherche a evaluer lerreur entre la solutionexacte et la solution numerique au temps tk+1= tk+h. Lavaleur Uk+1etant donneepar (2.30), on aura
u(tk+1) Uk+1=u(tk+1) u(tk) hF(tk,u(tk),h)
etant donne que Uk= u(tk)par hypothese. On note
e(tk,h) =u(tk+1) Uk+1lerreur appelee erreur locale et
e(tk,h) =u(tk+1) u(tk) hF(tk,u(tk),h). (2.34)
Il sagit donc de lerreur que lon fait en avancant dun pas avec le schema, partant
deUk= u(tk). Pour le schema dEuler (2.31) par exemple, avec F(tk,u(tk),h) =f(tk,u(tk)) =u
(tk), u(tk)etant la solution exacte, u(tk) + hF(tk,u(tk),h)est surla droite passant paru(tk)et tangente a la courbeu(t)comme illustre sur la figure
2.1.On notetk= tet on introduit la quantite(t,h) =e(t,h)/h, cest-a-dire
(t,h) =u(t+ h) u(t)
h F(t,u(t),h) (2.35)
qui est lerreur locale diviseeparh : cettequantite, appelee erreur de discr etisation
locale, est obtenue en injectant la solution exacte u(tk)dans le schema (2.30).La solution approchee est solution du schema tandis que la solution exacte est
solution a lerreur(t,h)pres.
36
8/13/2019 Cours Calcul Scientifique 2013
38/85
Ordre dun schema, consistance, stabilite et convergence
e
e
e
e
t t t t t0
0
1
1 2
2
3
3
4
u(t)
t
FIG . 2.1 Illustration de lerreur de discretisation locale ek= e(tk,h)pour leschema dEuler.
Definition 3 Le schema (2.30) est dordre p pour un entier p 0, sil existe uneconstante C> 0et h> 0, tels que pour tout t]t0,T[, et pour tout h>0,0< h0 eth>0tels que pour tout h,0
8/13/2019 Cours Calcul Scientifique 2013
41/85
8/13/2019 Cours Calcul Scientifique 2013
42/85
Ordre dun schema, consistance, stabilite et convergence
Par la suite nous allons aborder la question de convergence, cest-a-dire nous
allons evaluer lerreur entre la solution exacte et la solution numerique pour untempst]t0,T[. Il convient alors dintroduire un pas de temps hNde facon a ceque
tN= t0+NhN= t, c.-a-d. hN=t t0
N . (2.46)
Dans ce casUN, la solution numerique obtenue en mettant en uvre Npas avec
le schema numerique, est une approximation de la vraie solution au tempstet on
note
E(t,hN) = UN u(t) (2.47)lerreur. On suppose que le schema (2.43) est dordre pet dapres la definition de
lordre du schema, on peut ecrire pour la solution exacte
u(tk+1) =u(tk) + hNF(tk,u(tk),hN) + e(tk,hN) (2.48)
avec
e(tk,hN) =hN(tk,hN) (2.49)
lerreur locale. On rappelle que(tk,hN) =O(hpN)si le schema est dordre p.
Theoreme 7 Si le schema (2.43) est stable et dordre p avec p entier positif, alors
il existe une constante K>0eth>0tels que pour tout hN,0
8/13/2019 Cours Calcul Scientifique 2013
43/85
Resolution numerique des equations differentielles ordinaires (EDO)
si 00 tel que
si 0
8/13/2019 Cours Calcul Scientifique 2013
44/85
Les schemas de Runge-Kutta
pour des coefficients ai j a preciser. En resume, un schema de Runge-Kutta se
presente de la facon suivante. On poseU0= u0la condition initiale de lEDO etensuite pourk=0,1,2,
Uk,1 = Uk+ hq
j=1
a1jf(tk+ cjh,Uk,j)
Uk,2 = Uk+ hq
j=1
a2jf(tk+ cjh,Uk,j)
... (2.51)
Uk,q = Uk+ h
q
j=1 aq jf(tk+ cjh,Uk,j)
et finalement
Uk+1= Uk+ hq
i=1
bif(tk+ cih,Uk,i) (2.52)
est la solution approchee au temps tk+1. Les coefficients cj,j =1, ,q, bi, i=1, ,qainsi que ai j, i=1, ,q,j =1, ,qsont a determiner en fonction delordre du schema souhaite. Observant dabord que
Uk,i= Uk+ h
q
j=1 ai jf(tk+ cjh,Uk,j)
est censee etre lapproximation de la solution au temps tk+ cih ; notanttk= tetinjectant la solution exacte on a
u(t+ cih) u(t)h
=q
j=1
ai jf(tk+ cjh,u(t+ cjh)) + i(t,h).
Pour que cette expressionsoit consistante, cest-a-dire que lerreur de discretisation
locale partiellei(t,h) 0 quandh 0, il suffit queq
j=1
ai jf(t,u(t)) =cif(t,u(t)).
En effet,
limh0
u(t+ cih) u(t)h
=ciu(t) =cif(t,u(t))
etq
j=1
ai jf(t+ cjh,u(t+ cjh)) q
j=1
ai jf(t,u(t)) quand h 0.
43
8/13/2019 Cours Calcul Scientifique 2013
45/85
8/13/2019 Cours Calcul Scientifique 2013
46/85
Les schemas de Runge-Kutta
Par consequent,
F
h(t,u(t),0) =
q
i=1
bicif
t(t,u(t))
+q
i=1
bi
f
u(t,u(t))
q
j=1
ai jf(t,u(t))
.
Les relations (2.53) doivent etre verifiees, car pour etre dordre 2 il faut etre
dordre 1, donc qj=1 ai j = ciet par consequent le schema est dordre au moins
2, cest-a-dire la condition (2.42) est verifiee, si en plus de (2.53) on ait
q
i=1
bici=12. (2.54)
Evidemment, decrire les relations pour des ordres superieurs est de plus en plus
fastidieux et on se contente davoir demontre les conditions dordre 2.
On peut montrer par exemple que le schema est au moins dordre 3 si en plus des
relations (2.53) et (2.54) les conditions suivantes entre les coefficients
q
i=1
bic2i =
1
3et
q
i=1
q
j=1
biai jcj=1
6(2.55)
sont verifiees.
On represente en general les coefficients dun schema de Runge-Kutta sous forme
dun tableau
c1 a11 a12 a1qc2 a21 a22 a2q...
... ...
...
cq aq1 aq2 aqqb1 b2 bq
Si dans les formules (2.51) les coefficientai j=0, i j q, alorsUk,1= Uk
et pouri 2Uk,i= Uk+ h
i1
j=1
ai jf(tk+ cjh,Uk,j)
et par consequent les Uk,i ne dependent que des Uk,j, pour j =1, , i 1 etpeuvent par consequent etre determines aisement au fur et a mesure. On parle
45
8/13/2019 Cours Calcul Scientifique 2013
47/85
Resolution numerique des equations differentielles ordinaires (EDO)
alors dunschema explicite.
Exemples :On cherche a determiner tous les schemas de Runge-Kutta explicites
dordre au moins 2 avec q=2. Le tableau ci-dessus devient alors
c1 0 0
c2 a21 0
b1 b2
Dapres les conditions (2.53) et (2.54), le schema est au moins dordre 2, si
c1=0, a21= c2, b1+ b2=1, b2c2=1
2.
Prenons par exempleb1=0,c2=12et b2=1 (c1=0 eta21=
12). Alors
Uk,1= Uk, Uk,2= Uk+h
2f(tk,Uk,1)
et on trouve le schema
Uk+1= Uk+ h f
tk+
1
2h,Uk,2
et doncUk+1= Uk+ hF(tk,Uk,h)
avec
F(tk,Uk,h) = f
tk+
1
2h,Uk+
h
2f(tk,Uk)
qui est le schema dit dEuler modifie. Pourc2=1,a21=1 et b1= b2=1/2 ontrouve le schema ditde Heunavec
F(tk,Uk,h) =1
2f(tk,Uk) +
1
2f(tk+ h,Uk+ h f(tk,Uk)).
Un schema classique de Runge-Kutta explicite avecq=4, dont on peut montrerquil est dordre 4, est donne par le tableau
0 0 0 0 0
1/2 1/2 0 0 01/2 0 1/2 0 01 0 0 1 0
1/6 1/3 1/3 1/6
46
8/13/2019 Cours Calcul Scientifique 2013
48/85
8/13/2019 Cours Calcul Scientifique 2013
49/85
8/13/2019 Cours Calcul Scientifique 2013
50/85
Chapitre 3
Resolution numerique directe de
systemes lineaires
3.1 Motivation
Supposons donne le probleme suivant : on souhaite connatre la temperature
dune barre metallique chauffee a ses deux extremites et plongee dans une piece
elle-meme a une temperature donnee. La barre est assimilee a un segment de droite
dont les extremites sont noteesaetb. On suppose dans cette simplification que la
temperature de la barre ne depend que de xet Tet on cherche T(x), a < x< b,avec T(a) = Taet T(b) = Tb(ou Taet Tbsont les temperatures aux extremites).La temperature environnante est designee par Te. Il y a perte de chaleur due a la
convection de lair que lon modelise par une fonction r(x). On notele coeffi-cient de diffusion thermique que lon suppose constant. Le probleme est regi par
une equation differentielle
a b x
Ta T b
T
T
e
e
FIG . 3.1 Schema de principe dune barre mince chauffee aux extremites.
d2T(x)
dx2 + r(x)(T(x) Te) =0, a
8/13/2019 Cours Calcul Scientifique 2013
51/85
8/13/2019 Cours Calcul Scientifique 2013
52/85
Motivation
une approximation de T(xj), 1
j
n,de la temperature au points xj (sachant
queT(x0) = Ta,T(xn+1) = Tbet les temperatures aux bords sont des parametresdu probleme). Utilisant la relation (3.3) on peut donc ecrire lapproximation
d2T
dx2(xj) T(xj1) 2T(xj) + T(xj+1)
h2 ,
carxj1= xj h. On noteTjlapproximation de T(xj)et on obtient le systemesuivant, a partir de (3.1) et en ecrivant le quotient aux differences a la place de la
derivee seconde pour tous les pointsxja linterieur de lintervalle[a,b]
h2T
j1 2T
j+T
j+1
+r
(x
j)T
j=r
(x
j)T
e, j
=1, ,
n.
(3.4)
La fonctionr(xj)est donnee dans lexpression ci-dessus ainsi que T0. Les incon-nues du systeme ci-dessus sont les Tj, a savoir les approximations de la solution
exacte T(xj)aux points xj. Evaluant lequation pour j = 1, on voit apparatreT0=T(x0) =Ta, qui est la temperature imposee enx=a, et de maniere analoguepour j= n la temperature Tn+1 = T(xn+1) =Tbimposee en x= b. Les incon-nues sont ainsi les approximations Tj des valeurs de la temperature aux points
xj,j =1, n, a linterieur du domaine [a,b]. Les Tj peuvent etre considereescomme les composantes dun vecteur que lon noteT. A partir de (3.4), et en te-nant compte que pour j=1 et j= n + 1 les donneesT
aet T
binterviennent, il est
facile de voir (exercice) que le vecteurTest solution du systeme lineaire
AT=B (3.5)
pour la matrice
A=
2 + s(x1) 11 2 + s(x2) 1 (0)
. . . . . .
. . .
(0)
1 2 + s(xn
1)
1
1 2 + s(xn)
(3.6)
et le second membre qui contient les parametres du probleme
B=
s(x1)Te+ Tas(x2)Te
...
s(xn1)Tes(xn)Te+ Tb
, (3.7)
51
8/13/2019 Cours Calcul Scientifique 2013
53/85
Resolution numerique directe de systemes lineaires
avecs(xj) = h2
r(xj),j= 1,
n. La matriceA, avecnlignes etncolonnes, est dite
tridiagonale. En effet, seuls les elements sur la diagonale ainsi que leurs voisinsimmediats a droite et a gauche sont non nuls. Plus nest grand, plus la solution
approchee sera precise et etant donnee la taille du systeme lineaire il faut imagi-
ner une methode numerique en vue de sa resolution. Les parametres du probleme
(Ta,Tb,Te) ninterviennent que dans lexpression du second membreB. Lidee estalors de ne pas resoudre directement le systeme (3.5) pour un second membre
donne, mais plutot doperer une decomposition de Aune fois pour toutes, afin
de pouvoir aisement resoudre les systemes successifs lorsquon fait varier les pa-
rametres du probleme.
3.2 DecompositionLUdune matrice tridiagonale
On ecrit dune maniere generale une matrice tridiagonalen n(a coefficientsreels ou complexes) sous la forme
A=
a1 c1b2 a2 c2 (0)
. . . . . .
. . .
(0) bn
1 an
1 cn
1
bn an
(3.8)
Lidee est decrire Asous la forme du produit de deux matrices LU. La matrice
Laura la particularite detre triangulaire inferieure, cest-a-dire ses elements au-
dessus de la diagonale sont nuls, tandis que U sera triangulaire superieure, c.-
a-d. ses elements en dessous de la diagonale sont nuls. La notation Let Uest
generalement utilisee,L etant la premiere lettre de lower et Ude upper. On
suppose que
ai
=0, i=1,
,n, ci
=0, i=1,
,n
1, bi
=0, i=2,
,n. (3.9)
On chercheLet Usous la forme
L=
1
2 1 (0). . .
. . .
(0) n1 1n 1
,U=
1 12 2 (0)
. . . . . .
(0) n1 n1n
.
(3.10)
52
8/13/2019 Cours Calcul Scientifique 2013
54/85
Decomposition LUdune matrice tridiagonale
On operant le produit matriciel LUon obtient (exercice)
LU=
1 112 2+12 2 (0)
. . . . . .
. . .
(0) n2n1 n1+n2n 1 n1n1n n+n1n
.
(3.11)
En identifiant les elements de la matrice LUavec ceux de la matrice Aon a bien
A=LUsi
1
=a1,
1= c
1
i= bi
i1, i =ai i1i, i=ci, i=2,3, n 1 (3.12)
n= bn
n1, n =an n1n.
Ces relations determinent les coefficients de L etU, a condition que i =0. Lesrelations ci-dessus sapparentent a un algorithme dans la mesure ou si lon connat
i1on peut determineridont on a besoin pour calculerietc. ; par ailleurs lesi= ci. Legalite1= a1initialise le calcul et cet algorithme peut donc etre misen uvre sur un ordinateur.
Pour certaines classes de matrices il est assure que lors des etapes successivesi =0.Theoreme 8 On suppose que les coefficients de la matrice A donnee par (3.8)
avec (3.9) sont tels que
|a1| > |b2|,|ai| |bi+1| + |ci1|, i=2, ,n 1, |an| |cn1|.On parle dans ce cas dune matricea diagonale dominante. Alors
|i|
8/13/2019 Cours Calcul Scientifique 2013
55/85
Resolution numerique directe de systemes lineaires
Qua-t-on gagne en ecrivantA=LU? Precisement, admettons quon cherche
a resoudreAx=d
avec dun vecteur second membre donne etAune matrice de la forme (3.8) avec
(3.9). On peut donc ecrire
LUx=d,
ou encore de maniere equivalente sous forme de deux systemes lineaires avec des
matrices triangulairesLetU
Ly=d, Ux=y.
On note di les coefficients du vecteur det les coefficients yi de ysobtiennent
aisement,Letant sous la forme (3.10). En effet
y1=d1, yi+1= di+1 i+1yi, i=1, ,n 1.
Connaissanty, le vecteur xsobtient facilement, a nouveau grace a la structure
particuliere deU. On obtient
xn=yn/n, xni= (yni nixni+1)/ni, i=1, ,n 1.
Revenons un instant au systeme (3.5) avec (3.6) du probleme de la barre metal-lique. On voit bien que cette matrice satisfait au theoreme, donc est a diago-
nale dominante, si s(x) 0. Or, s(x) = (h2r(x))/avec le coefficient de dif-fusion thermique (positif par convention) et r(x)la fonction de transfert de cha-leur : on montre que lequation differentielle (3.1) est bien posee, cest-a-dire que
lequation admet une solution unique, precisement sir(x) 0.Enfin, la decompositionA = LUpermet aisement de calculer le determinant
det(A)deA. En effet, le determinant dun produit de matrices est egal au produitdes determinants, c.-a-d. det(A) =det(LU) =det(L)det(U). Or, le determinantdune matrice triangulaire est le produit des elements sur la diagonale de la ma-
trice; par consequentdet(L) =1 et donc
detA=det(U) = 1 2 n.Ce produit des elements sur la diagonale de Uest non nul pour les matrices a
diagonale dominante dapres le theoreme. Nous avons donc montre au passage
quune matricen na diagonale dominante est inversible.La decompositionLUayant ete illustree pour une matrice tridiagonale, nous
allons maintenant exposer la generalisation a des matrices n nsans structureparticuliere.
54
8/13/2019 Cours Calcul Scientifique 2013
56/85
Decomposition LUde matrices
3.3 DecompositionLUde matrices
3.3.1 Algorithme de Gauss
SoitAune matricen n ; On noteai jses elements (reels ou complexes) et oncherche a resoudre
Ax=b
avecb Rn(ou Cn), ce systeme secrivanta11x1 + a12x2 + + a1nxn = b1a21x1 + a22x2 + + a2nxn = b2
.
.. .
.. .
..an1x1 + an2x2 + + annxn = bn.
(3.13)
Le but de lalgorithme ditLUest decrire la matrice sous la forme
A=LU
avecUmatrice triangulaire superieure, obtenue par un algorithme de Gauss, etL
matrice triangulaire inferieure telle quelii=1, i =1,2, ,n(liietant les elementssur la diagonale de L). On suppose quea11 =0 et on retranche de la ieme lignede la matriceAsa premiere ligne multipliee par
ai1
a11, pour i=2,3, ,n,
ce qui donne
a11x1 + a12x2 + + a1nxn = b1a22 a21a11 a12
x2 + +
a2n a21a11 a1n
xn = b2 a21a11 b1
... ...
...
an2 an1a11
a12x2 + + ann an1a11
a1nxn = b2 an1a11
b1
(3.14)Suite a ces operations le systemeAx=best devenu
A(1)x=b(1)
avec les coefficients de la matrice A(1) tels que
a(1)1j = a1j, j=1,2, ,n
a(1)i j = ai j
ai1
a11a1j, i=2,3 ,n, j=1,2, ,n.
55
8/13/2019 Cours Calcul Scientifique 2013
57/85
8/13/2019 Cours Calcul Scientifique 2013
58/85
Algorithme de Gauss
avec
L2=I v2eT2 , v2=
0,0,a(1)32
a(1)22
,a(1)42
a(1)22
, ,a(1)n2a
(1)22
T
e2etant le deuxieme vecteur de la base canonique. La matriceA(2) est par consequent
A(2) =
a(2)11 a12(2) a
(2)1n
0 a(2)22 a
(2)23 a(2)2n
... 0 a(2)33 a
(2)3n
... ...
... . . .
...
0 0 a
(2)
n3 a(2)
nn
. (3.16)
Ensuite on applique lalgorithme a A(2) en faisant apparatre des zeros sur la 3
eme colonne a partir de la 4 eme ligne en supposant quea(2)33=0.
Pour generaliserce procede, on introduit le vecteurvi, en supposant que lelement
a(i1)ii de la matriceA
(i1) (i 1, avec la convention que A(0) =A) est non nul,defini comme
vi=
0, ,0, a(i1)i+1,i
a(i1)ii
,a
(i1)i+2,i
a(i1)ii
, ,a(i1)ni
a(i1)ii
T
(lesipremieres composantes du vecteur visont nulles). Soit alors
Li= I vieTi ,avec eile ieme vecteur de la base canonique (dont seul la ieme composante est
non nulle et egale a 1), alors les coefficients de la matriceA(i) telle que
A(i) =LiA(i1), i=1,2, ,n 1,
sont tels que
a(i)k,j=0,1 j i,j + 1 k n.
Ainsi, la matrice
A(n1) =Ln1A(n2) = =Ln1Ln2 L2L1A (3.17)est triangulaire superieure, on la noteUavec
U= A(n1) =
a(n1)11 a
(n1)12 a(n1)1n
0 a(n1)22 a
(n1)2n
... . . .
. . . . . .
...
0 0 a(n1)n1,n1 a(n1)n1,n
0 0 0 a(n1)nn
. (3.18)
57
8/13/2019 Cours Calcul Scientifique 2013
59/85
Resolution numerique directe de systemes lineaires
Le systeme a resoudre est alors
A(n1)x=b(n1)
avec
b(n1) =Ln1Ln2 L2L1b.Par lequation (3.17) on peut ecrire
A=L11 L12 L1n2L1n1A(n1)
avecL
1
i linverse de la matrice L
i.
Or,L1i =I+ vieTi. En effet,(I+ vie
Ti )Li= I vieTi vieTi =I vi(eTi vi)eTi =I
car on peut se convaincre aisement que le scalaire eTi vi=0 car les ipremierescomposantes devisont nulles. Donc,
L11 L12 L1n2L1n1=
n1i=1
(I+ vieTi ).
On observe que
vieTi vje
Tj =0, si j i
car alorseTi vj=0 et par consequent
L=L11 L12 L1n2L1n1=I+
n1i=1
vieTi .
Explicitons la matrice L: on peut voir quelle est triangulaire inferieure et elle
secrit
L=
1 0 0 0 0a
(0)21
a(0)11
1 0 0 0a(0)31
a(0)11
a(1)32
a(1)22
1 0 0...
... . . .
. . . . . .
...
a(0)n1,1a
(0)11
a(1)n1,2a
(1)22
a(n3)n1,n2
a(n3)n2,n2
1 0
a(0)n1
a(0)11
a(1)n2
a(1)22
a(n3)n,n2
a(n3)n2,n2
a(n2)n,n1
a(n2)n1,n1
1
(3.19)
On peut donc enoncer le theoreme suivant.
58
8/13/2019 Cours Calcul Scientifique 2013
60/85
Algorithme de Gauss
Theoreme 9 Si dans lalgorithme de Gauss leselements dits pivots a(i1)ii
= 0, i =
1, n 1, alors il existe une matrice U triangulaire superieure dont leselementssont donnes par (3.18) et une matrice triangulaire inf erieure donnee par (3.19)
telles que
A=LU.
Revenons a la resolution du systemeAx=b. Au lieu dappliquer lalgorithme deGauss directement a ce systeme, il est en general preferable de lecrire de maniere
equivalente sous la forme
LUx=b. (3.20)
En effet, dans de nombreux problemes de discretisation, loperateurAest donne
une fois pour toutes et le second membre best variable. On resout le systeme(3.20) de la facon suivante : dabord on resoutLy= b(ce qui est aise car Lesttriangulaire) et une fois yobtenu on determine xen resolvant Ux= y avec Utriangulaire.
Evaluant le nombre doperationsnecessaires pour la decompositionLU. Loperation
LiA(i1) correspond an idivisions (para(i1)ii ) et(n i)2 multiplications et au-
tant dadditions, pouri=1,2, ,n 1. Par consequent il faut
2n1
j=1
j2 =2(n 1)n(2n 1)
6 2n
3
3 (pourngrand)
multiplications et additions ainsi que
n1
j=1
j=n(n 1)
2 n
2
2
divisions. Il est indispensable de faire cette decomposition une fois pour toutes
lorsquon doit resoudre plusieurs fois la solution dun systeme, pour ngrand,
dont la matrice est A. De resoudre LU x= b necessite en effet beaucoup moinsdoperations. ConsideronsLy=bce qui donne lieu au systeme
y1 = b1l21y1 + y2 = b2
ln1y1 + ln2y2 + + yn = bn.
Par consequenty1= b1et
yi= bi i1
j=1
li jyj, i=2, ,n.
59
8/13/2019 Cours Calcul Scientifique 2013
61/85
Resolution numerique directe de systemes lineaires
On voit que pour calculer yiil faut(i
1)additions et autant de multiplications,
dou au total
2n1
j
j=2(n 1)n
2=n(n 1)
operations. La resolution deU x =ydonne lieu au systeme (en commencant par lacomposantexn,Uetant triangulaire superieure)
unnxn = yn
un1,n1xn1 + un1,nxn = yn1 u11x1 + + u1,n1xn1 + u1,nxn = y1.
Maintenantxn= yn/unnet
xni=
yni nj=ni+1 uni,jxj
uni,ni
, i=1,n 1.
Le nombre total de multiplications et additions est a nouveau(n 1)net il fautajouter ndivisions, ce qui donne n2 operations. Donc, pour ngrand le nombre
total des operations en vue de la resolution des deux systemes triangulaires est
de lordre de 2n2. En conclusion, il y a un facteur n/3, pour ngrand, entre lenombre doperations pour la decompositionLU(ou de maniere equivalente pour
lamethodedelimination de Gauss) et le nombredoperations permettant de resoudre
LUx=bdisposant deLetU.
3.3.2 Decomposition LU avec permutations des lignes
Dans lalgorithme ci-dessus il a ete suppose que les elements appeles pivots
a(i1)ii =0, i=1,2, ,n 1. Or, meme pour une matrice inversible ces coeffi-
cients peuvent etre nuls et il convient dy remedier, en permutant des lignes dans
lalgorithme de Gauss. Dune maniere generale, et pour des raisons de stabilite
numerique, on cherchera toujours pour chaque pas de lalgorithme de Gauss de
mettre lelement le plus grand en module en position diagonale.
60
8/13/2019 Cours Calcul Scientifique 2013
62/85
Decomposition LUavec permutations des lignes
Definition 5 Soit une matrice Pi j de la forme
Pi j=
1. . . (0)
1
0 1...
. . . ...
... 1 ...
... . . .
...
1 01
(0) . . .
1
ligne i
ligne j
(3.21)
Alors Pi jA= A avec A matrice obtenue a partir de A en permutant les lignes i etj. De meme, on montre que APi j= A avec A obtenuea partir de A en permutantles colonnes i et j.
On a les relations suivantes
P2i j= I, c.-a-d. P1i j =Pi j, Pi j= P
Ti j ,
car en effet de permuter des lignes iet jdeux fois laisse bien la matrice invariante.
Nous allons modifier lalgorithme du chapitre 1.2.1 en y ajoutant la possibilite de
permuter des lignes a chaque etape. On noteA(0) =Aet on cherche lentierk1t.q.
|a(0)k1,1| = max1kn |a(0)k1 |,
c.-a-d. on cherche lelement le plus grand en module dans la premiere colonne.
On opere la permutation entre ligne 1 et la lignek1et on obtient
A(0) =Pk1,1
A(0)
et ensuite on applique lalgorithme de Gauss a A(0) pour trouver
A(1) =L1Pk1,1A(0).
On considere la deuxieme colonne de A(1) et on veut mettre lelement le plus
grand en position de pivot, c.-a-d. on cherche lentier k2tel que
|a(1)k2,2| = max2kn |a(1)k2
|.
61
8/13/2019 Cours Calcul Scientifique 2013
63/85
Resolution numerique directe de systemes lineaires
On opere la permutation entre ligne 2 et k2pourA(1) dou
A(1) =Pk2,2A(1) =Pk2,2L1Pk1,1A
(0).
A letapeion obtient donc une matrice
A(i) =LiPiLi1Pi1 P2L1P1A(0)
ou lon note
Pj= Pkj,j
aveckjt.q.
|a
(j1)kj,j |
= maxjkn |
a(j1)k j |
.
et a nouveau on aboutit a une matrice triangulaire superieure
A(n1) =Ln1Pn1Ln2Pn1 P2L1P1A(0). (3.22)Afin de comprendre comment on peut interpreter le resultat des produits successifs
des matrices intervenant dans cette expression, on prend le cas particuliern=4 etdonc
A(3) =L3P3L2P2L1P1A0).
ParP2j =Ion peut ecrire
A(3) =L3P3L2P3P3P2L1P2P3P3P2P1A(0) (3.23)
car on nintercale que des matrices identite I. Chaque matrice Ljest de la forme
Lj= I vjeTj. Donc
PkLjPk= I PkvjeTjPk= I (Pkvj)(Pkej)T =I (Pkvj)eTjsik> j, car alors Pkej=ej etant donne que seule la jeme composante de ejestnon nulle etPkpermute des elements dindices> jsik> j. Donc par exemple
P3P2L1P2P3=I (P3P2v1)eT1 =L1.
Dans le cas generalLk= I vkeTket on noteLk= I (Pn1Pn2....Pk+1vk)eTk =I vkeTk. (3.24)
La matriceLkest alors obtenue en operant les permutations successives a partir de
letapek+1 au vecteurvkqui definitLk(voir chapitre 1.2.1). Avec cette definition(3.23) devient
A(3) =L3 L2 L1P3P2P1A(0) (3.25)
62
8/13/2019 Cours Calcul Scientifique 2013
64/85
Decomposition LUavec permutations des lignes
avec la convention queL3=L3. En extrapolant au cas general on trouve
A(n1) =Ln1 Ln2 L2 L1Pn1Pn2 P2P1A(0)
Les structures des matricesLksont analogues aux structures des matricesLk. On
noteP=Pn1Pn2 P2P1et on trouve
PA=LU (3.26)
avec U= A(n1) matrice triangulaire superieure et
L==L11 L12
L1n
2
L1n
1.
Comme pour les inverses des matrice Lkon peut se convaincre queLest triangu-
laire inferieure de la forme
L=
1 0 0 0 0v12 1 0 0 0v13 v22 1 0 0...
... . . .
. . . . . .
...
v1,n1 v2n1 vn2,n1 1 0v1n v2n vn2,n vn1,n 1
(3.27)
avec vk,ila i eme composante du vecteur vkintroduit dans (3.24). Remarque : si
Aest inversible, il y a toujours un element non nul dans les differentes etapes de
lalgorithme a mettre en position de pivot. On peut donc enoncer :
Theoreme 10 Si la matrice A est inversible, alors il existe une matrice de per-
mutation P, une matrice U triangulaire superieure et une matriceL triangulaire
inf erieure avec 1 sur la diagonale, telles que
PA=LU. (3.28)
En pratique on ne garde pas les matrices P1,P
2,
,Pn1
pour former Pmais on
garde leffet des permutations sur les indices. Pour ce faire, on introduit un tableau
dentiers(p1,p2,...,pn)t.q. au depart pi= i. Operant les permutations successivessur les elements de ce tableau, leffet du produit des permutations Ppour tout
vecteurysera(Py)i=ypi . Donc, si on veut resoudre
Ax=b
on formePAx=LUx=Pb=bavecbi=bpiet on resout successivementLy=b
et ensuite Ux=y.
63
8/13/2019 Cours Calcul Scientifique 2013
65/85
Resolution numerique directe de systemes lineaires
Exemple :il convient de traiter un petit exemple afin dillustrer la mise en uvre
de la methodeLU. Prenons la matrice 3 3
A=
3 1 62 1 3
1 1 1
;
On cherche a decomposerAen un produitLU, en operant eventuellement des per-
mutations de lignes au cours des etapes successives de la mise sous forme triangu-
laire. Les matricesLetUobtenues lors de la decomposition etant respectivement
triangulaire inferieure et triangulaire superieure, il savere pratique davoir une
representation compacte a la fois des elements successifs deLet des elements de
U. On rappelle que lon connat les elements sur la diagonale deLqui sont egaux
a 1.
On note(i,j)la position a lintersection de la i eme ligne et de la jeme co-lonne deA. Prenons la premiere colonne de A: lelement le plus grand en valeur
absolue est en position(1,1)et lors de la premiere etape aucune permutation nestnecessaire. On soustraira de la deuxieme ligne la premiere multipliee par 2/3 afinde faire apparatre un 0 en position(2,1). Or, ce nombre 2/3 est bien lelement enposition(2,1)deL. Ensuite on soustraira de la troisieme ligne la premiere multi-pliee par 1/3, afin de faire apparatre un 0 en position(3,1). A nouveau le nombre1/3 est lelement en position(3,1)de la matriceL. Il est alors commode de faireapparatre les elements successifs de la matrice LetUdans un meme tableau de
la facon suivante (avec les elements correspondant aLentre parentheses) 3 1 6(2/3) 1/3 1
(1/3) 2/3 1
.
Letape suivante porte sur la sous-matrice 2 2 a partir de la deuxieme ligne etdeuxieme colonne du tableau ci-dessus : on voit quil convient de permuter les
lignes 2 et 3 afin de mettre dans la deuxieme colonne lelement maximal en posi-
tion(2,2). Dou apres permutation on obtient
3 1 6(1/3) 2/3 1(2/3) 1/3 1
.
Des elements de la troisieme ligne, hormis la premiere colonne qui correspond
aux elements de L, on soustrait la deuxieme ligne multipliee par 1/2, pour faireapparatre le 0 en position (3,2). On met precisement la valeur 1/2, lelement de
L, a cette position. On recupere le tableau 3 1 6(1/3) 2/3 1
(2/3) (1/2) 1/2
,
64
8/13/2019 Cours Calcul Scientifique 2013
66/85
Decomposition LUavec permutations des lignes
dou on tireLetU, a savoir
L=
1 0 01/3 1 0
2/3 1/2 1
, U=
3 1 60 2/3 1
0 0 1/2
.
On obtient donc
PA=LU
avecPune matrice de permutation des lignes 2 et 3
P= 1 0 0
0 0 1
0 1 0 .
En general les matrices de permutation ne sont pas explicitees, il suffit de garder
le resultat des permutations dans un tableau dentiers comme explique ci-dessus,
qui devient ici(1,3,2). Admettons quon cherche a resoudre
A
x1x2
x3
=
27
4
.
Alors dappliquerPrevient a permuter les elements 2 et 3 du second membre et
parPA=LUon obtient
LU
x1x2
x3
=
24
7
.
Dabord on resout
L
y1y2y3
=
2
4
7
ce qui est aise etant donnee la structure triangulaire deL. On trouve y1=2,y2=10/3,y3=4 et la solutionxest obtenue en resolvant U x=y, ce qui est a nouveauaise etant donne queUest egalement triangulaire. On trouve en definitive x1=19,x2= 7,x3= 8.
65
8/13/2019 Cours Calcul Scientifique 2013
67/85
Resolution numerique directe de systemes lineaires
66
8/13/2019 Cours Calcul Scientifique 2013
68/85
8/13/2019 Cours Calcul Scientifique 2013
69/85
8/13/2019 Cours Calcul Scientifique 2013
70/85
Normes de matrices
De maniereequivalente on peutecrire
||A|| = maxxRn, ||x||=1
||Ax||. (4.4)
Tout dabord il faut montrer que les deux definitions (4.3) et (4.4) sont bien
equivalentes. Partant de (4.3), on peut ecrire
||Ax||||x|| = ||
1
||x||Ax|| = ||A
1
||x||x
||
Or, le vecteury = 1||x||x est de norme 1, donc pour toutx = 0,||Ax||||x|| = ||Ay|| avecy de
norme 1. Reciproquement, soitxt. q. ||x|| =1 alors de maniere evidente ||Ax|| =||Ax||||x||. Par consequent, les deux definitions ci-dessus sont bien equivalentes.
On verifie les proprietes habituelles de normes pour||A||. Plus precisement,soit ||A|| defini comme ci-dessus alors :
||A|| 0 et ||A|| =0, si et seulement si A=0; (4.5)||A|| = ||||A||, pour tout R; (4.6)
||A +B| | | |A|| + ||B||, quelles que soient A,B matrices n n. (4.7)
Montrons par exemple (4.5) :||A|| =0 implique dapres la definition que||Ax|| =0 pour tout vecteur xet alors que Ax=0 quel que soit x (dapres lesproprietes de normes vectorielles). Mais on en deduit que A est alors la matrice
identiquement zero. La relation (4.6) est evidente dapres la definition. Linegalite
triangulaire (4.7) se demontre precisement a laide de linegalite triangulaire pour
les normes vectorielles ; en effet
||A +B|| = max||x||=1
||(A +B)x|| max||x||=1
(||Ax|| + ||Bx||) max
||x||=1||Ax|| +max
||x||=1||Bx|| = ||A|| + ||B||
Il reste a etablir deux proprietes fondamentales des normes de matrices, a sa-
voir
||Ax| | | |A||||x|| quel que soit x Rn, (4.8)||AB| | | |A||||B|| pour toutes matricesn n A,B. (4.9)
Linegalite (4.8) decoule directement de la definition ; on utilise cette inegalite
pour montrer que que
||(AB)x|| = ||A(Bx)| || |A||||Bx| || |A||||B||||x||.
69
8/13/2019 Cours Calcul Scientifique 2013
71/85
Normes de matrices, methodes iteratives de resolution de systemes lineaires
Par consequent pour toutx
=0,
||(AB)x||||x|| ||A||||B||
et on en deduit (4.9), le max etant le plus petit des majorants.
En fait, il est possible de caracteriser pour les normes vectorielles usuelles
(4.2) les normes matricielles de||A|| en termes des elements de A que lon noteai j. On a notamment
||A||1= maxj=1,
,n
n
i=
1
|ai j|, (4.10)
||A||= maxi=1,,n
n
j=1
|ai j|. (4.11)
Nous allons demontrer ces relations en T.D. Pour la norme ||A||2, lexpression estun peu plus complexe et fait intervenir la notion de rayon spectral dune matrice.
Le rayon spectral est lie a la notion de valeurs propres de matrices (qui a ete
rappelee au chapitre 2.1).
Definition 7 Soit une matrice n n que lon note B et on note 1,2, ,n lesvaleurs propres de B (complexes en general). Le rayon spectral de B, not e(B),est par d efinition la plus grande des valeurs propres en module, cest-a-dire
(B) = maxj=1,,n
|j|.
On peut montrer la propriete suivante : soient B,Cdeux matricesn n ; alors
(BC) =(CB). (4.12)
Ce resultat assez utile en pratique se demontre de la facon suivante. Soit lavaleurs propres deBCtelle que(BC) =
|
|. Multipliant legaliteBCx = x,x
= 0,
a gauche par Con auraCB(Cx) =Cx. Donc, siCx =0, ce vecteur est vecteurpropre de CBde valeur propre . SiCx=0 alors =0 (car BCx= x). Dansles deux cas (CB) ||car (CB)est la plus grande des valeurs propres enmodule deCB. Dou(CB) (BC). Evidemment, linegalite inverse se montrede la meme facon, commencant par (CB). On en deduit alors legalite (4.12)ci-dessus.
Considerons maintenant la cas particulier dune matrice symetriqueB. On peut
facilement montrer que ses valeurs propres sont reelles. En effet, soit valeurpropre de B, a priori complexe. Alors Bx= xavec x Cn,x =0. On note x
70
8/13/2019 Cours Calcul Scientifique 2013
72/85
8/13/2019 Cours Calcul Scientifique 2013
73/85
Normes de matrices, methodes iteratives de resolution de systemes lineaires
Prenons la valeur absolue de cette expression, on aura
|xTBx| n
i=1
2i |i| (B)n
i=1
2i =(B)xTx
car(B) =maxi=1,,n |i| et on montre que xTx=ni=12i.
Apres ce petit detour, revenons aux normes des matrices et en particulier la norme
||A||2avecAmatricen n. On montre que
||A||2= (ATA) = (AAT) (4.14)avec(ATA)le rayon spectral de la matrice ATA.
Nous allons demontrer ce resultat. Les proprietes des rayons spectraux rap-
pelees ci-dessus permettent daffirmer tout dabord que (ATA) =(AAT). En-suite, la matrice ATAest symetrique, donc, ses valeurs propres sont reelles et en
plus positives ou nulles. En effet, si x =0 est vecteur propre de valeur propre ,alorsATAx= ximplique que xTATAx= xTx: or, xTATAx= (Ax)TAx 0 etbien surxTx>0 et on en deduit que 0. Rappelons la definition de la norme
||A||2= maxxRn,x=0
||Ax||2||x||2
et bien sur ||Ax||22= (Ax)T(Ax) =xTATAx ; prenant dans (4.13)B =ATA (en omet-tant la valeur absolue), on deduit la majoration
||Ax||22 (ATA) ||x||22et donc
||A||2 (ATA).
Soit maintenant i 0 valeur propre de ATAtelle que (ATA) =iet x(i) =0vecteur propre associe : alors
||Ax(i)
||2
2= (Ax(i))TAx(i) =x(i)TATAx(i) =
ix(i)Tx(i) = (ATA)
||x(i)
||2
2.
On en deduit, par la definition de la norme, linegalite inverse
||A||2 (ATA),
ce qui acheve la demonstration de (4.14).
Prenons le cas particulier ou la matrice Aelle-meme est symetrique. Alors
ATA=A2 et etant donne que(A2) = (A)2 on on aura le resultat
||A||2= (A), pour toute matriceAsymetrique. (4.15)
72
8/13/2019 Cours Calcul Scientifique 2013
74/85
Application : conditionnement dun systeme lineaire
4.2.1 Application : conditionnement dun systeme lineaire
La notion de norme de matrice permet notamment devaluer ce quon appelle
le conditionnement dun systeme lineaire. Soit a resoudre
Ax=b
avec Amatrice n ninversible et b Rn un vecteur donne. Lorsquon evalueles coefficients reels de b a laide dun ordinateur, les valeurs ne sont en general
pas reproduite exactement mais plutot avec des erreurs darrondis. Donc, au lieu
de resoudre le systeme ci-dessus on aura plutot un second membre b +bet oncherche a evaluer leffet debsur la solution exactex, donc on cherche a evaluerlerreur xtelle que
A(x +x) =A(b +b).
ParAx=bon peut ecrirex=A1b
et par la propriete (4.8) appliquee aA1 on aura
||x| || |A1||||b||.De meme, deb=Axon deduit
||b| || |A||||x||.
On obtient ainsi la relation entre lerreur relative sur la solution en fonction delerreur relative du second membre
||x||||x|| ||A||||A
1||||b||||b|| . (4.16)
La quantite||A| | | |A1||, noteecond(A), est appelee conditionnement de A:plus le conditionnement cond(A)est grand, plus lerreur sur la solution risquedetre grande, par rapport a lerreur bdue au second membre.
Prenons la norme
||A
||22=(A
TA) = maxi=1,,n
i(ATA)
aveci(ATA)les valeurs propres (positives) de ATA. De meme,
||A1||22=
(A1)TA1
= A1(A1)T
=
(ATA)1
.
On observe que les valeurs propres de (ATA)1 secrivent 1/i(ATA). On endeduit, le rayon spectral etant la plus grande des valeurs propres de (ATA)1,que
||A1||22= 1
mini=1,ni(ATA).
73
8/13/2019 Cours Calcul Scientifique 2013
75/85
Normes de matrices, methodes iteratives de resolution de systemes lineaires
Par consequent
||A||||A1|| =
maxi=1,,ni(ATA)mini=1,,ni(ATA)
1/2. (4.17)
Pour une matrice symetrique cette relation devient simplement
||A||||A1|| =maxi=1,,n |i(A)|mini=1,,n |i(A)| , si A est symetrique, (4.18)
aveci(A)les valeurs propres (reelles) deA.
4.3 Conditions de convergence
Apres ce detour, indispensable, par des normes de matrices, revenons a la
resolution de
Ax=b
par une methode iterative
Mx(k+1) =Nx(k) + b, k=0,1,2, , A=MN. (4.19)Nous avons vu au chapitre 2.1, que si la suite de vecteurs x(k) converge, alors la
limite est precisement la solution xde Ax= b. Aussi, dapres (4.1), le vecteurerreurr(k) =x(k) xest solution du systeme
r(k) = Ck r(0), C=M1N, (4.20)
et donc la methode converge quel que soit le vecteur initialx(0), si et seulement si
Ck 0, quand k . (4.21)Nous pouvons enoncer le resultat suivant concernant la convergence de la methode
iterative (4.19).
Theoreme 12 La methode it erative (4.19) converge quel que soit le vecteur initialx(0), si et seulement si(C)
8/13/2019 Cours Calcul Scientifique 2013
76/85
Conditions de convergence
x
=0 vecteur propre associe. AlorsCx= xet en iterantCkx= kx. Or, si
|
1,
alors k, ne tend pas vers vers zero pour k (et donc Ck ne tend pas verszero). Il reste a montrer que si (C)
8/13/2019 Cours Calcul Scientifique 2013
77/85
Normes de matrices, methodes iteratives de resolution de systemes lineaires
4.4 Methode de Jacobi et de Gauss-Seidel, methode
de relaxation
On reprend, pour la resolution deAx=b, le systeme iteratif
Mx(k+1) =Nx(k) + b, k=0,1,2, , avec A=MN. (4.22)
Bien sur, lexpression de Mdefinit une methode iterative en particulier ; pour la
resolution de la recurrence les systemes avecMdoivent pouvoir etre resolus faci-
lement et une decomposition possible est de prendre pourMla matrice diagonale
formee par la diagonale de A. Plus precisement, si lon note ai j, i=1, ,n,j =1, ,n,les coefficients deA, on introduit 3 matrices D,E,Fcomme suit :
D=
a11. . . (0)
(0) . . .
ann
, (4.23)
E=
0
a21. . . (0)
... . . .
. . .
an1 an,n1 0
Top Related