Calcul scientifique Licence de M´ Mecanique-3` e´ canique-3eme e` me ann´ annee e´ e Universit´ Universite´ d’Aix-Marseille, 2013-2014 Uwe Ehrenstein 12 septembre 2013
Table des mati` matieres e` res 1
Inter Interpol polati ation on et int´ integration e´ gration num´ nume´ rique 3 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Inte Interrpolatio tion polyn lynomiale . . . . . . . . . . . . . . . . . . . . . . 5 1.2 1.2.1 Polynˆ olynˆomes de Lagrange . . . . . . . . . . . . . . . . . . 8 1.3 Int´egration egration num´eriqu eriquee : les formul formules es de Newto Newton n et Coates Coates . . . . . 9 1.4 L’erreur ’erreur dans dans les formule formuless de Newton Newton et et Coates Coates : la formule formule de Peano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.1 Erreurs Erreurs dans les formules formules des trap`ezes ezes et de Simpson pour l’intervalle [ a, b] . . . . . . . . . . . . . . . . . . . . . . 19
2
Resolution e´ solution num´ numerique e´ rique des ´equations equations diff erentie e´ rentielles lles ordin ordinair aires es (EDO) (EDO) 2.1 Resultats ´ g´en´ en´eraux sur les EDO . . . . . . . . . . . . . . . . . . 2.1 2.1.1 Syst`emes emes d’´equations equations diff´erentielle erentielless lin´eaires eaires a` coeffic coefficients ients constants . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. 2.1.2 2 Calc Calcul ul de l’exp l’expon onen entie tielle lle de la matr matric icee . . . . . . . . . . . 2.2 Sch´emas emas a` un pas pour la r´esolut olutio ion n d’un ’une EDO . . . . . . . . . . 2.2.1 2.2.1 Ordre Ordre d’un d’un sch´ sch´ema, ema, consistance, consistance, stabilit´ stabilite´ et con converge vergence nce . 2.2. 2.2.2 2 Les Les sch´ sch´emas de Runge-Kutta . . . . . . . . . . . . . . . .
23 27 34 36 42
Resolution e´ solution num´ numerique e´ rique directe de syst emes e` mes lin´ line´ aires 3.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . LU d’un 3.2 Decomposition LU ecomposition ´ d’unee matr matric icee trid tridia iago gona nale le . . . . . . LU de matrices . . . . . . . . . . . . . . 3.3 Decomposition LU ecomposition ´ 3.3.1 Algorithme de Gauss . . . . . . . . . . . . . . . 3.3.2 D´ecomposition LU ecomposition LU ave avecc perm permut utat atio ions ns des des ligne ligness
49 49 52 55 55 60
3
4
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Norm Normes es de de mat matri rice ces, s, m´ methodes e´ thodes it´ iteratives e´ ratives de r esolution e´ solution de syst emes e` mes lin´ line´ aires 4.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Normes de matrices . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Applicatio Application n : conditionn conditionnemen ementt d’un syst`eme eme lin´eaire . . . 1
21 21
67 67 68 73
` TABLE DES MATI ERES
4.3 4.4
Conditio ition ns de convergence . . . . . . . . . . . . . . . . . . . . . 74 Methode ´ de Jacobi et de Gauss-Seidel, m´ethode ethode de relax relaxati ation on . . . 76 4.4. 4.4.1 1 Quel Quelqu ques es r´esultats esultats de convergence de m´ethodes ethodes it´erat e rativ ives es . 78
2
Chapitre 1 Interpolation et int´ integration e´ gration num´ numerique e´ rique 1.1 1.1
Moti otivati vation on
En g´en´ en´eral eral il n’est gu`ere ere possible de trouver la valeur valeur exacte d’une int egrale e´ grale
Z a
b
f ( x) dx
f , ou sauf dans le cas o`u on connaˆıt ıt explicitement une primitive de la l a fonction f , f permet par exemple une int´egration alors lorsque l’expression de la fonction f permet egration par parties ou un changement de variable appropri´e. e. L’id´ee ee est alors d’approcher l’int´egrale egrale par une somme. La m´ethode ethode la plus rudimentaire rudimentaire est d’utiliser d’utiliser les sommes de Riemann. Si on introduit les n + 1 points j x j = a + (b n
− a),
j = 0, 1,
· · ·, n
alors une somme de Riemann, appel´ee ee encore formule des rectangles `a gauche, est donn´ee ee par 1 n−1 S g = ∑ f ( x j ). n j=0 L’expression S g correspond a` la somme des aires de tous les rectangles de base x j , x j+1 ] (de longueur h longueur h = 1/n) et de hauteur f ( x j ), qui est la valeur de f ( x j ) “`a [ x gauche” du petit intervalle [ x j , x j+1 ]. Dans la formule des rectangles “`a droite” on prend la valeur f ( x j+1 ) pour obtenir 1 n−1 S d d = ∑ f ( x j+1). n j=0 3
Interpolation et int´ egration num´ erique
Ces deux approximations sont illustr´ees ees sur la figure 1.1 par les aires hachur´ees. ees. On sait que, pour des fonctions f continues, ces ces sommes tendent pr´ecis´ ecis´ement ement vers l’int´egrale, egrale, lorsque n lorsque n tend tend vers l’infini, c.-`a-d. a-d. lorsqu’on op`ere ere une sous-division de plus en plus fine de l’intervalle d’int´egration. egration. f (x)
S g
a
b
x
b
x
f (x)
S d
a
F IG . 1.1 – Formule des rectangles rectangles `a gauche (haut) et des rectangles `a droite (bas).
Pour construire ces sommes, on peut dire que l’on approche la fonction dans l’intervalle [ x j , x j+1 ] par une constante, ´egale egale a` f ( x j ) pour la somme S somme S g et egale e´ gale x j , x j+1 ] la a` f ( x j+1 ) pour la somme S d d . On peut donc dire que sur l’intervalle [ x fonction est approch´ee ee par un polynˆome ome de degr´e z´ero, ero, c.c.-`a-d. a` -d. une constante. 4
Interpolation polynomiale
L’id´ee ee de l’interpolation polynomiale est pr´ecis´ ecis´ement ement d’approcher une fonction tion sur sur des des inte interv rval alle less donn´ donn´ees ees par par des des polynˆ polynˆomes o mes de degr´ degr´es es plus plus ou moins moins elev´ e´ lev´es, es, selon le nombre de points que l’on consid consid`ere e` re dans l’intervalle.
1.2
Interp Interpolat olation ion polynomi polynomiale ale
Tout d’abord il faut pr´eciser eciser ce que l’on entend par interpolation. interpolation. Il s’agit de construire une fonction ayant des valeurs donn´ees ees en des points donn´es. es. Plus pr´ecis´ ecis´ement, ement, soient n soient n + 1 donn´ees ees
( x0 , y0 ), ( x1 , y1 ),
·· · · · , ( x , y ), n
n
(1.1)
ou` x j , j = 0, , n, d esignent e´ signent par exemple les abscisses et y j , j = 0, , n les ordonn´ees ees pouvant etre eˆ tre les valeurs d’une fonction en x j , c.-`a-d. a-d. y j = f ( x j ). Lors x j on ne conna qu’on qu’on rel` rel`eve eve par exemp exemple le des “mesur “mesures” es” aux points points x connaˆˆıt ıt par pr´ecis´ ecis´ement ement la fonction f associ´ associ´ee ee a` cette mesure, mais seulement la valeur de cette fonction (la mesure) aux points x points x j . On suppose que les abscisses sont distinctes, c.-`a-d. a-d. xi = x j si i = j et on cherche donc une fonction g telle g telle que
···
···
g( xi ) = yi .
(1.2)
Evidem Evidemmen ment, t, on cherc cherche he la foncti fonction on g sous sous une une cert certai aine ne form formee et dans dans une une proc´ proc´edure edure d’interpolation on ecrit g e´ crit g comme comme une combinaison lin´ lin eaire e´ aire de n de n + 1 fonctions h0 ( x), h1 ( x), donn´ees. ees. On ecrit e´ crit ainsi
· · · , h ( x) n
n
g( x) =
∑ c j h j ( x)
(1.3)
j=0
et les conditions d’interpolation deviennent deviennent h0 ( xi )c0 + h1 ( xi )c1 +
· · · + h − ( x )c − + h ( x )c = y , n 1
i
n 1
n
i
n
i
i = 0, 2,
· · · , n. (1.4)
Introduisant le vecteur des inconnues de n de n + 1 composantes T
d = = ( c0 , c1 ,
···,c )
z = ( y0 , y1 ,
· · · , y )
n
et le vecteur solution n
T
on peut encore ecrire e´ crire le syst`eme eme sous forme matricielle pour une matrice A de coefficient a coefficient a i j Ad = = z, avec
ai j = h j−1 ( xi−1 ), i = 1, 5
· · · , n + 1, j = 1, · · · , n + 1.
(1.5)
Interpolation et int´ egration num´ erique
d et Si la matrice A matrice A est est inversible, alors le syst`eme eme ci-dessus admet une solution d et une seule en fonction du vecteur z vecteur z.. L’interpolation polynomiale consiste a` prendre comme fonctions h j ( x) des monˆomes omes h j ( x) = x j , j = 0, , n, (1.6)
···
n que l’on note pn et c.-`a-d. a-d. on cherche g cherche g sous sous la forme d’un polynˆome ome de degr´e n que n
∑ c j x j .
pn ( x) =
(1.7)
j=0
A de (1.5) sont Dans ce cas les coefficients de la matrice A de
−
j 1
ai j = xi−1 , et la matrice A matrice A qui qui en r´esulte esulte est appel´ee ee matrice de Vandermonde de Vandermonde
A =
1 1 .. .
x20 x21 .. .
x0 x1 .. .
1 xn−1 x2n−1 x2n 1 xn
−
··· ···
xn0 xn1 .. .
··· ···
xnn 1 xnn
.
(1.8)
On peut montrer montrer (voir des ouvrages ouvrages d’alg`ebre ebre lin´eaire) eaire) que le d eterminant e´ terminant de cette matrice est det( A) = ∏ ( x j xi ) 0 i< j n
≤ ≤
−
et et donc ce d´eterminant eterminant est non nul si x i = x j quand i quand i = j. Le syst`eme eme (1.5) est = (c0 , , cn )T quel donc inver inversible sible,, c’est-` c’est-`a-dire a-dire qu’il existe existe une solution solution unique d = que soit z soit z = ( y0 , , yn )T . On peut donc enoncer e´ noncer le th´eor` eor`eme eme suivant.
···
···
Th´ Theor` e´ oreme e` me 1 Soient ( (n + 1) points xi , i = 0, , n, distincts deux a` deux et ( (n + 1) valeurs y0 , y1 , , yn . Alors il existe un unique polyn ome degr e´ n, not e´ ˆ de degr ´ ´ pn , tel que pn ( xi ) = yi , i = 0, , n.
···
···
≤
···
Supposons maintenant que les valeurs valeurs y j correspondent a` la valeur valeur d’une d’une foncfonction f aux aux points x points x j et soit l’unique polynˆome ome de degr´e n tel que
≤
f ( x j ) = p n ( x j ), j = 0,
· · · , n. (1.9) On dira que p interpole f aux aux points x points x , j = 0, · · · , n. Par cons´equent, equent, f et p co¨ıncident ınci dent aux a ux point po intss x , appel´es es points d’interpolation ; mais qu’en est-il est-il en un point x point x = e´ noncer le th´eor` eor`eme eme suivant. x ? On peut enoncer n
j
n
j
j
6
Interpolation polynomiale
Th´ Theor` e´ oreme e` me 2 Supposons que les points x j , j = 0, , n sont dans un intervalle [a, b] et que f est ( ( n + 1) fois continument d erivable dans l’intervalle [ a, b]. Soit ˆ ´ ´ x [a, b] et on introduit la fonction
···
∈
φ( x) = ( x x0 )( x x1 )
− · · · ( x − x ).
−
n
(1.10)
On note Rn ( x) = f ( x)
− p ( x)
n
(1.11)
ξ x dans le plus petit intervalle qui l’erreur d’interpolation. Alors il existe un point ξ contient x, x0 , xn (donc ξ x [min( x, x0 , , xn ), max( x, x0 , , xn )]) tel que
···
∈
···
Rn ( x) =
···
φ( x) (n+1) f (ξ x) (n + 1)!
(1.12)
ξ x . avec f (n+1) (ξ x ) la d eriv´ eriv eme de f au point ξ ´ ´ ee ´ n + 1 `eme La formule (1.12) est evidente e´ vidente si x si x = x j , car dans ce cas R n ( x j ) = φ ( x j ) = 0. Pour d´emontrer emontrer le r´esultat esultat lorsque x lorsque x = x j , on introduit une fonction
F (t ) = Rn (t )φ( x) Rn( x)φ(t ).
− La fonction s’annule aux points x points x , j = 0, · · · n, car R car R ( x ) = 0 et φ ( x ) = 0, mais j
n
j
j
eegalement ´ galement par construction au point x. Donc, F (t ) poss`ede ede (n + 2) z´eros. eros. Or, d’apr`es es le th´eor` eor`eme eme de Rolle, si une fonction d´erivable erivable s’annule en deux points, il y au moins un point entre ces deux z´eros eros o` ou` la d´eriv´ eriv´ee ee de la fonction s’annule. Ici F (t ) a n a n + 2 z´eros, eros, donc il y a au moins n moins n + 1 points ou` la d´eriv´ eriv´ee F ee F ′ s’annule. On peut ensuite appliquer le th´eor` eor`eme eme de Rolle a` F ′ , ensuite a` F ′′ etc. On en d´eduit eduit qu’il existe au moins un point ξ x tel que la d´eriv´ eriv´ee n ee n + 1 `eme eme de F de F (t ) (n+1)
F (n+1) (t ) = Rn
(t )φ( x) Rn ( x)φ(n+1) (t )
−
(n+1)
s’annule. Mais R Mais R n (t ) = f (t ) pn(t ) et R et R n eriv´ee n ee n + 1 (t ) = f (n+1) (t ), car la d´eriv´ eme e` me de p de p n (t ) est identiquement egale e´ gale a` z´ero). ero). Par ailleurs, il est facile de constater n+1) ( que φ (t ) = (n + 1)! et l’expression de l’erreur d’interpolation (1.12) s’ensuit.
−
Evidemment, sauf dans des cas particuliers le point ξ x , qui d´epend epend de x de x pour pour des points d’interpolation x d’interpolation x j , j = 0, , n, donn´es, es, n’est pas connu explicitement. De (1.12) on peut par exemple d´eduire eduire la majoration
···
....( x − x )| | R R ( x)| ≤ C + |( x −(n x+)1....( )! n
n 1
0
n
avec 7
C n+1 = max f (n+1) ( x) (1.13) x [a,b]
∈
|
|
Interpolation et int´ egration num´ erique
....( x xn ) = φ( x) . La majoration de l’erreur est donc fonction de ( x x0 )....( On peut essayer essayer de trouver trouver une majoration majoration de cette quantit´ quantit´e. e. On suppose avoir ordonn´e les points dans l’ordre croissant
| −
x0 <
· · · < x < x + < · · · < x i 1
i
− | |
|
n
et que h que h soit soit la distance maximale entre deux points successifs. On suppose que x est x est tel que x h2 /4. que x i < x < x i+1 alors on peut affirmer que ( x xi )( x xi+1 ) x xi−k (k + 1)h, k = 1, , i et x x xi+k kh, k = 2, n i. On peut Ensuite, x en d´eduire eduire la majoration 2 n−1 h φ( x) n!h 4 et substituant cette expression dans (1.13) on trouve la majoration
| − |≤
| − | − |≤
···
|
| R R ( x)| ≤ n
− |≤ ··· −
|≤
C n+1 hn+1 avec 4(n + 1)
C n+1 = max f (n+1) ( x) x [a,b]
∈
|
|
(1.14)
avec h avec h la la plus grande distance entre deux points d’interpolation voisins.
1.2. 1.2.1 1
ˆomes Polyn olyn ˆ omes de Lagrange
Une fac f ac¸ on commode com mode de d e d´ determiner e´ terminer le polynˆome ome d’interpolation pn ( x) qui interpole une fonction f ( x) aux points distincts x0 , x1 , x2 , , xn est d’utiliser les polynˆomes omes de Lagrange.
···
Definition e´ finition 1 Soient donn´ 1 points distincts x 0 , x1 , , xn ; les polyn omes donnes ´ n + 1 ˆ de Lagrange L 0 , L1 , , Ln associ´ associes ´ a` ces points sont des polyn omes ˆ de degr ´ degr e´ n d efinis efin d e fac f ac¸ on a` ce que ´ ´ is de
···
···
L j ( xk ) = pour j = 0, 1,
1 si 0 si
j = k j = k
k = = 0, 1,
· · · , n,
(1.15)
· · · , n.
Soit donc L j ( x) qui par d´efinition efinition s’annule en n points x points x k , k = j et il s’´ecrit ecrit par cons´equent equent
n
L j ( x) = a ∏ ( x xk ) k =0
−
k = j
a . On en d´eduit et la condition L condition L j ( x j ) = 1 fournit la constante a. eduit que le j eme e` me polynˆome ome de Lagrange Lagrange s’´ s’ ecrit e´ crit n
L j ( x) =
−
x xk
∏ x j − xk , k =0
k = j
8
j = 0,
· · · n.
(1.16)
Int´ egration num´ erique : les formules de Newton et Coates
On peut alors ais´ement ement construire l’unique polynˆome ome d’interpolation pn ( x) de degr´e n tel que pn ( xk ) = f ( xk ), k = = 0, , n.
≤
···
En effet, il peut s’´ecrire ecrire sous la forme n
pn ( x) =
∑ f ( x j ) L j ( x).
(1.17)
j=0
En effet, l’expression l’expression ci-dessus est bien un polyn ome o ˆ me de degr´e
≤ n et
n
pn ( xk ) =
∑ f ( x j ) L j ( xk ) = f ( xk ),
j=0
d’apr`es es la d´efinition efinition (1.15) des polynˆomes omes de Lagrange. C’est pr´ecis´ ecis´ement ement l’interpolation polynomiale qui permet de construire des formules d’int´egration. egration.
1 .3
Integration e´ gration num´ numerique e´ rique : les formules formules de Newton et Coates
On suppose donn´e un intervalle [ c, d ] et on cherche a` evaluer e´ valuer I = =
Z
d
f ( x)dx
c
f . L’id´ee f par un popour une fonction (continue) f . ee est d’approcher la fonction f par lynˆome ome de degr´e l qui interpole f en des points discrets dans l’intervalle l’intervalle [ c, d ]. Soient donc une sous-division de l de l + 1 points de l’intervalle, c.-`a-d. a-d.
≤
x j = c + jh j h, j = 0,
· · ·, l
h =
et
d
− c. l
D’apr`es es l’expression (1.17) le polynˆome ome pl qui interpole f en f en ces points peut s’´ecrire ecrire a` l’aide des polynˆomes omes de Lagrange et l
pl ( x) =
∑ f ( x j ) L j ( x).
j=0
Une formule d’int´egration egration num´erique erique est obtenue par la somme
Z c
d
pl ( x) =
l
∑ f ( x j )
j=0
9
Z c
d
L j ( x)dx
(1.18)
Interpolation et int´ egration num´ erique
et il faut alors evaluer e´ valuer les int´ integrales e´ grales des polyn polynˆomes oˆ mes de Lagrange. Faisons le changement de variable l
L j (c + ht ) = φ j,l (t ) = ∏
x = c + ht , donc
k =0
t j
k = j
− k − k
(1.19)
(on ecrit e´ crit φ j,l (t ) car ces fonctions d´ependent ependent bien sˆur ur de l ). On peut alors ecrire e´ crire hdt ) (etant e´ tant donn´e que d que dxx = hdt )
Z c
d
L j ( x)dx = hα j,l avec
α j,l =
Z
l
0
φ j,l (t )dt .
(1.20)
Donc, la formule d’int´egration egration s’´ecrit ecrit
Z
l
d
pl ( x) = h ∑ α j,l f ( x j ).
c
(1.21)
j=0
Exemples : 1. Pour l Pour l = 1, il y a dans ce cas 2 points dans l’intervalle,
Z
α0,1 =
α1,1 =
Z
Z t − 1 1 (t )dt = = dt = = 1
φ0,1
0
et
Par cons´equent equent
1
Z
0
1
0
φ1,1 (t )dt = =
d
p1 ( x)dx =
( 1)
Z 0
−
1
t dt = =
2
1 . 2
h
( f ( x0 ) + f ( x1 )) 2 2. Pour l Pour l = 2, donc avec 3 points dans l’intervalle, c
α0,2 =
Z
2
0,2
0
2
α1,2 =
et
(1.22)
Z (t − 1)(t − 2) 1 φ (t )dt = = dt = = , 2 3 Z Z t (t − 2) 4
2
0
2
φ1,2 (t )dt = =
= − dt = 3 Z Z t (t − 1) 1 α , = φ , (t )dt = = dt = = . 0
0
2
22
0
( 1)
2
22
0
2
3
Dans ce cas, on obtient la formule
Z c
d
h p2 ( x)dx = ( f ( x0 ) + 4 f ( x1 ) + f ( x2 )) . 3 10
(1.23)
Int´ egration num´ erique : les formules de Newton et Coates
Consid´erons erons maintenant un intervalle [ a, b] et une fonction f ( x) continue sur cet intervalle. On sous-divise l’intervalle en N en N + 1 points xi = a + ih, i = 0, 1,
· · · , N , avec
h =
−
b a . N
L’id´ee ee est de consid´erer erer des sous-intervalles a` l’int´erieur erieur de [ a, b] avec l avec l + 1 points > et d’interpoler sur ces sous-intervalles f par par des polynˆomes omes de degr´e l , pour N pour N > l (et en g´en´ N grand devant l ). Plus pr´ecis´ N est un en´eral eral N grand ecis´ement, ement, supposons que N est = lM l M et multiple de l de l,, c’est-`a-dire N a-dire N = et on d´efinit efinit les M les M sous-intervalles sous-intervalles
[ x xil , x(i+1)l ], i = 0,
· · · , M − 1
(1.24)
dont chacun contient l contient l + 1 points. Ces intervalles intervalles jouent le rˆole ole de l’interv l’intervalle alle [c, d ] ci-dessus : interpolant f sur sur cet intervalle par le polynˆome ome d’interpolation pi,l ( x) de degr´e l, e´ crire par (1.21) pour les points x points x il , xil +1 , , x(i+1)l l , on peut ecrire
Z
···
x(i+1)l
xil
l
pi,l ( x)dx = h ∑ α j,l f ( xil + j ).
(1.25)
j=0
Evidemment, ces sommes sont des approximations approximations de la vraie int egrale e´ grale
Z
x(i+1)l
xil
f ( x)dx
et l’analyse de l’erreur fait l’objet du paragraphe suivant. Raccordant toutes ces formules on obtient une formule d’int d’int´egration e´ gration qui est une approximation de
Z
b
a
f ( x)dx .
On note cette formule d’int´egration I egration I N ,l ( f ) et elle fait intervenir N intervenir N + 1 points, avec N = = lM l M . Cette formule est appel´ee ee de Newton Newton et Coates ; on l’obtient en sommant les expressions (1.25) et donc
−
M 1
I N ,l ( f ) = h
l
∑ ∑ α j,l f ( xil + j )
i=0
j=0
,
N = = lM l M .
(1.26)
Exemples : 1. Prenons l = 1 dans la formule ci-dessus : alors il a et´ e´ t´e montr´e plus haut que α0,1 = α1,1 = 1/2 et on obtient la formule bien connue des trap`ezes ezes
−
N 1
I N ,1 ( f ) = h
1 ( f ( xi + f ( xi+1 )) 2 i=0
∑
11
Interpolation et int´ egration num´ erique
que l’on peut encore ´ecrire ecrire N −1 h I N ,1 ( f ) = ( f ( x0 ) + f ( x N )) + h ∑ f ( xi ). 2 i=1
(1.27)
Bien Bien sur, uˆ r, le nom vient du fait que sur chaque intervalle [ x xi, xi+1 ] on approche la fonction par un polynˆome ome de degr´e 1, donc une droite, et l’aire obtenue est celle du trap`eze eze qui en r´esulte esulte (cf. figure 1.2).
f (x)
a
b
x
FIG . 1.2 – Sch´ema ema illustrant la formule des trap`ezes. ezes.
2. Pour l Pour l = 2 nous avons avons montre montre plus haut que α0,2 = 1/3, α1,2 = 4/3 et α2,2 = 1/3 et la formule correspondante correspondante s’´ecrit ecrit
−
M 1
I N ,2 ( f ) = h
1 ( f ( x2i ) + 4 f ( x2i+1 ) + f ( x2i+2 )) , 3 i=0
∑
N = = 2 M ,
ou encore h 4h M −1 2h M −1 I N ,2 ( f ) = ( f ( x0 ) + f ( x N ))+ )) + = 2 M . (1.28) ∑ f ( x2i+1) + 3 ∑ f ( x2i ), N = 3 3 i=0 i=1 Cette formule est appel´ee ee la formule la formule de Simpson. Simpson . 12
L’erreur ’erreur dans les formules formules de Newton Newton et Coates : la formule de Peano
1.4
L’err erreur dans les formu rmules les de Newt Newton on et Coate oatess : la formule de Peano
Pour evaluer e´ valuer l’erreur que l’on fait en approchant l’int egrale e´ grale par une somme du type (1.26), il convient de consid´erer erer d’abord l’intervalle [ xil , x(i+1)l ] avec l avec l + 1 points que l’on note pour pour simplifier a` nouveau [c, d ]. Sur de tels intervalles on note egrale et la formule d’int´egration egration et R( f ) l’erreur entre l’int´egrale R( f ) =
Z
l
d
c
f ( x)dx
− h ∑ α f ( x ) j
j
(1.29)
j=0
ou` pour simplifier on omet l’indice l l’indice l pour pour les coefficient α j de la formule. Tout d’abord il faut remarquer que si la fonction f elle-mˆ elle-mˆeme eme est un polynˆ polynome oˆ me de degr´e inf´erieur erieur ou egal e´ gal a` l , alors R( f ) = 0. En effet, dans ce cas f est est identique a` son polyn polynome oˆ me d’interpolation pl . En effet, l , la fonction r si f est est un polynˆome ome de degr´e inf´erieur erieur ou egal e´ gal a` l, fonction r ( x) = f ( x) pl ( x) (qui est un polynˆome ome de degr´e inf´erieur erieur ou egal e´ gal a` l ) s’annule en les l les l + 1 points x j , j = 0, , l ; or, un polynˆ l a au plus l polynome oˆ me non nul de degr´e l a plus l z z´eros e´ ros r´eels eels et on en d´eduit eduit que r que r ( x) = 0. Soit maintenant f quelconque et et afin de trouver une formule g´en´ en´erale erale de l’erreur d’int´egration, egration, on suppose que f est l + 1 fois continˆument ument d´erivable erivable dans l +1 [c, d ]. On ecrira e´ crira f C [c, d ]. On rappelle la formule de Taylor avec reste sous forme int´egrale egrale
−
···
∈ ∈
f ( x) = (on ecrit e´ crit
( x − c)l 1 ′ (l ) f (c) + f (c)( x − c) + · · · + f (c) +
f ( j)
l!
l!
Z
x
c
f (l +1) (t )( )( x
l
− t ) dt
(1.30)
f ). On introduit la fonction pour la d´eriv´ eriv´ee ee j `eme eme de f ). ql ( x, t ) =
( x
l
− t ) , 0,
ce qui permet d’´ecrire ecrire
Z c
x
(l +1)
f
(t )( )( x
l
− t ) dt = =
Z c
d
≥
si x si x t si x si x < t
(1.31)
f (l +1) (t )ql ( x, t )dt .
(1.32)
Ecrivant le reste sous forme int´egrale egrale avec la fonction ql ( x, t ) fait que la borne sup´erieure erieure de l’int´egrale egrale est d est d et et non pas x pas x.. La formule de Taylor devient donc 1 f ( x) = p ( x) + l!
Z
d
c
13
f (l +1) (t )ql ( x, t )dt
(1.33)
Interpolation et int´ egration num´ erique
avec
( x − c)l ′ (l ) f (c) + f (c)( x − c) + · · · + f (c)
p( x) =
l! qui est un polynˆome ome de degr´e inf´erieur erieur egal e´ gal a` l . Donc, d’apr`es es ce qui pr´ec` ec`ede, ede, R( p) =
Z
l
d
p( x)dx
c
− h ∑ α p( x ) = 0. j
j
j=0
Il s’ensuit que 1 R( f ) = l!
Z Z d
c
d
(l +1)
f
c
(t )ql ( x, t )dt dx
−
1 l h ∑ α j l ! j=0
Z
d
c
f (l +1) (t )ql ( x j , t )dt .
Or, un peut intervertir l’ordre d’int´egration egration dans l’int´ l’i nt´egrale egrale double et l’int´ l’integrale e´grale d’une somme etant e´ tant la somme des int´egrales, egrales, on obtient le th´eor` eor`eme eme
Th´ Theor` e´ oreme e` me 3 Soit Soit f C l +1 [c, d ] ; alors l’erreur (1.29) commise en approchant l’int egrale par la formule d’int ´ d’int egration de Newton et Coates est ´ ´ ´
∈ ∈
R( f ) =
Z
d
c
f (l +1) (t )K l (t )dt ,
(1.34)
K l (t ) ´ etant la fonction dite de Peano dont l’expression est K l (t ) =
1 l!
Z
l
d
c
ql ( x, t )dx
− h ∑ α q ( x , t ) j l
j
j=0
(1.35)
avec ql ( x, t ) la fonction donn ee ´ par (1.31).
Exemples de fonctions de Peano : 1. Consid´erons erons d’abord le cas l cas l = 1 et la formule des trap`ezes ezes (1.22). Dans ce cas [c, d ] contient contient deux points points et d et d c = h. Il convient alors de consid´erer erer un intervalle intervalle type de longueur h longueur h,, par exemple [0, h]. Il suffit de d´eterminer eterminer la fonction de Peano car cette cette foncti fonction on dans dans tout tout autre autre interv intervall allee de longue longueur ur h peut etre eˆ tre K 1 (t ) pour [0, h] car h peut obtenue par translation de la variable. Pour l = 1 la fonction q 1 ( x, t ) est d’apr`es es (1.31) si x t ( x t )1, si x q1 ( x, t ) = 0, si x si x < t
−
Alors pour t pour t
∈ [0, h] on aura
Z 0
h
q1 ( x, t )dx =
−
Z t
≥
h
( x 14
− t )dx =
(h
− t ) 2
2
L’erreur ’erreur dans les formules formules de Newton Newton et Coates : la formule de Peano
t de la deuxi`eme (la borne inf´erieure erieure t de eme int´egrale egrale ci-dessus etant e´ tant due au fait que q1 ( x, t ) = 0 si x si x < t ). ). Si t Si t [0, h], on d´eduit eduit de l’expres l ’expression sion de q de q 1 que q que q1 (0, t ) = 0 et q et q 1 (h, t ) = h t . Les coefficients de la formule sont α0 = α1 = 1/2 et on obtient finalement par (1.35)
∈
−
K 1 (t ) =
(h
2
− t ) − h (h − t ) = (h − t )()(−t ) , t ∈ [0, h]. 2 2 2
(1.36)
On observe que cette fonction, repr´esent´ esent´ee ee sur la figure 1.3, est de signe constant n´egatif egatif sur l’intervalle. l ’intervalle. 0
−0.02
−0.04
−0.06
−0.08
−0.1
−0.12
−0.14 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
FIG . 1.3 – Fonction de Peano K 1 (t ) associ associee e´ e a` la formule formule des trap` trap`ezes ezes (trac´ee ee pour h = 1).
2. Le calcul calcul pour pour l = 2 et pour pour la form formul ulee de Simp Simpso son, n, est est plus plus comp compliq liqu´ u´e ; pren prenon onss dans l’expression (1.23) l’intervalle de longueur 2 h centr´e en 0, a` savoir [ h, h]. La formule formu le est construite construit e de fac¸ on a` ce que si p( x) est un polynˆome ome de degr´e au plus 2, alors h h p( x)dx ( p( h) + 4 p(0) + p(h)) = 0. 3 −h
−
Z
−
−
p avec p de degr´e 2 au plus. Soit s( x) un polynˆome ome de degr´e 3, alors s = ax 3 + p avec Bien sˆur, ur, 3h (s( h) + 4s(0) + s(h)) = 3h ( p( h) + 4 p(0) + p(h)) et on aura
−
Or,
Z
Z
−
h
−h
p( x)dx
h
−h
s( x)dx =
− h3 (s(−h) + 4s(0) + s(h)) = 0.
Z
h
−h
p( x)dx 15
car
Z
h
−h
ax3 dx = 0
Interpolation et int´ egration num´ erique
Z
et finalement
h
−h
s( x)dx
− h3 (s(−h) + 4s(0) + s(h)) = 0
pour tout polyn polynome s oˆ me s de de degr´e inf´erieur erieur ou egal e´ gal a` 3. D’une mani`ere ere g´en´ en´erale, erale, si une formule d’int´egration egration de Newton et Coates est exacte pour des polynˆomes omes de degr´e l , avec l entier pair, alors elle est exacte pour des polynˆomes omes de degr´e l + 1. La d´emonstration emonstration dans le cas g´en´ en´eral eral se fait ais´ement ement en s’inspirant de la d´emonstra emonstration tion pour le cas l cas l = 2 ci-dessus. ci-dessus. Le fait d’avoir d’avoir d´emontr´ emontr´e le r´ esultat pour l’intervalle [ h, h] n’enl`eve eve rien a` la g´en´ en´eralit´ eralit´e. e. En effet, soit x soit x [c, d ] avec les 3 points c points c,, c + h et d et d = variable y = c + 2h, alors par la translation y = x c h la variable y e´ grale car d car dxx = dy [ h, h]. Or, une telle translation ne change ni la nature de l’int egrale d y, ni les degr´es es des polynˆomes. omes. Donc, pour la formule de Simpson avec l = 2 la fonction de Peano peut ˆetre etre prise avec l avec l + 1 = 3 et d’apr`es es (1.35)
−
∈ − −
−
1 K 3 (t ) = 3! avec
Soit t Soit t
Z
h
∈ [−h, h], alors
Z
−
q3 ( x, t ) =
h
−h
tandis que
q3 ( x, t )dx
−h
q3 ( x, t )dx =
q3 (0, t ) = q3 (h, t ) =
h (q3 ( h, t ) + 4q3(0, t ) + q3(h, t )) )) 3
−
( x
3
− t ) ,
≥
si x si x t si x si x < t
0,
Z
h
( x
t
3
− t ) dx =
q3 ( h, t ) = 0, si
−
∈
− − ≤ −≤≤ h
t
t 3 si h 0 si 0
(h
− t )
4
4
h
< 0 t < t h
≤ ≤ (h − t ) , si − h ≤ t ≤ h. 3
ec`ede ede ≤ t ≤ h, d’apr`eses ce qui pr´ec` 1 (h − t ) h(h − t ) − K (t ) = 6 4 3
(1.37)
Pour 0
4
3
− 172 (h − t ) (h + 3t ), 0 ≤ t ≤ h. Le calcul, qu’on ne d´etaille etaille pas ici, pour −h ≤ t ≤ 0 permet de se convaincre que K (−t ) = K (t ), c’est-`a-dire a-dire la fonction K fonction K (t ), repr´esent´ esent´ee ee sur la figure 1.4 pour h = 1, est egalement e´ galement de signe constant constant et n´ n egative e´ gative pour −h ≤ t ≤ h. 3
3
=
3
3
3
Lorsque la fonction de Peano est de signe constant on peut d´emontrer d´emontrer le r´esultat esultat suivant, suivant, a` partir de la formule (1.34). 16
L’erreur ’erreur dans les formules formules de Newton Newton et Coates : la formule de Peano
0
−0.002
−0.004
−0.006
−0.008
−0.01
−0.012
−0.014 −1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
K 3 (t ) associ´ee FIG . 1.4 – Fonction de Peano Peano K ee a` la formule de Simpson (trac´ee ee pour h = 1).
Proposition Proposition 1 Si K l (t ) est de signe constant dans [c, d ] , , et si f C l +1 [c, d ] , , alors il existe un point ξ ]c, d [ tel que l’erreur d’int ´ d’int egration donn´ donnee ´ ´ par (1.34) peut s’´ s’ecrire ´ 1 R( f ) = f (l +1) (ξ) R(gl ) (1.38) (l + 1)!
∈ ∈
∈
avec R(gl ) l’erreur d’int egration pour la fonction g l ( x) = xl +1 . ´ ´ Pour la preuve, on fait appel a` une variante du th´eor` eor`eme eme de la moyenne. Soit donc K donc K l (t ) de signe constant, par exemple K exemple K l (t ) 0, c 0, c t d (le (le cas K cas K l (t ) 0 se traite de mani`ere ere analogue). On peut alors ´ecrire ecrire a` partir de (1.34) que (l +1)
min f
≤≤
c t d
(t )
Z c
≥
d
K l (t )dt
≤ ≤ ≤
(l +1)
≤ R( f ) ≤ max f ≤≤ c t d
Z
≤
d
(t )( )(t )
c
K l (t )dt .
Or, d’apr`es es hypoth`ese ese f (l +1) (t ) est continue car f C l +1 [c, d ] et par cons´equent, equent, par le th´eor` eor`eme eme de la valeur interm´ediaire, ediaire, il existe ξ ]c, d [ tel que (l +1)
R( f ) = f
(ξ)
Z
∈ ∈
∈
d
c
K l (t )dt .
Pour prouver la formule (1.38), il reste l’int´egrale egrale de la fonction de Peano `a calculer. culer. Pour ce faire, il s’av`ere ere commode de calculer l’erreur pour la fonction parl +1 ticuli`ere ere f ( x) = g l ( x) = x : en effet, la d´eriv´ eriv´ee ee (l + 1) eme e` me de cette fonction etant e´ tant ( l + 1)!, on aura R(gl ) = ( l + 1)! 17
Z c
d
K l (t )dt
Interpolation et int´ egration num´ erique
et le r´esultat esultat (1.38) s’ensuit. A nouveau nous traitons le cas particulier pour lesquels les fonctions de Peano ont et´ e´ t´e calcul´ees ees plus haut. 1. Nous avons vu que pour l = 1 et la formule des trap`ezes ezes la fonction K fonction K 1 (t ) est de signe constant. On prend `a nouveau l’intervalle [ 0, h] et d’apr`es es (1.38), si egration f C 2 [0, h], l’erreur d’int´egration
∈ ∈
R( f ) =
Z
h
f ( x)dx
0
peut s’´ecrire ecrire
f ′′ (ξ)
R( f ) =
2
avec g avec g 1 ( x) = x2 . Or,
Z
R(g1 ) =
h
− h2 ( f (0) + f (h))
R(g1 ),
2
x dx
0
h
ξ ]0, h[
∈
h3
2
− 2h = − 6
et par cons´equent equent h3
− 12 f ′′(ξ),
R( f ) =
ξ ]0, h[.
∈
(1.39)
2. On suppose maintenant l = 2 et on consid`ere ere la formule de Simpson (1.23) : nous avons montr´e plus haut qu’alors la formule est aussi exacte pour des polynˆomes omes de degr´e 3. Soit donc f C 4 [ h, h]. La fonction fonction K 3 (t ) etant e´ tant de signe constant pour la formule de Simpson,
∈ ∈
R( f ) =
−
f (4) (ξ) 24
R(g3 ),
ξ ]
∈ − h, h[,
etant l’erreur d’int´egration egration R( f ) ´etant R( f ) =
Z
h
−h
f ( x)dx
Pour f = g3 = x4 on obtient R(g3 ) =
Z
h
− h3 ( f (−h) + 4 f (0) + f (h)). )). 4
x dx
−h
h
4
− 3 (2h ) = −
4h5 15
et par cons´equent equent R( f ) =
−
h5 (4) f (ξ), 90 18
ξ ]
∈ − h, h[.
(1.40)
Erreurs dans les formules des trap` ezes et de Simpson pour l’intervalle [ [a, b]
1.4. 1.4.1 1
Erre Erreur urss dans dans les form formul ules es des trap trapezes e` zes et de Simpson pour l’intervalle [ a, b]
Comme il a et´ e´ t´e dit plus haut, l’int´erˆ erˆet et d’une formule d’int´egration egration est de pouvoir approcher l’int´egrale egrale sur un intervalle [a, b] avec un grand nombre de points ezes (1.27), alors pour chaque sous N = = lM l M . Prenons d’abord la formule des trap`ezes intervalle [ xi , xi+1 ] on aura bien entendu une erreur de la forme (1.39) et Ri ( f ) =
Z
xi+1
xi
f ( x)dx
−
h ( f ( xi ) + f ( xi+1 )) = 2
−
h3 ′′ f (ξi ), 12
ξi ] x xi , xi+1 [.
∈
(1.41) Dans la formule des trap`ezes ezes (1.27), les int´eegrales grales sur les sous-intervalles sont somm´ees ees et par cons´equent equent l’erreur pour [ a, b] est R N ,1 ( f ) =
Z
f ( x)dx I N ,1 =
−
a
−
N 1
b
∑ Ri ( f ).
i=0
Or, par la formule de la moyenne on pourra ´ecrire ecrire N 1
−
h3 N −1
i=0
i=0
∑ Ri( f ) = − 12
pour une valeur η
h3 ′′ ∑ f (ξi) = − N f ′′(η) 12
∈]a, b[. Or, ici h =
−
b a N
et on obtient le r´esultat esultat pour la formule des trap`ezes ezes R N ,1 ( f ) =
−
h2 (b 12
− a) f ′′(η), avec
η ]a, b[.
∈
(1.42)
Pour aboutir aboutir a` une une expr expres essi sion on de l’err l’erreu eurr d’in d’int´ t´egra e gratio tion n pour la form formul ulee de Simp Simpso son n = 2 M et (1.28) on proc`ede ede de mani`ere ere analogue. Dans ce cas N = et R N ,2 ( f ) = avec Ri ( f ) =
=
Z
x2i+2
x2i
−
Z a
−
M 1
b
f ( x)dx I N ,2 =
f ( x)dx
−
− h3 ( f ( x
h5 (4) f (ξi ), ξ i 90
∑ Ri ( f )
i=0
2i ) + 4 f ( x2i+1 ) + f ( x2i+2 ))
∈] x x
2i , x2i+2 [.
19
Interpolation et int´ egration num´ erique
Or, a` nouveau par par le th eor` e´ or`eme eme de la valeur interm´ediaire ediaire il existe η ]a, b[ tel que
∈
−
M 1
∑ Ri ( f ) = −
i=0
h5 M f (4) (η). 90
= (b Etant donn´e que h = (b a)/ N = (b a)/(2 M ), on aura M = finalement on obtient la formule d’erreur
−
R N ,2 ( f ) =
−
h4
− 180 (b − a) f ( )(η), avec 4
η ]a, b[.
∈
− a)/(2h) et
(1.43)
Comparant R N ,1 avec R avec R N ,2 , on observe que la formule de Simpson est en O(h4 ) tandis que la formule des trap`ezes ezes n’est qu’en O (h2 ). De mettre en œuvre la formule de Simpson est a peine plus complexe que d’utiliser la formule des trap`ezes, ezes, ce qui fait que la formule de Simpson est largement utilis ee. e´ e. Il faut cependant ˆetre etre conscient, que ce r´esultat esultat d’erreur pour la m´ethode ethode de Simpson est obtenu pour des fonctions 4 fois continˆument ument d´ derivables e´ rivables dans [ a, b].
20
Chapitre 2 Resolution e´ solution num´ numerique e´ rique des equations e´ quations diff erentielles e´ rentielles ordinaires (EDO) Avant vant d’abor d’aborder der quelqu quelques es m´ethodes ethodes d’approx d’approximatio imation n d’´equations equations diff´erentielles erentielles ordin ordinair aires es (on utilise utilisera ra l’abr´ l’abr´eviat eviation ion EDO), EDO), il con convient vient de passe passerr en revue revue quelqu quelques es r´esultats esultats g´en´ en´eraux. eraux.
2 .1
Resultats e´ sultats g´ gen´ e´ neraux e´ raux sur les EDO
Une equation e´ quation diff´erentielle erentielle est une relation de la forme du (t ) = f (t , u(t )) )) dt
(2.1)
ou` u(t ) est l’inconnue, la solution de l’´equation equation diff´erentielle, erentielle, qu’il convient de d´eterminer eterminer tandis que f (t , u) est une fonction donn´ee. ee. La solution u(t ) d epend e´ pend de t de t R (t (t est est par exemple exemple le temps) temps) ; u(t ) peut etre eˆ tre une fonction scalaire mais u 1 (t ), u2(t ), , un (t ) et dans ce cas la foncaussi vectorielle avec n avec n composantes composantes u tion f a egalement n e´ galement n composantes composantes f 1 (t , u), f 2(t , u), f n (t , u) qui peuvent etre eˆ tre des u . Donc, f (t , u) est une apfonctions non lin´eaires eaires de toutes les composantes de u. plication de R Rn a` valeurs dans Rn. Le probl`eme eme a` valeur initiale consiste `a adjoindre a` l’´equation equation (2.1) une condition dite initiale en t en t 0 avec
∈ ∈
··· ···
×
u(t 0 ) = u0
(2.2)
(on prendra souvent t 0 = 0). Ici nous consid´erons erons des equations e´ quations diff´erentielles erentielles d’ordre 1, c.-`a-d. a-d. seule la d´eriv´ eriv´ee ee premi`ere ere de la fonction u fonction u (t ) intervient. En fait, une equation e´ quation d’ordre sup´erieur erieur avec avec des conditions initiales peut toujours etre eˆ tre reformul formuler er comme comme un syst` syst`eme eme d’ODE. d’ODE. Preno Prenons ns par exemp exemple le le probl` probl`eme e me du pend pendul ulee
θ′′ (t ) =
− sin(θ(t )), )),
θ(0) = θ0 , 21
θ′(0) = θ1 .
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
Alors, ecrivant u e´ crivant u 1 = θ et u et u2 = θ′ on aura u aura u 1′ = u2 et le syst`eme eme s’´ecrit ecrit d dt
u1 u2
=
−
u2 sin(u1 )
,
u1 (0) u2 (0)
=
θ0 θ1
.
Pour qu’une EDO ait une solution, il faut que la fonction f (t , u) ait quelques propri´et´es es de r´egularit´ egularit´e. e. Le th´eor` eor`eme eme fondamental quant a` l’existence et l’unicit´e de la solution d’une EDO avec condition initiale peut etre eˆ tre r´esum´ esum´e comme suit.
Th´ Theor` e´ oreme e` me 4 (Th´ (Theor e` me de Cauchy Lipschitz) ´ eme Soit f (t , u) est une application de R Rn a` valeurs dans Rn . Soient u0 Rn et t 0 R donn´ donnes ´ : on suppose qu’il existe un domaine D Rn contenant u0 et un intervalle [t 0 , t 1] ainsi qu’une constante L > 0 , tels que quels que soient v, w D et quel que soit t [t 0 , t 1] , ,
×
∈
∈
∈ ∈
∈
∈
|| f (t , v) − f (t , w)|| ≤ L||v − w||
(2.3)
(o` (ou` ˙ d esigne une norme de Rn , par exemple exemple la norme euclidienne). On dira ´ ´ que f (t , u) est lipschitzienne par rapport a` u de constante de Lipschitz L. Alors il existe un plus grand temps T [t 0 , t 1] , , tel que l’´ l’equation ´ diff erentielle ´ ´
||||
∈
du (t ) = f (t , u(t )), )), dt poss` possede e` de une solution et une seule pour t
u(t 0 ) = u0 ,
∈ [t , T ]. 0
Afin d’interpr´eter eter ce th´eor` eor`eme, eme, prenons la cas d’une EDO scalaire : il est alors u , alors f (t , u) est lipschitfacile de voir que si f (t , u) est d´erivable erivable par rapport a` u, zienne. En effet, effet, par le th eor` e´ or`eme eme des accroissements finis
| ≤ ∈ ∈
| f (t , v) − f (t , w)
| − |
∂ f max (t , u) v u D ∂u
w
∈ ∈ [t , t ]
et on pourra prendre comme constante de Lipschitz le maximum pour t de la quantit´e ∂ f (t , u) . max u D ∂u
0
1
Pourquoi est-il est-il n´ necessaire e´ cessaire de supposer que f (t , u) est lipschitzienne lipschitzienne et que signifie signifie l’existence d’un plus grand T grand T tel que la solution existe pour t pour t [t 0, T ] ? Prenons par exemple exemple l’´ l’equation e´ quation diff´erentielle erentielle du (t ) = (u(t )) ))2 dt 22
∈
Syst`emes emes d’equations ´ diff´ erentielles lin´ eaires a` coefficients coefficients constants
a . Ici la fonction f (u) = u 2 ne d´epend avec u(0) = a > 0, donc t 0 = 0 et u0 = a. epend pas de t de t et et la fonction est lipschitzienne pour tout domaine contenant a et pour tout intervalle de temps [0, t 1]. Il est facile de voir que la solution de l’´equation equation diff´erentielle erentielle est 1 u(t ) = −1 a t
−
et par cons´equent equent la solution tend vers l’infini quand t 1/a. On peut donc d´eduire eduire que le plus grand temps pour l’existence de la solution est T = 1/a. Prenons maintenant comme exemple du (t ) = dt
√ ≥
u(t ),
→ →
u(0) = 0.
√
Ici, f (u) = u, u 0 et f (u) / u = 1/ u tend vers l’infini quand u 0. Par f n’est pas lipschitzienne au voisinage de u = 0. L’ODE ne v´erifie cons´equent, equent, f n’est erifie pas les conditions du th´eor` eor`eme. eme. On observe que cette ´equation equation diff´erentielle erentielle n’a pas de solution unique : en effet
|
|||
u(t )
→
≡0
est solution, mais aussi
1 u(t ) = t 2. 4 Avant d’aborder des m´ethodes ethodes num numeriques e´ riques de r´esolution, esolution, nous allons allons passer passer en revue vue quel quelqu ques es r´esulta esultats ts g´en´ en´erau eraux x conce concern rnant ant les syst` syst`emes e mes d’´equations equations diff´erentielles erentielles lin´eaires. eaires.
2.1. .1.1
Syst ystemes e` mes d’´ d’equations e´ quations diff erentielles e´ rentielles lin´ lineaires ` e´ aires `a coefficie coefficients nts constants
×
Soit A Soit A une une matrice n matrice n n `a coefficients coefficients r´ reels e´ els constant constants. s. On consid` consid`ere ere le syst` syst`eme eme d’´equations equations diff´erentielles erentielles u ′ (t ) = Au(t ),
u(t 0) = u0 ,
(2.4)
avec u0 Rn donn´e. e . Tout out d’ab d’abor ord d on cons consta tate te que que ce syst` syst`eme eme poss` poss`ede ede une solutio solution n n Au et pour toute norme de R unique. En effet, ici f (u) = Au et
∈
Av − Aw|| = || A A(v − w)||. || f (v) − f (w)|| = || Av A|| et on justifiera des On verra au chapitre 4.2 la notion de norme de matrice || A majorations de la forme
|| A A(v − w)||≤|| A A||||v − w||. 23
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
Au est donc L = A A la norm La foncti fonction on f (u) = Au est donc lipschitzie lipschitzienne nne avec avec L normee de A de A comme comme consta constante nte de Lipsc Lipschitz hitz.. Avant vant de pours poursui uivre vre,, il convie convient nt de pr´ pr´eciser eciser de quelle quelle fac¸on ¸on une equation e´ quation diff´erentielle erentielle d’ordre n peut etre eˆ tre ecrite e´ crite sous forme d’un syst`eme eme j) ( d’ordre 1. On note v note v (t ) la d´eriv´ eriv´ee ee j eme e` me d’une fonction scalaire v(t ) R et on consid`ere ere l’´equation equation diff´erentielle erentielle d’ordre n d’ordre n
|| ||
∈
v(n) (t ) + an−1 v(n−1) (t ) +
· · · + a v ′(t ) + a v(t ) = 0 1
(2.5)
0
avec les conditions intiales v(t 0 ) = v0 , v ′ (t 0 ) = v1 , (v0 , v1 ,
· · · , v( − )(t ) = v − n 1
0
n 1
(2.6)
es). Donc, si l’on note · · · , v − donn´es). · · · , u = v( − ) u = v, u = v ′ , ·· (2.7) on obtie obtient nt pour pour le vect vecteu eurr u = (u , u , · · · , u ) un syst` syst`eme e me d’´equations equations diff´erentielles erentielles n 1
1
2
1
avec A = u ′ (t ) = Au(t ), avec A
n 1
n
2
n
0
T
1 0
1 .. .
..
. 0
1 an−1
−a −a ··· ··· − 0
1
. (2.8)
En effet effet,, ui′ = ui+1 , i = 1, n 1, les les ui ´etan e tantt d´efini e finiss par par (2.7 (2.7), ), et un′ = ∑ jn=1 a j−1 u j par (2.5). Au syst`eme eme (2.8) est bien entendu associ´ee ee la condition initiale
··· −
u(t 0) =
−
T
v(t 0 ), v ′ (t 0 ), · · · , v(n−1) (t 0 )
.
Revenons a` (2.4) et consid´erons erons d’abord le cas scalaire n = 1 et la solution de l’´ l’equation e´ quation (2.4) avec A avec A = a R s’´ecrit ecrit bien entendu
∈
u(t ) = u0 e a(t −t 0 ) .
×
n n, c’es On cherche cherche a` g´en´ en´eral e ralis iser er ce r´esulta esultatt pour pour des des matric matrices es n c’est-` t-`a-dire a-dire on cher cherche che a` d´efinir efinir l’exponentielle d’une matrice. On se rappelle que l’exponentielle d’un nombre nombre r´ reel e´ el est donn´ee ee par une s´erie erie ce qui conduit conduit par analogie a` la d´efinition efinition suivante
Definition e´ finition 2 Soit A une matrice n trice A, not ´ not ee ´ e A , par la s erie ´ A
e =
× n, alors on d efinit l’exponentielle de la ma´ ´
∞
1 j 1 2 A I A A + = + + ∑ j! j ! 2 j=0
· · · + j! j1! A + · · · j
avec la convention que A 0 = I, I , I etant ´ la matrice identit e´ ´ n 24
× n.
(2.9)
Syst`emes emes d’equations ´ diff´ erentielles lin´ eaires a` coefficients coefficients constants
Donc, e Donc, e A est une s´erie erie de de matrices matrices et et on constate constate que cette cette s´erie erie converge. En effet, soit une somme partielle de cette s´erie erie N
1
A j , ∑ j! j !
S N =
j=0
alors
N
||S || ≤ N
N
1 A A j ∑ j! j j=0 !
|| || ≤ ∑ j! j1! || A A|| =
j
j 0
d’apr`es es la d´efinition efinition et les propri´et´ et´es es des normes de matrices qui seront abord´ees ees ult´erieurement erieurement au chapitre 4.2. On note a = A A et donc
|| || ∞
1 || || || || ≤ a ∑ →∞ ! j! j = A
lim S N = e
n
j
= ea
j 0
et on d´eduit eduit de l’in´egalit´ egalit´e ci-dessus la convergence convergence de la s´erie. erie. Avec cette d´efinition, efinition, on observe que si l’on note 0 la matrice n les coefficients sont nuls, alors e0 = I .
× n dont tous
Pour des nombres r´eels, eels, on a la relation bien connue ea+b = e a eb : cette relation B , sauf dans le cas particulier n’est en g´en´ en´eral eral pas v´erifi´ erifi´ee ee pour deux matrices A, B, (on admettra ce r´esultat) esultat) : si les matrices A matrices A, B, commutent ( AB = BA), alors e alors e A+ B = e A e B .
(2.10)
On d´eduit eduit par exemple de cette propri´et´ et´e que e A− A = e0 = I = = e A e− A et donc l’inverse de la matrice e matrice e A est simplement
− e A
1
= e− A
(2.11)
La d´efinition efinition de la norme d’une matrice nous permet permet d’´ d’ enoncer e´ noncer le r´esultat esultat fondamental suivant.
Th´ Theor` e´ oreme e` me 5 La solution du syst ` syst eme e` me d’´ d’equations diff erentielles ´ ´ ´ u ′ (t ) = Au(t ), s’´ s’ecrit ´
u(t 0) = u0
u(t ) = e(t −t 0 ) A u0 . 25
(2.12)
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
Pour d´emontrer emontrer ce r´esultat, esultat, observons d’abord que u(t 0) = e0 u0 = Iu I u0 = u0 donc le vecteur u(t ) v erifie e´ rifie la condition initiale. Ecrivons maintenant le terme exponentiel sous sous forme de s erie e´ rie (t t 0 ) A
e
−
∞
=
∑
j=0
(t t 0 ) j
−
j! j!
A j .
On peut facilement justifier pour cette s´erie erie que la d´eriv´ eriv´ee ee par rapport au temps de la somme de la s´erie erie est egale e´ gale a` la somme obtenue en d´erivant erivant terme par terme de la s´erie, erie, a` savoir d (t −t 0 ) A e dt
∞
∞ j (t t 0 ) j−1 j (t t 0 ) j−1 j = ∑ A =∑ A j! j ( j ) ! 1 ! j=1 j=1
−
∞
− −
∞ (t t 0 ) j−1 j−1 (t t 0 )k k = A∑ A = A ∑ A = Ae(t −t 0 ) A ( j 1)! k ! j=1 k =0
− −
Par cons´equent, equent, si
−
u(t ) = e(t −t 0 ) A u0 ,
alors
d (t −t 0 ) A e u0 = Ae(t −t 0 ) A u0 = Au(t ), dt ce qui ach`eve eve la d´emonstration emonstration du th´eor` eor`eme. eme. u ′(t ) =
Traitons bri`evement evement un syst`eme eme d’´equations equations diff´erentielles erentielles non homog`ene, ene, c’esta-dire a` -dire de la forme (2.13) u ′ (t ) = Au(t ) + g(t ), u(t 0 ) = u0 avec une fonction g(t ) donn´ee. ee. Faisons d’abord abstraction de la condition au temps initiale : alors on cherche u(t ) comme une somme d’une solution du probl` bleme e` me homog`ene ene v ′ (t ) = Av(t ) et d’une solution particuli`ere ere de w ′ (t ) = Aw(t ) + g(t ).
(2.14)
Il est clair que v(t ) = etA v0 , quel que soit le vecteur v0 . Pour la solution particonstante : on ecrit culi`ere, ere, on applique la m´ethode ethode dite de la de la variation de la constante : e´ crit w(t ) = etA c(t ) 26
Calcul de l’exponentielle de la matrice
pour c pour c (t ) une fonction vectorielle d´ependant ependant du temps. D´erivant w erivant w (t ) on obtient w ′ (t ) =
d tA e c(t ) + etA c ′ (t ) = AetA c(t ) + etA c ′ (t ) = Aw(t ) + etA c ′ (t ) dt
et injectant cette expression dans (2.14), on obtient etA c ′ (t ) = g(t ). De (2.11) on d´eduit eduit que c ′ (t ) = e−tA g(t ) dont la primitive s’annulant en t en t 0 s’´ s’ecrit e´ crit
Z
t
c(t ) =
t 0
e−sA g(s)ds ,
l’int´egration egration etant e´ tant a` op´erer erer composante par composante du vecteur e vecteur e −sA g(s). On en d´eduit eduit que la solution particuli`ere ere qui s’annule en t en t 0 s’´ s’ecrit e´ crit w(t ) = etA
Z
t
t 0
e−sA g(s)ds =
Z
t
t 0
e(t −s) A g(s)ds .
(2.15)
Reste a` d´eterminer eterminer pour la solution g´en´ en´erale erale v(t ) = e tA v0 le vecteur v0 tel que v(t 0 ) = u0 : or v(t 0 ) = et 0 A v0 = u0 implique
v0 = e−t 0 A u0 .
La solution de (2.13) s’´ecrit ecrit en additionnant v additionnant v(t ) et w et w (t ) et donc u(t ) = e
(t t 0 ) A
−
Z
t
u0 +
t 0
e(t −s) A g(s)ds .
(2.16)
On voit que l’exponentielle de la matrice A est la quantit´e-clef e-clef qui permet de r´esoud esoudre re les syst` syst`emes e mes d’´equations equations diff´erenti erentiell elles es lin´eaires, eaires, a` coeffic coefficients ients constants constants.. Au paragraphe suivant nous allons donner un mode d’emploi pour le calcul de l’exponentielle d’une matrice, avant de l’illustrer par l’exemple d’un syst`eme eme simple 2 2.
×
2.1.2 2.1.2
Calcul Calcul de l’expone l’exponentie ntielle lle de la la matri matrice ce
On supposera pour simplifier que t 0 = 0 et donc la solution du syst`eme eme (2.4) s’´ecrit ecrit u(t ) = etA u0 . 27
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
On peut remarquer que de choisir t choisir t 0 = 0 n’enl`eve eve rien a` la g´en´ en´eralit´ eralit´e. e. En effet, la (t −t 0 ) A u0 qui v´erifie u solution u solution u (t ) = e erifie u (t 0 ) = u0 est identique a` la solution u solution u (t ) = tA t 0 A t −t 0 ) A − ( e u˜0 qui v´erifie u u0 car nous avons vu que e = etA e−t 0 A . erifie u (0) = u˜0 = e
Digression : valeurs et vecteurs propres d’une matrice. Ici il convient convient de rappele rappelerr la notion notion de valeur valeur propre propre d’une matrice A matrice A.. Il s’agit d’un nombre λ , complexe en g´en´ en´eral, eral, tel qu’il existe un vecteur x = 0, appel´e vecteur propre associ associe´ a` la valeur propre λ , tel que
A x = λ x. Cette relation peut encore s’´ecrire ecrire ( A λ I ) x = 0 pour un vecteur x = 0 avec I la matrice identit´e n n. Par cons´equent, equent, pour cette valeur λ la matrice (carr´ee) ee) A λ I n’est n’est pas inversible (on dit que cette matrice a un noyau non nul) et donc det( A λ I ) = 0. A partir partir de la d´efinition efinition du d´eterminant eterminant on peut se convaincre que (pour tout nombre λ) p(λ) = det( A λ I ) est en fait un polynˆome ome en λ de degr´e n. Un polynˆome n a pr´ecis´ n z´eros ome de degr´e n a ecis´ement ement n z e´ ros (complexes ou r´eels, eels, compt´ compt´es es avec leurs multiplicit´es, es, c’est-`a-dire a-dire un z´ero ero double compte deux fois etc.). Donc toute matrice n n poss`ede ede n valeurs propres, complexes ou r´eelles, eelles, compt´ compt´ees ees avec leurs multiplicit´es es eventuelles, e´ ventuelles, qui qui sont les z´ z eros e´ ros de p(λk ) = det( A λk I ) = = 1, 2, , n. A chaque valeur propre est associ´e un vecteur propre xk tel que 0, k = Axk = λk xk . Supposons que les n valeurs n valeurs propres λ1 , λ2 , , λn de A de A sont sont distinctes et formons la matrice P dont les colonnes sont pr´ecis´ ecis´ement ement les vecteurs propres x1 , x1 , , xn associ´es. es. On forme la matrice diagonale D diagonale D
−
−
×
−
−
×
−
···
···
···
D =
λ1
(0) λ2 ..
.
λn
(0)
avec sur la diagonale les valeurs propres de A. Les r`egles egles de multplication de = 1, , n sous forme matrices matrices permettent permettent d’´ecrire ecrire les n egalit´ e´ galit´es es Axk = λ k xk , k = matricielle AP = PD.
···
En effet, la k`eme eme colonne de AP de AP est est pr´ecis´ ecis´ement Ax ement Ax k , si la k`eme eme colonne de P de P est est le vecteur x vecteur xk , et la k`eme eme colonne de PD de PD est est λk xk . On peut montrer que les vecteurs propres asoci´es es a` des valeurs propres distinctes sont lin´eairement eairement ind´ependants ependants et il s’ensuit que la matrice P est inversible. Multipliant les deux membres de l’´ l’egalite e´ galite ci-dessus par l’inverse P l’inverse P −1 de P de P,, on obtient l’´egalit´ egalit´e A = PDP−1 . 28
Calcul de l’exponentielle de la matrice
A sont distinctes, on peut utiliser cette relaDans ce cas o`u les valeurs propres de A sont tion pour trouver une expression relativement relativement simple des puissances pu issances successives successives de A. En effet, A2 = PDP −1 PDP−1 = PD 2 P−1 et en it´erant erant on trouve bien sˆur ur j j −1 A = PD P de fac fac¸ on a` ce que etA =
∞
j
t
∞
j
t
PD j P−1 = P ∑ D j ∑ j! j! j! j!
j=0
j=0
− P
1
= Pe PetD P−1 .
On peut se convaincre ais´ement ement que
t j j D = j! j !
t j j λ j! j! 1
(0) j
t j λ j! j! 2
..
. t j j λ j! j! n
(0)
et par cons´equent equent l’´el´ el´ement ement de la k`eme eme position sur la diagonale de la matrice (diagonale) e (diagonale) etD est l’exponentielle e l’exponentielle et λk et
etD =
t λ1
(0)
e
t λ2
e
..
. et λn
(0)
.
Donc, par etA = Pe tD P−1 , on peut affirmer que chaque ´el´ el´ement ement de etA est une = 1, 2, , n. Bien sˆur, combinais combinaison on lin´eaire eaire des et λk , k = ur, si on est en mesure de − 1 d´eterminer eterminer explicitement P ainsi que P , ce qui souvent pour n 3 n’est pas ais´e, e, on trouve une expression explicite de etA et donc aussi de u (t ) = etA u0 . On peut donc enoncer e´ noncer le r´esultat esultat suivant.
···
≥
Proposition Proposition 2 Chaque composante u j (t ) du vecteur solution u(t ) = ( u1 (t ), u2(t ),
· · · , u (t )))) n
de (2.4) est de la forme n
u j (t ) =
∑ b jk eλ t k
k =1
pour des coefficients coefficients b jk . 29
T
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
Il convient de remarquer ici que les valeurs valeurs propres d’une ma trice A trice A ` `a coefficients r´eels eels ne sont pas forc´ement ement r´eelles. eelles. Cependant, s’il existe une valeurs propre λ k = αk + iβk avec β k = 0, la valeur conjugu´ee ee complexe ¯λk = αk iβk est egalement e´ galement valeur propre, la matrice A ´etant etant r´ reelle. e´ elle. Donc, une combinaison lin´eaire eaire a` valeur ¯ r´eelle eelle faisant intervenir eλk t = e αk t eiβk t et eλk t = e αk t e−iβk t peut toujours toujours s’ ecrire e´ crire sous la forme eαk t (c cos (βk t ) + d sin sin (βk t )
−
d . avec des coefficients r´eels c eels c et et d Pour le syst`eme eme (2.8) equivalent e´ quivalent a` l’´equation equation scalaire (2.5) d’ordre n d’ordre n,, u 1 (t ) = v(t ) et la solution de (2.5) s’´ecrit ecrit n
v(t ) =
∑ bk eλ t
(2.17)
k
k =1
A de (2.8). Cette fonction est solution de avec λk les valeurs propres de la matrice A de l’´ l’equation e´ quation diff´erentielle erentielle (2.5) quels que soient les coefficients b coefficients b k , si on ne pr´ecise ecise t λ pas les conditions initiales. En particulier les fonctions e fonctions e k sont solutions et injectant cette expression dans (2.5), on trouve
λnk + an−1 λnk −1 +
· · · + a λ + a = 0. 1 k
0
On en d´eduit eduit le resultat e´ sultat que les valeurs propres propres de la matri ce A ce A dans dans (2.8) associ associee e´ e a` l’´equation equation (2.5) d’ordre n d’ordre n sont sont les z´eros eros du polynˆome ome caract caracteristique e´ ristique p(λ) = λn + an−1 λn−1 +
···+a λ +a . 1
0
(2.18)
Exemple : On consid`ere ere l’´equation equation du pendule avec un coefficient de frottement α v ′′ =
−v + αv ′
et d’apr`es es ce qui pr´ec` ec`ede, ede, en notant u1 = v et u2 = v ′ , ce syst`eme eme peut encore s’´ecrire ecrire d u1 u1 0 1 = . (2.19) u2 1 α dt u2
−
A du syst`eme Les valeurs propres de la matrice A du eme sont
λ1/2 =
α
±
√ α 2
2
−4.
On suppose que α = complexes avec
(2.20)
±2. Si |α| < 2, alors les valeurs propres sont conjugu´ees ees λ1/2 = α/2
± − i
30
1
(α/2)2
Calcul de l’exponentielle de la matrice
et la solution u solution u1 (t ) = v(t ) s’´ecrit ecrit t (α/2)
v(t ) = e
(a cos(ωt ) + b sin(ωt )) )) avec ω =
− 1
(α/2)2 .
Si α < 0, alors la solution est amortie car alors et (α/2) d´ecroˆ ecr oˆıt ıt pour pou r t > 0. Si ce > 0. Si α > 2, alors les deux pendant α > 0, alors la solution est amplifi´ee ee pour t pour t > solution sont r´eelles eelles et la solution s’´ecrit ecrit
||
v(t ) = aet λ1 + bet λ1 avec λ1/2 donn´es es par (2.20). Consid´erons erons maintenant maintenant le cas o u` la matrice A matrice A dans dans (2.4) est de la forme
A =
On peut ecrire A e´ crire A sous sous la forme
λ
1 .. .
et N = =
On peut se convaincre que
2
N =
0
0 .. .
1 .. . 0
(0)
. 0 0
1 0 0
.
(2.21)
I matrice identit´e n
0
1 .. .
(0) ..
(0)
1
λ
(0)
(0) ..
..
λ
A = λ I + N avec
(0)
,
···,
. 0
1 0
N n−1 =
×n
.
0
(0)
0 0
(2.22)
··· ···
0 1 0 0 . . .. . .. .. 0 0 0
et qu’ainsi N n = 0 est la matrice identiquement ´egale egale a` z´ero. ero. Donc, lorsqu’on forme les puissances successives de N les les el´ e´ l´ements ements non nuls “remontent”. Les matrices λ I et N et N commutent commutent et d’apr`es es ce qui pr´ec` ec`ede ede etA = et (λ I + N ) = et λ I etN . 31
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
Or, etant e´ tant donn´e que N que N n = 0, e 0, etN est en fait une somme finie et tN
e
t 2 2 = I + t N + N + 2
···
t n−1 + N n−1 . (n 1)!
−
D’apr`es es les produits successifs de N ci-dessus ci-dessus
etN =
1
t 2 2
t
··· t 2 2
t
1
..
..
.
t n−2 (n 2)!
.
1
(0)
−
··· ..
t n−1 (n 1)! t n−2 (n 2)!
− − .. .
.
t 2 2
t 1
t 1
.
La matrice e matrice et λ I est diagonale avec eλt sur la diagonale et donc
etA =
eλt
t eλt eλt
t 2 λt 2e λt
te ..
.
···
2
t λt e 2
..
.
eλt
(0)
t n−2 λt (n 2)! e
−
··· ..
t n−1 λt (n 1)! e t n−2 λt (n 2)! e
− −
.
.. .
t 2 λt 2e λt
t eλt eλt
te eλt
Chaque el´ e´ l´ement ement de etA est ainsi de la forme p(t )eλt avec p(t ) un polynˆome ome de degr´e n 1. On peut donc conclure, que si dans le syst`eme eme (2.4) la matrice A matrice A est de la forme (2.21), alors les composantes ui (t ) de la solution u (t ) sont de la forme ui (t ) = p i (t )eλt
≤ −
≤ − 1. On observe que λ est valeur propre
pour des polynˆomes omes pi (t ) de degr´es es n de A de A donn´ donn´ee ee par (2.21) de multiplicit´e n. n .
×
A matrice n n n quelconque : si ses n valeurs n valeurs propres sont disRevenons alors a` A matrice tinctes, alors A est diagonalisable. Supposons cependant que certaines des valeurs propres sont sont multiples, plus pr´ precis´ e´ cis´ement ement supposons que A que A poss` poss`ede m ede m valeurs valeurs propres distinctes de multiplicit´ multiplicites e´ s respectivement l respectivement l 1 , l2 , , lm (avec l (avec l1 + l2 + + lm = n). n). Alors A A peut-ˆetre Alors A n’est n’est plus forc´ement ement diagonalisable : cependant cependant A peut-ˆ etre mise 1 − Jordan , a` savoir il existe des matrices P P telles que sous forme dite de dite de Jordan, matrices P et et P
···
A = PJP PJ P−1 32
···
(2.23)
Calcul de l’exponentielle de la matrice
avec J avec J une une matrice par blocs
× ∗ ∗ ∗ J 1
0
J 2
J = =
..
.
0
(2.24)
J m
l k chaque bloc J bloc J k etant etant une sous-matrice sous-matrice l k ´
λk
J k k =
,
lk de la forme
(0)
..
.
..
.
,
λk
= 0 ou 1 .
(2.25)
λk
(0)
Donc, chaque sous-matrice J sous-matrice J k e de la valeur propre k est de la taille de la multiplicit´ λk , qui se trouve sur la diagonale de J k k , les coefficients sur la quasi-diagonale imm´ediatement ediatement au-dessus de la diagonale sont ´egaux egaux a` 1 ou egaux ´egaux a` 0, selon des cas particuliers, les autres coefficients de J k e´ tant nuls. Bien-sˆur, ur, si toutes k etant les valeurs propres sont simples, les J k 1 donc des k sont en fait des matrices 1 scalaires et on retrouve une matrice J diagonale. diagonale. La mise sous forme de Jordan est assez complexe complexe en g´ g en´ e´ n´eral eral et la m´ methode e´ thode est donn´ee ee dans des ouvrages d’alg`ebre ebre lin´eaire. eaire. Ce qu’il convient de retenir est que chaque bloc est de la forme
×
J k k = λk I k k + N k k
(2.26)
×
avec I k e lk lk et N k ` (2.22), mais ici de k matrice identit´ k une matrice similaire a taille l taille l k lk (et tous les el´ e´ l´ements ements juste au-dessus ne sont pas forc´ement ement egaux e´ gaux a` n `eme 1). Nous avons vu que la n ` eme puissance de la matrice (2.22) est identiquement i dentiquement egale e´ gale a` 0 et de mani`ere ere analogue on peut affirmer que
×
l
N k k = 0 Par (2.23), on aura `a nouveau A j = PJ j P−1 et donc (analogue au cas diagonalisable) etA = Pe PetJ P−1 . Les multiplications de J de J avec avec elle-mˆeme eme se faisant par blocs, il est facile de voir que 0 etJ 1 tJ 2 e etJ = (2.27) .. .
etJ m
0
33
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
a egalement e´ galement une structure par blocs. La d´ecomposition ecomposition (2.26) (2.26) est similaire a` celle tJ k pour la matrice (2.21) : donc, donc, chaque chaque ´el´ el´ement ement de e de e est de la forme p k (t )eλk t avec pk (t ) polynˆome ome (en fait un monˆome) ome) de degr´e lk 1. On peut ainsi enoncer e´ noncer le r´esultat esultat g´en´ en´eral. eral.
≤ −
Proposition Proposition 3 Soit le syst eme e` me (2.4) tel que A poss ede e` de m valeurs propres λ k , k = = 1, , m distinctes de multiplicit es ´ ´ respectivement l 1 , lm (avec l 1 + lm = n). Alors les composantes u j (t ) de la solution u (t ) de (2.4) sont de la forme
···
···
···
m
u j (t ) =
∑ p jk (t )eλ t
(2.28)
k
k =1
avec p jk (t ) des polynomes de degr ´ degr es ˆ ´
≤ l − 1. k
On peut peut remar remarque querr que si l si lk = 1, les p les p jk (t ) sont sont des des polynˆ polynˆomes omes de degr´ degr´e z´ero, ero, donc des constantes. Par Par cons´ cons equent, e´ quent, on retrouve ´evidemment evidemment le r´esultat esultat de la proposi A sont simples. tion 5 lorsque les valeurs propres de A sont
×
Exemple : On reprend le syst`eme 2 2 (2.19), les valeurs propres de la matrice en question etant e´ tant (2.20). Pour α = 2, λ1 = 1 est double et d’apr`es es ce qui pr´ec` ec`ede ede la solution v solution v(t ) = u1 (t ) s’´ecrit ecrit
±
±
v(t ) = ( a + bt )e±t , a b ´etant pour le polynˆome ome p1 (t ) = a + bt de de degr´e 1, les l es coefficients coefficients a etant d´ determin´ e´ termin´es es par la condition initiale.
2.2
Schemas e´ mas a` un pas pour la r´ resolution e´ solution d’une EDO
Sauf dans des cas particuliers, par exemple pour des syst`emes emes d’´equations equations diff´erentielles erentielles lin´eaires eaires a` coefficients coefficients constants, il n’est en g´ g en´ e´ n´eral eral pas possible de trouver des solutions explicites et analytiques d’une ´equation equation diff´erentielle erentielle u ′ (t ) = f (t , u(t )), )),
u(t 0) = u0 ,
(2.29)
a` partir du moment moment o` ou` la fonction f (t , u) avec u avec u Rn est quelque peu complexe et que n 2. La variable t sera sera appel´ee e e d´esormais esormais le temps et on cherche `a trouver une solution approch´ee ee de la solution pour t > t 0 . On supposera toujours que f (t , u) satisfait a` la conditions de Cauchy-Lipschitz du th´eor` eor`eme eme 4 pour tout a-dire l’´ l’equation e´ quation diff´erentielle erentielle poss`ede ede une solution unique dans t [t 0, T ], c’est-`a-dire [t 0 , T ] avec u avec u (t 0 ) = u0 . Une solution num´erique erique sera sera d´ determin´ e´ termin´ee ee en des temps discrets
∈
≥
∈
t k k +1 = t k k + h, 34
k = = 0, 1,
···
Sch´ emas a` un pas pour la r´ esolution d’une EDO
et on appellera h le pas de temps. On notera U k temps t k k l’approximation au temps t k de la vraie solution u solution u (t k ema ema a` un k ). Lorsqu’on met en œuvre ce qui est appel´e un sch´ pas, U pas, U k ecurrence k est solution de la r´ecurrence U 0 = u0 U k k +1 = U k k + hF (t k k , U k k , h),
t k k +1 = t k k + h,
k = = 0, 1, 2,
···
(2.30)
F ` pour pour une foncti fonction on F apr´ a` pr´ecise eciserr. Donc, Donc, au temps temps initial initial t 0 , U 0 est egale e´ gale a` la cond condit itio ion n initiale u initiale u 0 de l’EDO. Connaissant Connaissant U 0 on peut d´eterminer U eterminer U 1 par (2.30) et ainsi de suite pour obtenir l’approximation U l’approximation U k k de la solution pour des temps discrets successifs. Pour simplifier l’expos´e de la m´ethode, ethode, on supposera que u (t ) R. Dans le cas vectoriel il conviendra simplement d’appliquer l’approche donn´ee ee pour le cas scalaire composante par composante au cas vectoriel.
∈
Si l’on prend par exemple dans (2.30) F (t k k , U k k , h) = f (t k k , U k k ) schema avec f la fonction fonction de l’EDO (2.29), on obtient obtient la r´ecurrence ecurrence appel´ee le ee le sch´ ´ d’Euler explicite U k k = = 0, 1, (2.31) k +1 = U k k + h f (t k k , U k k ),
···
Si la soluti solution on exac exacte te u(t k etait etait aussi aussi solutio solution n de (2.31) (2.31),, alors alors la soluti solution on num´erique erique k ) ´ et la solution sol ution exacte co¨ıncideraient, ınciderai ent, ce qui bien bi en sˆ s ur u ˆ r est faux en g´en´ en´eral. eral. En fait, la solution exacte ne v´erifie erifie (2.31) qu’`a une erreur pr`es. es. En effet, par la formule de Taylor on voit ais´ement ement que 2 u(t k k +1 ) = u(t k k ) + h f (t k k , u(t k k )) + O(h )
′ k ) = f (t k k , u(t k k )). Il convient car si u si u (t k k ) est solution exacte, par (2.29) on aura u (t k de remarquer ici que par la suite il sera toujours suppos´e que f (t , u), et ainsi que ordres de d´erivabilit´ erivabilit´e suffisants pour op´erer erer des d´eveloppements eveloppements de u(t ) ont des ordres Taylor n´ecessaires. ecessaires. D’autr D’autres es m´ethode ethodess d’appr d’approxi oximat mation ion sont sont d´efinies efinies a` part partir ir des des form formul ules es d’in d’int´ t´egration. egration. A partir de (2.29) on peut ´ecrire ecrire u(t k k +1 ) = u(t k k ) +
Z
t k +1
t k
f (t , u(t )) ))dt
(2.32)
et prenons par exemple exemple la formule des trap` trap ezes e` zes pour approcher approcher l’int´ l’int egrale. e´ grale. Il a et´ e´ t´e montr´e au chapitre 3 que
Z
t k +1
t k
f (t , u(t )) ))dt = =
h 2
[ f (t k k , u(t k k )) + f (t k k +1 , u(t k k +1))]+ O(h3 ) 35
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
et une solution approch´ee ee de l’EDO est donn´ee ee par le sch´ema ema U k k +1 = U k k + hF (t k k , U k k , h),
F (t k k , U k k , h) =
1 [ f (t k k , U k k ) + f (t k k +1 , U k k+ )]. (2.33) 1 )]. 2
La foncti fonction on F (t k efinit efinit le le sch´ema ema (2.33 (2.33)) fait fait interv interveni enirr U k qui d´epend epend k , U k k , h) qui d´ k+ 1 qui implicitement de U k eterminer U eterminer U k esoudre esoudre une k : pour d´ k +1 en fonction de U k k il faut r´ implicite, implicite, tandis e´ quation qui est non lin´eaire equation eaire en g´en´ en´eral. eral. On parle d’une m d’une m ethode ´ explicite, dans la mesure o`u U k que le sch´ema ema Euler (2.31) est explicite, k +1 est obtenue par U k une simple relation alg´ebrique ebrique en fonction de de U ema ema (2.33) est k . Cependant le sch´ plus pr´ecis ecis que le sch´ema ema d’Euler explicite dans un sens qui sera pr´ecis´ ecis´e ci-apr`es. es.
2.2.1 2.2.1
Ordr Ordree d’un d’un sch´ schema, e´ ma, consistance, stabilit´ stabilite´ et convergence
Supp Suppos oson onss que que pour pour le temp tempss t k solutio tion n num´ num´erique erique co¨ co¨ıncide ıncide avec avec la solution solution k la solu exacte, c’est-`a-dire U a-dire U k e´ valuer l’erreur entre la solution k = u (t k k ) et on cherche `a evaluer exac exacte te et la solu solutio tion n num´ num´eriqu eriquee au temps temps t k aleurr U k etant etant donn´ donn´ee ee k +1 = t k k + h. La valeu k +1 ´ par (2.30), on aura u(t k k +1 )
− U + = u(t + ) − u(t ) − hF (t , u(t ), h) k k 1
k k 1
k k
k k
k k
etant e´ tant donn´e que U k ese. ese. On note k = u(t k k ) par hypoth` e(t k k , h) = u(t k k +1 )
− U +
k k 1
l’erreur appel appelee e´ e erreur locale et e(t k k , h) = u(t k k +1)
− u(t ) − hF (t , u(t ), h). k k
k k
k k
(2.34)
Il s’agit s’agi t donc de l’erreur l ’erreur que l’on l’ on fait en avanc¸ ant d’un pas avec le sch´ sch ema, ´ema, partant de U de U k ema d’Euler (2.31) par exemple, avec F (t k ema k = u (t k k ). Pour le sch´ k , u(t k k ), h) = ′ etant la solution exacte, u(t k f (t k k , u(t k k )) = u (t k k ), u(t k k ) ´etant k ) + hF (t k k , u(t k k ), h) est sur la droite passant par u par u (t k ` la courbe u courbe u (t ) comme illustr´e sur la figure k ) et tangente a 2.1. On note t note t k et on introduit la quantit´e τ(t , h) = e(t , h)/h, c’est-`a-dire a-dire k = t et
τ(t , h) =
u (t + + h) h
− u(t ) − F (t , u(t ), h)
(2.35)
erreur de discr etisation qui qui est est l’err l’erreu eurr loca locale le divi divis´ s´ee e e par par h : cette quantit´ quantit´e, e , appe appel´ l´ee ee erreur ´ ´ locale, locale, est obtenue en injectant la solution exacte u(t k ema ema (2.30). k ) dans le sch´ La solution approch´ee ee est solution du sch´ema ema tandis que la solution exacte est solution a` l’erreur τ (t , h) pr`es. es. 36
Ordre d’un sch´ ema, consistance, stabilit´ e et convergence
e
u(t)
2
e
e1
3
e0
t0
t1
t2
t3
t4
t
FIG . 2.1 – Illustration de l’erreur de discr´etisation etisation locale ek = e (t k k , h) pour le sch´ema ema d’Euler.
Definition e´ finition 3 Le sch´ sch ema 0 , s’il existe une ´ (2.30) est d’ordre p pour un entier p ∗ constante constante C > , 0 < h < > 0 et h > 0 , tels que pour tout t ]t 0 , T [ , , et pour tout h > 0 , 0 ∗ h , l’erreur de discr etisation locale τ(t , h) d efinie par (2.35) v erifie ´ ´ ´ ´ ´
≥
∈ p
|τ(t , h)| ≤ Ch .
On ´ On ´ ecrira que τ(t , h) = O(h p). Le sch´ schema ´ est dit consistant consistant si p
(2.36)
≥ 1.
Calcul pratique de l’ordre d’un sch ema e´ ma Pour d´eterminer eterminer l’ordre d’un sch´ema, ema, il convient d’op´erer erer un d´eveloppement eveloppement h de la quantit´e τ(t , h). Consid´erons de Taylor par rapport a` h de erons d’abord u(t + h) h
− u(t )
et par un d´evelo eveloppe ppemen mentt de Taylor aylor (en suppo supposa sant nt que u que u(t ) est p est p + 1 fois fois continˆ continˆument ument d´erivable) erivable) u(t + + h) h
− u(t ) = u ′(t ) + h u ′′(t ) + · · · + h − u( )(t ) + O(h ). p 1
p! p!
2
Or, u Or, u (t ) est solution de l’EDO et donc u ′ (t ) = f (t , u(t )) )) 37
p
p
(2.37)
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
et ensuite u ′′ (t ) =
∂ f ∂ f ∂ f ∂ f (t , u(t )) )) + (t , u(t )) )) u ′ (t ) = (t , u(t )) )) + (t , u(t )) )) f (t , u(t )). )). ∂t ∂u ∂t ∂u
Evidemment, les d´eriv´ eriv´ees ees suivantes de u s’expriment egalement e´ galement en fonction des d´eriv´ eriv´ees ees parti partiell elles es de f (t , u(t ), la comp comple lexi xit´ t´e de l’expr l’expres essio sion n augme augmenta ntant nt consi consid´ d´erablement erablement avec l’ordre l’ordre de la d eriv´ e´ riv´ee. ee. S’arrˆetant etant a` l’ordre 2, on peut ecrire e´ crire u(t + h) h
− u(t ) = f (t , u(t )))) + h
2
∂ f ∂ f (t , u(t )) )) + (t , u(t )) )) f (t , u(t )) )) + O(h2 ). ∂t ∂u
(2.38) h et bien sˆur La fonction F fonction F (t , u(t ), h) peut egalement e´ galement etre eˆ tre d´evelopp´ evelopp´ee ee par rapport rapport a` h et ur
∂F h2 ∂2 F F (t , u(t ), h) = F (t , u(t ), 0) + h (t , u(t ), 0) + (t , u(t ), 0) + ∂h 2 ∂h2 h p−1 ∂ p−1 F + (t , u(t ), 0) + O(h p) (2.39) p 1 − ( p 1)! ∂h
···
···
−
L’erreur de discr´etisation etisation locale τ(t , h) d´efinie efinie par (2.35) etant e´ tant la diff´erence erence entre (2.38) et (2.39), on obtient jusqu’`a l’ordre 2 en h en h
τ(t , h) = ( f (t , u(t )) )) F (t , u(t ), 0)) ∂ f 1 ∂ f + h (t , u(t )) )) + (t , u(t )) )) f (t , u(t )) )) ∂u 2 ∂t
−
+ O(h2 ).
−
∂F (t , u(t ), 0) ∂h
(2.40)
On peut bien sˆur ur expliciter les termes d’ordres sup´erieurs erieurs de τ(t , h), au prix de calcul fastidieux. De l’expression ci-dessus ci-dessus on peut conclure que le sch´ sch ´ema ema est au moins d’ordre 1, c’est-`a-dire a-dire τ (t , h) = O(h), si et seulement si F (t , u(t ), 0) = f (t , u(t )) ))
(2.41)
Ensuite il est au moins d’ordre 2, si en plus
∂F 1 (t , u(t ), 0) = ∂h 2
∂ f ∂ f (t , u(t )) )) + (t , u(t )) )) f (t , u(t )) )) . ∂t ∂u
(2.42)
Evaluant l’ordre des deux sch´emas emas (2.31) et (2.33) introduits ci-dessus. Pour le sch´ema ema d’Euler (notant t (notant t k ), k = t ), F (t , u(t ), h) = f (t , u(t )) )) 38
Ordre d’un sch´ ema, consistance, stabilit´ e et convergence
)) et le sch´ et donc donc F (t , u(t ), 0) = f (t , u(t )) sch´ema e ma est est d’or d’ordr dree 1, mais mais il n’es n’estt pas pas d’or d’ordr dree h . Prenons le sch´ema 2, car ∂ F (t , u(t ), h)/∂h = 0, F 0, F ne ne d´ependant ependant pas de h. ema (2.33) associ´e a` la formule des trap`ezes, ezes, alors (t ( t k k = t , t k k +1 = t + h) 1 F (t , u(t ), h) = ( f (t , u(t )) )) + f (t + h, u(t + h)) ) . 2 Or, par Taylor
∂ f ∂ f f (t + h, u(t + h)) = f (t , u(t )) )) + h (t , u(t )) )) + (t , u(t )) ))u ′ (t ) + 0(h2 ) ∂t ∂u
)) car pour evaluer Or, a` nouveau u ′ (t ) = f (t , u(t )) e´ valuer l’ordre on injecte la solution exacte de l’EDO dans le sch´ema ema et donc F (t , u(t ), h) = f (t , u(t )) )) +
h 2
∂ f ∂ f (t , u(t )) )) + (t , u(t )) )) f (t , u(t )) )) + O(h2 ) ∂t ∂u
Par cons´equent, equent, dans ce cas on obtient
τ(t , h) = O(h2 ), en comparant l’expression ci-dessus avec (2.38). Nous allons pr´eciser eciser maintenant de quelle mani`ere ere l’ordre d’un sch´ema ema est li´e a` l’erreur entre la solution exacte et la solution approch´ee. ee.
Stabilit´ Stabilite´ et convergence On reprend le sch´ema ema a` un pas U k k +1 = U k k + hF (t k k , U k k , h),
U 0 = u0 ,
k = = 0, 1, 2,...,
(2.43)
et on suppose qu’`a chaque pas en temps une erreur εk s’introduit. Il peut s’agir par exemple d’erreurs d’erreurs d’arrondis des nombres r´ r eels e´ els lors d’une mise en œuvre sur ordinateur. ordinateur. Donc, au lieu l ieu du sch ema e´ ma exacte, on aura aura plut ot oˆ t V k k +1 = V k k + hF (t k k , V k k , h) + εk ,
V 0 = u0 ,
k = = 0, 1, 2,...,
(2.44)
Definition e´ finition 4 Le sch´ sch ema (2.30) est dit stable, s’il existe une constante M > 0 et ´ ∗ h > 0 tels h, 0 < h < h∗ et pour toute suite εk on ait 0 tels que pour tout h, 0
−
N 1
|U − V | ≤ M ∑ |ε | N
N
k =0
pour tout N tel que t N N = t 0 + Nh
∈]t , T [. 0
39
k
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
Un sch´ema ema est donc stable si les erreurs introduites `a chaque it´eration eration du sch´ema ema ne font au pire que s’additionner. Dans quelles conditions un sch´ema ema (2.30) (2.30) est-il stable ?
Th´ Theor` e´ oreme e` me 6 Pou Pourr que que le sch schema em (2.30) 0) soit soit stab stable le,, il suffi suffitt qu’il qu’il exis existe te une une cons consta tant ntee ´ a (2.3 Λ telle que pour tout t [t 0 , T ] , , pour tout v, w R et pour tout h [0, h∗ ] on ait
∈ ∈ |F (t , v, h) − F (t , w, h)| ≤ Λ|v − w|
∈
(2.45)
Pour d´emontrer emontrer ce th´eor` eor`eme, eme, formant a` partir de (2.43) et (2.44))
|U − V + h(F (t , U , h) − F (t , V , h)) − ε | ≤ |U − V | + h|F (t , U , h) − F (t , V , h)| + |ε | ≤ (1 + hΛ) |U − V | + |ε | =
|U + − V + | k k 1
k k 1
k k
k k
k k
k k
k k
k k
k k
k k
k k
k k
k k
k k
k k
k k
k
k
k
si F (t , u, h) v´ verifie e´ rifie l’inegalit´ e´ galit´e (2.45). Mais on peut ecrire e´ crire l’in´ l’inegalit´ e´ galit´e c-dessus en rempl rem plac ac¸ ant k ant k par k par k 1 etc. et c. de d e fac¸ on a` obtenir
−
k
k +1
j
|U + − V + | ≤ (1 + hΛ) |U − V | + ∑ (1 + hΛ) |ε − |. k k 1
k k 1
0
0
k j
j=0
Or U Or U 0 = V 0 d’apr`es es hypoth`ese ese et tenant compte que (1 + hΛ) j = k + 1) 0 j k , on peut ecrire ´ecrire (posant N (posant N =
≤ ≤
N
−
N
k 1
si
N 1
|U − V | ≤ (1 + hΛ) ∑ |ε | = N
≤ (1 + hΛ) +
j
.
j 0
Or, de l’in´egalit´ egalit´e bien connue
(1 + hΛ) on d´eduit eduit
(1 + hΛ) N
≤e Λ h
≤ e Λ ≤ e( − hN
T t 0 )Λ
pour pour tout tout N tel tel que que t N = t 0 + Nh ]t 0 , T [. Par cons´ cons´equen equent, t, la consta constante nte M M = = e(T −t 0 )Λ dans la d´efinition efinition de stabilit´e. e. On remarque ici que la condition (2.45) est une condition de type Lipschitz pour F qui d´efinit la fonction fonction F qui efinit le sch´ema. ema. Nous avons suppos´e que pour la fonction f qui f qui d´efinit efinit l’EDO, la condition de Cauchy-Lipschitz (2.3) est v´erifi´ erifi´ee. ee. Donc, le sch´ema ema d’Euler explicite (2.31) et le sch´ema ema des trap`ezes ezes (2.33) sont stables, etant e´ tant donn´ donn´ees ees les expres expressions sions de F de F (t , u(t ), h) dans ces cas en fonctio fonction n de f (t , u(t )) )).
∈
40
Ordre d’un sch´ ema, consistance, stabilit´ e et convergence
Par la suite nous allons aborder la question de convergence, c’est-`a-dire nous allons evaluer e´ valuer l’erreur entre la solution exacte et la solution num´erique erique pour un temps t temps t ]t 0 , T [. Il convient alors d’introduire un pas de temps h N de fac¸ on a` ce que t t 0 . t N = t 0 + Nh N h N = t , c.-`a-d. a-d. h N = (2.46) N N pas avec Dans ce cas U cas U N , la solution num´erique erique obtenue en mettant en œuvre N pas le sch´ema ema num´erique, erique, est une approximation de la vraie solution sol ution au temps t temps t et et on note E (t , h N ) = U N u(t ) (2.47)
∈ ∈
−
−
l’erreur. l’erreur. On suppose que le sch ema e´ ma (2.43) est d’ordre p et d’apr`es es la d´efinition efinition de l’ordre du sch´ema, ema, on peut ecrire e´ crire pour la solution exacte u(t k k +1) = u(t k k ) + h N F (t k k , u(t k k ), h N ) + e(t k k , h N )
(2.48)
avec e(t k k , h N ) = h N τ(t k k , h N )
(2.49)
p
l’erreur locale. On rappelle que τ (t k ema ema est d’ordre p. k , h N ) = O(h N ) si le sch´
Th´ Theor` e´ oreme e` me 7 Si le sch ema (2.43) est stable stable et d’ordre d’ordre p avec avec p entier positif, alors ´ (2.43) ¯ > 0 et il existe une constante K > , 0 < h N < ¯h 0 et h > 0 tels 0 tels que pour tout h N , 0 p N
| E E (t , h ) ≤ K h − u(t ). En particulier, si p ≥ 1 , donc si le sch´ schema ´ est consis N
avec E (t , h N ) = U N tant, alors
lim E (t , h N ) = 0.
→0
h N
On note que h N
a` N → ∞ par (2.46). → 0 est ´ equivalent ´
Avant de d´emontrer emontrer ce r esultat e´ sultat fondamental, il convient d’observer que l’erreur sera sera d’autan d’autantt plus plus petite que l’ordre l’ordre du sch´ sch´ema ema sera elev´ e´ lev´e, e, ci qui d´emontr emontree l’int´ l’int´erˆ erˆet et d’employer pr´ecis´ ecis´ement ement des sch´emas emas d’un ordre p 2. L’ordre L’ordre 1, c’est-` c’est-a-dire a` -dire la consistance, consistance, est n´ n ecessaire e´ cessaire pour la convergence. Pour la d´emonstration, emonstration, on utilise utilise la definition e´ finition 4 de stabilit´e, e, en prenant
≥
V k k = u(t k k )
et
εk = e(t k k , h N )
car alors (2.48) et (2.44) sont identiques. Si le sch´ema ema est stable, on aura d’apr`es es la d´efinition efinition 4
−
N 1
−
N 1
|U − u(t )| ≤ M ∑ |e(t , h )| = Mh ∑ |τ(t , h )|, = = N
N
k k N
k 1
N
k 0
41
k k N
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
> O, O, et ˜h > 0 tel que si 0 < h N < h∗ . Si le sch´ema ema est d’ordre p, alors il existe C existe C > si 0 < h N < ˜h p τ(t k k , h N ) Ch N
|
|≤
p ∗˜ ¯ car τ(t k k , h N ) = O(h N ). Donc, prenons h = min(h , h), alors si 0 p N
p N
≤ h ≤ h¯ N
p N
K h |U − u(t )| ≤ MN h Ch ≤ M (T − t )Ch = Kh = t + Nh ∈]t , T [, ce qui car N car N h ≤ (t − t ) ≤ (T − t ) ´etant etant donn´e que t que t = t = N
0
N
N
N
0
0
0
N N
0
N
ach`eve eve la d´emonstration emonstration du du th´ theor` e´ or`eme. eme.
2.2. 2.2.2 2
Les Les sch schemas e´ mas de Runge-Kutta Runge-Kutta
On peut construire des sch´emas emas a` un pas d’ordres d’ordres de plus en plus elev´ e´ lev´es, es, en emboˆıtant ıtant en quelque q uelque sorte des formules d’int d’ int´egration e´ gration num´erique. erique. Ces sch´emas, emas, schemas de Runge-K Runge-Kutta utta,, se construisent de fac¸on connus connus sous sous le nom de de sch´ ¸on suivante. suivante. ´ Un sch´ema ema a` un pas est une r`egle egle qui permet permet de d´ d eterminer e´ terminer la solution num´erique erique au temps t temps t k erique au temps t temps t k k +1 = t k k + h en fonction de la solution num´erique k . On introduit q duit q temps temps interm´ediaires ediaires t k k , j = t k k + c j h,
0
≤ c ≤ 1, j
j = 1,
· · · q.
(2.50)
La solution exacte de l’EDO est telle que u(t k k +1 ) = u(t k k ) +
Z
t k +1
t k
f (t , u(t )) ))dt
et approchant approchant l’int´ l’integrale e´ grale par une somme (une formule formule d’int egration) e´ gration) on ecrit e´ crit pour la solution approch´ee ee q
U k k +1 = U k k + h ∑ bi f (t k k + ci h, U k k ,i ) i=1
pour des coefficients bi a` pr´eciser eciser et U et U k e´ signe la la solution approch´ee ee de la k, i d esigne solution exacte u exacte u (t k k + ci h). Or, u(t k k + ci h) = u(t k k ) +
Z
t k +ci h
t k
f (t , u(t )) ))dt
et en employant a` nouveau des formules d’int´egration egration num´erique, erique, on d etermine e´ termine , q par des expressions U k k ,i , i = 1,
···
q
U k k ,i = U k k + h ∑ ai j f (t k k + c j h, U k k , j ) j=1
42
Les sch´ emas de Runge-Kutta Runge-Kutta
pour des coefficients ai j a` pr´eciser. eciser. En r´esum´ esum´e, e, un sch´ema ema de Runge-Kutta se pr´esente esente de la l a fac¸ on suivante. On pose po se U 0 = u 0 la condition initiale de l’EDO et = 0, 1, 2, ensuite pour k pour k =
···
q
U k k ,1 = U k k + h ∑ a1 j f (t k k + c j h, U k k , j ) j=1 q
U k k ,2 = U k k + h ∑ a2 j f (t k k + c j h, U k k , j ) j=1
. ..
(2.51) q
U k k ,q = U k k + h ∑ aq j f (t k k + c j h, U k k , j ) j=1
et finalement
q
U k k +1 = U k k + h ∑ bi f (t k k + ci h, U k k ,i )
(2.52)
i=1
, q, bi , i = est la solution approch´ee ee au temps t k k +1 . Les coefficients c j , j = 1, 1, , q ainsi que ai j , i = 1, , q, j = 1, , q sont a` d´eterminer eterminer en fonction de l’ordre du sch´ema ema souhait´e. e. Observant d’abord que
···
···
···
···
q
U k k, i = U k k + h ∑ ai j f (t k k + c j h, U k k , j ) j=1
est cens´ee ee etre eˆ tre l’approximation de la solution au temps t k notant t k k + ci h ; notant t k = t et injectant la solution exacte on a u(t + + ci h) h
− u(t ) =
q c j h, u(t + c j h)) + τi (t , h). ∑ ai j f (t k k +
j=1
Pour Pour que cette cette expr express ession ion soit soit consis consistan tante, te, c’est-` c’est-`a-dire a-dire que que l’err l’erreu eurr de discr´ discr´etisation etisation locale partielle τi (t , h) 0 quand h quand h 0, il suffit que
→
→
q
)) = ci f (t , u(t )). )). ∑ ai j f (t , u(t ))
j=1
En effet,
u(t + + ci h) h h→0 lim
et
q
− u(t ) = c u ′(t ) = c f (t , u(t )))) i
i
q
)) quand ∑ ai j f (t + c j h, u(t + c j h)) → ∑ ai j f (t , u(t ))
j=1
j=1
43
h
→ 0.
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
U k De mˆeme, eme, injectant la solution exacte dans (2.52) ((U e´ tant la solution apk +1 etant proch´ee ee au temps t temps t k notant t k ), k + h et notant t k = t ), u(t + + h) h
− u(t ) =
q
+ ci h, u(t + ci h)) + τ(t , h) ∑ bi f (t +
i=1
)) quand h et le memb membre re a` gauch gauchee tenda tendant nt vers vers f (t , u(t )) locale τ(t , h) 0 quand h quand h 0 si
→
→
→ 0, l’err l’erreu eurr de disc discr´ r´etisation etisation
q
f (t , u(t )) )) =
)). ∑ bi f (t , u(t )).
i=1
Le fait que les erreurs de discr´etisation etisation locales tendent tendent vers z ero e´ ro quand h quand h tend tend vers z´ero ero exprime la consistance du sch´ema ema : par cons´equent, equent, d’apr`es es ce qui pr´ec` ec`ede, ede, le sch´ema ema est au moins d’ordre 1, si q
q
∑ bi = 1
et
ci =
i=1
∑ ai j , i = 1, · · · , q.
(2.53)
j=1
Essayons d’ d’ecrire e´ crire les les conditions conditions pour que le sch´ sch´ema ema soit au moins mo ins d’ordre 2. L’expression (2.52) peut peut s’´ s’ ecrire e´ crire U k k +1 = U k k + hF (t k k , U k k , h) avec
q
F (t k k , U k k , h) =
ci h, U k k ,i ). ∑ bi f (t k k +
i=1
avec U k es es par (2.51). On pose t pose t k et il faut pouvoir v´erifier erifier les conditions k ,i donn´ k = t et (2.42) pour que le sch´ema ema soit d’ordre 2. Soit donc (en injectant injec tant la solution exacte dans l’expression ci-dessus) q
F (t , u(t ), h) = ∑ bi f (t + + ci h, u(t + ci h)), )), i=1
avec d’apr`es es (2.51) q
u(t + ci h) = u(t ) + h ∑ ai j f (t + + c j h, u(t + c j h)), )), j=1
ce qui donne lieu a` l’expression q
q
F (t , u(t ), h) = ∑ bi f t + + ci h , u(t ) + h ∑ ai j f (t + + c j h, u(t + c j h)) . i=1
j=1
44
Les sch´ emas de Runge-Kutta Runge-Kutta
Par cons´equent, equent, q
∂F (t , u(t ), 0) = ∂h
∑ bici
i=1 q
∑ bi
+
i=1
∂ f (t , u(t )) )) ∂t
q
∂ f (t , u(t )) )) ∑ ai j f (t , u(t )) )) . ∂u j=1
Les relations (2.53) doivent etre eˆ tre v´erifi´ erifi´ees, ees, car pour etre eˆ tre d’ordre 2 il faut etre eˆ tre q d’ordre 1, donc ∑ j=1 ai j = c i et par cons´equent equent le sch´ema ema est d’ordre au moins 2, c’est-`a-dire a-dire la condition (2.42) est v´erifi´ erifi´ee, ee, si en plus de (2.53) on ait q
1
∑ bici = 2 .
(2.54)
i=1
Evidemment, d’´ecrire ecrire les relations pour des ordres sup´erieurs erieurs est de plus en plus fastidieux et on se contente d’avoir d´emontr´ emontr´e les conditions d’ordre 2. On peut montrer par exemple que le sch´ema ema est au moins d’ordre 3 si en plus des relations (2.53) et (2.54) les conditions suivantes entre entre les coefficients coefficients q
∑
i=1
bi c2i
q
1 = 3
∑
et
q
∑ bi ai j c j =
i=1 j=1
1 6
(2.55)
sont v´erifi´ erifi´ees. ees. On repr´esente esente en g´en´ en´eral eral les coefficients coefficients d’un sch´ sch ema e´ ma de Runge-Kutta sous forme d’un tableau c1 c2 .. .
a11 a21 .. .
a12 a22 .. .
··· ···
a1q a2q .. .
cq
aq1 b1
aq2 b2
··· ···
aqq bq
Si dans les formules (2.51) les coefficient a coefficient a i j = 0, i
≤ j ≤ q, alors
U k k ,1 = U k k et pour i pour i
≥2
−
i 1
U k k, i = U k k + h ∑ ai j f (t k k + c j h, U k k , j ) j=1
, i 1 et et par cons´equent equent les U k ependent ependent que des U k k ,i ne d´ k , j , pour j = 1 , peuvent peuvent par cons´equent equent etre eˆ tre d´etermin´ etermin´es es ais´ement ement au fur et a` mesure. On parle
··· −
45
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
ema explicite. alors d’un sch d’un sch´ ´ explicite.
Exemples : On cherche a` d´eterminer eterminer tous les sch´emas emas de Runge-Kutta explicites d’ordre au moins 2 avec q = 2. Le tableau ci-dessus devient alors c1 c2
0 a21 b1
0 0 b2
D’apr`es es les conditions (2.53) et (2.54), le sch´ema ema est au moins d’ordre 2, si c1 = 0, a21 = c2 , b1 + b2 = 1, b2 c2 =
1 . 2
Prenons par exemple b exemple b 1 = 0, c 0, c2 = 21 et b et b 2 = 1 (c (c1 = 0 et a et a 21 = 21 ). Alors U k k ,1 = U k k ,
h U k f (t k k ,2 = U k k + k , U k k ,1) 2
et on trouve le sch´ema ema
1 U k h, U k k +1 = U k k + h f t k k + k ,2 2
et donc U k k +1 = U k k + hF (t k k , U k k , h) avec
h 1 F (t k h, U k f (t k k , U k k , h) = f t k k + k + k , U k k ) 2 2
modifie´ . Pour c qui est le sch´ema ema dit d’Euler dit d’Euler modifi´ Pour c 2 = 1, a 1, a 21 = 1 et b 1 = b 2 = 1/2 on Heun avec trouve le sch´ema ema dit de dit de Heun avec 1 1 F (t k )). k , U k k , h) = f (t k k , U k k ) + f (t k k + h, U k k + h f (t k k , U k k )). 2 2 Un sch´ema ema classique de Runge-Kutta explicite avec q avec q = 4, dont on peut montrer qu’il est d’ordre 4, est donn´e par le tableau 0 1/2 1/2 1
0 1/2 0 0 1/6
0 0 1/2 0 1/3 46
0 0 0 1 1/3
0 0 0 0 1/6
Les sch´ emas de Runge-Kutta Runge-Kutta
ce qui donne lieu au sch´ema ema U k k ,1 = U k k h
U k f t k k ,2 = U k k + k , U k k ,1 2 h h , U k k, 2 U k = U + f t + , k 3 k k k k 2 2 h , U k k ,3 U k k ,4 = U k k + h f t k k + 2 h h U k f t k , U k k ,2 k+ 1 = U k k + k , U k k ,1 + 2 f t k k + 6 2 h , U k k ,3 + f t k k + + 2 f t k k + h, U k k ,4 2
Pour conclure ce chapitre, il convient d’observer, que pour les sch´emas emas de Runge F est v´erifi´ Kutta la condition (2.45) de Lipschitz pour F est erifi´ee, ee, dans la mesure o`u F est donn´ee, ee, par des combinaisons plus ou moins complexes, en fonction de f (`a condition bien sur uˆ r que f satisfait aux conditions de Cauchy-Lipschitz Cauchy-Lipschitz garantissant l’existence et et l’unicit´ l’unicite´ de la solution de l’EDO). Ces sch´emas emas sont donc stables et les r´esultats esultats de convergence ci-dessus s’appliquent.
47
R´ esolution num´ erique des equations ´ diff´ erentielles ordinaires (EDO)
48
Chapitre 3 Resolution e´ solution num´ numerique e´ rique directe de syst` systemes e` mes lin´ lineaires e´ aires 3.1 3.1
Moti otivati vation on
Supposons donn´e le probl`eme eme suivant : on souhaite souhai te connaˆıtre ıtre la l a temp erature e´ rature d’une barre m´etallique etallique chauff´ee ee a` ses deux extr´emit´ emit´es es et plong´ee ee dans une pi`ece ece elle-mˆeme eme a` une une temp´ temp´erature erature donn´ee. e e. La barr barree est est assi assimil´ mil´ee ee a` un segm segmen entt de droi droite te b.. On suppose dans cette simplification que la dont les extr´emit´ emit´es sont not´ees a ees a et et b temp´erature erature de la barre ne d´epend epend que de x et T et et on cherche T ( x), a < x < b, b , avec T avec T (a) = T a et T (b) = T b (o u` T a et T b sont les temp´eratures eratures aux extr´emit´ emit´es). es). La temp´erature erature environnante est d´esign´ esign´ee ee par T e . Il y a perte de chaleur due a` la convection de l’air que l’on mod´elise elise par une fonction r ( x). On note κ le le coefficient de diffusion thermique que l’on suppose constant. Le probl eme e` me est r´egi egi par une equation e´ quation diff´erentielle erentielle Te
Ta
Tb b
a
x
Te
F IG . 3.1 – Sch´ema ema de principe d’une barre mince chauff chauff ee e´ e aux extr´emit´ emit´es. es.
d 2 T ( x) κ + r ( x)(T ( x) dx 2
−
− T ) = 0, a < x < b, T (a) = T , T (b) = T . e
a
b
(3.1)
Sauf dans des cas particuliers, il n’est en g´en´ en´eral eral gu`ere ere possible de d´eterminer eterminer une solution analytique de cette ´equation. equation. Donc, mˆeme eme pour ce cas relativement 49
R´ esolution num´ erique directe de syst` emes lin´ eaires
simple une approche “num´erique” erique” s’av`ere ere n´ecessaire ecessaire afin de trouver une solution approch´ee ee de la temp´erature erature T ( x) le long de la barre. Une m´ethode ethode classique, er finies , consiste a` appro conn connue ue sous sous le nom nom des des diff erence approche cherr les d´eriv´ eriv´ees ees par des ´ ´ encess finies quotients aux diff´erences. erences. La technique utilise la formule de Taylor. aylor. Prenons par exemple une fonction f ( x) “suffisamment d´erivable”, erivable”, alors la formule de Taylor donne f ( x
± h) = f ( x) ±
d f h 2 d 2 f h ( x) + ( x) dx 2 dx 2
±
h3 d 3 f ( x) + O(h4 ). (3.2) 3 6 dx
f soit 4 fois continˆument Pour que cette expression ait un sens, il suffit que f soit ument d´erivable. erivable. Dans l’expres l ’expression sion ci-dessus la l a notion “grand O” est employ´ee ee : d’une p mani`ere ere g´en´ en´erale O erale O (h ) est une expression t. q. 0
≤
O(h p) h p
≤
M , quand
h
→ 0,
> 0 ind´ependant pour M pour M > ependant de h de h et et p. En d’autres termes, O termes, O (h p) est une expression expression p de l’ordre de grandeur h grandeur h . De l’expression (3.2) en d´eduit eduit par exemple d f f ( x + h) ( x) = dx h
− f ( x) + O(h)
et l’erreur O(h) dans l’expression est d’autant plus faible que h sera petit. En combinant les expressions expressions f ( x + h), f ( x) et f ( x + h) on montre que d 2 f f ( x = dx 2
− h) − 2 f ( x) + f ( x + h) + O(h ). 2
h2
(3.3)
On v´erifiera erifiera cette expression `a titre d’exercice. La m´ethode ethode des diff´erences erences finies consiste consiste a` faire abstraction de l’erreur l ’erreur dans ces expressions. expressions. On ecrira e´ crira par exemple `a la place de la “vraie” d´eriv´ eriv´ee ee seconde le quotient aux diff´erences erences f ( x
− h) − 2 f ( x) + f ( x + h) . h2
Revenons Revenons a` notre probl`eme eme de d´epart epart et a` la d´etermination etermination de T de T ( x). Dans les formules de Taylor, un pas discret h discret h intervient intervient et l’id´ee ee fondamental est de diviser −a l’intervalle [ a, b] en sous-intervalles pr´ecis´ ecis´ement ement de longueur h longueur h.. On pose h pose h = nb+ 1 et on d´efinit efinit les n les n + 2 points x j = a + jh j h,
≤ j ≤ n + 1. a et x x + = b et b et il y a n x , 1 ≤ j ≤ n `a l’int´erieur Ainsi, x Ainsi, x = a et a n points points x erieur de l’intervalle 0
0
n 1
j
ethode d’approximation d’approximation de la d eriv´ e´ riv´ee ee seconde permet alors de trouver [a, b]. La m´ethode 50
Motivation
j n, de la temp´erature une approximation de T ( x j ), 1 erature au points x j (sachant que T que T ( x0 ) = T a , T ( xn+1 ) = T b et les temp´eratures eratures aux bords sont des param`etres etres du probl`eme). eme). Utilisant la relation (3.3) on peut donc ecrire e´ crire l’approximation
≤ ≤
d 2 T ( x j ) dx 2
≈ T ( x − ) − 2T h( x ) + T ( x + ) , j 1
j 1
j
2
car x car x j±1 = x j h. On note T note T j j l’approximation de T ( x j ) et on obtient le syst`eme eme suivant, suivant, a` partir de (3.1) et en ´ecrivant ecrivant le quotient aux diff erences e´ rences a` la place de la d´eriv´ eriv´ee ee seconde pour tous les points x j `a l’int´erieur erieur de l’intervalle [ a, b]
±
−κ T − − 2T + T + h 2
j 1
j
j 1
+ r ( x j )T j = r ( x j )T e ,
j = 1,
· · · , n.
(3.4)
La fonction r fonction r ( x j ) est donn´ee ee dans l’expression ci-dessus ainsi que T 0 . Les inconnues du syst`eme eme ci-dessus sont les T j j , a` savoir les approximations de la solution exacte T ( x j ) aux points x j . Evaluant l’´equation equation pour j = 1, on voit apparaˆıtre ıtre erature impos´ee ee en x en x = a, ere analogue T 0 = T ( x0 ) = T a, qui est la temp´erature a, et de mani`ere b . Les inconpour j = n la temp´erature erature T n+1 = T ( xn+1 ) = T b impos´ee ee en x = b. nues sont ainsi les approximations T j des valeurs de la temp´erature erature aux points x j , j = 1, n, a` l’int´erieur erieur du domaine [a, b]. Les T j j peuvent etre eˆ tre consid´er´ er´ees ees T . T . A partir de (3.4), et en tecomme les composantes d’un vecteur que l’on note nant compte que pour j = 1 et j = n + 1 les donn´ees T ees T a et T et T b interviennent, il est T est facile de voir (exercice) que le vecteur est solution du syst`eme eme lin´eaire eaire
···
A T = B
(3.5)
pour la matrice
A =
2 + s( x1 ) 1 1 2 + s( x2 ) .. .
−
−
(0)
−1
(0)
−
−
..
.. . . 1 2 + s( xn−1 ) 1 1 2 + s( xn )
−
et le second membre qui contient les param`etres etres du probl`eme eme
= B
s( x1 )T e + T a s( x2 )T e .. . s( xn−1 )T e s( xn )T e + T b 51
,
(3.6)
(3.7)
R´ esolution num´ erique directe de syst` emes lin´ eaires 2
avec s avec s( x j ) = hκ r ( x j ), j = 1, n. La matrice A matrice A,, avec n avec n lignes lignes et n et n colonnes, colonnes, est dite tridiagonale. En effet, seuls les el´ e´ l´ements ements sur la diagonale ainsi que leurs voisins imm´ediats ediats a` droite et a` gauche sont non nuls. Plus n est grand, plus la solution approch´ee ee sera pr´ecise ecise et etant e´ tant donn´ee ee la taille du syst`eme eme lin´eaire eaire il faut imaginer une une m´ methode e´ thode num´erique erique en vue de sa r´esolution. esolution. Les param`etres etres du probl`eme eme B. B. L’id´ee (T a , T b , T e) n’interviennent que dans l’expression du second membre ee est alors de ne pas r´esoudre esoudre directement le syst`eme eme (3.5) pour un second membre donn´e, e, mais plut plutot oˆ t d’op´erer erer une d´ecomposition ecomposition de A une fois pour toutes, afin de pouvoir ais´ement ement r´esoudre esoudre les syst`emes emes successifs lorsqu’on fait varier les param`etres etres du probl`eme. eme.
···
Decomposition e´ composition LU d’une matrice tridiagonale tridiagonale
3.2
On ecrit e´ crit d’une mani`ere ere g´en´ en´erale erale une matrice tridiagonale n tridiagonale n r´eels eels ou complexes) sous la forme
A =
a1 b2
c1 a2 .. .
(0)
× n (`a coefficients
−
(0)
c2 .. .
..
.
(3.8)
bn−1 an−1 cn 1 bn an
L’id´ee ee est d’´ecrire ecrire A sous la forme du produit de deux matrices LU . U . La matrice L aura L aura la particularit´e d’ˆetre etre triangulaire inf´erieure, erieure, c’est-`a-dire a-dire ses el´ e´ l´ements ements au U sera triangulaire sup´erieure, dessus de la diagonale sont nuls, tandis que U erieure, c.a-d. a` -d. ses el´ e´ l´ements ements en dessous de la diagonale sont nuls. La notation L et U est U de “upper”. On g´en´ en´eralement eralement utilis´ee, L ee, L ´etant etant la premi` premi`ere ere lettre de “lower” et U de suppose que ai = 0, i = 1,
· · · , n, c = 0, i = 1, · · · , n − 1, b = 0, i = 2, · · · , n. i
i
(3.9)
On cherche L cherche L et et U sous la forme
L =
1
β2
(0)
1 .. .
(0) ..
.
βn−1
1
βn
1
, U =
52
α1
γ 1 α2
γ 2 ..
(0)
.
−
(0) ..
.
.
αn−1 γ n 1 αn
(3.10)
D´ ecomposition LU d’une d’une matrice tridiagonale
On op´erant erant le produit matriciel LU matriciel LU on on obtient (exercice)
LU LU =
α1 γ 1 α1 β2 α2 + γ 1 β2 ..
γ 2 ..
.
(0) ..
.
.
αn−2 βn−1 αn−1 + γ n−2 βn αn−1 βn
(0)
−1
γ n−1 αn + γ n−1 βn
.
(3.11) A on a bien En identifiant les el´ e´ l´ements ements de la matrice LU avec avec ceux de la matrice A on A = LU si si
βi = βn =
bi
αi−1 bn
αn−1
α1 = a1 ,
γ 1 = c1
,
αi = ai
− γ − β , i 1 i
,
αn = an
− γ − β .
γ i = ci ,
i = 2, 3,
· · ·n − 1
(3.12)
n 1 n
L et U U ,, a` condition que α i = 0. Les Ces relations d´eterminent eterminent les coefficients de L et relations ci-dessus s’apparentent s’apparentent a` un algorithm algorithmee dans la mesure mesure o`u si l’on l’o n connaˆ co nnaˆıt ıt αi−1 on peut d´eterminer eterminer β i dont on a besoin pour calculer α i etc. ; par ailleurs ailleurs les γ i = ci . L’´egalit´ egalit´e α 1 = a 1 initialise le calcul et cet algorithme peut donc ˆetre etre mis en œuvre sur un ordinateur. Pour certaines classes classes de matrices il est assur´ assur e´ que lors des etapes e´ tapes successives αi = 0.
Th´ Theor` e´ oreme e` me 8 On suppose que les coefficients de la matrice A donn ee ´ par (3.8) avec (3.9) sont tels que
|a | > |b |, |a | ≥ |b + | + |c − |, i = 2, · · · , n − 1, |a | ≥ |c − |. 1
2
i
i 1
i 1
n 1
n
On parle dans ce cas d’une matrice `a diagonale dominante. Alors
|β | < 1, i = 2, · · · , n,
et αi = 0, i = 1,
· · · , n. Ce r´esultat esultat se d´emontre emontre par recurren e´ currence ce ; en effet effet α = a = ese 0 par hypoth`ese sur les coefficients de la matrice A et par la dominance diagonale on trouve que |β | = |b |/|α | < 1. On fait alors l’hypoth`ese 0, i = 1, · · · , m ese de r´ecurrence ecurrence : α = et |β | < 1, i = 1, · · · , m + 1 (avec m ≤ n − 2). De l’expression de α + donn´ee ee par (3.12) (3.12) on d eduit e´ duit la minoration |α + | ≥ |a + | − |γ ||β + | > |a + | − |γ | car |β + | < 1 par hypoth`ese ese de r´ecurrence. ecurrence. Or, par la dominance diagonale on aura |a + | − |γ | ≥ |b + | et finalement on en d´eduit eduit que |α + | > |b + |. Par hypoth`ese b ese b + = 0 et donc α + = 0 et aussi |β + | = |b + |/|α + | < 1. Le i
1
2
2
1
1
i
m 1
i
m 1
m 1
m
m 1
m 1
m 1
m 1
m
m 2
m 2
m 1
m 1
m 2
th´eor` eor`eme eme est ainsi d´emontr´ emontr´e.
53
m 2
m 2
m 1
m
R´ esolution num´ erique directe de syst` emes lin´ eaires
Qu’a-t-on gagn´e en ecrivant A e´ crivant A = LU ? ? Pr´ecis´ ecis´ement, ement, admettons qu’on cherche a` r´esoudre esoudre Ax = d avec d avec d un un vecteur second membre donn´e et A et A une une matrice de la forme (3.8) avec (3.9). On peut donc ecrire e´ crire LUx = d , ou encore de mani`ere ere equivalente e´ quivalente sous forme de deux syst` syst emes e` mes lin´eaires eaires avec des matrices triangulaires L triangulaires L et et U U Ly = d ,
U x = y.
On note d i les coefficients du vecteur d et et les coefficients yi de y s’obtiennent ais´ement, L ement, L ´ ´etant etant sous la forme (3.10). En effet y1 = d 1 ,
yi+1 = d i+1
− β + y , i 1 i
i = 1,
· · · , n − 1.
Connaissant y, le vecteur x s’obtient facilement, a` nouveau grˆace ace a` la structure particuli`ere ere de U de U .. On obtient xn = yn /αn ,
xn−i = ( yn−i
− γ − x − + )/α − , n i n i 1
n i
i = 1,
· · · , n − 1.
Revenon Revenonss un instan instantt au syst` syst`eme e me (3.5 (3.5)) avec vec (3.6 (3.6)) du prob probl` l`eme e me de la barr barree m´etaletallique. On voit bien que cette matrice satisfait au th´eor` eor`eme, eme, donc est a` diago2 ))/κ avec nale dominante, si s( x) 0. Or, s( x) = (h r ( x))/ avec κ le le coefficient de diffusion thermique (positif par convention) et r ( x) la fonction de transfert de chaleur : on montre que l’´equation equation diff´erentielle erentielle (3.1) est est bien pos´ pos ee, e´ e, c’est-`a-dire a-dire que l’´ l’equation e´ quation admet une solution unique, pr´ecis´ ecis´ement ement si r si r ( x) 0. Enfin, la d´ecomposition A ecomposition A = LU permet permet ais´ement ement de calculer le d´eterminant eterminant det( A) de A de A.. En effet, le d´eterminant eterminant d’un produit de matrices est egal ´egal au produit des d´eterminants, eterminants, c.-`a-d. a-d. det ( A) = det( LU eterminant LU ) = det( L) det(U ). Or, le d´eterminant d’une matrice triangulaire est le produit des ´el´ el´ements ements sur la diagonale de la matrice ; par cons´equent equent det ( L) = 1 et donc detA = det d et (U ) = α1 α2 αn .
≥
≥
· ···
U est non nul pour les matrices a` Ce produit des el´ e´ l´ements ements sur la diagonale de U est diagonale dominante d’apr`es es le th´eor` eor`eme. eme. Nous avons donc montr´e au passage qu’une matrice n matrice n n `a diagonale dominante est inversible. La d´ecomposition LU ecomposition LU ayant ayant et´ e´ t´e illustr´ee ee pour une matrice tridiagonale, nous allons maintenant exposer la g´en´ en´eralisation eralisation a` des matrices n n sans structure particuli`ere. ere.
×
×
54
D´ ecomposition LU de de matrices
3 .3 3.3.1 3.3.1
Decomposition e´ composition LU de de matrices Algor Algorit ithm hmee de Gauss Gauss
Soit A Soit A une une matrice n matrice n cherche a` r´esoudre esoudre
note a × n ; On note a
i j ses
el´ e´ l´ements ements (r´eels eels ou complexes) et on
Ax = b avec b avec b
n
n
eme s’´ecrivant ecrivant ∈ R (ou C ), ce syst`eme a x + a x + ··· ··· a x + a x + ··· ··· 11 1
12 2
21 1
22 2
.. . an1 x1 + an2 x2 +
+ a1n xn = b1 + a2n xn = b2
(3.13)
.. .. . . + ann xn = bn .
··· ···
Le but de l’algorithme dit LU dit LU est est d´ecrire ecrire la matrice sous la forme A = LU avec U avec U matrice matrice triangulaire sup´erieure, erieure, obtenue par par un algorithme algorith me de Gauss, et L et L matrice triangulaire inf´erieure erieure telle que l que l ii = 1, i = 1, 2, , n (l (lii ´etant etant les el´ e´ l´ements ements L ). On suppose que a 11 = 0 et on retranche de la i `eme sur la diagonale de L). eme ligne de la matrice A matrice A sa sa premi`ere ere ligne multipli´ee ee par
···
ai1 , pour a11
i = 2, 3,
· · · , n,
ce qui donne a11 x1 +
+
a12 x2
a22
an2
−
a21 a a11 12
−
an1 a11 a12
.. .
x2
··· ··· + ··· ···
x2 +
··· ···
+ + +
=
a1n xn
a2n
ann
−
a21 a a11 1n
−
an1 a11 a1n
.. .
xn = b2
xn = b2
b est devenu Suite a` ces op´erations erations le syst`eme Ax eme Ax = b est A(1) x = b(1) avec les coefficients de la matrice A (1) tels que (1)
= a1 j ,
(1)
= ai j
a1 j ai j
−
j = 1, 2, , n ai1 a1 j , i = 2, 3 a11
···
55
b1
· · · , n, j = 1, 2, · · · , n.
− −
a21 b a11 1
.. .
an1 a11 b1
(3.14)
R´ esolution num´ erique directe de syst` emes lin´ eaires
Le but de cette op´eration eration est bien entendu de faire apparaˆ apparaˆıtre ıtre des z eros e´ ros dans la premi`ere ere colonne, a` partir de la deuxi`eme eme ligne, c.-`a-d. a-d. (1)
ai1 = 0,
i = 2, 3,
· · · n.
De mˆeme eme le vecteur b vecteur b (1) est tel que (1)
(1)
b1 = b1 ,
− aa
i1
· · · , n. On introduit la notation suivante : soient deux vecteurs x vecteurs x , y ∈ C alors x alors x peut peut etre eˆ tre n lignes), tandis que y le consid´er´ er´e comme une matrice n × 1 ( a` une colonne et n lignes), vecteur transpos´e s’apparente a` une matrice 1 × n. Le produit xy est ainsi bien d´efini efini et egal e´ gal a` une matrice n matrice n × n d’´el´ el´ements x ements x y (avec x (avec x et y et y les coefficients de x de x et y et y respectivement). respectivement). On note I note I la la matrice identit identit´e´ n × n et e et e le premier vecteur vecteur de bi
= bi
11
b1 , i = 2, 3,
n
T
T
i j
i
j
1
la base canonique, dont le premier coefficient est ´egal egal a` 1 et les autres sont nuls. Soit le vecteur (l’exposant T (l’exposant T d´esigne esigne le transpos´e, e, car par commodit´e d’´ecriture ecriture on ecrira e´ crira toujours les vecteurs vecteurs colonnes comme le transpos´ transpos e´ d’un vecteur ligne) v1 =
a21 a31 , , 0, a11 a11
···
an1 , a11
T
alors si l’on note L1 = I
T 1 1
−v e
alors (il convient de s’en convaincre en explicitant le calcul) A(1) = L1 A,
b(1) = L1 b.
Le nouveau syst syst eme A e` me A (1) x = b(1) s’´ecrit ecrit (1)
(1)
a11 x1 + a12 x2 +
··· ··· + ··· ···
(1)
a22 x2 .. . (1)
an2 x2 +
··· ···
(1)
(1)
+ a1n x n = b1 (1) (1) + a2n x n = b2 .. .
(1)
.. .
(3.15)
(1)
+ ann x n = bn
Mainte Maintenan nantt on consid` consid`ere ere le sous-s sous-syst` yst`eme eme a` part partir ir de la deux deuxi` i`eme e me lign lignee et la deux deuxi` i`eme eme (1)
colonne et on suppose que a22 = 0. On retranche des lignes i, i = 3, 4, deuxi`eme eme ligne ligne multip multipli´ li´ee e e par par
(1)
· · · , n la
(1)
ce qui fait fait appar apparaˆ aˆıtre ıtre des des z´eros eros dans dans la deuxi` deuxi`eme eme
ai2
a22
colonne a` partir de la 3`eme eme ligne. Cette op´eration eration peut s’´ecrire ecrire A(2) = L2 A(1) , 56
b(2) = L2 b(1)
Algorithme de Gauss
avec L2 = I
T 2 2,
v2 =
−v e
(1)
(1)
(1)
a32 a42
0, 0, (1) , (1) , a22 a22
···,
an2
(1)
a22
T
e2 ´etan e tantt le deux deuxi` i`eme e me vect vecteu eurr de la base base cano canoni niqu que. e. La matr matric icee A(2) est est par par cons´ cons´equent equent
A(2) =
(2)
a11
a12 (2)
0 . .. .. .
a22
0
0
··· ··· ( ) ··· a ( ) ··· a
(2)
2 23 2 33
0 .. .
(2)
a1n
(2)
a2n
(2)
a3n .. .. . .
.. .
(2)
···
an3
(2)
ann
.
(3.16)
Ensuite on applique l’algorithme a` A(2) en faisant fai sant apparaˆıtre ıtre des z eros e´ ros sur la 3 (2)
eme e` me colonne a` partir de la 4 eme e` me ligne en supposant que a que a 33 = 0. Pour Pour g´en´ en´erali eraliser ser ce proc´ proc´ed´ ed´e, e , on intr introd odui uitt le vect vecteu eurr vi , en supp suppos osan antt que que l’´el´ el´ement ement (i−1) aii de la matrice A(i−1) (i d´efini efini comme
vi =
≥ 1, avec la convention que A( ) = A) A) est non nul,
··· 0,
0
(i 1) (i 1) ai+1,i ai+2,i , 0, (i 1) , (i 1) ,
aii
− −
aii
− −
(i 1)
− ani · · · , (i−1) a ii
T
(les i (les i premi` premi`eres eres composantes du vecteur v i sont nulles). Soit alors Li = I
T i i ,
−v e
avec ei le i`eme eme vecteur de la base canonique (dont seul la ieme e` me composante est i) ( non nulle et egale e´ gale a` 1), alors les coefficients de la matrice A telle que A(i) = Li A(i−1) , i = 1, 2,
· · · , n − 1,
sont tels que (i)
ak , j = 0, 1 Ainsi, la matrice
≤ j ≤ i, j + 1 ≤ k ≤ n.
A(n−1) = Ln−1 A(n−2) =
· · · = L − L − · · · L L A n 1 n 2
2 1
(3.17)
est triangulaire sup´erieure, erieure, on la note U note U avec avec
U = = A
(n 1)
−
=
(n 1)
−
a11
0 .. . 0 0
(n 1)
− (n−1) a
···· · ··· · ·
··· ···
0
a12 22
..
.
..
.
0 57
··· ··· ..
.
(n 1)
−
(n 1)
− (n−1) a a1n 2n
.. .
(n 1)
− (n−1) a
an−1,n−1 an−1,n 0
nn
.
(3.18)
R´ esolution num´ erique directe de syst` emes lin´ eaires
Le syst`eme eme a` r´esoudre esoudre est alors A(n−1) x = b(n−1) avec b(n−1) = Ln−1 Ln−2
· · · L L b. 2 1
Par l’´equation equation (3.17) on peut ecrire e´ crire A = L1−1 L2−1
· · · L−− L−− A( − ) 1 1 n 2 n 1
n 1
avec L avec L i−1 l’inverse de la matrice L matrice L i . − 1 T T T T T Or, L Or, L i = I + vi ei . En effet, ( I + vi eT i ) Li = I vi ei vi ei = I vi (ei vi )ei = I car on peut se convaincre ais´ement ement que le scalaire eT eres eres i vi = 0 car les i premi` composantes de v de v i sont nulles. Donc,
−
−
n−1 − − 1 −1 1 −1 L1 L2 · · · Ln−2 Ln−1 = ∏ ( I + vi eT i ). i=1
On observe que T vi eT i v j e j = 0,
j
si
≥i
car alors e alors e T equent i v j = 0 et par cons´equent n−1 1 −1 1 −1 − − L = L1 L2 · · · Ln−2 Ln−1 = I + ∑ vi eT i . i=1
Explicitons la matrice L : on peut voir qu’elle est triangulaire inf´erieure erieure et elle s’´ecrit ecrit 1 0 0 0 0
L =
(0)
a21
(0)
a11
(0)
1 a32
a11
a22
.. .
(0)
an−1,1 (0)
a11
(0)
(1)
.. .
1
0
..
..
.
(1)
an−1,2 (1)
a22
(1)
an1
an2
a11
a22
(0)
0
(1)
a31
(0)
0
(1)
.
··· ··· ···
0 0
.
.. .
1
0
..
(n 3)
··· ···
On peut donc enoncer e´ noncer le th´eor` eor`eme eme suivant. 58
− (n−3) an−2,n−2 (n−3) an,n−2 (n−3) an−2,n−2 an−1,n−2
(n 2)
− 1 (n−2) an−1,n−1 an,n−1
(3.19)
Algorithme de Gauss (i 1)
−
Th´ Theor` e´ oreme e` me 9 Si dans dans l’algo l’algorith rithme me de Gauss Gauss les ´ les ´ el´ element em pivots aii = 0, i = ´ entss dits pivots sup erieure erieur e dont les ´ les ´ el´ elements 1, n 1 , alors il existe une matrice U triangulaire sup´ ´ ´ sont donn´ donnes inf erieure donn´ donnee ´ par (3.18) et une matrice triangulaire inf ´ ´ ´ par (3.19) telles que A = LU .
··· −
b. Au lieu Revenons a` la r´esolution esolution du syst`eme Ax eme Ax = b. l ieu d’appliquer l’algorithme de Gauss directement directement a` ce syst`eme, eme, il est en g´en´ en´eral eral pr´ef´ ef´erable erable de l’´ l’ecrire e´ crire de mani maniere e` re e´ quivalente sous la forme equivalente LUx = b. (3.20) En effet, dans de nombreux probl`emes emes de discr´etisation, etisation, l’op´ l’operateur A e´ rateur A est est donn´e une fois pour toutes et le second membre b est variable. On r´esout esout le syst`eme eme b (ce qui est ais´e car L est (3.20) de d e la fac¸on ¸o n suivante : d’abord on o n r´ resout e´ sout Ly = b (ce triangulaire) et une fois y obtenu on d´etermine etermine x en r´esolvant esolvant U x = y avec U triangulaire. Evalu Evaluan antt le nombr nombree d’op´ d’op´erati erations ons n´eces e cessa sair ires es pour pour la d´ecomposition LU ecomposition LU . L’op´ ’op´eration eration (i 1)
−
(par a ii ) et ( n i)2 multiplications et au Li A(i−1) correspond a` n i divisions (par a tant d’additions, pour i pour i = 1, 2, , n 1. Par cons´equent equent il faut
−
−
n 1
2 ∑ j j=1
2
··· − (n − 1)n(2n − 1) 2n ∼ 2n = 2 6
−
3
(pour n pour n grand grand)
3
multiplications et additions ainsi que
−
n 1
∑ j =
n(n
− 1) ∼ n
2
j=1
2
2
divisions. Il est indispensable de faire cette d´ecomposition ecomposition une fois pour toutes lorsqu’on doit r´esoudre esoudre plusieurs fois la solution d’un syst`eme, eme, pour n grand, dont la matrice est A. De r´esoudre esoudre LU x = b n ecessite e´ cessite en effet beaucoup moins d’op´erations. erations. Consid´erons Ly erons Ly = b ce eme b ce qui donne lieu au syst`eme
l21 y 1 ln1 y 1 + ln2 y 2 +
···
y1 + y2
= b1 = b2
···
+ yn = bn .
Par cons´equent y equent y 1 = b1 et
−
i 1
yi = bi
−∑l
i j y j ,
j=1
59
i = 2,
· · · , n.
R´ esolution num´ erique directe de syst` emes lin´ eaires
On voit que pour calculer y i il faut ( i d’o`u au total
−
n 1
2 ∑ j = 2 j
− 1) additions et autant de multiplications,
(n
− 1)n = n(n − 1) 2
y donne lieu au syst`eme op´erations. erations. La r´esolution esolution de U de U x = y donne eme (en ( en commen co mmencc¸ ant par p ar la composante x composante xn , U etant e´ tant triangulaire sup´erieure) erieure)
un−1,n−1 x n−1 u11 x 1 +
···
+
u1,n−1 x n−1
unn x n = yn + un−1,n x n = yn−1
···
+
u1,n x n
=
, i = 1, n
− 1.
y1 .
Maintenant x Maintenant xn = yn /unn et
xn−i =
−− yn
i
∑ jn=n i+1 un i, j x j
− − un−i,n−i
Le nombre total de multiplications et additions est a` nouveau ( n 1)n et il faut ajouter n divisions, ce qui donne n2 op´erations. erations. Donc, pour n grand le nombre total des op´erations erations en vue de la r´esolution esolution des deux syst`emes emes triangulaires est 2 de l’ordre de 2n 2n . En conclusion, il y a un facteur n/3, pour n grand, entre le nombre d’op´erations erations pour la d´ecomposition LU ecomposition LU (ou (ou de mani`ere ere equivalente e´ quivalente pour lam´ethode ethode d’´elimi e limina natio tion n de Gaus Gauss) s) et le nomb nombre re d’op´ d’op´eratio erations ns perme permetta ttant nt de r´esoudre esoudre de L et et U LUx = b disposant b disposant de L U ..
−
3.3.2
Decomposition e´ composition LU avec avec permutations des lignes
Dans l’algorithme ci-dessus il a et´ e´ t´e suppos´e que les el´ e´ l´ements ements appel´es pivots es pivots (i 1)
−
aii = 0, i = 1, 2, , n 1. Or, mˆeme eme pour une matrice inversible ces coefficients peuvent etre eˆ tre nuls et il convient convient d’y rem´edier, edier, en permutant pe rmutant des lignes dans l’algorithme de Gauss. D’une mani`ere ere g´en´ en´erale, erale, et pour des raisons de stabilit´e num´erique, erique, on cherchera toujours pour chaque pas de l’algorithme de Gauss de mettre mettre l’´ l’el´ e´l´ement ement le plus grand en module en position diagonale.
··· −
60
D´ ecomposition LU avec permutations permutations des lignes
Definition e´ finition 5 Soit une matrice Pi j de la forme
Pi j =
1 ..
.
(0) 1
··· ··· ···
0 .. . . . . .. . .. . 1
1
1 .. . .. . . . .. . . 0
··· ··· ···
1 ..
(0)
. 1
← ←
ligne i (3.21) ligne j
Alors Pi j A = Aˆ avec Aˆ matrice obtenue a` partir de A en permutant les lignes i et j. De meme, ˆ on montre que APi j = A˜ avec A˜ obtenue a` partir de A en permutant les colonnes i et j. On a les relations suivantes Pi2j = I , c.-`a-d. a-d.
Pi−j 1 = Pi j ,
Pi j = PiT j ,
i et j deux fois laisse bien la matrice invariante. car en effet de permuter des lignes i et Nous allons modifier l’algorithme du chapitre 1.2.1 en y ajoutant la possibilit e´ de A et on cherche l’entier k permuter des lignes a` chaque etape. ´etape. On note A note A (0) = A et l’entier k 1 t.q. ( ) |a( ), | = max | a |, ≤≤ 0 k 1 1
1 k n
0 k 1
c.-`a-d. a-d. on cherche l’´el´ el´ement ement le plus grand en module dans la premi`ere ere colonne. On op`ere ere la permutation entre ligne 1 et la ligne k ligne k 1 et on obtient Aˆ (0) = Pk 1 ,1 A(0) et ensuite on applique l’algorithme de Gauss `a Aˆ (0) pour trouver A(1) = L1 Pk 1 ,1 A(0) . On consid`ere ere la deuxi`eme eme colonne de A(1) et on veut mettre l’´el´ el´ement ement le plus grand en position de pivot, c.-`a-d. a-d. on cherche l’entier k l’entier k 2 tel que ( ) |a( ), | = max | a |. ≤≤ 1 k 2 2
2 k n
61
1 k 2
R´ esolution num´ erique directe de syst` emes lin´ eaires
On op`ere ere la permutation entre ligne 2 et k 2 pour A pour A (1) d’o`u Aˆ (1) = Pk 2 ,2 A(1) = Pk 2 ,2 L1 Pk 1 ,1 A(0) . A l’´etape i etape i on on obtient donc une matrice A(i) = Li Pi Li−1 Pi−1
· · · P L P A( ) 2 1 1
0
ou` l’on note P j = Pk j j , j avec k avec k j j t.q. ( − ) |a( ,− )| = max | |. a ≤≤ j 1 k j j j
j k n
j 1 kj
et a` nouveau on aboutit aboutit a` une matrice triangulaire sup´erieure erieure A(n−1) = Ln−1 Pn−1 Ln−2 Pn−1
· · · P L P A( ). 2 1 1
0
(3.22)
Afin Afin de comp compre rend ndre re comm commen entt on peut peut inte interp rpr´ r´eter ter le r´esultat esultat des produits produits successif successifss des matrices intervenant dans cette expression, on prend le cas particulier n = 4 et donc A(3) = L3 P3 L2 P2 L1 P1 A0) . Par P Par P j2 = I on on peut ecrire e´ crire A(3) = L3 P3 L2 P3 P3 P2 L1 P2 P3 P3 P2 P1 A(0)
(3.23)
I . Chaque matrice L car on n’intercale que des matrices identit´e I . matrice L j est de la forme T L j = I v j e j . Donc
−
Pk L j Pk = I
T k j j k
− P v e P = I − (P v )(P e ) k j
k j
T
= I (Pk v j )e jT
−
> j, car alors Pk e j = e j etant si k si k > e´ tant donn´e que seule la j`eme eme composante de e j est > j. Donc par exemple non nulle et P et Pk permute des el´ e´ l´ements ements d’indices > j si k si k > P3 P2 L1 P2 P3 = I Dans le cas g´en´ en´eral L eral L k = I
T 1
− (P P v )e 3 2 1
T k k
− v e et on note L˜ = I − (P − P − ....P + v )e k
L1 . = ˜
n 1 n 2
k 1 k
T k
= I v˜k eT k .
−
(3.24)
Lk est alors obtenue en op´erant La matrice ˜ erant les permutations successives `a partir de l’´ l’etape k e´ tape k + 1 au vecteur v vecteur vk qui d´efinit L efinit Lk (voir chapitre 1.2.1). Avec Avec cette d´ definition e´ finition (3.23) devient (3.25) A(3) = ˜ L3 L˜ 2 L˜ 1 P3 P2 P1 A(0) 62
D´ ecomposition LU avec permutations permutations des lignes
L3 = L3 . En extrapolant au cas g´en´ avec la convention que ˜ en´eral eral on trouve A(n−1) = ˜ Ln−1 L˜ n−2
· · · L˜ L˜ P − P − · · · P P A( ) 2 1 n 1 n 2
0
2 1
Les structures des matrices L˜ k sont analogues aux structures des matrices L matrices L k . On note P note P = Pn−1 Pn−2 P2 P1 et on trouve
···
˜ PA = LU
(3.26)
= A(n−1) matrice triangulaire sup´erieure avec U = erieure et ˜ −1 L˜ −1 L˜ == L 1 2
· · · L˜ −− L˜ −− . 1 1 n 2 n 1
L˜ est trianguComme pour les inverses des matrice L k on peut se convaincre que L est laire inf´erieure erieure de la forme
L˜ =
1 v˜12 v˜13 .. .
0 1 v˜22 .. .
0 0 1 .. .
v˜1,n−1 v˜2n−1 v˜1n v˜2n
··· ···
··· ··· ···
0 0 0 .. .
0 0 0 .. .
..
. 1
v˜n−2,n−1 0 v˜n−2,n v˜n−1,n 1
(3.27)
avec v˜k ,i la i eme e` me composante du vecteur v˜ k introduit dans (3.24). Remarque : si e´ l´ement ement non nul dans les diff´erentes erentes etapes e´ tapes de A est A est inversible, il y a toujours un el´ l’algorithme a` mettre en position de pivot. On peut donc enoncer e´ noncer :
Th´ Theor` e´ oreme e` me 10 Si la matrice A est inversible, alors il existe une matrice de permutation P, une matrice U triangulaire sup erieure et une matrice L˜ triangulaire ´ inf erieure avec 1 sur la diagonale, telles que ´ ´ PA = ˜ LU LU .
(3.28)
En pratique on ne garde pas les matrices P1 , P2 , , Pn−1 pour former P mais on garde garde l’effet l’effet des permutat permutations ions sur les indices. indices. Pour Pour ce faire, on introduit introduit un tableau tableau d’entiers ( p1 , p2 ,..., pn) t.q. au d´epart p epart p i = i. Op´erant erant les permutations successives sur les el´ e´ l´ements ements de ce tableau, l’effet du produit des permutations P pour tout vecteur y vecteur y sera sera ( Py)i = y pi . Donc, si on veut r´esoudre esoudre
···
Ax = b ˜ Ly = ˜b on forme PAx forme PAx = LUx esout successivement ˜ = Pb = ˜b avec ˜bi = b pi et on r´esout et ensuite U x = y. y. 63
R´ esolution num´ erique directe de syst` emes lin´ eaires
Exemple : il convient de traiter un petit exemple afin d’illustrer la mi se en œuvre de la m´ethode LU ethode LU . Prenons la matrice 3 3 A =
×
3 1 6 2 1 3 1 1 1
;
On cherche a` d´ecomposer A ecomposer A en en un produit LU produit LU , en op´erant erant eventuellement e´ ventuellement des permutations de lignes au cours cours des etapes e´ tapes successives de la mise sous forme triangu U obtenues laire. Les matrices L matrices L et et U obtenues lors de la d´ecomposition ecomposition etant e´ tant respectivement triangulaire inf´erieure erieure et triangulaire sup´erieure, erieure, il s’av`ere ere pratique d’avoir une L et des el´ repr´esentation esentation compacte compacte a` la fois des ´el´ el´ements ements successifs de L et e´ l´ements ements de U . On rappelle rappel le que l’on l ’on connaˆıt ıt les el´ e´ l´ements ements sur la diagonale de L de L qui qui sont egaux e´ gaux a` 1. On note ( i, j ) la position a` l’intersection de la i la i `eme eme ligne et de la j eme e` me co A : l’´el´ lonne de A de A.. Prenons la premi`ere ere colonne de A : el´ement ement le plus grand en valeur absolue est en position (1, 1) et lors de la premi`ere ere etape e´ tape aucune permutation n’est n´ecessaire. ecessaire. On soustraira de la deuxi` deuxi eme e` me ligne la premi`ere ere multipli´ee ee par 2 /3 afin de faire apparaˆıtre ıtre un 0 en position posit ion (2, 1). Or, ce nombre 2 /3 est bien l’´el´ el´ement ement en position (2, 1) de L de L.. Ensuite on soustraira de la troisi`eme eme ligne la premi`ere ere multipli´ee ee par 1 /3, afin de faire apparaˆıtre ıtre un u n 0 en position positi on (3, 1). A nouveau le nombre 1/3 est l’´el´ el´ement ement en position ( 3, 1) de la matrice L matrice L.. Il est alors commode de faire apparaˆ appar aˆıtre ıtr e les l es el´ e´ l´ements ements successifs de la matrice L et dans un mˆeme eme tableau de L et U U dans la fac fa c¸ on suivante sui vante (avec (ave c les el´ e´ l´ements ements correspondant correspondant a` L entre eses) L entre parenth`eses)
3 1 (2/3) 1/3 (1/3) 2/3
6 1 1
− . − L’´etape etape suivante porte sur la sous-matrice 2 × 2 a` partir de la deuxi`eme eme ligne et
deuxi`eme eme colonne du tableau ci-dessus : on voit qu’il convient de permuter les lignes 2 et 3 afin de mettre dans la deuxi eme e` me colonne l’´el´ el´ement ement maximal en position (2, 2). D’o`u apr`es es permutation on obtient
3 1 (1/3) 2/3 (2/3) 1/3
6 1 1
− −
.
Des el´ e´ l´ements ements de la troisi`eme eme ligne, hormis la premi`ere ere colonne qui correspond aux el´ e´ l´ements ements de L de L,, on soustrait soustrait la deuxi`eme eme ligne multipli´ee ee par 1 /2, pour faire apparaˆ appar aˆıtre ıtr e le 0 en posit p osition ion ( 3, 2). On met pr´ecis´ ecis´ement ement la valeur 1 /2, l’´el´ el´ement ement de L, L, a` cette position. On r´ecup` ecup`ere ere le tableau
3 1 (1/3) 2/3 (2/3) (1/2) 64
6 1 1/2
− −
,
D´ ecomposition LU avec permutations permutations des lignes
U ,, a` savoir d’o`u on tire L tire L et et U L =
On obtient donc
1 0 0 1/3 1 0 2/3 1/2 1
,
U =
3 1 0 2/3 0 0
6 1 1/2
− −
.
PA = LU avec P avec P une une matrice de permutation des lignes 2 et 3
P =
1 0 0 0 0 1 0 1 0
.
En g´en´ en´eral eral les matrices de permutation ne sont pas explicit´ees, ees, il suffit de garder le r´esultat esultat des permutations dans un tableau d’entiers comme expliqu´e ci-dessus, qui devient ici ( 1, 3, 2). Admettons qu’on cherche cherche a` r´esoudre esoudre
A
x1 x2 x3
2 7 4
=
.
Alors d’appliquer P d’appliquer P revient revient a` permuter les el´ e´ l´ements ements 2 et 3 du second membre et A = LU on par P par PA on obtient
LU LU
x1 x2 x3
L
y1 y2 y3
D’abord on r´esout esout
=
=
2 4 7 2 4 7
.
ce qui est ais´e etant e´ tant donn´ee ee la structure triangulaire de L. On trouve y trouve y 1 = 2, y2 = 10/3, y3 = 4 et la solution x solution x est est obtenue en r´esolvant esolvant U x = y, y, ce qui est a` nouveau ais´e etant e´ tant donn´e que U que U est est egalement e´ galement triangulaire. On trouve en d´efinitive efinitive x1 = 19, x2 = 7, x3 = 8.
−
−
65
R´ esolution num´ erique directe de syst` emes lin´ eaires
66
Chapitre 4 Normes de matrices, m´ methodes e´ thodes it´ iteratives e´ ratives de r´ resolution e´ solution de syst` systemes e` mes lin´ lineaires e´ aires 4.1 4.1
Moti otivati vation on
La r´esolution esolution directe d’un syst`eme eme lin´eaire, eaire, d ecrite e´ crite au chapitre 1, donne lieu a` un nombre fini d’op´erations erations alg´ebriques ebriques qui peuvent peuvent etre eˆ tre ex´ecut´ ecut´ees ees sur un ordinateur. Ce nombre d’op´erations erations d´ depend e´ pend de la taille de la matrice. Dans certains cas, notamment pour des tr`es es grandes matrices, il peut etre eˆ tre judicieux de faire appel a` des m´ethodes ethodes it´eratives eratives : on cherche `a cr´eer eer des s´equences equences de vecteurs qui convergent vers la solution exacte. Souvent des syst`emes emes lin´eaires eaires de tr`es es grandes dimensions proviennent proviennent des discr´ discr etisations e´ tisations d’´equations equations diff´erentielles erentielles ou d’´equations equations aux d´eriv´ eriv´ees ees partielles. Or, Or, une telle discr´ disc r´etisation etisation introduit naturellement des erreurs : il est donc l´egitime egitime de chercher la solution dans un processus it´ iteratif e´ ratif que l’on arrˆete ete a` partir du moment que la limite, ici la solution du syst`eme, eme, est atteinte avec une erreur d´efinie efinie a priori. Soit donc A donc A une une matrice n n et on cherche a` r esoudre e´ soudre Ax = b ; on suppose que l’on puisse ecrire e´ crire A = M N
×
−
avec M avec M une une matrice inv i nversible. ersible. On suppose que les syst` syst `emes emes avec M avec M comme comme matrice sont facilement inversibles et on d´efinit efinit une suite de vecteurs x(k ) par les relations de r´ecurrence ecurrence Mx (k +1) = Nx N x(k ) + b,
k = = 0, 1, 2,
···
a` partir d’un vecteur initial donn´e x(0) . On voudrait que la suite de vecteurs converge quand k quand k ∞, quel que soit x soit x(0) . Ainsi, si l’on note x note x la la limite, l imite, en supposant
→
67
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
qu’elle existe, on aura alors `a la limite pour k pour k Mx = Nx N x + b,
→∞
Ax = ( M N ) x = b.
−
ou encore
Donc, en cas de convergence la suite tend vers la solution x. x. Evidemment, le veck ) k ) ( ( x est x est solution du syst`eme teur r teur r = x eme
−
Mr (k +1) = Nr N r (k )
(4.1)
N x(k ) + b le syst` (pour (pour le const constate aterr, il suf suffit fit de soustr soustrair airee du syst` syst`eme Mx eme Mx (k +1) = Nx syst`eme eme k +1) 1 − ( matricee M ´ etant e´ tant suppos´ee ee inve inversi rsible ble,, on aura aura r Mx = Nx N x + b). La matric = M N r (k ) 2
et egalement e´ galement r (k ) = M −1 Nr (k −1) et par cons´equent equent r (k +1) = M −1 N r (k −1) . On peut donc d´eduire eduire en it´erant erant que
k
r (k ) = M −1 N r (0)
k
avec r avec r (0) un vecteur initial a priori arbitraire et M −1 N le produit k produit k -` -eme e` me de la matrice C = ethode it´erative erative converg convergee si r si r (k ) tend vers z´ero, ero, ce qui est = M −1 N . La m´ethode 0) ( k assur´e, e, quel que soit r , si C tend vers la matrice z´ero ero (c’est-`a-dire a-dire la matrice dont tous les coefficients sont nuls). Il faut donc disposer d’une “mesure” de l’ordre de grandeur d’une matrice, pour par exemple evaluer e´ valuer le comportement des produits successifs C k . Pour les vecteurs, vecteurs, une telle mesure est donn´ donn ee e´ e par la norme et au paragraphe suivant nous montrons comment comment on peut g´ g en´ e´ n´eraliser eraliser la notion de norme a` des matrices.
4.2 4.2
Norm Normes es de matr matric ices es
x on Soit l’espace Rn des vecteurs de n de n composantes composantes r´eelles eelles ; pour tout vecteur vecteur x on consid`ere ere les 3 normes suivantes n
n
|| x x|| = ∑ | x x |, || x x|| = ∑ x , || x x||∞ = =max | x x |. ,···, = = 1
i
2
i 1
2 i
i 1
i 1
n
i
(4.2)
×
Soit A une matrice n n ; on peut d´efinir efinir par rapport a` une des 3 normes A . On parle alors d’une norme subordonn´ee vectorielles ci-dessus une norme pour A. ee x une des normes ci-dessus a` la norme vectorielle. On note de mani`ere ere g´en´ en´erale erale x A qui y est associ´ee et on d´efinit efinit la norme A ee de la mani`ere ere suivante.
|| ||
|| ||
Definition e´ finition 6 Pour une des normes vectorielles x x de (4.2) la norme matricielle A A associ ee comme suit : ´ est d efinie ´ ´
|| ||
|| ||
|| A A|| =
max
x Rn , x=0
∈
68
|| Ax Ax|| || x x|| .
(4.3)
Normes de matrices
De mani ere ´ e` re ´ equivalente on peut ´ peut ´ ecrire
|| A A|| =
max
x Rn , x x =1
∈ || ||
|| Ax Ax||.
(4.4)
Tout d’abord il faut montrer que les deux d´efinitions efinitions (4.3) et (4.4) sont bien equivalentes. e´ quivalentes. Partant Partant de (4.3), on peut ecrire e´ crire
Ax|| 1 1 || Ax = || Ax|| = || A A || x x|| || x x|| || x x|| x || Or, Or, le vecteur vecteur y est de norm normee 1, donc donc pour pour tout tout x avec y de 0, |||| |||| = || Ay y = || || x est x = Ay|| avec y x|| = 1 alors de mani`ere Ax|| = norme 1. R´eciproquement, eciproquement, soit x soit x t. t. q. || x ere evidente e´ vidente || Ax Ax Ax x x
1 x x
|| Ax Ax|| equent, les deux d´efinitions efinitions ci-dessus sont sont bien equivalentes. e´ quivalentes. || x x|| . Par cons´equent,
|| ||
A . Plus pr´ecis´ On v´erifie erifie les propri´et´ et´es es habituelles de normes pour A ecis´ement, ement, A d´efini soit A efini comme ci-dessus alors :
|| ||
(4.5) || A A|| ≥ 0 et || A A|| = 0, si et seulement si A = 0; ||α A|| = |α||| A A||, pour tout α ∈ R; (4.6) || A A + B|| ≤ || A A|| + || B B||, quelles que soient A, B matrices n × n. (4.7) A|| = 0 implique d’apr`es Montrons par exemple (4.5) : || A e s la d´efinition efinition que Ax|| = 0 pour tout vecteur x et alors que Ax = 0 quel que soit x (d’apr`es es les || Ax
propri´et´ et´es es de normes vectorielles). Mais on en d´eduit eduit que A que A est alors la matrice identiquement z´ero. ero. La relation (4.6) est evidente e´ vidente d’apr d’apr`es e` s la d´efinition. efinition. L’in´egalit´ egalit´e triangulaire (4.7) se d´emontre emontre pr´ecis´ ecis´ement ement a` l’aide de l’in´egalit´ egalit´e triangulaire pour les normes vectorielles vectorielles ; en effet
|| A A + B||
=
max ( A + B) x
|| || ≤ ||max (|| Ax Ax|| + || Bx Bx||) ||= ≤ ||max || Ax Ax|| + max || Bx Bx|| = || A A|| + || B B|| ||= || ||= || x x||=1 x x
1
x x
x x
1
1
Il reste a` etablir e´ tablir deux propri´et´ et´es es fondamentales des normes de matrices, `a savoir
|| Ax Ax|| ≤ || A A|||| x x|| || AB AB|| ≤ || A A|||| B B||
n
pour toutes matrices n matrices n
× n A, B.
quel que soit
x
∈R ,
(4.8)
(4.9)
L’in´egalit´ egalit´e (4.8) d´ecoule ecoule directement de la d´efinition efinition ; on utilise cette cette in´egalit´ egalit´e pour montrer que que
||( AB) x|| = || A A( Bx)||≤|| A A|||| Bx Bx||≤|| A A|||| B B|||| x x||. 69
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
Par cons´equent equent pour tout x tout x = 0,
||( AB) x|| ≤ || A A|||| B B|| || x x|| et on en d´eduit eduit (4.9), le “max” etant e´ tant le plus petit des majorants. En fait, il est possible de caract´eriser eriser pour les normes vectorielles usuelles A en termes des ´el´ (4.2) les normes matricielles de A el´ements ements de A de A que l’on note ai j . On a notamment
|| ||
n
|a |, ··· ∑ i j
(4.10)
|| A A||∞ = =max ∑ |a |. ,···, =
(4.11)
|| A A|| = 1
max
j=1, ,n i 1 = n i 1
n
ij
j 1
|| ||
A 2, l’expression est Nous allons d´emontrer emontrer ces relations en T.D. Pour la norme A un peu plus complexe et fait intervenir la notion de rayon spectral d’une matrice. Le rayon spectral est li´e a` la notion de valeurs propres de matrices (qui a ´et´ et´e rappel´ee ee au chapitre 2.1).
Definition e´ finition 7 Soit une matrice n n que l’on note B et on note λ1 , λ2 , ,n les valeurs propres de B (complexes en g en´ en Le rayon spectral de B, not ´ not e´ ρ ( B) , ´ eral). ´ est par d efinition la plus grande des valeurs propres en module, c’est- a-dire a` -dire ´ ´
×
···
ρ( B) = max λ j . j=1, ,n
···
| |
On peut montrer la propri´et´ et´e suivante : soient B , C deux deux matrices n matrices n
ρ( BC ) = ρ(CB).
× n ; alors (4.12)
Ce r´esultat esultat assez utile en pratique se d´emontre emontre de la fac¸on ¸o n suivante. suivante. Soit λ la valeurs propres de BC de BC telle telle que ρ( BC ) = λ . Multiplia Multipliant nt l’´egalit´ egalit´e BCx = λ x, x = 0, C on aura C B(Cx) = λCx. Cx. Donc, si Cx a` gauche par C on aura CB si Cx = 0, ce vecteur est vecteur B de valeur propre λ. Si C x). Dans propre de C de CB Si Cxx = 0 alors λ = 0 (car BCx = λ x). λ car ρ(CB) est la plus grande des valeurs propres en les deux cas ρ(CB) module de CB de CB.. D’o`u ρ (CB) ρ( BC ). Evidemment, l’in´egalit´ egalit´e inverse se montre de la mˆeme eme fac¸ on, commenc comm enc¸ ant par ρ(CB). On en d´eduit eduit alors l’´egalit´ egalit´e (4.12) ci-dessus. Consid´erons erons mainte maintena nant nt la cas cas parti particul culier ier d’une d’une matric matricee sym´etrique B etrique B.. On peut facilement montrer que ses valeurs propres sont r´eelles. eelles. En effet, soit λ valeur propre de B, a priori complexe. Alors Bx = λ x avec x avec x Cn , x = 0. On note x¯
||
≥| |
≥
∈
70
Normes de matrices
le vecteur dont les coefficients sont les conjugu´es es complexes de x et on forme l’expression x¯T Bx = λ x¯T x que l’on peut encore ´ecrire ecrire sous la forme x¯T Bx = ( BT x¯)T x = ( B x¯)T x = ¯λ x¯T x. En effet, BT = B et e´ tant une matrice r´eelle, eelle, de Bx = λ x on eduit B x¯ = ¯λ x. B et B etant x on d´eduit x¯. T T T ¯ ¯ Par cons´equent equent λ x¯ x = λ x¯ x : eduit que λ = λ (car x¯ x = 0) et λ est par x : on en d´eduit cons´equent equent un nombre r´eel. eel. x, y d’un y d’unee matrice On montre egalement e´ galement que deux vecteurs propres x, matrice sym´ sym´etrique etrique B de B de valeurs propres λ et µ µ, sont orthogonaux, c’est et µ respectivement, respectivement, avec λ = µ, T T T x. Mais egalement y x. a-dire a` -dire y x = 0. En effet, y Bx = λ y x. e´ galement y T Bx = ( By)T x = µyT x. D’o`u (λ µ) yT x = 0 ; or, or, λ µ = 0 par hypoth`ese ese et donc y donc y T x = 0. Par ailleurs, on peut toujours choisir le vecteur propre x associ´e a` la valeur propre λ t.q. x t.q. x T x = 1. (En effet, un vecteur propre n’est d´efini efini qu’`a une constante multiplicative pr`es.) es.) On peut donc choisir des vecteurs propres norm´es es (de norme 1) et ils sont orthogonaux orthogonaux deux `a deux pour des valeurs propres distinctes lorsque B est B est sym´etrique. etrique. On peut en d´eduire eduire (la d´emonstration emonstration compl`ete ete ferait plutˆot ot partie d’un cours d’alg`ebre ebre lin´eaire) eaire) qu’on peut construire une base une base orthonorm ee ´ B sym´etrique. de vecteurs propres d’une matrice B sym´ etrique. On peut enoncer e´ noncer ces r´esultats esultats par le th´eor` eor`eme eme suivant.
−
−
Th´ Theor` e´ oreme e` me 11 Soit B une matrice n n et sym´ symetrique, on note λ i , i = 1, , n ses ´ valeurs propres qui sont r ´ r eelles. Alors on peut peut construire construire une base x (i) , i = 1, , n ´ orthonorm´ orthonormee formee a` -dire ´ form´ ´ de vecteurs propres de B, c’est- a-dire
×
···
x(i) T x( j) = δi j et et
···
Bx(i) = λi x(i)
δi j = 0 si avec δi j le symbole dit de Kronecker ( δi j = 1 si 1 si i = j et δ 0 si i = j). ρ( B) le rayon spectral de B. Alors pour tout vecteur x De plus, soit ρ
T
T
| x x Bx| ≤ ρ( B) x x.
(4.13)
Il reste a` d emontrer e´ montrer l’in´egalit´ egalit´e (4.13). En effet, les vecteurs propres forment une base orthonorm orthonormee, e´ e, on peut peut ecrire e´ crire pour tout vecteur x vecteur x n
x =
∑ αi x(i)
i=1
avec α i des nombres r´eels. eels. Alors, on montre a` partir des relations Bx(i) = λi x(i) et x(i) T x( j) = δi j , que (exercice) T
n
x Bx =
∑ α2i λi.
i=1
71
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
Prenons la valeur absolue de cette expression, on aura n
T
n
α2i
2 i
= ρ( B) xT x
| x x Bx| ≤ ∑ |λ | ≤ ρ( B) ∑ α i
i=1
i=1
car ρ( B) = maxi=1,···,n λi et on montre que x que x T x = ∑ni=1 α2i .
| |
Apr`es es ce petit d´etour, etour, revenons aux normes des matrices et en particulier la norme A A 2 avec A n n. On montre que avec A matrice matrice n
|| ||
× || A A|| = 2
ρ( AT A) =
ρ( AAT )
(4.14)
A. avec ρ( AT A) le rayon spectral de la matrice A T A. Nous allons d´emontrer emontrer ce r´esultat. esultat. Les propri´et´ et´es es des rayons spectraux rappel´ees ees ci-dessus permettent d’affirmer tout d’abord que ρ( AT A) = ρ ( AAT ). En A est sym´etrique, suite, la matrice A matrice A T A est etrique, donc, ses valeurs propres sont r´eelles eelles et en plus positives ou nulles. En effet, si x = 0 est vecteur propre de valeur propre λ, x implique que xT AT Ax = λ xT x : x : or, xT AT Ax = ( Ax)T Ax 0 et alors AT Ax = λ x implique bien sur x sur xT x > 0 et on en d´eduit eduit que λ 0. Rappelons la d´efinition efinition de la norme
≥
|| A A|| = 2
≥
max
x Rn , x=0
∈
|| Ax Ax|| || x x||
2
2
Ax 22 = ( Ax)T ( Ax) = xT AT Ax ; prena B = AT A (en ometet bien ien sˆur ur Ax prenant nt dans dans (4.13) (4.13) B tant la valeur absolue), absolue), on d´ deduit e´ duit la majoration
|| ||
2 2
T
|| Ax Ax|| ≤ ρ( A A) || x x|| et donc
2 2
|| || ≤ A A
ρ( AT A).
2
A telle que ρ( AT A) = λ i et x(i) = 0 Soit maintenant λi 0 valeur propre de AT A telle vecteur propre associ´e : alors
≥
Ax( ) || = ( Ax( ) ) Ax( ) = x( ) A Ax( ) = λ x ( ) x( ) = ρ( A A) || x x( ) || . || Ax i
2 2
i
T
i
i T T
i
i
i T
i
T
i
2 2
On en d´eduit, eduit, par la d´efinition efinition de la norme, l’in´egalit´ egalit´e inverse
|| || ≥ A A
2
ρ( AT A),
ce qui ach`eve eve la d´emonstration emonstration de (4.14). Prenons le cas particulier o`u la matrice A elle-mˆeme eme est sym´etrique. etrique. Alors AT A = A2 et etant e´ tant donn´e que ρ ( A2 ) = ρ( A)2 on on aura le r´esultat esultat
|| A A|| = ρ( A), 2
pour toute matrice A matrice A sym´ sym´etrique etrique. 72
(4.15)
Application : conditionnement d’un syst` eme lin´ eaire
4.2.1 4.2.1
Appli Applicati cation on : conditi conditionn onnemen ementt d’un d’un syst syst`eme e` me lin´ lineaire e´ aire
La notion de norme de matrice permet notamment d’´evaluer evaluer ce qu’on appelle le conditionnement d’un d’un syst` systeme e` me lin´eaire. eaire. Soit Soit a` r´esoudre esoudre Ax = b avec A matrice n n inversible et b Rn un vecteur donn´e. e. Lorsqu’on evalue e´ value les coefficients r´eels eels de b de b `a l’aide d’un ordinateur, les valeurs ne sont en g´en´ en´eral eral pas reproduite exactement mais plutˆot ot avec des erreurs d’arrondis. Donc, au lieu de r´esoudre esoudre le syst`eme eme ci-dessus on aura plutˆot ot un second membre b + ∆b et on cherche a` evaluer e´ valuer l’effet de ∆b sur la solution exacte x exacte x,, donc on cherche `a evaluer e´ valuer x telle que l’erreur ∆ x telle A( x + ∆ x) = A(b + ∆b).
×
∈
b on peut ecrire Par Ax Par Ax = b on e´ crire
∆ x = A−1 ∆b
et par la propri´et´ et´e (4.8) appliqu´ee ee a` A −1 on aura
||∆ x||≤|| A A− ||||∆b||. 1
Ax on d´eduit De mˆeme, eme, de b de b = Ax on eduit
||b||≤|| A A|||| x x||. On obtient ainsi la relation entre l’erreur relative sur la solution en fonction de l’erreur relative du second membre
||∆ x|| ≤ || A A|||| A A− || ||∆b|| . (4.16) || x x|| ||b|| A|||| A A− ||, not´ee cond La quantit´e || A ee cond ( A), est appel´ee ee conditionnement de A : 1
1
plus le conditionnement cond ( A) est grand, plus l’erreur sur la solution risque d’ˆetre etre grande, par rapport rapport a` l’erreur ∆b due au second membre. Prenons la norme 2 2
T
T
λ ( A A) || A A|| = ρ( A A) = =max ,···, i 1
n
i
A. De mˆeme, avec λi ( AT A) les valeurs propres (positives) de A T A. eme,
|| A A− || = ρ 1 2 2
( A−1 )T A−1 = ρ A−1 ( A−1 )T = ρ ( AT A)−1 .
On observe que les valeurs propres de ( AT A)−1 s’´ecrivent ecrivent 1/λi ( AT A). On en d´eduit, eduit, le rayon spectral etant e´ tant la plus grande des valeurs propres de ( AT A)−1 , que 1 . A A−1 22 = mini=1,···n λi ( AT A)
|| ||
73
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
Par cons´equent equent
|| A A|||| A A−1|| =
maxi=1,···,n λi ( AT A) mini=1,···,n λi ( AT A)
1/2
.
(4.17)
Pour une matrice sym´etrique etrique cette relation devient simplement = ,···, |λ ( A)| , || A A|||| A A− || = max min = ,···, |λ ( A)| 1
i 1
n
i
i 1
n
i
si A est sym´etrique etrique,
(4.18)
avec λi ( A) les valeurs propres (r´eelles) eelles) de A de A..
4.3
Conditio Conditions ns de conver convergenc gencee
Apr`es es ce detour, indispensable, par des normes de matrices, revenons `a la r´esolution esolution de Ax = b par une une m´ methode e´ thode it´erative erative Mx (k +1) = Nx N x(k ) + b,
k = = 0, 1, 2,
···,
A = M N .
−
(4.19)
Nous avons vu au chapitre 2.1, que si la suite de vecteurs x(k ) converge, alors la b . Aussi, d’apr`es limite est pr´ecis´ ecis´ement ement la solution solution x de Ax = b. es (4.1), le vecteur ( ( k ) k ) x est x est solution du syst`eme erreur r erreur r = x eme
−
r (k ) = C k r (0) ,
C = = M −1 N ,
(4.20)
et donc la m´ethode ethode converge quel que soit le vecteur initial x (0) , si et seulement si C k
→ 0, quand k → ∞.
(4.21)
Nous pouvons pouvons enon e´ nonce cerr le r´esulta esultatt suiva suivant nt conce concerna rnant nt la conve converg rgenc encee de la m´ethode ethode it´ iterative e´rative (4.19).
Th´ Theor` e´ oreme e` me 12 La m´ methode eth er (4.19) con conver verge quel quel que soit soit le vecte vecteur ur initial initial ´ ode it erativ ´ ´ ativee (4.19) ( 0) x , si et seulement si ρ(C ) < 1 avec 1 avec ρ(C ) le rayon spectral de la matrice C = 1 − M N. N . Pour d´emontrer emontrer ce ce th´ theor` e´ or`eme, eme, il suffit d’apr`es es ce qui pr´ec ec ede e` de de d´emontrer emontrer que C k
→ 0, k → ∞,
si et seulement si
ρ(C ) < 1.
Pour d´emontrer emontrer ce r´esultat, esultat, on montre d’abord que si ρ(C ) 1, alors C alors C k ne tend pas vers z´ero ero pour k ∞. En effet, soit λ valeur propre telle que λ = ρ (C ) et
≥
→
74
| |
Conditions de convergence
x = 0 vecteur propre associ´e. x et en it´erant C x. Or, si λ 1, e. Alors Cx Alors Cx = λ x et erant C k x = λk x. k k ∞ (et donc C ne tend pas vers alors λ , ne tend pas vers vers z´ero ero pour k k z´ero). ero). Il reste a` montrer que si ρ (C ) < 1, alors C alors C 0. Nous supposons que C est est diagonalisable : c’est le cas notamment quand les valeurs propres sont distinctes. Alors on peut montrer (cf. cours d’alg`ebre ebre lin´eaire) eaire) que les n vecteurs propres sont lin´eairement eairement ind´ependants. ependants. Si l’on forme la matrice P, appel´ee ee matrice de passage, telle que les vecteurs vecteurs colonnes de la matrice sont les vecteurs propres propres de C , alors on peut montrer que C = = PDP−1
→
| ≥
→
avec D avec D matrice matrice diagonale avec les valeurs propres de C sur sur la diagonale. Formant 2 1 1 2 −1 − − les produits C = PDP PDP = PD P etc., alors
C k = PDk P−1 ,
avec
Dk =
λ1k
(0) ..
.
λnk
(0)
avec λ i , i = 1, , n les valeurs propres de C . Or, si λi < 1 alors λ ik 0 quand k k ∞ et donc D , et ainsi C ainsi C , tendent vers z´ero ero quand k 0. Bien sˆur, ur, toute k matrice n’est pas diagonalisable, donc le cas g´en´ en´eral eral exige plus de notions sur les matrices (il (i l faut alors connaˆıtre ıtre ce qu’on appelle la r´eduction eduction sous forme de Jordan Jordan des des matrices). Mais bon nombre de matrices sont diagonalisables et notamment les matrices sym´etriques. etriques. La cond conditi ition on n´ecessair ecessairee et suffisa suffisante nte de conver convergenc gencee ρ(C ) < 1 n´ecessite ecessite de connaˆ connaˆıtre ıtre les valeurs propres de C . On peut etablir e´ tablir une condition suffisante de convergence C . a` partir de la norme de de C
···
→
| |
→
→
Proposition Proposition 4 Si pour une norme matricielle C < 1 , alors la methode it erative ´ ´ ´ ( 0) (4.19) converge quel que soit le vecteur initial x .
|| ||||
En effet, nous avons vu (cf. (4.20) que r (k ) = C k r (0) x ( x x ´ b). Par les propri´et´ avec r avec r (k ) = x(k ) x ( ´etant etant solution de Ax de Ax = b). et´es es des normes de matrices (4.8) et (4.9) on peut ´ecrire ecrire
−
||r ( )||≤||C |||| ||r ( )||. < 1, alors ||C || Or, si ||C || 0, quand k quand k → ∞ et donc ||r ( ) || → 0 ce qui implique | | | | → que r que r ( ) = x( ) − x → 0, quand k quand k → ∞. k
k
k
k
0
k
k
75
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
4.4
Methode e´ thode de Jacobi et de Gauss-Seidel, m ethode e´ thode de relaxation
b, le syst`eme On reprend, pour la r´esolution esolution de Ax de Ax = b, eme it´eratif eratif Mx (k +1) = Nx N x(k ) + b,
k = = 0, 1, 2,
· · · , avec
A = M N .
−
(4.22)
Bien Bien sur, uˆ r, l’expression de M d d efinit e´ finit une m´ethode ethode it´ iterative e´ rative en particulier particulier ; pour la r´esolution esolution de la r´ecurrence ecurrence les syst` syst emes e` mes avec M avec M doivent doivent pouvoir etre eˆ tre r´esolus esolus facilement et une d´ecomposition ecomposition possible est de prendre pour M la la matrice diagonale form´ee ee par la diagonale de A. Plus pr´ecis´ ecis´ement, ement, si l’on note a i j , i = 1, , n, j = 1, , n, les coefficients de A de A,, on introduit 3 matrices D matrices D,, E , comme suit : E , F comme
···
···
D =
E = =
−
0 ..
.
(0)
.
..
a21 .. .
..
an1
···
et alors bien sˆur ur
.
an,n−1 0
a11 ..
.
(0) ..
(0)
. ann
, F = =
−
,
0 a12 .. .
(0)
··· .. ..
a1n .. .
.
. an−1,n 0
− − F .
A = D E
(4.23)
. (4.24)
(4.25)
On supposera que les ´el´ el´ements ements sur la diagonale de A sont non nuls, c’est-`a-dire a-dire aii = 0, i = 1, , n.
···
Definition e´ finition 8 Dans la m´ methode de Jacobi, on choisit M = D et N = = E + + F dans ´ la m ethode it erative (4.22) avec D , E , F les matrices donn ees ´ ´ ´ ´ par (4.23) et (4.24). (k +1)
Les composantes x i de x (k +1) s’obtiennent alors en fonction des composantes de x (k ) par l’algorithme (k +1)
xi
=
1 aii
−
i 1
bi
n
− ∑ a x( ) − ∑ a x( ) = =+ j 1
k i j j
k i j j
j i 1
, i = 1,
· · · , n.
(4.26)
Dans ce cas, la m ethode converge quel que soit le vecteur initial x (0) , si et seule´ ment si C J k 0 si k ∞ avec
→
→
C J = D−1 ( E + + F ) = D−1 ( D A) = I D−1 A.
−
76
−
(4.27)
Methode ´ de Jacobi et de Gauss-Seidel, m´ ethode de relaxation relaxation
L’expression de la matrice C J r´esulte esulte simplement de la d´ecomposition ecomposition A = D E F et et le r´esultat esultat de convergence a ´et´ et´e etabli e´ tabli au paragraphe paragraphe pr ec´ e´ c´edent. edent. Dans l’algo l’algorit rithme hme (4.26) (4.26) la premi` premi`ere ere des sommes sommes dispara disparaˆˆıt ıt bien sˆur u r si i = 1 et la la dern derni` i`ere ere 0 n n et on utilisera la convention si i si i = n et convention que ∑ j=1 0 et ∑ j=n+1 0. Il est facile de = D et D et N N = E + + F donnent voir que les r´ecurrences ecurrences (4.22) avec M = donnent effectivement lieu a` (4.26) : en effet, d’inverser la matrice diagonale D revient simplement a` diviser composante par composante par a ii = 0. Dans la m´ethode ethode de Gauss-Seidel, au lieu de prendre pour M seulement seulement la A , on choisit M partie diagonale de A, choisit M = D E , c’est-`a-dire a-dire on choisit tout le bloc triangulaire inf´erieur. erieur.
− −
≡
≡
−
Definition e´ finition 9 Dans la m ethode de Gauss-Seidel, on choisit M = D E et N = = F ´ (k +1) (k +1) dans la m´ methode it erative (4.22). Les composantes x i de x s’obtiennent ´ ´ ´ alors par l’algorithme
−
(k +1)
xi
=
1 aii
−
i 1
bi
n
− ∑ a x( + ) − ∑ a x( ) = =+ k 1 i j j
j 1
k i j j
j i 1
, i = 1,
· · · , n.
(4.28)
Dans ce cas, la l a m ethode converge quel que soit le vecteur initial x (0) , si et seule´ k ment ment si si C G 0 si k ∞ avec
→
→
C G = ( D E )−1 F = = ( D E )−1 ( D E A) = I
−
−
− −
− ( D − E )− A. 1
(4.29)
L’expression de la matrice C G r´esulte esulte a` nouveau de la d´ecomposition ecomposition A = D E F . Aussi, pour r´esoudre esoudre le syst`eme eme avec M = D E , afin de trouver k +1) k ) ( ( en fonction de x , on exploite la structure de D E qui qui est triangulaire x
− −
−
(k +1)
−
(k +1)
inf´erieure. erieure. Alors connaissant x connaissant x1k +1 , , xi−1 par (4.28), on peut d´eterminer x eterminer xi car la premi`ere ere somme du membre de droite de (4.28) s’arrˆ s’arr ete eˆ te a` i 1. Bien Bien sˆ sur, uˆ r, il 0 n faut a` nouveau utiliser la convention ∑ j=1 0 et ∑ j=n+1 0. Une m´ethode ethode it´ iterative e´ rative convergera d’autant plus vite que le rayon spectral de 1 − C = sera petit. Dans le but d’acc´el´ el´erer erer dans certains cas la convergence = M N sera de la m´ethode ethode it´erative, erative, on peut introduire un param`etre etre ω dans la m´ethode ethode de Gauss-Seidel Gauss-Seidel (on parle alors d’une m ethode e´ thode de relaxation).
···
≡
≡
−
Definition e´ finition 10 Dans la m´ methode de relaxation on choisit ´ M = =
1
−
D E
ω
N = =
et
1
D D + F ,
ω
−
(k +1)
pour un param` parametre e` tre r eel ´ ´ ω. Les composantes x i par l’algorithme (k +1)
xi
=
ω aii
−
i 1
bi
n
− ∑ a x( + ) − ∑ a x( ) = =+ j 1
k 1 i j j
k i j j
j i 1
77
de x(k +1) s’obtiennent alors
(k )
+ (1 ω) xi , i = 1,
−
· · · , n. (4.30)
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
ω = 1 on En particulier, particulier, pour ω 1 on retrouve l’algorithme de Gauss-Seidel. On note C G (ω) =
1
− − 1
D E
ω
1
−
D D + F = I
−
ω
1
− −
D E
ω
1
A
(4.31)
et la m´ methode de relaxation converge, quel que soit le vecteur initial x (0) , si et ´ seulement seulement si C G (ω)k 0 si k ∞
→
→
La derni`ere ere expression dans (4.31) s’obtient en ´ecrivant ecrivant a` nouveau F nouveau F = D E A. A.
−
4.4. 4.4.1 1
−
Quel Quelqu ques es resultats e´ sultats de convergence de m´ methodes e´ thodes it´ iteratives e´ ratives
Proposition Proposition 5 Soi Soitt A une une matr matric icee n n, de coef coeffic ficie ient ntss ai j , i = 1, , n, j = 1, avec aii = 0, i = 1, , n et a` diagonale dominante stricte, c.- a-d. a` -d.
×
···
···
· · · , n,
n
∑ |ai j | < |aii|,
i = 1,
j =1
· · · , n.
j=i
Alors la methode de Jacobi converge. ´ En effet, effet, il suffit que pour pour une norme norme matricielle C J < 1 avec C J = I D−1 A d’apr`es es la d´efinition efinition de la m´ethode ethode de Jacobi (cf. D´efinition efinition 8). Or, il est facile de voir que les el´ e´ l´ements ements de la matrice C matrice C J sont
|| ||
ci j =
−
− aa , i = j, c = 0. ij
ii
ii
Or, Or, d’apr` d’apr`es es la condi condition tion de domina dominance nce diagon diagonale ale strict strictee et en appliq appliquan uantt la formul formulee (4.11) on obtient n ai j < 1 C J ∞ = max ∑ i=1,···,n j=1 aii
|| ||
j=i
ce qui ach`eve eve la d´emonstration. emonstration.
Consid´eron e ronss main mainte tena nant nt la m´ethode ethode de relax relaxati ation on (cf. (cf. D´efini e finitio tion n 6) avec vec la mamatrice C G (ω) donn´ee ee par (4.31), pour la d´ecomposition ecomposition (4.25) de A de A.. Le d´eterminant eterminant d’un produit de matrices est est egal e´ gal au produit des d´eterminants eterminants de chacune des matrices qui forment le produit. Par cons´equent, equent, par (4.31), det (C G (ω)) = det
1
− − 1
D E
ω
det
78
det ω1 D D + F . D D + F = ω det ω1 D E 1
−
− −
Quelques r´ esultats de convergence de m´ ethodes it´ eratives
Or, les matrices dont on prend les d´eterminants eterminants sont des matrices triangulaires d’apr`es es (4.25) et les d´eterminants eterminants sont donc egaux e´ gaux au produit des ´el´ el´ements ements sur la diagonale. On en d´eduit eduit que 1
det (C G (ω)) =
n
− 1
ω
∏ni=1 aii
∏ni=1 aii ωn
= (1
n
− ω) .
(4.32)
Cette expression expression permet de d´ d emontrer e´ montrer le r´esultat esultat suivant.
Th´ Theor` e´ oreme e` me 13 Pour toute matrice A, le rayon spectral de la matrice C G (ω) associ´ sociee methode de relaxation v erifie ´ a` la m´ ´ ´
ρ (C G (ω))
≥ |ω − 1|.
(4.33)
En particulier, particulier, si la m ethode de relaxation relaxation converg converge, e, alors 0 alors 0 < ω < 2. 2. ´ La d´emonstration emonstration utilise le fait que le d´eterminant eterminant d’une matrice est egal e´ gal au produit de ses valeurs propres. D’apr`es es (4.32), et notant λ i les valeurs propres propres de C G (ω), n
∏ λi = ( 1 − ω)n i=1
et par cons´equent equent
ρ (C G (ω)) = max λi
| | ≥ |1 − ω|. Il facile de se convaincre, qui si ω ≤ 0 ou ω ≥ 2, alors |1 − ω| ≥ 1. Or, la m´ethode ethode i=1, ,n
···
)) < 1 et le th´eor` converge, si et seulement si ρ (C G (ω)) < eor`eme eme est ainsi d´emontr´ emontr´e.
Nous allons maintenant introduire une famille de matrices particuli`eres eres pour laquelle on peut enoncer e´ noncer un r´esultat esultat g´en´ en´eral eral quant a` la convergence des m´ethodes ethodes it´ iteratives e´ ratives de relaxation.
×
Definition e´ finition 11 Soit A une matrice n n ; on dira dira que la matrice matrice poss` possede e` de la pro pri´ priet ´ e´ ´ (P), s’il existe une matrice de permutation P telle que PAPT =
D1 A12 A21 D2
,
D1 , D2
matrices diagonales.
(4.34)
De former PAP former PAPT a` partir de A revient a` faire les mˆemes emes permutations sur les lignes et les colonnes telles que ces permutations donnent lieu `a la structure en bloc (4.34). On peut montrer le r´esultat esultat suivant.
Proposition Proposition 6 Toute matrice tridiagonale poss` poss ede e` de la propri et ´ e´ ´ (P). 79
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
Nous admettons ce r´esultat esultat dans le cas g´en´ en´eral eral mais nous en donnons une illustration pour le cas n cas n = 3. Prenons
A =
a b 0 c a b 0 c a
Si l’on op`ere ere une permutation des lignes 1 et 2 suivie de la permutation des colonnes 1 et 2 on obtient a c b b a 0 c 0 a
qui est bien de la forme (4.34) avec D1 =
a
a 0 0 a
, D2 =
etc.
Pour les matrices ayan ayantt la propri´ propriet´ e´ t´e (P) on peut enoncer ´enoncer le th´eor` eor`eme eme suivant.
Th´ Theor` e´ oreme e` me 14 Soit une matric matricee r eelle n ´ ´ aii = 0 , ayant les propri propri et ´ es ´ ´ suivantes :
telle que les ´ les ´ el´ elements sur la diagonale × n telle ´
1. A pos posssede e` de la propri et ´ e´ ´ (P). 2. La matr matric icee C J = I D−1 A a les valeurs propres propres r ´ r eelles. ´
−
3. Le rayon rayon spectr spectral al ρ(C J ) < 1 (c.-` (c.-a` -d. -d. la methode eth era Jacobi conver converge) ge).. ´ ode it erative ´ ´ tive de Jacobi Alors pour tout 0 tout 0 < ω < 2 le spectrall de la matrice matrice C G (ω) s’´ s’ecrit 2 le rayon spectra ´
ρ (C G (ω)) =
1 4
ω
ω µ +
4(1
− 1,
−
ω) + ω2 µ2
avec µ = ρ(C J ) et
ω0 =
2
,
0 < ω < ω0
ω0 < ω < 2,
(4.35)
2
− − − − −
1+
1 µ2
est le param` parametre e` tre de relaxation optimal. Le rayon spectral associ e´ est
ρ (C G (ω0)) = ω0
− 1 =
1
1 µ2
1+
1 µ2
µ2
=
1+
1 µ2
2
On observe que ω = 1 correspond 1 correspond en fait a` Gauss-Seidel. Alors ρ(C G (1))) = 2 2 ρ(C G) = µ = (ρ(C J )) . 80
Quelques r´ esultats de convergence de m´ ethodes it´ eratives
1
ρ (CJ )
0.9
ρ (CG )
0.8
0.7
0.6
0.5
ω0
−1
0.4
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
ω0
F IG . 4.1 – Rayon spectral de la matrice ρ(C G (ω)).
µ = 0.9. Le graphe graphe du rayo rayon n spectr spectral al est est donn´ donn´e sur sur la figur figuree 4.1, 4.1, pour pour l’exe l’exemp mple le µ On voit ici que pour le param`etre etre de relaxation optimal ω0 le rayon spectral de C G (ω) est le plus petit : c’est alors que la convergenc convergencee est optimale.
Id´ Idee e´ e de la d emonstration e´ monstration : La d´emonstration emonstration de ce th´eor` eor`eme eme est assez complexe et nous allons seulement indiquer dans quelle mesure la propri´et´ et´e ( P) intervient. Tout d’abord, on peut se convaincre que de permuter les lignes et colonnes ne fait b en un syst`eme que transformer le syst`eme eme a` r´esoudre esoudre Ax = b en eme equivalent e´ quivalent : donc, bien qu’on n’op`ere ere pas explicitement les permutations, on peut supposer que A poss`ede ede la structure par blocs (4.34). Evidemment, la d´emonstration emonstration cherche a` caract´eriser eriser le rayon spectral de C G (ω) et donc les valeurs propres de cette matrice. Soit donc λ valeur propre de C G (ω) et x = 0 vecteur propre associ´e, e, c.-`aa x. D’apr`es d. C d. C G (ω) x = λ x. es l’expression (4.31), on peut ecrire e´ crire (on multipliant par 1 ω D E )
−
1
D D + F
ω
−
− λ
1
−
D E
ω
x = 0
On peut multiplier cette expression expression par D par D −1 pour obtenir
− D
1
F + + λ D−1 E x =
81
λ+ω ω
− 1x
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
On suppose que λ est une valeur non nulle et on divise l’´ l’ egalit´ e´ galit´e ci-dessus par
√ 1
√ −1 1 − D F + + λ D E
λ
x =
√ λ
:
λ+ω
√ − 1 x λω
et par cons´equent equent
λ+ω
√ λω− 1
est valeur propre de
√ −1 1 − √ D F + + λ D E . 1
λ
Or, si A si A est est de la forme (4.34), de par la d´ d ecomposition A e´ composition A = D E D−1 F = =
−
0 D1−1 A12 0 0
D−1 E = =
,
−
− − F
0 0 1 − D2 A21 0
.
On note que d’apr`es e s la d´efinition efinition de la m´ethode ethode de Jacobi et par (4.27) C J = D−1 F + + D−1 E . Il est facile de voir qu’alors
√ −1 1 − √ D F + + λ D E = = 1
λ
I 1 0
0 λ I 2
√
C J
I 1 0
0 λ I 2
√
−
1
avec I 1 , I 2 les matrices identit´es es relatives a` la d´ecomposition ecomposition en blocs. On peut 1 1 − alors conclure que les valeurs valeurs propres de √ D F + sont celles de C de C J . + λ D−1 E sont
√
λ
Donc, les valeurs propres λ de C G (ω) sont telles que
λ+ω
√ − 1 = τ λω
avec τ valeur propre de la matrice C J associ´ee ee a` la m´ethode ethode de Jacobi. On en d´eduit eduit que λ2 + λ(2ω 2 ω2 τ2 ) + (ω 1)2 = 0.
− −
−
On voit donc de quelle fac¸ on les valeurs propres de C de C G (ω) d´ependent ependent des valeurs propres de C J . La discussion des racines de cette ´equation equation (que l’on ne fait pas ici) donne lieu au r´esultat esultat du th´eor` eor`eme. eme.
Application a` des matrices tridiagonales Soit la matrice n matrice n
× n tridiagonale A =
a c
b a .. .
b .. .
(0)
c
82
(0) ..
. a c
b a
(4.36)
Quelques r´ esultats de convergence de m´ ethodes it´ eratives
avec a avec a , b, c des nombres r´eels eels non nuls. On suppose ´egalement egalement que c/b > 0. Les matrices tridiagonales poss`edent edent la propri´et´ et´e (P) du th´eor` eor`eme. eme. Pour appliquer le th´eor` eor`eme, eme, il convien convientt d’abord d’abord de calculer calculer les valeurs valeurs propres propres de A de A afin afin de connaˆıtre ıtre 1 − A. celles de C J = I D A. A , alors Soit x Soit x = 0 vecteur propre de A,
−
Ax = λ x.
(4.37)
Le vecteur a comme composantes x = ( x1 , x2 , , xn )T et si l’on rajoute formellement x0 = 0, xn+1 = 0, alors en ecrivant e´ crivant (4.37) composante par composante, on obtient les equations e´ quations
···
− λ) x + bx + = 0, j = 1, 2, · · · , n,
cx j−1 + (a
j
x0 = 0, xn+1 = 0. (4.38)
j 1
Il y a une m´ethode ethode g´en´ en´erale erale de r´esolution esolution d’´ d’equations e´ quations aux diff´erences erences du type j (4.38) qui consiste a` chercher la solution sous la forme x j = αr . Injectant cette expression expression dans (4.38) on voit ais´ ais ement e´ ment que r que r est est solution de l’´equation equation p(r ) = br 2 + (a
− λ)r + c = 0.
(4.39)
On admet que (4.39) a deux racines distinctes r 1 , r 2 et par lin´earit´ earit´e de (4.38) on peut ecrire e´ crire sa solution g´en´ en´erale erale sous la forme j
j
x j = αr 1 + βr 2 . Par x Par x 0 = 0 on a
j
x j = α(r 1 et x et xn+1 = 0 implique α(r 1n+1 non nul) r 1 r 2
(4.40)
− r + ) = 0 et donc (α = 0 car on cherche un vecteur n 1 2
n+1
j 2
− r )
= 1, d’o`u
r 1 2ik π = exp r 2 n+1
= 1, 2, , k =
···n
(4.41)
par l’expression l’expression g´ gen´ e´ n´erale erale des racines n + 1 eme `eme de l’unit´e, e, avec ici k ici k = 0 car nous avons avons suppos´ suppos e´ que les racines sont distinctes. On peut ecrire e´ crire le polynˆome ome de (4.39) sous la forme r = = b(r r 1 )(r r 2 ) d’o`u
−
r 1 r 2 = c/b,
r 1 + r 2 = ( λ
− a)/b
et par (4.41) c exp r 12 = exp b
83
2ik π n+1
.
−
(4.42)
Normes de matrices, m´ ethodes it´ eratives de r´ esolution de syst`emes lin´ eaires
On en d´eduit eduit que r 1 =
ik π n+1
c exp exp b
r 2 =
,
− ik π n+1
c exp exp b
(4.43)
et par la deuxi`eme eme relation de (4.42) les l es valeurs propres propres sont so nt
−
xk j = α
ik π exp n+1
ik π n+1
c k π . cos b n+1 (4.44) Par (4.40) la j `eme eme composante x composante xk j du vecteur propre associ associ e´ x k s’´ s’ecrit e´ crit
λk = a + b
c b
+ exp
= a + 2b
− − c b
j/2
exp
i jk π n+1
exp
i jk π
n+1
c b
=
j/2
sin
jk π n+1
.
(4.45) En effet, le vecteur propre etant e´ tant d efini e´ fini a` une constante constante multiplicativ multiplicativee (a ( a priori complexe) pr`es, es, on peut choisir α = 1/(2i). Ici, les valeurs propres sont r´eelles, eelles, sous l’hypoth`ese ese que c que c/b > 0.
Donc, connaissant connaissant les valeurs propres propres de la matrice (4.36), il i l est ais e´ de calculer les valeu valeurs rs propr propres es de la matric matricee associ´ associ´ee ee a` l a m etho e´ thode de de Jaco Jacobi bi C J = I D−1 A qui sont k π 2b c µk = k = = 1, 2, , n, cos a b n+1
−
−
···
et le rayon spectral est
≤
µ = ρ(C J ) = 2
b a
c cos cos b
π n+1
Pour les matrices du type (4.36) la m´ethode ethode de Jacobi Jacobi conv converge, erge, pour pour toute dimension n sion n de de la matrice, si b c 2 1. a b Et dans ce cas on peut utiliser la formule du th´eor` eor`eme eme pour trouver le param`etre etre de relaxation optimal, ce qui fait l’objet d’un exercice de TD.
84