• Aucun résultat trouvé

Méthodes numériques pour l’ingénieur

N/A
N/A
Protected

Academic year: 2021

Partager "Méthodes numériques pour l’ingénieur"

Copied!
29
0
0

Texte intégral

(1)

ASI 3

Méthodes numériques pour l’ingénieur

Résolution de systèmes linéaires par des méthodes directes :

Gauss, LU,

(2)

Ax=b : un cas simple

A est une matrice diagonale

[ ]

n

a i x b

ii i

i = , ∈ 1,













=

























n i

n i

nn ii

b b b

x x x

a a

a

1 1

11

0

0 0

0 0

0 0

0 0

0 0

0 0

0

fait

à jusqu' 1

pour

ii i

i a

x b

n i

= Fonction x = diago(A,b) problème

solution

Algorithme

(3)

A est de forme triangulaire







 −

=

=

=

1

1 1 1

1 1

i j

j ij i

ii

i b a x

x a

a x b













=

























n i

n i

nn ni

n

ii i

b b b

x x x

a a

a

a a

a

1 1

1 1 11

0

0 0

0

0 0

0

fait omme

fait

omme omme

1 à

jusqu' 1

pour

omme

à jusqu' 2

pour

11 1 1

ii i

j ij i

a x s

x a s

s

i j

b s

n i

a x b

← −

=

=

omme s

Fonction x = triang(A,b)

(4)

Commentaires sur le programme « diago »

• Complexité ?

• Déterminant :

• que se passe t’il si A est triangulaire supérieure ?

• Exercice :

=

= n

i

aii

A

1

) det(

Quels sont les âges d ’Alice, de Louis, Sacha et Gaspar ? Sachant que trois fois la somme des âges des garçons est égale à la somme des âges des filles, que l’âge d’Alice moins trois fois la somme des âges de Louis et de Sacha est égal à moins neuf, que trois fois l’âge de Louis est égal à vingt sept, et que l’âge de Louis moins deux fois l’âge de Sacha est égal à 3.

(5)

Pivot de Gauss

4 principes fondamentaux

On ne change pas la solution lorsque l’on : 1. permute 2 lignes

2. permute 2 colonnes

3. divise par un même terme non nul les éléments d’une ligne 4. ajoute ou retranche à une ligne un certain nombre

de fois une autre ligne

Stratégie : Transformer le système linéaire

en un système équivalent … facile à résoudre

Triangulaire !

(6)

Pivot de Gauss : un exemple





= +

+

= +

+

= +

+

=

− +

6

2

8 2

3

0

3

6 2

4 2

4 3

2

4 3

2 1

4 2

1

3 2

1

x x

x

x x

x x

x x

x

x x

x

pivot (1)

(7)

Pivot de Gauss : un exemple





= +

+

= +

+

= +

+

=

− +

6

2

8 2

3

0

3

6 2

4 2

4 3

2

4 3

2 1

4 2

1

3 2

1

x x

x

x x

x x

x x

x

x x

x

(2) = (2)-a21/pivot (1)

(8)

Pivot de Gauss : un exemple





= +

+

= +

+

= +

+

=

− +

6

2

8 2

3

0

3

6 2

4 2

4 3

2

4 3

2 1

4 2

1

3 2

1

x x

x

x x

x x

x x

x

x x

x





= +

+

= +

+

= +

+ +

=

− +

6

2

8 2

3

3

0

6 2

4 2

4 3

2

4 3

2 1

4 3

2

3 2

1

x x

x

x x

x x

x x

x

x x

x (2) = (2)-a21/pivot (1)

(9)

Pivot de Gauss : un exemple





= +

+

= +

+

= +

+

=

− +

6

2

8 2

3

0

3

6 2

4 2

4 3

2

4 3

2 1

4 2

1

3 2

1

x x

x

x x

x x

x x

x

x x

x





= +

+

= +

+

= +

+ +

=

− +

6

2

7 1 2

4 7

0

3

0

6 2

4 2

4 3

2

4 3

2

4 3

2

3 2

1

x x

x

x x

x

x x

x

x x

x (3) = (3)-a31/pivot (1)

Le première variable à été éliminée de toutes les équations sauf une

(10)

1. Triangularisation

2. Résolution du système triangulaire

L’algorithme du pivot de Gauss

A x = b

fait sinon "problème"

fait

fait

à jusqu' 1

pour

à jusqu' 1

pour

alors 0

si

*) pivot de

