• Aucun résultat trouvé

Analyse num´erique I Chapitre II : R´esolution de syst`emes lin´eaires

N/A
N/A
Protected

Academic year: 2022

Partager "Analyse num´erique I Chapitre II : R´esolution de syst`emes lin´eaires"

Copied!
11
0
0

Texte intégral

(1)

Analyse num´ erique I

Chapitre II : R´esolution de syst`emes lin´eaires

Pr. Souad EL BERNOUSSI

Universit´ e Mohammed V de Rabat Facult´ e des Sciences

Laboratoire de recherche : (LabMIA-SI) 4 avril 2020

Table des mati` eres

1 Introduction 1

1.1 Rappels sur les syst´emes lin´eaires . . . 2

1.1.1 La m´ethode de Cramer : . . . 2

1.1.2 La m´ethode de substitution (ou d’´elimination) . . . 2

1.2 M´ethode Gauss . . . 3

1.2.1 Algorithme : ´Elimination de Gauss . . . 4

1.2.2 Quelques rappels d’alg`ebre lin´eaire . . . 7

2 Factorisation LU 9

3 S´erieN2 10

1 Introduction

Un syt`eme lin`eaire s’´ecrit sous la forme : (1) Ax=b

— A est une matricen×n`a coefficients r´eels,

— b∈Rn

— x∈Rn

Les m´ethodes de r´esolution sont de deux types : 1. Les m´ethodes directes :

— obtenir la solution en un nombre fini d’op´erations.

2. Les m´ethodes it´eratives :

— construire une suite (xn)n qui converge vers la solution.

(2)

Dans ce chapitre nous allons :

1. Rapeler des notions et notations de base relatives aux syst`emes lin´eaires et aux matrices

2. Etudier une m´ethode directe : la m´ethode de Gauss.

3. Etudier la d´ecomposition (factorisation)LU.

4. Etudier la d´ecomposition (Cholesky)LL0. 5. Etudier des applications : Inverse de matrices,...

1.1 Rappels sur les syst´ emes lin´ eaires

Si Aest inversible alors (1) admet une solution unique x=A−1b

Ainsi th´eoriquement le probl`eme revient `a calculer A−1? Mais en pratique ce calcul est difficile.

M´ethodes classiques pour r´esoudre (1) sans calculerA−1. Exemple

(1)

x+ 2y= 5 2x+y= 4 1.1.1 La m´ethode de Cramer :

x=

5 2 4 1

1 2 2 1

= −3−3 = 1 ety=

1 5 2 4

1 2 2 1

=−6−3 = 2

1.1.2 La m´ethode de substitution (ou d’´elimination) x+ 2y= 5

2x+y= 4 ⇒

x=−2y+ 5 2x+y= 4 ⇒

x=−2y+ 5 2(−2y+ 5) +y= 4

x=−2y+ 5

3y= 6 ⇒

x=−2y+ 5

y= 2 ⇒

x= 1 y= 2

Peut-on g´en´eraliser ces m´ethodes pour un syst´eme den´equations avecn∈ N?

Th´eoriquement OUI mais en pratique cela va n´ecessiter beaucoup de calculs et de techniques.

(3)

1.2 M´ ethode Gauss

L’id´ee de base consiste `a transformer (1) en un probl`eme que l’on sait r´esoudre.

1. Si la matriceA=DavecDune matrice diagonale, alors on sait r´esoudre (1).

2. Si la matrice A=U (ouL) avec U (ou L) triangulaire sup´erieure ( ou inf´erieure) alors on sait r´esoudre (1).

Probl`eme : Comment tranformer une matrice en une matrice triangulaire inf´erieure ou sup´erieure ?

Casn= 3 : AX=bs’´ecrit :

a11x1+a12x2+a13x3=b1

a21x1+a22x2+a23x3=b2

a31x1+a32x2+a33x3=b3

la forme augment´ee

(A b) =

a11 a12 a13

a21 a22 a23

a31 a32 a33

b1

b2

b3

 On suppose quea116= 0, par ´elimination, on obtient :

(A1 b1) =

a11 a12 a13

0 a022 a023 0 a032 a033

b1

b02 b03

(1)

