1 METHODE DE GAUSS FACTORISATION LU. 2 I La méthode de Gauss I-1 Présentation de la méthode De la...

Post on 03-Apr-2015

105 views 0 download

Transcript of 1 METHODE DE GAUSS FACTORISATION LU. 2 I La méthode de Gauss I-1 Présentation de la méthode De la...

1

METHODE DE GAUSS FACTORISATION LU

2

I La méthode de GaussI-1 Présentation de la

méthode

De la 1ère équation, on tire l’égalité n

1 1 1j j11 j=2

1x = (b - a x )

a

On la reporte dans les équations 2 à n:

n

i1 1j i1 1ij j i

11 11j=2

a a a bPour i = 2 à n (a - )x = b -

a a1

n

i1 1ji1 1i1 1 j

11 11j=2

a aa ba x = - x

a a

On veut résoudre un système de n équations à n inconnues

Ax=b avec A matrice (n,n) d’éléments aij, b, x nIR

3

La 1ère équation de Ax=b et les équations (1) forment un système équivalent à Ax=b noté

(2) (2)A x = b

On note (1) (1)A = A b = b

0

0

(2)A

4

Formules de passage de A(1), b(1) à A(2), b(2):

(2) (1)1j 1j

(2)i1

a a j=1 à n

a 0 i=

(2

à

)

2 n

(1) (1)i1 1j(2) (1)

ij ij (1)11

a aa = a - , i, j = 2 à n

a

(2) (1)1 1

(

b

)

b

3

(1) (1)(2) (1) i1 1i i (1)

11

a bb = b - , i = 2 à n

a

pour i 2 à n 1 n

i1 1j i1 1ij j i

11 11j=2

a a a b(a - )x = b -

a a

5

A partir du système A(2) x=b(2), on peut procéder de façon similaire à partir de la 2ème équation et l’inconnue x2 . En éliminant successivement x1,x2…xn-1, on construit ainsi une suite de systèmes équivalents A(k)x=b(k) k=1 à n

0

0

0 0

0

(k)A

k

k

6

Formules de passage de A(k), b(k) à A(k+1), b(k+1):

(k 1) (k)ij ij

(k+1) (

(k) (k)ik kj(k 1) (k)

ij ij

k)i i

(k+1)i

k)k

j

(k

Pour i 1 à k

a a pour j=1 à n

b b

Pour i=k+

1 à n

a =0 pour j=1 à

a a(4) a a , j=k+1 à n

a

k

(5)

(k) (k)(k+1) (k) ik ki i (k)

kk

a b b b

a

partie non modifiée

formules qui se traduisent par un calcul

7

k j

i

k

A(k) b(k)

valeurs de A(k) et b(k) modifiés par les formules (4) et (5)

valeurs de A(k) et b(k) intervenant dans les formules (4) et (5)

8

Si l’élimination est possible jusqu’au bout, l’algorithme aboutit à une matrice A(n) triangulaire supérieure.

notations: U=A(n) d=b(n)

Le système final Ux=d est équivalent au système initial Ax=b. Il se résout facilement par remontée:

nn

nn

n

i i ij jii j i 1

dx

u

pour i n 1 à 1

1 x (d u x )

u

9

Remarque:

pour k=1 à n-1 A(k+1)=M(k)A(k) b(k+1)=M(k)b(k)

M(k)=

1

1

1

1

k 1(k)

k 2 iki (k)

kk

n

a avec i=k+1 à n

a

k

10

det(M(k))=1 car M(k) est triangulaire supérieure avec des 1 sur la diagonale.

det(A(k+1))=det(M(k)A(k)) =det(M(k))det(A(k)) =det(A(k))

det(A(k+1))=det(A(k)) k=1 à n-1

det(A)=det(U)n

iii 1

u

A inversible A(k) inversible pour k=1 à n

11

L’élimination de xk n’est possible que si

(k)kka 0

Dans ce cas est dit pivot de l’étape k. (k)kka

Sinon le processus d’élimination doit être modifié.

12

2ème cas: (k)k'k k ' k a 0

L’élimination de xk est donc déjà faite!

A(k+1)=A(k)

La phase d’élimination peut donc toujours être menée jusqu’à la fin.

On poursuit l’élimination avec comme pivot de l’étape k .

(k)kka

1er cas: (k)k'k k ' k tel que a 0

On permute l’équation k avec l’équation

nouveau système (k) (k)A x b

k '

13

Remarques:

(k) (k)det(A ) det(A ) (1 permutation de 2 équations)

det(A)=(-1)p det(U) où p est le nombre de permutations d’équations effectuées dans la phase d’élimination.

det(A)=0 det(U)=0

La phase de remontée complète n’est possible que si A est inversible (régulière).

De plus si A est inversible, alors A(k) est inversible et on ne rencontre jamais le 2ème cas dans la phase d’élimination.

14

I-2 Programmation de la méthodea)cas sans permutation de

