• Aucun résultat trouvé

Résoudre un système linéaire

N/A
N/A
Protected

Academic year: 2021

Partager "Résoudre un système linéaire"

Copied!
14
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 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 ij j

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

(2)

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

ii n

i j

j ij j

i

i a

x a b

x x

x x

x x x x

x x x

x x x

=

=



= +

+

=

=

+

=

, 1

3 2 4

4 2 1 3

4 1 2

3 2 1

~ soit

1

2~ 6 ~

1 2~

~ 3~ 8

3

~ 0 ~

2 2~ 4~ 6

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

fin

) 10 ( )

, ( que tant

, 1

old new

12 -

ii n

i j

j ij j

i i

new

a x a b

x

i.e.

b Ax dist

=

=

>e

Osons itérer ! méthode de Jacobi

fin

) 10 ( )

, ( que tant

, 1

old new

12 -

ii n

i j

j ij j

i i

new

a x a b

x

i.e.

b Ax dist

=

=

> e

SoitD la diagonale de la matriceA, etG le reste : A = D+G

1 , 1

, 1 1

,

, , 1 1

, 1

, 1 21

1 1

12 11

0 0 0 0 0

0

0 0 0

0 0

0 0

0 0 0

0

0 0 0 0

0 0 0 0

a a a

a a

a a

a a

a a

a a

a G

a a

a D

n n ni n

n n i

i

n i i i i

i i

i i

n i

nn ii

=

=

+

L O M

M O L

O O

(3)

= +

+

= +

+

= +

+

=

+

=

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 ij j

i

j ij j

i

i a

x a x

a b x x

x x

x x x x

x x x

x x x

=+

=

=



= +

+

=

=

+

=

1 1

1

3 2 4

4 2 1 3

4 1 2

3 2 1

~ soit

1

2 6

1 2~ 3

8

3

0 ~

2 2~ 4~ 6

Gauss Seidel

méthode de Gauss-Seidel

fin

) 10 ( )

, ( que tant

1 1 old

1 new new

12 -

ii n

i

j ij j

i

j ij j

i i

new

a

x a x

a b x

i.e.

b Ax dist

+

=

=

=

>e

SoitE la triangulaire inférieure et Fla supérieure de la matriceA : A = D+E+F

( ) new old new ( )1

(

old

)

, 1 , , 1 , 1

1 1

12

1 , 1

1 , 1 , 1 21

0 0 0 0

0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0

0 0

0 0

Fx b E D x

Fx b x E D

a a a a

a a

a F

a a a

a a a a E

n n

n i i i i i

n i

n n ni n

i i i i i

+

=

= +

=

=

+

L O M

M O L

L O M

M O L

(4)

La relaxation

( )

relaxation de

paramètre :

0

) 1 (

>

+

=

=

w

w w

j

old new

rnew

old new

x x

x

x x

] [

] [

=

tion extrapolla :

2 , 1

quo status : 1

tion interpolla :

1 , 0

w w w

( ) ( ) ( )

( )

( )

( ) ( ) ( )

( ) (( ) ) old

old 1 old

old old 1 old

1

1 1

par t multiplian en

1

x F D b

x E D

x Fx

b E D x

x G D b

Dx

D

x Gx

b D x

rnew newr

rnew newr

w w w

w

w w

w w w

w w

+

= +

+

+

=

+

=

+

=

( )

( )

( )1

(

old

)

new

1 old new

: Seidel Gauss

) (

: Jacobi

Fx b E D x

x F E b D x

+

=

+

=

Résumé « algorithmique »

( )

( )

( )

( ) ( )

 =

+ + =

= +

= +

=

= +

= + =

=

+

=

F D N

E D x M

F D b x E D R

F N

E D Fx M

b x E D

F E N

D x M

F E b Dx

b Nx Mx

w w w w

w

w 1

1 old

1 new 1

old new

old new

old new

:

: elaxation

:

: Seidel Gauss

: ) (

: Jacobi

(5)

Convergence

Principes généraux

(I C)x d x

x C

d Cx x

x

k k

=

<

+

+ =

*

*

0 1

0

: de solution la

vers

pour tout converge

dessus ci

algorithme l'

Alors

1

que telle e subordonné e

matriciell norme

une existe il S' :

donné,

Théorème

Éléments de démonstration

- x* est un point fixe de l’algorithme -

( )

0

, 1 si

*

C

*

*

0 0

1

0 1

1

 →

<

=

=

=

+

=

=

k k k k

k k

k k k k

k k

C C

e C e C e

x x

C d Cx d e e C e

Cx x x e

n i i n

i i

n i

i p p

p n

i i

n

x x

x x

p x x

x x

R E

y n x n y x n

x n x n

x x

n x n x

n x

R E n

, 1 1

1 1 1

2 2

2 ; ( 1); ; sup

; exemples

( ) ( ) ( )

) ( ) (

0 0

) (

positivité

0 ) ( iant vérif )