a11x1+a12x2+a13x3=b1 (l1) a21x1+a22x2+a23x3=b2 (l2) a31x1+a32x2+a33x3=b3 (l3) On note par (li) lai`eme´equation du syst`eme pr´ecedent.

On suppose quea116= 0, On pose :

(l20) =a11(l2)−a21(l1) et (l30) =a11(l3)−a31(l1) Alors (1) s’´ecrit

(2)

a11x1+a12x2+a13x3=b1 (l1) a022x2+a023x3=b02 (l20) a032x2+a033x3=b03 (l03)

(4)

On suppose quea0226= 0. On pose : (l300) =a022(l03)−a032(l200) Alors (2) s’´ecrit (2)

a11x1+a12x2+a13x3=b1 (l1) a022x2+a023x3=b02 (l02)

a0330 x3=b003 (l003) Remarque:

1. Les termes diagonaux sont appel´es les pivots

2. Si un pivotaii est nul on change de ligne (on permute) dei`an(pivotage partiel)

3. Cette m´ethode se g´en´eralise assez facilement bien qu’il faut ˆetre prudent avec le choix du pivot. En pratique, il faut ´eviter de prendre des pivots

”trop” petits.

1.2.1 Algorithme : ´Elimination de Gauss Partie 1 : R´eduction `a la forme triangulaire

Entr´eeAet bSortieA=U (forme triangulaire), etb.

— Pourj= 1, ...,(n−1)

— Pouri=j+ 1, ..., n

— lijaaij

jj

— Pourk=j+ 1, ..., n

— aik←aik−lijajk

— Fin

— bj ←bj−lijbj

— Fin

— Fin

SortieA=U (forme triangulaire), etb Exemple :





x+y+ 3t= 4 2x+y−z+t= 1 3x−y−z+ 2t=−3

−x+ 2y+ 3z−t= 4 qui s’´ecrit encore :

1 1 0 3

2 1 −1 1

3 −1 −1 2

−1 2 3 −1

 x y z t

=

 4 1

−3 4

Nous appliquons l’algorithme `a notre exemple en travaillant sur la matrice

(5)

augment´ee.

A b

1 1 0 3 . 4

2 1 −1 1 . 1

3 −1 −1 2 . −3

−1 2 3 −1 . 4

1 1 0 3 . 4

0 −1 −1 −5 . −7

0 −4 −1 −7 . −15

0 3 3 2 . 8

1 1 0 3 . 4

0 −1 −1 −5 . −7

0 0 3 13 . 13

0 0 0 −13 . −13

 Que l’on peut ´ecrire sous la forme :





x+y+ 3t = 4

−y−z−5t = −7 3z+ 13t = 13

−13t = −13 Notons que l’´etape j= 3 nous donneraitl43= 0.

Nous avons maintenant un syst`eme triangulaire `a r´esoudre.

Partie 2 : Remont´ee triangulaire

Entr´eeA, bavecAmatrice triangulaire sup´erieure Sortiexsolution du syt`emeAx=b

1. xn= abn

nn

2. Pour i=n−1, n−2, ...,1 faire : xi= 1

aii

(bi

n

X

j=i+1

aijxj)