stratégie (*

1 à

jusqu' 1

pour

kj ik

ij ij

k ik

i i

kk

pivot a a a

a

n k

j

pivot b b a

b

n k

i pivot

a pivot

n k

← +

=

+

=

= Fonction A,b = descent(A,b)

(11)

Gauss : résolution d’un système triangulaire







 −

=

=

+

=

1

1 n

i j

j ij i

ii i

n n n

x a a b

x

a x b













=

























n i

n i

nn in ii

n i

b b b

x x x

a a a

a a

a

1 1 1 1

11

0

0 0

0 0

0 0

fait omme

fait

omme omme

à jusqu' 1

pour

omme

1 à jusqu' 1

pour

ii i

j ij i

nn n n

a x s

x a s

s

n i

j

b s

n i

a x b

− + ←

=

=

omme s

Fonction x = triang(A,b)

(12)

Gauss

U,c = descent(A,b) x = triang(U,c) Fonction x = Gauss(A,b)

(13)

Remarques

Choix du pivot

: minimiser les erreurs d’arrondis si un pivot est nul, on permute deux lignes

si tous les pivots restant sont nuls la matrice est singulière (i.e. le système d’équations n’admet pas de solution unique) pour minimiser les erreurs d’arrondis :

on choisi le plus grand pivot possible (en valeur absolue) et donc on permute les lignes (voir les colonnes associées) c’est la stratégie du pivot maximal (partiel (lignes) ou total)

Comment inverser une matrice

?

Avec l’algorithme de gauss on peu résoudre directement

déterminant d’une matrice = produit des pivots

[ ]

b c AA I

Az

c Ay

b

Ax = = = =

−1

: donc et

;

et

(14)

Exemple



 

= 





2 1 1

1

1 10 4

x

Trouver x en ne gardant que 4 chiffres significatifs après la virgule



 

= −





4 4 4

4

10 2

1 10

1 0

1 10

, 10

: x

pivot

dddd 10e

. 0 : tion

représenta ±



 

= 

 ⇔

 

= −





1 0 10

1 10

0

1 10

4 4 4

x x

Que se passe t’il si on prend le système à l’envers...

(15)

Exemple



 

= 





2 1 1

1

1 10 4

x

Trouver x en ne gardant que 4 chiffres significatifs après la virgule



 

= −





4 4 4

4

10 2

1 10

1 0

1 10

, 10

: x

pivot

dddd 10e

. 0 : tion

représenta ±



 

= 

 ⇔

 

= −





1 0 10

1 10

0

1 10

4 4 4

x x

Que se passe t’il si on prend le système à l’envers...

(16)

;

; :

ement matriciell

,..., 1 pour

,..., 1 pour

) ( ) ( )

1 ( )

( ) ( )

1 (

) ( ) (

) ( )

( )

1 (

) ( ) (

) ( )

( )

1 (

k k

k k

k k

k k k

kk k k ik

i k

i

k k kj

kk k k ik

ij k

ij

b M

b A

M A

a b b a

b

n k

j a a

a a a

n k

i

=

=





+

=

← +

=

+ +

+ +

Représentation matricielle de l’élimination de Gauss

Lc b

LU A

L c Ux

b Ax

=

=

⇒ =

=

et

: que telle

matrice la

recherche on

A chaque étape de l’algorithme...

(17)

Les cas du second membre b

;

: ement

matriciell ( 1) ( ) ( )

) ( ) (

) ( )