( : : norme

=

=

=

=

+

=

=

=

=

=

+

+

=

=

=

l

a l

Normes matricielles

Définition

SoitA une matricenxm, étant donnée une norme vectorielle, on appelle norme matricielle subordonnée, la norme matricielle définie par :

x A Ax

x R xmaxn, 0

=

x A x A

x est cemax: ~ ~

~ =

Conséquence :

(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

1 1 1 1

1

1 2 1 2

A A

a A

a A

A'A a

A

m

j ij

n i n

i ij

m j

n

i ij

m F j

Ax A x Rn,x 1

max

=

=

Illustration 2d

2 =1 x

x1

x2 x2

Ax x1 A2

à utiliser pour le calcul !

Calculez les valeurs propres de

1 1 1

1 1 0

2 0 1

Et ses vecteurs propresl1=1,l2?=1+i 3,l3=1i 3,

1

, 1

, 0 1 1

3 3 3

3 2

3 3 3 3

3 2

2 1

=

=

=

i i i

i

v v

v

(7)

Rayon spectrale d’une matrice

Définition: on appelle rayon spectrale d’une matrice carrée A, le nombre réelr(A) tel que :

( ) max ( )

,

1 A

A i

n

i l

r = =

Théorème: soit A une matricenxm, alors : (A A) A2F = r '

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

AF = r

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

, 0 1

, 0 0

1

0 = =

= A A

A F r

Convergence : le retour

Principes généraux

(I C)x d

x x

C d

Cx x

x

k k

=

<

+

+ =

*

*

0 1

0

: de solution la

vers

pour tout converge

dessus ci

algorithme l'

Alors

1

que telle e subordonné e

matriciell norme

une existe il S' :

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

(8)

Résumé « algorithmique »

( )

( )

( )

( ) ( )



= + + =

= +

= +

=

= +

= + =

=

+

=

F D N

E D x M

F D b x E D R

F N

E D Fx M

b x E D

F E N

D x M

F E b Dx

b Nx Mx

w w w w

w

w 1

1 old

1 new 1

old new

old new

old new

:

: elaxation

:

: Seidel Gauss

: ) (

: Jacobi

Convergence

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

Démonstration

( )

( )

1 1 max )

(

, ) (

avec

) (

: Jacobi

, 1 1 1

1 1

k 1 k

1 k 1 k

<



= +

=

= +

= +

=

+

=

=

=

+

+

n j ij n ii

i a

F a E D C

b D d F E D C d

Cx x

x F E b D x

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

(9)

Convergence

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

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

Démonstration

( )

( ) ( )

( )

1 max

: donc a on

' '

' ' ' '

' ' ' '

' posons

'

positive définie

symétrique

1 1 , 2 1

1 2

2 2

2 2 2

1 1

1 2 1 2

1 2

2

<

=

<

+

= +

=

+

=

=

=

=

=

=

=

=

x A A x A A

A A

A A A

A A

A

A

Nx M N

M x

Ax M x

y N M y x Ay y My y y M y x

Ay y Ax y Ay x x A y x A y x y x Ax M x

Ax My Ax

M y

Ax M x x A M M Nx M

Ax x x A

Théorème: Si Aest une matrice symétrique définie positive, A

la méthode de la relaxation converge pour :

k

1

k Nx b

Mx + = +

2 0<w<

0 2

1

rayon spectral

rayon spectral de la matrice M-1N

ω

Influence de w

(10)

Remarques

pratique :

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

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

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

• voir les méthodes semi directes pour les problèmes de grande taille (cfles méthodes « multigrilles »),

Conditionnement d’un système linéaire

[ ]

[ ]

2 et

0002 . 0

0002 . 0 0

0

0 0 3

1 1

solutions deux

examinons

3 3 2

0001 . 1

2 1

2 1 2

1

2 1

=

=



=

=

=

=

=

=

=

=

=

=

y x r

r

b Ay r

b Ax r y

y y x

x x

x b x

Ax

y x

y T x T

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

x 1

(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 comme

admet , 23 28 13 38 ,

7 1 8 7

7 4 10 7

1 6 5 1

10 10 10 8

4 1

3

=

=

=

=

=





= +





= +





=





=





=

A cond

x x b

x b x b

b

x b

A

l l

d d d

d

( )

( )

( ) ( )

~

singulière non

~

~

)

~ ( avec ~

1

1

r A x x

A r A x x x

x A

x x x x

A Ax

b b b r

=

=

+

=

=

+

=

d d

Conditionnement

Définition: on appelle conditionnement d’une matrice carrée A, relatif à une norme subordonnée, le nombre réelc(A) :

( )A = A A1

c

Remarque:

( ) 1

1

1

= AA A A A

I c

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

( )

( ) b A b x

x

b b x x A b Ax

c d d

d d

+

= +

=

, ( )( )

( ) A A A x

x x

b x x A A b Ax

c d d d

d d

+

= + +

=

,

Perturbation du second membre Perturbation de la matrice Un problème est dit« bien conditionné » si c(A) est proche de 1, il est dit «mal conditionné» si c(A) est grand (et mal posé si c(A) est infini)

(12)

Conditionnement

( )

b A b x A

x

b A x x A b b b x x A

A b x x

A b b Ax

d d

d d

d d

d d

1

1

) 2 ) 1

) 2