lignes avec A régulière

Réservations mémoire:

1 tableau A (n,n) initialisé avec les valeurs ija

1 tableau b (n) initialisé avec les valeurs bi

1 tableau x (n) pour la solution cherchée

Durant la phase d ’élimination, les calculs se font uniquement dans les tableaux A et b (les valeurs initiales de A et b sont écrasées!)

La phase de remontée s ’effectue à partir des valeurs finales contenues dans A et b.

15

ik

kk

ij ij kj

i i k

pour k 1,n 1 faire

pour i k 1,n

a r

a

pour j k 1,n faire

phase d 'élimina

a a r a*

b b r b*

tion

nn

nn

k

kj j

kkk

bx

a

pour k n 1,1 faire

S b

pour j k 1,n faire

S

phase de remon

S-a x*S

x

a

e

16

2 2 1 1

8 9 5 4

12 0 2

A =

14

b

ik

ij ij kj

i i k

pour k 1,n 1 faire

pour i k 1,n

a r

pour j k 1,n faire

phase d 'élimin

a a r a*

atio

b b

n

r b*

kka

8

12

2 1 1

2

Simulation sur un exemple où n=3:

k=1

2 1 1

8 1 0

12 1

2

2

1

k=2

r=8/2=4

r=12/2=6 -12 -4 8

r=-12/1=-12 8 8

1 01

17

A 8

12 12

2

1

8

12 1

1 b= 0

8

8

8 3x 1

S 0

32S 1 -1S 1

11S 0 1

1S 3 2 1

1

1

2x -1

k=2

2

2 1x 1

x

1

-1

1

kj

nn

kk

k

nn

j

k

pour k n 1,1 faire

S

pour j k 1,n faire

xb

ph

a

b

a

ase de re

S S-

mont

*

x

ée

a

S

x

k=1

18

b)cas avec permutation de lignesPas de permutation physique à l’intérieur des tableaux contenant A et b!Mise à jour de la numérotation à chaque permutation à l’aide d’un tableau supplémentaire Point (n).

k

k '

1

2

i

i 1

i 2

n

valeurs initiales

de Point

'

k

k

permutation de ligne n° k avec ligne n° k’

19

I-3 coûts de calculEstimation des coûts de calcul ou de la complexité d’un algorithme =Estimation du nombre d’opérations élémentaires: additions, multiplications, divisions.

L’unité de mesure de la puissance d’un calculateur est donné en Megaflops (Mflops) où 1 Mflops=106

opérations en virgule flottante par seconde.

Cette mesure n’est qu’indicative car la vitesse de calcul peut varier en fonction de l’algorithme utilisé et de la taille du problème traité.

Les plus gros calculateurs au monde ont des puissances supérieurs à 106 Mflops= 1 Teraflops

20

IBM SP Power4 :ZAHIR  

124 processeurs 6,55 Tflops 3136 Goctets

Institut du Développement et des Ressources en Informatique Scientifique (IDRIS)

21

Le coût de résolution d’un système linéaire est donnée en fonction de sa dimension n, ce qui permet des comparaisons d’efficacité entre différentes méthodes.

En pratique, on ne retient qu’une estimation asymptotique lorsque , suffisante pour les systèmes de grande taille.

n

22

Pour la méthode de Gauss,

on obtient:

3

3

2

nadditions

3

nmultiplications

3

ndivisions

2

n 1

k 1

n(n 1)k

2

n 12

k 1

n(n 1/ 2)(n 1)k

3

Ses estimations s’obtiennent à partir de l’algorithme en utilisant les formules:

23

OPERATIONS DIVISION ADDITION MULTIPLICATION

coût éliminationn(n1)

2

n(n1)(n1)

3

Idem

coût remontéen n(n1)

2

Idem

coût totaln(n1)

2

~ 2n

2

n(n1)(2n5)

6

~ 3n

3

idem

24

Illustration numérique montrant l’importance du choix d’une méthode de résolution:Formules de Cramer donnant la solution d’un système (n,n):

jj

0

Dx , j=1 à n.

D Dj est le déterminant d’une matrice (n,n)

Le calcul du déterminant par une méthode de développement par ligne conduit à un coût de résolution supérieur à (n+1)!

inférieur à 1/100 seconde par Gauss