( )

1 (

) ( ) (

) ( )

( )

1 (

) ( ) (

) (

, ) 1

( 1 )

1 (

1

) ( )

1 (

) ( 1 )

1 ( 1

k k

k k k k

kk k k nk

n k

n

k k k

kk k k ik

i k

i

k k k

kk k

k k k

k k

k

k k k

k

k k

b M

b a b

b a b

a b b a

b

a b b a

b

b b

b b

=

+ +

+

+ + ++

+ +













=

=

+

1 0

0 0

0 1

0 0

0 0

1 0

0 0

0 1

;

, , 1 )

(

k n

k k k

kk ik ik

m m M

a m a

M(k) ?

(18)

Les cas du second membre b

;

: ement

matriciell ( 1) ( ) ( )

) ( ) (

) ( )

( )

1 (

) ( ) (

) ( )

( )

1 (

) ( ) (

) (

, ) 1

( 1 )

1 (

1

) ( )

1 (

) ( 1 )

1 ( 1

k k

k k k k

kk k k nk

n k

n

k k k

kk k k ik

i k

i

k k k

kk k

k k k

k k

k

k k k

k

k k

b M

b a b

b a b

a b b a

b

a b b a

b

b b

b b

=

+ +

+

+ + ++

+ +













=

=

+

1 0

0 0

0 1

0 0

0 0

1 0

0 0

0 1

;

, , 1 )

(

k n

k k k

kk ik ik

m m M

a m a

(19)

Factorisation













=

=

=

=

+ + +

1 0

0 0

0 1

0 0

0 0

1 0

0 0

0 1

;

;

; :

ement matriciell

, , 1 )

(

) ( ) ( )

1 ( )

( ) ( )

1 (

k n

k k k

kk ik ik

k k

k k

k k

m m a M

m a

b M

b A

M A

LU A

M L

U M

A A

M

A M

M M

M

A M

M

A M

A U

M n n

n n

n

n n

n

=

=

=

=

==

=

=

a on posant

en

...

1

1 )

1 ( ) 2 ( )

2 ( ) 1 (

) 2 ( ) 2 ( ) 1 (

) 1 ( ) 1 ( )

(

(20)

LU : motivation

On connaît la matrice A on ne connaît pas encore b comment « préparer A » ?

(21)

LU : principe

Il est si facile le résoudre un système « triangulaire » !

) 2 (

) 1 (



=

⇔ =

=

=

y Ux

b b Ly

Ax

LU A

L

U

0 A

0 Comment construire Let U ?

idée :

reprendre l’étape de triangularisation de la méthode de Gauss

(22)

De Gauss à LU

U A

A A

A M

A(k+1) = (k) (k) (1) = et (n) = Représentons une étape de la triangularisation par la multiplication de A par une matrice M(k)





kj kk

ik ij

ij

k kk ik i

i

a a a a

a

a b b a

b

1 0

0

0 1

0 0

0

0 0

1

, , 1 )

(

, ,













=

=

=

+ k n

k k k

k i kk

ik k

i

M

a m a

1

1 )

1 ( )

( )

1 (

donc

...

...

=

=

=

=

=

M L

LU U

M A

MA A

M M

M

U n k

gauss

(23)

LU : la décomposition

Les matrices élémentaires M(k) sont inversibles

et leurs inverses sont les matrices L(k) triangulaires inférieures telles que :





+

=

=

=

=

=

=

,n k

i l

n i

l l L

ik ik

ii ij k

1

sauf

,

1

1

sauf

0

) (

L(k) = I

(

M (k) I

)

1 0

0

0 1

0 0

0

0 0

1

, , 1 )

(













=

+ k n

k k

M k

1 0

0

0 1

0 0

0

0 0

1

, , 1 )

(













=

+ k n

k k

L k

) 1 ( )

