asi 3 méthodes numériques pour l’ingénieur

36
ASI 3 Méthodes numériques pour l’ingénieur Résolution de systèmes d’équation non linéaires f(x)=0

Upload: others

Post on 06-Nov-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

ASI 3

Méthodes numériquespour l’ingénieur

Résolution de systèmes d’équation non linéaires

f(x)=0

Introduction

• Comment résoudre le système suivant ?

– Méthodes directes– Méthodes itératives

=+−−=+−=+−

020132

0481

03

zyx

zyx

zyx

Introduction

• Comment résoudre le système suivant ?

– Méthodes directes : impossibles– Méthodes itératives

=−

++

=+++−

=−−

− 03

31020

006.1)sin()1.0(81

021

)cos(322

πze

zyx

yzx

xy

Résolution de f(x)=0

• Soit une fonction f : Rn→ Rn

– continue sur ...

– Dérivable sur ...

• Principe :– trouver une méthode itérative uk+1 = g(uk)

qui converge vers la solution

• Plusieurs méthodes– Newton

– Quasi-Newton (sécante, Broyden, …)

– Point fixe

– Gradient

• Problèmes ?– Convergence

– Complexité

Résolution de f(x)=0

f(x)=0 lorsque n=1

• Recherche par dichotomie• méthode de la séquente

• méthode de point fixe• méthode de Newton-Raphson } Aussi lorsque

2≥n

f(x)

c=a+b/2

f(c)

a

f(a)

b

f(b)

Mé thode de la dichotomie

Recherche dichotomique

cbcfbf

cacfaf

ccf

bacbfaf

←>

←>

<

+=→<