de l’ordre de 10185 l ’age de l’Univers par méthode de Cramer

Temps de résolution sur un système (100,100) sur un calculateur à 100 Mflops:

25

I-4 Un résultat théorique admisAk désigne les sous-matrices principales de A définies par

11 12 1k

22 2kk

k1 k2 kk

a a a

a aA

a a a

Théorème 1 Si det(Ak) 0 pour k=1 à n, alors la phase d’élimination est faisable sans permutation de lignes et les éléments diagonaux de la matrice triangulaire supérieure U ainsi obtenue sont données par

k1

11 kk k 1

det(A )u det(A ) et u , k=2 à n

det(A )

26

Conséquences:

Sur une matrice s.d.p. l’élimination de Gauss peut se faire sans permutation de lignes et les éléments diagonaux de la matrice U obtenue sont strictement positifs.

Remarque:

A s.d.p. Ak s.d.p. k=1 à n det(Ak)>0

27

II Factorisation LUII-1 Intérêt d ’une factorisation

LUDéfinition 1On dit qu’une matrice A(n,n) possède une factorisation LU si A=LU avec L matrice(n,n) triangulaire inférieure à diagonale unité et U matrice triangulaire supérieure.

1

L

1

1

U

28

On verra dans la suite que le coût de la factorisation est égal au coût de l’élimination de Gauss.

Pour résoudre Ax=bk connaissant sa factorisation LU, on résout successivement 2 systèmes « triangulaires »

Ly=bk (descente) puis Ux=y (remontée)

On obtient alors le tableau des coûts asymptotiques suivant:

Supposons que l’on doit résoudre successivement plusieurs systèmes de même matrice:

Ax=bk k=1 à p

29

OPERATIONS DIVISION ADDITION OUMULTIPLICATION

Factorisation LU2n

2

3n

3

p remontée-descente

pn 2pn

coût total2n

2+pn

3n

3+pn2

mieux que

coût de p résolutions de Gauss

3pn

3

30

I-2 Conditions d ’existence et d ’unicité d’une factorisation LU

Proposition 1(unicité) On suppose que A est régulière et admet une factorisation LU. Alors U est régulière et la factorisation est unique

Démonstration:a) U régulière?

det(A)=det(LU)=det(L)det(U)=det(U) 0

31

b) Unicité?

U2 triang. sup. X triang. sup.

Supposons A=L1U1=L2U2

1 12 1 2 1L L U U X

U1 triang. sup.1

1U triang. sup.

L1 triang. inf.à diag. unité X triang. inf.à diag. unité

L2 triang. inf.à diag.unité 12L triang. inf.à diag unité

X =matrice identité d’où L1=L2 et U1=U2

32

Proposition 2On suppose que l’élimination de Gauss est faisable sans permutation de lignes sur un système de matrice A supposée régulière. Alors A possède une factorisation LU avec U régulière.

k 1

k 2

n

(k)ik

i (k)kk

aavec i=k+1 à n

a

Démonstration: on introduit les matrices L(k)

L(k)=

1

1

1

1

k

33

A=L(1)L(2)….L(n-1)A(n)

On pose L= L(1)L(2)….L(n-1) produit de triang. inf. à diag. unité

On pose U=A(n) triang. sup. régulière car A régulière

A(k)=[M(k)]-1A(k+1)=L(k)A(k+1)

On vérifie que L(k) =[M(k)]-1

A(k+1)=M(k)A(k)

34

Théorème 2A matrice (n,n) possède une factorisation LU avec U régulière si et seulement si ses sous-matrices principales Ak k=1 à n sont régulières.

35

a) Supposons det(A(k)) 0 k=1 à n

Démonstration:

Théorème 1élimination de Gauss faisable sans permutation de lignes

A=A(n) régulière

+ proposition 2 existence de la factorisation LU et U régulière

36

b) Supposons A=LU avec U régulière

11 12 12

21 22 21 22 22

A A 0 U

A A L L 0 U

11 11L U

11 11 11A = L U

det(A11)=det(U11) 0 car U régulière

Or A11 est une sous-matrice principale A(k).

37

1

1

1

1

1

I-3 Programmation de la factorisation LU

aucun calcul pour effectuer le produit de matrices L(k)!

(k)ik(k)kk

a

a

L=L(1)L(2)…L(n-1)=

1

1

L(1)

11

1

L(2)

1

1

1

L(k)

... ...

1

11

L(n-1)

38

A(k)

k

ik

kk

ij ij kj

i i k

pour k 1,n 1 faire

pour i k 1,n

a r

a

pour j k 1,n faire

phase d 'élimina