( )

1

( ...L ...L L

L = n− k C’est la matrice lik

(24)

L’algorithme de décomposition

fait sinon "problème"

fait

fait

à jusqu' 1

pour

à jusqu' 1

pour

1

alors 0

si

*) pivot de

stratégie (*

1 à

jusqu' 1

pour

kj ik ij

ij

ik ik

kk

kk

a a

a

n k

j

pivot a

n k

i pivot

a pivot

n k

←= +

← +

←=

=

Fonction L,U = décompose(A)

(25)

Exemple

















 =





2 1 2

1

1 2

1 2

1 1 1

1 2 1 1

1 1

1 2 2

1 2 1

Montrez que :

(26)

LU : l’algorithme

L,U = decompose(A) y = triang(L,b) x = triang(U,y) Fonction x = LU(A,b)

(27)

A=LU

= = =

=

=

=

= n

i

i n

i

uii

U U

L LU

A

1 1

pivot )

det(

) det(

) det(

) det(

) det(

Théorème : Si au cours de l’élimination de Gauss sur la matrice A, les pivots sont non nuls,

alors il existe une matrice triangulaire inférieure L et une matrice triangulaire supérieure U, telle que :

A = LU

si de plus on impose à L d’avoir les éléments diagonaux égaux à un

alors la factorisation est unique

LU U

M A

MA A

M M

M

U n k

=

=

=

=

1 )

1 ( )

( )

1 (

...

Démonstration : (éléments) ...

unicité : par l’absurde

Remarque : (déterminent)

(28)

A=LU

Théorème : Si au cours de l’élimination de Gauss sur la matrice A, les pivots sont non nuls,

alors il existe une matrice triangulaire inférieure L et une matrice triangulaire supérieure U, telle que :

A = LU

si de plus on impose à L d’avoir les éléments diagonaux égaux à un

alors la factorisation est unique



 

= 

1 1

2 A 0

Contre exemple trivial :

Réorganisation du système linéaire :

permutation des lignes et des colonnes

RECHERCHE DU MEILLEUR PIVOT

(29)

La factorisation PA=LU

Définition : Si la matrice A, est non singulière

alors il existe une matrice de permutation P

telle que les pivots de PA sont non nuls. (TL chapitre 4)

) 2 (

) 1 (



=

⇔ =

=

=

y Ux

Pb b Ly

Ax

LU PA

L,U,P = decompose(A) y = triang(L,P*b) x = triang(U,y) Fonction x = LU(A,b)

Si est égal à zéro,

on échange (permute) deux lignes akk

Matlab !

Références

Documents relatifs

• Diplôme d'ingénieur de l'Ecole supérieure de chimie physique électronique de Lyon spécialité chimie génie des procédés. • Diplôme d'ingénieur de l'Ecole supérieure

Sciences, technologies, organisations mention ingénierie systèmes électronique électrotechnique automatique productique et réseaux spécialité génie électrique

• Diplôme d'ingénieur de l'Ecole nationale supérieure des sciences appliquées et de technologie de Lannion de l'Université Rennes I spécialité électronique et

• Master pro Droit et science politique mention environnement risque spécialité droit et gestion de l'environnement. • Master pro Droit et science politique mention

• Diplôme d'ingénieur de l'année de spécialisation mécanique des fluides et hydraulique de l'Institut national polytechnique de Toulouse. • Diplôme d'ingénieur de

• Quelques exemples de masters professionnels : physique-qualité-radioprotection mention radioprotection à l'INSTN ; sciences, technologies, santé mention ingénierie,

• Diplôme d'ingénieur de l'Institut supérieur des techniques avancées de l'Université de Saint-Étienne spécialité optique (optique et vision industrielles) en partenariat

• Diplôme d'ingénieur de l'année de spécialisation imprimerie transformation de l'Ecole française de papeterie et des industries graphiques. • Diplôme