En appliquant cet algorithme `a notre exemple, nous obtenonsx= (−1,2,0,1).

Remarque :

1. Dans la pratique le test (3) de l’algorithme d’´elimination de Gauss ne conduit pas `a l’arrˆet. En fait, si le pivot est nul, on cherche, dans la mˆeme colonne, un ´el´ement d’indice plus grand non nul, puis on ´echange les lignes correspondantes. Si ceci est impossible, le syst`eme est singulier.

(6)

2. On est parfois amen´e, pour des raisons de stabilit´e num´erique, `a effectuer des ´echanges de lignes mˆeme si le test (3) est n´egatif (c’est `a dire que le pivot est non nul). Ceci conduit `a des strat´egies dites de pivot que nous n’´etudierons pas ici.

Exemple:

2x+ 6y+ 10z = 0 x+ 3y+ 3z = 2 3x+ 14y+ 28z = −8

2 6 10

1 3 3

3 14 28

 x y z

=

 0 2

−8

2 6 10 0

1 3 3 2

3 14 28 −8

⇒

2 6 10 0

0 0 −4 4

0 5 13 −8

⇒

2 6 10 0

0 5 13 −8

0 0 −4 4

En utilisant la remont´e on trouve :

z=−44 =−1 y= 15(−8−13×(−1)) = 1 x= 12(−6×1−10×(−1)) = 2

⇒x=

 2 2

−1

M´ethode de Gauss avec normalisation :Elle consiste `a normaliser le pivot : On a :

(1)

a11x1+a12x2+a13x3=b1 (l1) a21x1+a22x2+a23x3=b2 (l2) a31x1+a32x2+a33x3=b3 (l3) On note par (li) lai`eme´equation du syst`eme pr´ecedent.

On suppose quea116= 0, (l1) s’´ecrit : x1+aa12

11x2+aa13

11x3= ab1

11 (l10) Si on pose :

(l20) = (l2)−a21(l01) et

(l30) = (l3)−a31(l01) Alors (1) s’´ecrit

(2)

x1+aa12

11x2+aa13

11x3=ab1

11 (l01) a022x2+a023x3=b02 (l02) a032x2+a033x3=b03 (l30)

(7)

On suppose quea0226= 0,

(l20) s’´ecritx2+a0023x3=b002 (l200) Si on pose :

(l300) = (l30)−a032(l002)

si a00336= 0 on pose (l3000) x3=ab00003 33

Alors (2) s’´ecrit

(2)





x1+aa12

11x2+aa13

11x3=ab1

11 (l01) x2+a0023x3=b002 (l002)

x3=ab00003 33

(l0003) 1.2.2 Quelques rappels d’alg`ebre lin´eaire

Factorisation LU

Supposons que dans l’´elimination de Gauss on n’utilise aucune strat´egie de pivotage et que tous les pivotsa(k)k,k6= 0.

Dans ce cas le passage deA(k)→A(k+1)(1≤k≤N−1) revient `a multiplier

`

a gauche la matriceA(k)par la matriceN×N :

E(k)=

1 0 · · · 0 0 1 0 · · · ·

... . .. . .. ...

... 0 1 · · · 0 ... ... −lk+1,k . .. ... ... ... ... 0 . .. ... 0 · · · 0 −lN,k 0 · · · 1

 Avec

li,k= a

(k) i,k

a(k)k,k, pourk+ 1≤i≤N.

La matriceA(N) , qui est triangulaire sup´erieure, est alors ´egale `a A(N)=M A

avecM =E(N−1)E(N−2)...E(1)

M est le produit de matrices triangulaires inf´erieures, donc M est aussi triangulaire inf´erieure, on a det(M) =

N−1

Q

i=1

det(E(i)) = 1 et l’inverse deM est aussi triangulaire inf´erieure.

En posantU =A(N)et L=M−1,on a A=LU.

(8)

(E(k))−1=

1 0 · · · 0 0 1 0 · · · · ... . .. . .. . .. ... ... 0 1 . .. · · · 0 ... ... lk+1,k . .. . .. ... ... ... ... 0 . .. 0 0 · · · 0 lN,k 0 ..0 1

L=M−1= (E(1))−1(E(2))−1...(E(N−1))−1

L=

1 0 · · · 0 l2,1 1 0 · · · ·

... . .. . .. ...

... . .. 1 · · · 0

... ... lk+1,k . .. ...

... ... ... . .. ...

lN,1 · · · lN,k · · · ·lN,N−1 1

Exemple : A=

5 2 1

5 −6 2

−4 2 1

=A(1) E(1)=

1 0 0

−1 1 0

4

5 0 1

;A(2)=

5 2 1

0 −8 1 0 185 95

E(2)=

1 0 0

0 1 0

0 209 1

;A(3)=

5 2 1

0 −8 1 0 0 94

=U L=

1 0 0

1 1 0

−4 5

−9 20 1

 et A=LU

Th´eorem 1 SoitA= (ai,j)1≤i,j≤N une matrice carr´ee d’ordreN telle que les N sous-matrices deA:

a11 · · · a1k

... ...

... ...

ak1 · · · akk

,1≤k≤N

soient inversibles,

(9)

alors il existe une matrice triangulaire inf´erieureL= (lij)1≤i≤N;1≤j≤N,avec lii= 1 (1≤i≤N),

et une matrice triangulaire sup´erieureU telles que A=LU.

De plus cette factorisation est unique.

2 Factorisation LU

Si A=LU on peut r´esoudre :Ax=ben r´esolvant 1. Lz=b

2. U x=z

(1)Ax=b⇔

(2)Lz=b (3)U x=z Dans ce casAx=LU x=L(U x) =Lz=b .

Les syst`emes (2) et (3) ´etant triangulaires, la r´esolution ne n´ecessite que l’ex´ecution d’une remont´ee et d’une descente triangulaire.

Exemple :

1 1 0 3

2 1 −1 1

3 −1 −1 2

−1 2 3 −1

=

1 0 0 0

2 1 0 0

3 4 1 0

−1 −3 0 1

1 1 0 3

0 −1 −1 −5

0 0 3 13

0 0 0 −13

 .

Exemple :

A=LU =

1 0 0 0

2 1 0 0

3 4 1 0

−1 −3 0 1

1 1 0 3

0 −1 −1 −5

0 0 3 13

0 0 0 −13

 ,

on r´esoud le syst`emeAx=

 4 1

−3 4

 .

Lz=b⇒





z1 = 4 2z1+z2 = 1 3z1+ 4z2+z3 = −3

−z1−3z2+z4 = 4

⇒z=

 4

−7 13

−13

 .

U x=z⇒





−13x4 = −13 3x3+ 13x4 = 13

−x2−x3−5x4 = −7 x1+x2+ 3x4 = 4

⇒x=

−1 2 0 1

 .

(10)

3 S´ erie N

2

Exercice I -

On consid´ere le syst`eme lin´eaire : (1)

1 5 1.0001 5

x y

= 6

6.0005

1. D´eterminer la solutionX de ce syst`eme.

2. Dans le syst`eme pr´ec´edent, on remplace 6.0005 par 6, d´eterminer la so- lution X de ce nouveau syst`eme not´ee (2).

3. Calculer les erreurs relatives sur les donn´ees et sur les r´esultats.

4. Conclusion.

Exercice II-

R´esoudre le syst`eme lin´eaire (1) :

(1)

x+ 2y+ 3z= 1 2x+ 6y+ 10z= 0 3x+ 14y+ 28z=−8 1) Par Gauss Classique