alors 0)()( sisinon

alors 0)()( sisinon

:solution la trouvéaon alors )( si

2 0)()(

ε

Théorème :

{ }

{ }1

2

: avec versconverge 0)( : problèmedu solution la soit

,dichotomiepar recherche de algorithmel'par générée suite la soit

≥−

≤−

=∈

nab

pp

pppfp

p

nn

Nnn

Nnn

Alors

Bonne idée : prendre c à l’intersection de la séquente et le l’axe des x

c

f(c)

a

f(a)

b

f(b)

Mé thode de la sé quente

Méthode de la séquente

)()()(

)()()(

1

11

−+ −

−−=

−−

−=

kk

kkkkk xfxf

xxxfxx

afbfab

bfbc

x1

f(x1)

x2

f(x2)

x3

x4 x

5f(x

5)

Mé thode de la fausse position

x1

f(x1)

x2

f(x2)

x3

x4

x5

f(x5)

Mé thode de la sé quente

La « fausse » bonne idéegarder f(a) et f(b) de signe opposé

Bonne idée : si on est proche de la solution : prendre la dérivée

a

f(a)

b

f(b)

c

f(c)

Mé thode de Newton-Raphson

Méthode de Newton

)(')(

1k

kkk xf

xfxx −←+

)('1

)(

)()()(

bfbfbc

afbfab

bfbc

−=

−−

−=

Méthode de Newton

• En dimension 1 :– on considère l'approximation affine :

– on cherche h tel que f(uk+h)=0 soit si on néglige les terme en h2

– et ainsi ( )( )k

kkkk uf

ufuhuu

′−=+=+1

( ) ( ) ( ) ( )hhhufufhuf kkk ε+′+=+

)(')(

k

k

ufuf

h ≈

0 0.5 1 1 .5 2 2 .5 3-2

- 1 . 5

-1

- 0 . 5

0

0 .5

1

1 .5

2

Méthode de Newton

• Illustrationy=tanh(x)cos(x2)+x-2

y'=(1-tanh2(x))cos(x2)-2tanh(x)sin(x2)x+1

y(x)

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

-0 .5

0

0 . 5

Méthode de Newton

• Illustration

y=tanh(x)cos(x2)+x-2

y'=(1-tanh2(x))cos(x2)-2tanh(x)sin(x2)x+1

u0 = 2u1 = 2.1627u2 = 2.1380u3 = 2.1378u4 = 2.1378

u1 = 2.1627

u2= 2.1380

u0 = 2

Méthode de point fixe

• Définition• f(x)=0 et le x = g(x)

• exemple• convergence (suite de Cauchy)• théorème de convergence globale

• théorème de convergence local– théorème du point fixe

Méthode du point fixe

• Principe général :– trouver g en fonction de f telle que

• f(û)=0 ⇔ g(û)=û• la suite uk converge (si u0 est bien choisi)

– conditions suffisantes sur g en dimension 1

• g dérivable et |g'(û)| < 1

– conditions suffisantes sur g en dimension n• g différentiable et ρ[∇g(û)] < 1 (ρ = rayon spectral)

Méthode du point fixe

• Convergence linéaire :

– il existe C > 0 tel que

• Inconvénient : choix de g de manière algébrique

ûuCûu kk −≤−+1

• Exemple en dimension 1– résolution de x2 - 2 = 0

– choix de g :• g1(x) = 2/x g'1(x) = -2/x2 g'1(û) = -1• g2(x) = 2x - 2/x g'1(x) = 2+2/x2 g'1(û) = 3• g3(x) = x/2 + 1/x g'1(x) = 1/2-1/x2 g'1(û) = 0

Méthode du point fixe

|g'(û)| < 1 convergence

assurée

u0 = 1u1 = 1.5000u2 = 1.4167u3 = 1.4142u4 = 1.4142

u0 = 1u1 = 2u2 = 1u3 = 2u4 = 1

u0 = 0.999u1 = -0.0402u2 = 49.668u3 = 99.296u4 = 198.57

g1 g2 g3

• Exemple en dimension 1– résolution de x2 - 2 = 0

– choix de g :• g1(x) = 2/x g'1(x) = -2/x2 g'1(û) = -1• g2(x) = 2x - 2/x g'1(x) = 2+2/x2 g'1(û) = 3• g3(x) = x/2 + 1/x g'1(x) = 1/2-1/x2 g'1(û) = 0

Méthode du point fixe

|g'(û)| < 1 convergence

assurée

u0 = 1u1 = 1.5000u2 = 1.4167u3 = 1.4142u4 = 1.4142

u0 = 1u1 = 2u2 = 1u3 = 2u4 = 1

u0 = 0.999u1 = -0.0402u2 = 49.668u3 = 99.296u4 = 198.57

g1 g2 g3

résumé

• Dichotomie

• séquente

• newton

• Point fixe

Accélération !

Multidimensionnel ?

Accélération de la convergence

• Définition : l’ordre de la convergence• Motivation

• Définition du principe de Aitken• Théorème de convergence quadratique• Aitken et Steffensen

Méthode de Newton• En dimension n :

– une équation, n inconnues :

– n équations, n inconnues :

( )

( ) ( ) ( )

( )

( ) ( )

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

=∇

xx

fx

x

f

xxf

xxf

xxf

xxf

xf

n

nn

n

LL

MOM

MO

L

1

1

2

1

2

1

1

1

La matrice jacobienne

RRf n →:

∂∂

∂∂

∂∂

=∇

n

i

xf

xf

xf

xf

M

M1

)(

)()('21

)(')()( 2hhhxHhxfhxfhxf f ε++∇+=+

Le vecteur gradient

La matrice Hessiène

nn RRf →:

)()('21

)()()( 2hhhxHhhxfxfhxf f ε++∇+=+

Méthode de Newton• En dimension n :

– on considère l'approximation affine :

– on cherche h tel que f(uk+h)=0soit système linéaire !

– et ainsi

( ) ( )kk ufhuf −=∇

nn RRf →:

hufufhuf kkk )()()( ∇+=+

itèration

(LU) linéaire système )()(

tioninitialisa

1

0

huu

ufhuf

u

kk

kk

+=

−=∇

+

Méthode de Newton

• Théorème :– s'il existe û tel que

• f(û)=0• f est différentiable dans un voisinage de û•

• ∇f(û) est inversible

– alors il existe η > 0 tel que• si u° vérifie

• alors la suite construite par la méthode de Newtonconverge vers û

ûxûfxf −≤∇−∇ α)()(

η<−° ûu

Méthode de Newton

• Avantage : convergence quadratique

– il existe C > 0 tel que

• Inconvénient : calcul de ∇f(x) souvent difficile

21 ûuCûu kk −≤−+

Exemple

==

=−

=−

0

1

321

)cos(

0

0

2

y

x

ex

xyy

Méthodes de Quasi-Newton

• Comment se passer du calcul de ∇f(x) ?

• En dimension 1 : méthode de la sécante

• En dimension n : – le rapport précédent n'a aucun sens (u est un vecteur)

– comment approcher ∇f(uk+1) ?

( ) ( ) ( )kk

kkkkk ufuf

uuufuu

−−

−=+

++++

1

1112

Approximationde 1/f '(uk+1)

Méthodes de Quasi-Newton

• Approximation de ∇f(uk+1) par la matrice Ak

– Ak doit vérifier Ak(uk - uk-1)=f(uk) - f(uk-1)

– Problème : il existe une infinité de Ak

• Méthode de Broyden :– condition supplémentaire : Akz = Ak-1z si (uk - uk-1)'z = 0

Méthodes de Quasi-Newton

• Méthode de Broyden : algorithme– initialisation de u0 et A0 (différences finies)

– itération :( )kkkk ufAuu 1

1−

+ −=( ) ( )kkk ufufy −= ++ 11

kkk uus −= ++ 11

( )( )2

1

1111

+

++++

′−+=

k

kkkkkk

s

ssAyAA

• Convergence de la méthode de Broyden :

– "super-linéaire"

– moins rapide que Newton

0lim

1

=−

−+

∞→ ûu

ûu

k

k

k

Méthodes de Quasi-Newton

Méthode du point fixe

• Principe général :– trouver g en fonction de f telle que

• f(û)=0 ⇔ g(û)=û• la suite uk converge (si u0 est bien choisi)

– conditions suffisantes sur g en dimension 1

• g dérivable et |g'(û)| < 1

– conditions suffisantes sur g en dimension n• g différentiable et ρ[∇g(û)] < 1 (ρ = rayon spectral)

Méthode du point fixe

• Exemple en dimension 3

=−

++

=+++−

=−−

− 03

31020

006.1)sin()1.0(81

021

)cos(3

22

πze

zyx

yzx

xy

−−−=

−++=

+=

3310

201

1.006.1)sin(91

6

1)cos(

3

1

2

πxyez

zxy

yzx

===

),(

),(

),(

3

2

1

yxgz

zxgy

zygx

===

0),,(

0),,(

0),,(

3

2

1

zyxf

zyxf

zyxf

Méthode du point fixe

• Exemple en dimension 3

=−

++

=+++−

=−−

− 03

31020

006.1)sin()1.0(81

021

)cos(3

22

πze

zyx

yzx

xy

−−−=

−++=

+=

3310

201

1.006.1)sin(91

6

1)cos(

3

1

2

πxyez

zxy

yzx

===

),(

),(

),(

3

2

1

yxgz

zxgy

zygx

===

0),,(

0),,(

0),,(

3

2

1

zyxf

zyxf

zyxf

Méthode du point fixe

• Exemple en dimension 3 (suite)– valeurs initiales (x0=0.1 ; y0=0.1 ; z0=-0.1)

– convergence vers (0.5 ; 0.0 ; -0.5236)

– résultat théorique: (0.5 ; 0.0 ; -π/6)

−−−=

−++=

+=

−−−

−−

−−

3310

201

1.006.1)sin(91

6

1)cos(

3

1

11

12

1

11

πkk yx

k

kkk

kkk

ez

zxy

zyx

−−−=

−++=

+=

−−

3310

201

1.006.1)sin(91

6

1)cos(

3

1

12

11

πkk yx

k

kkk

kkk

ez

zxy

zyx

• Comment essayer d'accélérer la convergence– remplacer les valeurs par leurs "dernières"

estimations• (cf. Gauss-Siedel pour les systèmes linéaires)

– exemple :

Méthode du point fixe

Conclusion

• Méthodes– Newton :

• inconvénient = calcul des dérivées• avantage = convergence quadratique

– Quasi-Newton :• inconvénient = convergence super-linéaire• avantage = plus de calcul des dérivées

– Point Fixe :• inconvénient = convergence linéaire• inconvénient = choix de g

• Problème général : initialisation de la suite !

TD

• Implémenter en Matlab :– Newton, Broyden, point fixe (+Gauss Siedel)

– pour les problèmes suivants :

– comparer le temps de convergence (pour un même seuil)

=−

++

=+++−

=−−

− 03

31020

006.1)sin()1.0(81

02

1)cos(3

22

πze

zyx

yzx

xy

( )

=++−=−+

=++

5

123

7)(logsin3

2

zyx

zyx

zyx e