a a r a*

b b r b*

tion

ika r

élément qui n’est plus utilisé après le traitement complet de la ligne

39

Algorithme de factorisation

ik

kk

ij ij kj

ik

pour k 1,n 1 faire

pour i k 1,n faire

a r

a

pour j k 1,n faire

a a r a

a r

2 2 1

4 1 1

6

-12

Simulation sur un exemple où n=3:

2 2 1

8 9 5

12 0 2

A

ik

kk

ij ij kj

ik

pour k 1,n 1 faire

pour i k 1,n faire

a r

a

pour j k 1,n faire

a a r a

a r

algorithme de factorisation

k=12 2 1

r=8/2=4 1 14r=12/2=6 -12 -46

r=-12/1=-12 8

2 2 1

U 1 1

8

0

0 0

L 4

6 12

1 0 0

1 0

1

k=2

41

III Matrices à structure particulièreIII-1 Matrice symétrique

Proposition 4Soit A une matrice (n,n) régulière et symétrique. Si la phase d’élimination de Gauss s’effectue sans permutation de lignes

alors toutes les matrices a(k) k=1 à n sont symétriques.

k

kA(k)=

a(k)

Notation:

42

Démonstration: (par récurrence)a(1)=A symétrique par hypothèse

(k) (k)ik kj(k 1) (k)

ij ij (k)kk

(k) (k)jk ki(k 1) (k)

ji ji (k)kk

a aa a

a i, j k 1 à n

a aa a

a

a(k) symétrique (k 1) (k)ij ija a i,j=k+1 à n

43

Proposition 4Soit A une matrice (n,n) régulière et symétrique. Si elle possède une factorisation A=LU alors U=DLt où D est une matrice diagonale . On a donc A=LDLt. et dii=uii i=1 à n.

Démonstration:

Soit A=LU .

On introduit la matrice diagonale

11

22

nn

u

uD

u

44

U régulière D régulière

On pose L1=LD et U1=D-1U A=L1U1

A=At t t1 1A U L

t1U triang. inf.à diag unité et t

1L triang. supérieure

Unicité de la factorisation t t t1 1L U et U=L DL

soit A=LDLt

45

Remarque dans le cas où A est s.d.p. :A=LDLt avec dii>0 i=1 à n

On pose

11

221/ 2

nn

d

dD

d

0

0

d’où A=LD1/2D1/2Lt

avec B=LD1/2, on obtient A=BBt

dite factorisation de Cholesky

46

III-2 Matrice à structure bandeDéfinition 2On dit qu’une matrice A(n,n) est de structure bande avec une demi-largeur de bande m si m est le plus petit entier tel que |i-j|>m aij=0

n-m

n-m

m+1

m+1

47

a) Une matrice tridiagonale a une demi-largeur de bande égale à 1.

Exemples:

N=n2

H matrice (n,n)

I matrice identité (n,n)

-I

-I -I

-I -I

-I -I

-

H

H

H

H

I H

2A =h

0

0

b) Matrice 2hA

Sa demi-largeur de bande est donc égal à n = N

48

Proposition 4Soit A(n,n) une matrice de structure bande avec une demi-largeur de bande m. Si la phase d ’élimination de Gauss s’effectue sans permutation

de lignes, alors toutes les matrices a(k), k=1 à n ont une structure bande

avec une demi-largeur de bande inférieure ou égale à m. De plus m2

éléments changent de valeurs à l ’étape k dans la matrice a(k).

bca a -

d

a n’est pas modifié si

b ou c nul.

a

d

b

cA(k)=

k

k

49

A(k)=

k

k0 0

0

0

non modifié

: éléments non modifiés

:éléments modifiés

m

m

50

L’économie de calculs se fait aussi dans la remontée car U est à structure bande.

O P E R A T I O N S D I V I S I O N A D D I T I O N O UM U L T I P L I C A T I O N

é l i m i n a t i o n n m 2n m

r e m o n t é e n n m

Coûts asymptotiques

au lieu de 3n

3

au lieu de 2n

2

Exemples: a) matrice (tridiagonale: m=1) Coût en O(n)

b) matrice Coût en O(n2)

1hA

2hA (m n)

51

Pour minimiser les coûts de calcul dans les méthodes de résolution par Gauss ou factorisation LU, on a donc intérêt à avoir la plus petite largeur de bande possible.

Pour les matrices différences finies, cela revient à bien choisir l’ordre de numérotation des nœuds de la grille.

Au chapitre suivant, nous présenterons des méthodes itératives de résolution dont le coût pour ces matrices est indépendant de l’ordre de numérotation.

matlab