14
1 ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes linéaires par des méthodes itératives : Jacobi, Gauss Seidel, relaxation Résoudre un système linéaire = - = - = - = - = 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 b Ax ( ( ii n i j j j ij i i a x a b x x x x x x x x x x x x x x A A dist b x A x x x x = - = - = - - = - - = - - = < = , 1 3 2 4 4 2 1 3 4 1 2 3 2 1 4 3 2 1 ~ soit 1 ~ 2 ~ 6 1 ~ 2 ~ ~ 3 8 3 ~ ~ 0 2 ~ 2 ~ 4 6 : essayait on si ~ , exemple par avec ~ ~ ~ que imaginons solution presque" " une ~ , ~ , ~ , ~ soit e

ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

1

ASI 3

Méthodes numériquespour l’ingénieur

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

Jacobi, Gauss Seidel, relaxation

Résoudre un système linéaire

=++−=++−=++

−=−+

⇔=

6 2

8 2 3

0 3

6242

432

4321

421

321

xxx

xxxxxxx

xxx

bAx

( )

( )

ii

n

ijjjiji

ia

xabx

xxx

xxxx

xxx

xxx

AAdistbxA

xxxx

∑≠=

=

−+=

−+−=

−−=

+−−=

<=

,1

324

4213

412

321

4321

~

soit

1

~2~61

~2~~38

3

~~0

2

~2~46

:essayait on si

~, exemplepar avec ~~~ que imaginons

solution presque"" une ~,~,~,~soit

ε

Page 2: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

2

Résoudre un système linéaire en itérant

ii

n

ijjjiji

i a

xabx

xxx

xxxx

xxx

xxx

∑≠=

=

−+=

−+−=

−−=

+−−=

,1

324

4213

412

321

~

soit

1

~2~61

~2~~38

3

~~0

2

~2~46

Si Ax n’est pas encore égale à b, on recommence !

fin

)10 ( ),( quetant

,1

old

new

12-

ii

n

ijjjiji

i

new

a

xabx

i.e.bAxdist

∑≠=

=

> ε

Osons itérer ! méthode de Jacobi

fin

)10 ( ),( quetant

,1

old

new

12-

ii

n

ijjjiji

i

new

a

xabx

i.e.bAxdist

∑≠=

=

> ε

Soit D la diagonale de la matrice A, et G le reste :A = D+G

( )old1newoldnew

1,1

,11,

,,11,1

,121

111211

0

0

0

0

0

0000

0000

0000

0000

0000

GxbDxGxbDx

aaa

aaaaaa

aa

aaa

G

a

a

a

D

nnnin

nnii

niiiiii

ii

ni

nn

ii

−=⇔−=

=

=

−+

−−

L

OM

MO

L

O

O

Page 3: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

3

=++−

=++−

=++

−=−+

⇔=

6 2

8 2 3

0 3

6242

432

4321

421

321

xxx

xxxxxxx

xxx

bAx

ii

n

ijjij

i

jjiji

i a

xaxabx

xxx

xxxx

xxx

xxx

∑∑+=

=−−

=

−+=

−+−=

−−=

+−−=

1

1

1

324

4213

412

321

~

soit

1

261

~238

3

~0

2

~2~46

Gauss Seidel

méthode de Gauss-Seidel

fin

)10 ( ),( quetant

1

old1

1

new

new

12-

ii

n

ijjij

i

jjiji

i

new

a

xaxabx

i.e.bAxdist

∑∑+=

=

−−

=

> ε

Soit E la triangulaire inférieure et F la supérieure de la matrice A :A = D+E+F

( ) ( ) ( )old1newoldnew

,1

,,1

,1

1112

1,1

1,

1,1

21

0000

00

000

00

0

0

00

000

00

0000

FxbEDxFxbxED

a

aaa

aaa

F

aaaa

aaa

Enn

niii

ii

ni

nnnin

ii

iii

−+=⇔−=+

=

=

+

L

OM

MO

L

L

OM

MO

L

Page 4: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

4

La relaxation( )

relaxation de paramètre:0

)1(

>

−+=

=

ω

ωω

ϕoldnewnew

r

oldnew

xxx

xx

] [

] [

=

tionextrapolla :2,1

quo status :1

tioninterpolla :1,0

ω

ω

ω

( ) ( ) ( )

( )( )

( ) ( ) ( )

( ) ( )( ) old

oldold1

old

oldold1

1

1

1

par t multiplianen

1

xFDbxED

xFxbEDx

xGDbDx

D

xGxbDx

newr

newr

newr

newr

ωωωω

ωω

ωωω

ωω

−−+=+

−+−+=

−−+=

−+−=

−( ) ( )

( ) ( )old1new

old1new

: SeidelGauss

)( :Jacobi

FxbEDx

xFEbDx

−+=−

+−=

Résumé « algorithmique »

( )

( ) ( )

( ) ( )

=

+=+=+

−=

+=−=+

−−=

=+−=

+=

−−

−−

FDN

EDMxFDbxED

R

FN

EDMFxbxED

FEN

DMxFEbDx

bNxMx

ω

ωω

ω

ω

ω 1

1old1new1

oldnew

oldnew

oldnew

:

:elaxation

:

: SeidelGauss

:)(

:Jacobi

Page 5: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

5

ConvergencePrincipes généraux

( ) dxCI

xx

C

dCxx

xkk

=−

−<

+=+

*

*

0

1

0

: desolution la vers pour tout converge dessusci algorithmel' Alors

1 que telleesubordonné ematriciell norme une existe ilS':

donné,

Théorème

Éléments de démonstration- x* est un point fixe de l’algorithme-

( )0 ,1 si

* C *

*

00

1

011

→<≤≤−=

==⇔−−+=−=

∞→

−−

kkkkk

k

kkkk

kk

CCeCeCexxC

eCeedCxdCxxxe

ini

n

ii

n

i

pi

pp

n

ii

n

xxxxpxxxx

REynxnyxn

xnxn

xxn

xn

xnx

REn

,111

11

222 sup ; ; )1( ;

; exemples

)()()(

)()(

00)(

positivité 0)(

iant vérif)(

::norme

=∞

===

+

==≥==

=

+≤+

=

=⇔=

∑∑∑

λλa

Normes matricielles

DéfinitionSoit A une matrice nxm, étant donnée une norme vectorielle,on appelle norme matricielle subordonnée, la norme matricielledéfinie par :

xAx

AxRx

n0,

max≠∈

=

xAxAx ~ ~:max ceest ~ =Conséquence :

Page 6: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

6

-2 .5 -2 -1 .5 -1 -0 .5 0 0 . 5 1 1 . 5 2 2 . 5

-2

-1 .5

-1

-0 .5

0

0 . 5

1

1 . 5

2

x

Ax

Exemples

( )

=≤≤∞=≤≤

==

=

==

==

∑∑

∑∑

'

; max ; max

; tr :Frobénius de norme

1

11111

1

2

1

2

AA

aAaA

A'AaA

m

jijni

n

iijmj

n

iij

m

jF

AxAxRx n 1,

max=∈

=Illustration 2d

12 =x

x1

x2 x2Ax

x1

2A

à utiliser pour le calcul !

Calculez les valeurs propres de

111

110

201

Et ses vecteurs propres ?,31,31,1 321 ii −=+== λλλ

1

,

1

,

0

1

1

33

332

333

332

21

=

=

= −

i

i

i

i

vvv

Page 7: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

7

Rayon spectrale d’une matriceDéfinition : on appelle rayon spectrale d’une matrice carrée A,

le nombre réel ρ(A) tel que :

( ) )(max,1

AA ini

λρ=

=

Théorème : soit A une matrice nxm, alors :

( )AAA F '2ρ=

Corollaire : si A est une matrice carrée symétrique nxn, alors :

( )AA F ρ=

Remarque : en général, le rayon spectrale n’est pas une norme :

( ) 0,01 , 00

10=≠=

= AAA F ρ

Convergence : le retourPrincipes généraux

( ) dxCI

xx

C

dCxx

xkk

=−

−<

+=+

*

*

0

1

0

: desolution la vers pour tout converge dessusci algorithmel' Alors

1 que telleesubordonné ematriciell norme une existe ilS':

donné,

Théorème

Théorème : les points suivants sont équivalents : • C est une matrice convergente, (i.e. Ck tend vers 0)• ρ(C)<1•

1<C

Page 8: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

8

Résumé « algorithmique »

( )

( ) ( )

( ) ( )

=

+=+=+

−=

+=−=+

−−=

=+−=

+=

−−

−−

FDN

EDMxFDbxED

R

FN

EDMFxbxED

FEN

DMxFEbDx

bNxMx

ω

ωω

ω

ω

ω 1

1old1new1

oldnew

oldnew

oldnew

:

:elaxation

:

: SeidelGauss

:)(

:Jacobi

Convergence

Théorème : Si A est une matrice à diagonale strictement dominante,alors la méthode de Jacobi converge.

Démonstration

( ) ( )

11

max)(

, )( avec

)( :Jacobi

1,1

1

11k1k

k11k

<

=+=

=+=+=

+−=

∑==∞

−−+

−+

n

jij

iini aa

FEDC

bDdFEDCdCxx

xFEbDx

Remarque : il en est de même pour la méthode de Gauss-Seidel

Page 9: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

9

ConvergenceThéorème : soit une méthode itérative :

Si A est une matrice symétrique définie positive telle que si A = M-N alors M+N’ est définie positiveAlors la méthode itérative est convergente

Démonstration( )

( ) ( )

( )

1max : donc aon

''''''

'''''

posons

' positive définie symétrique

1

1,

1221

22

2221

1

212121

2

<=⇒<−

+−=+−−=

+−−=−−=−=−

=⇔≡

−=−=

=⇔

=

−−

−−−

AxxAAA

AA

AAA

AAA

A

NxMNMxAxMx

yNMyxAyyMyyyMyx

AyyAxyAyxxAyxAyxyxAxMx

AxMyAxMy

AxMxxAMMNxM

AxxxA

A

Théorème : Si A est une matrice symétrique définie positive, la méthode de la relaxation converge pour :

k1k bNxMx +=+

20 << ω

0 2

1

rayo

n sp

ectr

al

rayon spectral de la matrice M-1

N

ω

Influence de w

Page 10: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

10

Remarques

pratique :

• pas de preuve de convergence généralisée,

• on préfère la relaxation avec différents tests pour ω,

• on préfère les méthodes directes,

• voir les méthodes semi directes pour les problèmes degrande taille (cf les méthodes « multigrilles »),

Conditionnement d’un système linéaire

[ ][ ]

2et 0002.0

0002.0 0

00

0

3

1

1

solutionsdeux examinons

3

3

20001.1

21

2

1

2

1

2

1

=−=−

=−=

=−=

=

=

=

=

=

⇔=

yxrr

bAyr

bAxr

y

yy

x

xx

x

xbAx

yx

Ty

Tx

Deux vecteurs très différents donnent des solutions très proches

x2

x11

1

3

Page 11: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

11

Conditionnement : influence du second membre

7363)(:007.0,1.24

6.22 10 7.3 :

0.26

6.5

0.11

5.34

,

9.22

1.28

9.12

1.38

1

1

1

1

solution commeadmet ,

23

28

13

38

,

7187

74107

1651

1010108

41

3

=−==

==

=+

=+

=

=

=

Acond

xx

bb

xxbb

xbA

λλ

δδδδ

( )( )

( ) ( )

~ singulièrenon ~ ~

)(~ avec ~

1

1

rAxx

ArAxxxxA

xxxxAAx

bbbr

≤−⇒

=−⇔−=

+=−=

+−=

δ

δ

ConditionnementDéfinition : on appelle conditionnement d’une matrice carrée A, relatif

à une norme subordonnée, le nombre réel χ(A) :

( ) 1 −= AAAχ

Remarque :( ) 1

11≥⇒≤=

−−AAAAAI χ

Théorème : Si A est une matrice carrée, non singulière (régulière)

( )

( )bb

Axx

bbxxAbAxδ

χδ

δδ

+=+=

, ( )( )

( )AA

Axx

x

bxxAAbAxδ

χδ

δ

δδ

≤+

=++=

,

Perturbation du second membre Perturbation de la matrice

Un problème est dit « bien conditionné » si χ(A) est proche de 1,

il est dit « mal conditionné » si χ(A) est grand (et mal posé si χ(A) est infini)

Page 12: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

12

Conditionnement

( )

bb

AAxx

bAxxAbbbxxA

bA

xxAbbAx

δδ

δδδδδδ

1

1

)2 )1

)2

11 )1

≤⇒+

≤⇒≤⇒+=+

≤⇒≤⇒=

( ) 1 −= AAAχ

Remarque : si A est symétrique, si on note ses valeurs propres λi

( )1

2

22

1

121

doncet

1

,,...,,...,,

λ

λχ

λλ

λλλλ

n

nni

A

AA

=

== −

Dans l ’exemple, ( )

( ) 22.5) trouvéa(on 2.27 de ordrel' deest erreur l' de borne la

0037.0,7363

2

2

=

==

bA

bA

δχ

δχ

Comment améliorer le conditionnement ?

Ajouter un « chouia » sur la diagonale

( )µλ

µλµχ

+

+=+

12

nIA

Page 13: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

13

Itérations !A = randn(n);b= ones(n,1);x = A\b;err = A*x-b;norm(err)

ans = 2.8246e-013

dx = A\err;

err2 = A*(x-dx)-b;norm(err2)

ans = 6.4789e-014

( )

xAbbxA

bxxA

bxAerr

bAgaussx

bAx

~~~

~),(~

−==

=+

−=

=

=

δ

δ

TP - la relaxationLe but du TP est d’écrire un programme matlab résolvant un système linéaire par la méthode de la relaxation

x = relax(A,b,w,nite,err)

Pour ce faire, il faut étudier l’évolution du rayon spectal

- mettez vous par binôme- rédigez une page :

recto : ce que vous avez faitverso ce que vous en pensez

- a rendre pour le 8 décembre à 17h30 (publication du corrigé)

Indices : créer un problème test,

les fonction cputime et flopstril et triu pourraient vous simplifier la vie

et diag(diag()) et eig aussi

( ) defonction en 1

ωρ NM−

Page 14: ASI 3 Méthodes numériques pour l’ingénieurasi.insa-rouen.fr/enseignement/siteUV/ananum/07sysli... · 2012-08-27 · Théorème: Si A est une matrice symétrique définie positive,

14

PropriétésDéfinition : on appelle quotient de Rayleigh la fonction qA(x)

xxAxx

xqA ''

)( =

Théorème : si A est symétrique,

)(maxmax xqAx

ii

λi est une valeur propre de A, vi est un vecteur propre de A.

iii vvA rrλ=

Soit A une matrice carrée, on appelle polynôme caractéristique de A le polynôme défini par :

( )IAp λλ −= det)(

Les n racines λi de ce polynôme sont les valeurs propres de A, vi est un vecteur propre de A. Il existe n vecteurs vi tels que :