résolutiondel’équation f x) = 0

17
Résolution de l’équation f (x )=0 Didier Cassereau Laboratoire d’Imagerie Biomédicale, UPMC CNRS INSERM, Paris, France ESPCI - Promotion 138

Upload: others

Post on 20-Nov-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Résolution de l’équation f (x) = 0

Didier Cassereau

Laboratoire d’Imagerie Biomédicale, UPMC CNRS INSERM, Paris, France

ESPCI - Promotion 138

Résolution de l’équation f (x) = 0

Problème posé

On cherche à calculer la/les solution(s) d’une équation scalaire de laforme

f (x) = 0

Approches standardsméthodes itératives directesavec ou sans connaissance de la dérivée f ′(x)méthodes de recherche de point fixe

2/17

Résolution de l’équation f (x) = 0

Dichotomie

recherche dans un intervalle [x1, x2] tel que f (x1)× f (x2) ≤ 0calcul du point milieu c = (x1 + x2)/2 et f (c)

Itération :si f (x1)× f (c) < 0 :[x1, x2] =⇒ [x1, c]si f (x1)× f (c) > 0 :[x1, x2] =⇒ [c, x2]

. convergence garantie

. erreur 10−12 : ' 40 itérations

. méthode robuste mais lente(convergence linéaire)

3/17

Résolution de l’équation f (x) = 0

Dichotomie

Exemple 1 : calcul des racines de f (x) = x3 − 4x2 − 2x + 8

[−2, 0] =⇒ −1.41421[1, 2] =⇒ +1.41421[3, 5] =⇒ +4

Exemple 2 : calcul de la largeur à mi-hauteur de g(x) = e−x2

[0, 1] =⇒ 0.832555

4/17

Résolution de l’équation f (x) = 0

Méthode de la sécante

il n’est pas nécessaire d’encadrer la solutionméthode itérative partant de deux valeurs x0 et x1

points P0(x0, y0 = f (x0)) et P1(x1, y1 = f (x1))calcul du point Pn+2=intersection{(Pn+1Pn), axe y = 0}

Itération : xn+2 = xn − f (xn) xn+1 − xnf (xn+1)− f (xn)

yn+2 = f (xn+2)

. racines r telles que f ′(r) 6= 0

. risque de divergence

. méthode rapide5/17

Résolution de l’équation f (x) = 0

Méthode de la fausse position

intermédiaire entre dichotomie et sécanteà nouveau il faut pouvoir encadrer la solution

Itération :a1, b1 tels que f (a1)f (b1) < 0calcul de c par la formule de la sécante, puisf (c)[a1, b1] =⇒ [a2, b2] = [a1, c] si f (a1)f (c) < 0[a1, b1] =⇒ [a2, b2] = [c, b1] sinon

. racines r telles que f ′(r) 6= 0

. risque de divergence

. méthode rapide6/17

Résolution de l’équation f (x) = 0

Comparaison entre ces méthodes

Méthode Avantages/Inconvénientsdichotomie . convergence assurée

. fonctionne avec des racines multiples

. encadrer la solution

. convergence lentesécante . convergence rapide

. pas besoin d’encadrer la solution

. racines r telles que f ′(r) 6= 0

. possibilité de divergencefausse position . convergence rapide, moins que la sécante

. plus robuste que la sécante

. encadrer la solution

. racines r telles que f ′(r) 6= 0

. possibilité de divergence

7/17

Résolution de l’équation f (x) = 0

Méthodes de point fixe

on remplace l’équation f (x) = 0 par g(x) = xon commence à x0, puis on itère xn+1 = g(xn)critère d’arrêt : |xn+1 − xn | < ε

très simple à implémenter, mais pas d’unicité de l’itération

Exemple : f (x) = x3 − 3x2 − 3x − 35

. g1(x) = 35x2 − 3x − 3

. g2(x) = x3 − 3x2 − 353

. g3(x) = 3√

3x2 + 3x + 35

8/17

Résolution de l’équation f (x) = 0

Méthodes de point fixe - exemple

Valeur initiale x0 = 0

Fonction g1>> trop d’ iterations>> x = 0.333333 , f(x) = -36.2963

Fonction g2>> divergence a l’ infini

Fonction g3>> convergence apres 35 iterations>> x = 5, f(x) = -2.35687e -11

9/17

Résolution de l’équation f (x) = 0

La méthode de Newton-Raphson

méthode de type recherche de point fixesuppose la connaissance de la dérivée de la fonctionpoint P0(x0, y0 = f (x0))calcul de x1, intersection de la tangente avec l’axe y