2) Par Gauss avec pivotage partiel Exercice III -

1) En arithm´etique flottante avec 2 chiffres significatifs ( s = 2 (s est le nombre de digits)) et arrondi, r´esoudre par ´elimination de Gauss, les syst`emes lin´eaires (1) et (2).

(1)

0.0001x+y= 3

x+ 2y= 5 (2)

x+ 2y= 5 0.0001x+y= 3 2) Conclusion

Exercice IV-

Soit la matriceA=

30 −20 −10

−20 55 −10

−10 −10 50

et b=

 1 5 2

1) Ecrire la matriceA sous la formeLU i.e. trouverLetU (sans pivotage) avecL matrice triangulaire Inf´erieure etU triangulaire sup´erieur.

2) En d´eduire le determinant deA

3) R´esoudre par FactorisationLU, le syst´eme lin´eaireAX=b Exercice V-

Soit la matriceA=

1 −1 2

−2 1 1

−1

(11)

1) Ecrire la matriceAsous la forme LU i.e. trouverLet U avecLmatrice triangulaire Inf´erieure etU triangulaire sup´erieur.

2) Utiliser 1) pour calculer le d´eterminant de la matriceA.

3) Utiliser 1) pour calculer l’inverse de la matriceA.

Références

Documents relatifs

[r]

[r]

[r]

[r]

un script (ou une fonction) scilab donnant la solution exacte et la solution num´ erique donn´ ee par le sch´ ema

D´ ecrire les polynˆ omes d’interpolation de Hermite dans le cadre g´

On consid` ere maintenant la m´ ethode de Newton pour rechercher ce z´ ero.. ´ etablir sa formule en utilisant un d´ eveloppement de Taylor

Soit α la racine de h que l’on souhaite approcher par la m´ ethode