1 1

) 1

+

+

= +

=

( )A = A A1

c

Remarque: si Aest symétrique, si on note ses valeurs propres li

( )

1 2

2 2

1 1 2

1

donc et

1 , ,..., ,..., ,

l c l

l l l

l l l

n

n n

i

A

A A

=

=

=

Dans l ’exemple, ( )

( ) 27.2(on a trouvé 22.5) de

ordre l' de est erreur l' de borne la

0037 . 0 ,

7363

2 2

=

=

=

b A b A

d c d c

Comment améliorer le conditionnement ?

Ajouter un « chouia » sur la diagonale

( )

m l

m m l

c +

= + +

1

2 n

I A

(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

( )

x A b b x A

b x x A

b x A err

b A gauss x

b Ax

~ ~

~

~ ) ,

~ (

=

=

= +

=

=

=

d d

TP - la relaxation

Le 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 fait verso ce que vous en pensez

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

Indices : créer un problème test, les fonctioncputimeet flops

tril et triu pourraient vous simplifier la vie et diag(diag()) et eigaussi

(

1

)

en fonction de w

rM N

(14)

Propriétés

Définition: on appelle quotient de Rayleigh la fonctionqA(x) x

x Ax x x

qA

' ) '

( =

Théorème: siA est symétrique,

) ( max

max qA x

i x

i l =

liest une valeur propre deA, viest un vecteur propre deA.

i i

i v

v Ar r

= l

Soit Aune matrice carrée, on appelle

polynôme caractéristique de Ale polynôme défini par : (A I)

p(l)=det l

Les nracines lide ce polynôme sont les valeurs propres deA, viest un vecteur propre deA. Il existe nvecteurs vitels que :

Références

Documents relatifs

Le corrigé sera distribué le vendredi 17 septembre

Deux personnes se rencontrent et l'une dit à l'autre : J’ai le double de ton âge actuel, mais quand tu auras le double du mon âge actuel, nous aurons à nous deux 117 ans »..

quand j’avais l’âge que vous avez : vous avez (présent) x-y et quand j'avais (imparfait) cet âge-là, j'étais y années plus jeune... vous aurez (futur) vieilli de

Dans les faits, toutes ces méthodes sont équivalentes et vous pouvez donc utiliser celle que vous préférez.... Il existe plusieurs façons de résoudre un système

Dans les faits, toutes ces méthodes sont équivalentes et vous pouvez donc utiliser celle que vous préférez.. Les méthodes que nous

Exprimer les solutions du système de la question 1.. en consi- dérant p comme

On connait les solutions d'une telle

[r]