Itération : xn+1 = xn −f (xn)f ′(xn)

yn+1 = f (xn+1)

. racines r telles que f ′(r) 6= 0

. risque de divergence

. méthode rapide10/17

Résolution de l’équation f (x) = 0

La méthode de Newton-Raphson - convergence

convergence rapide si convergence,risque de divergence au voisinage d’un extremumrisque de situations cycliques

résolution de f (x) = x3 − 5x = 0

xn+1 = xn −x3

n − 5xn3x2

n − 5valeur initiale x0 = 1. x1 = −1. x2 = 1. x3 = −1...

11/17

Résolution de l’équation f (x) = 0

La méthode de Newton-Raphson à n dimensions

cas d’un système non linéairebeaucoup plus délicat que les systèmesl linéairesnon linéarité =⇒ instabilités numériques fortes

Exemple {f1(x, y) = x2 − (y2 − 1)2 = 0f2(x, y) = (x2 − 2)2 − 2y2

coniques dans le plan xysolutions multiples

dimension n : hyper-courbes

12/17

Résolution de l’équation f (x) = 0

La méthode de Newton-Raphson à n dimensions

Problème poséf1(x1, x2, · · · , xn) = 0f2(x1, x2, · · · , xn) = 0...fn(x1, x2, · · · , xn) = 0

notation vectorielle~X = (x1, x2, · · · , xn)fi(~X) = 0, 1 ≤ i ≤ n

Développement de Taylor au voisinage de ~X

. fi(~X + δ~X) = fi(~X) +n∑

j=1

∂fi∂xj

δxj + O(‖δ~X‖2

). A = (aij), 1 ≤ i ≤ n, 1 ≤ i ≤ n : matrice des gradients

13/17

Résolution de l’équation f (x) = 0

La méthode de Newton-Raphson à n dimensions

Principe de la méthode~X proche de la solution cherchéeon cherche δ~X de sorte que ~X + δ~X se rapproche de la solutionon itère jusqu’à ce que le terme correctif δ~X soit assez faible

En négligeant les termes d’ordre 2 dans le développement de Taylor

fi(~X + δ~X) ' fi(~X) +n∑

j=1

∂fi∂xj

δxj = 0

=⇒n∑

j=1

∂fi∂xj

δxj = −fi(~X)

=⇒ Aδ~X = −{

fi(~X), 1 ≤ i ≤ n}

=⇒ δ~X = −A−1 ·{

fi(~X), 1 ≤ i ≤ n}

14/17

Résolution de l’équation f (x) = 0

La méthode de Newton-Raphson à n dimensions

Schéma de l’algorithme

15/17

Résolution de l’équation f (x) = 0

La méthode de Newton-Raphson à n dimensions

Entrer la valeur de x0 [0] = 1Entrer la valeur de x0 [1] = 1iteration 1, module =5.590170e -01iteration 2, module =2.248461e -02iteration 3, module =1.101313e -03iteration 4, module =1.394931e -06iteration 5, module =3.305416e -12iteration 6, module =1.464494e -16x = 0.511306 1.22935f1(x) = -2.220446e -16f2(x) = -8.881784e -16

Entrer la valeur de x0 [0] = 2Entrer la valeur de x0 [1] = 2iteration 1, module =2.415942e -01iteration 2, module =6.014358e -02iteration 3, module =3.985741e -03iteration 4, module =1.707169e -05iteration 5, module =3.146551e -10iteration 6, module =1.617654e -16x = 2.12094 1.76662f1(x) = -1.776357e -15f2(x) = -3.552714e -15

Entrer la valeur de x0 [0] = -1Entrer la valeur de x0 [1] = 1iteration 1, module =5.590170e -01iteration 2, module =2.248461e -02iteration 3, module =1.101313e -03iteration 4, module =1.394931e -06iteration 5, module =3.305416e -12iteration 6, module =1.464494e -16x = -0.511306 1.22935f1(x) = -2.220446e -16f2(x) = -8.881784e -16

Entrer la valeur de x0 [0] = -2Entrer la valeur de x0 [1] = 2iteration 1, module =2.415942e -01iteration 2, module =6.014358e -02iteration 3, module =3.985741e -03iteration 4, module =1.707169e -05iteration 5, module =3.146551e -10iteration 6, module =1.617654e -16x = -2.12094 1.76662f1(x) = -1.776357e -15f2(x) = -3.552714e -15

16/17

Résolution de l’équation f (x) = 0

Application au calcul de fractales

zK = 1 =⇒ zn+1 = zn −zKn − 1

KzK−1n

17/17