En analyse numérique , la méthode de Halley est un algorithme de recherche d'un zéro d'une fonction utilisé pour les fonctions d'une variable réelle dérivables deux fois et à dérivée seconde continue (i.e. C2 ). La méthode, présentée par l'astronome Edmond Halley en 1694[ 1] , est une généralisation de la méthode de Newton , à convergence cubique .
Énoncé
Soit
f
{\displaystyle f}
une fonction de classe C² et
a
{\displaystyle a}
un zéro de
f
{\displaystyle f}
. La méthode de Halley consiste à itérer
x
n
+
1
=
x
n
−
2
f
(
x
n
)
f
′
(
x
n
)
2
(
f
′
(
x
n
)
)
2
−
f
(
x
n
)
f
″
(
x
n
)
{\displaystyle x_{n+1}=x_{n}-{\frac {2f(x_{n})f'(x_{n})}{2{(f'(x_{n}))}^{2}-f(x_{n})f''(x_{n})}}}
à partir d'une valeur
x
0
{\displaystyle x_{0}}
proche de
a
{\displaystyle a}
.
Au voisinage de
a
{\displaystyle a}
, la suite vérifie :
|
x
n
+
1
−
a
|
<
K
|
x
n
−
a
|
3
{\displaystyle |x_{n+1}-a|<K|x_{n}-a|^{3}}
,
avec
K
>
0
{\displaystyle K>0}
; ce qui signifie que la convergence est donc (au pire) cubique.
La formulation suivante montre que la méthode de Halley est un raffinement de celle de Newton, et très proche de celle-ci si
f
″
(
a
)
=
0
{\displaystyle f''(a)=0}
.
x
n
+
1
=
x
n
−
f
(
x
n
)
f
′
(
x
n
)
−
f
(
x
n
)
f
′
(
x
n
)
f
″
(
x
n
)
2
=
x
n
−
f
(
x
n
)
f
′
(
x
n
)
(
1
−
f
(
x
n
)
f
′
(
x
n
)
⋅
f
″
(
x
n
)
2
f
′
(
x
n
)
)
−
1
.
{\displaystyle x_{n+1}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})-{\frac {f(x_{n})}{f'(x_{n})}}{\frac {f''(x_{n})}{2}}}}=x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}\left(1-{\frac {f(x_{n})}{f'(x_{n})}}\cdot {\frac {f''(x_{n})}{2f'(x_{n})}}\right)^{-1}.}
On remarque que dans cette formulation l'expression
f
(
x
n
)
/
f
′
(
x
n
)
{\displaystyle f(x_{n})/f'(x_{n})}
n'est calculée qu'une fois.
Obtention à partir de la méthode de Newton
La formule se déduit de la méthode de Newton appliquée à la fonction
g
=
f
/
f
′
{\displaystyle g=f/{\sqrt {f'}}}
; en effet, celle-ci s'écrit :
x
n
+
1
=
x
n
−
g
(
x
n
)
g
′
(
x
n
)
{\displaystyle x_{n+1}=x_{n}-{\frac {g(x_{n})}{g'(x_{n})}}}
,
avec
g
′
(
x
)
=
2
[
f
′
(
x
)
]
2
−
f
(
x
)
f
″
(
x
)
2
f
′
(
x
)
f
′
(
x
)
,
{\displaystyle g'(x)={\frac {2{[f'(x)]}^{2}-f(x)f''(x)}{2f'(x){\sqrt {f'(x)}}}},}
d'où le résultat. Si
f
′
(
a
)
=
0
{\displaystyle f'(a)=0}
, ceci ne s'applique que si
g
{\displaystyle g}
peut être prolongée par continuité en
a
{\displaystyle a}
.
Appliquée à la fonction
f
(
x
)
=
x
n
−
A
{\displaystyle f(x)=x^{n}-A}
, cette méthode conduit à la suite récurrente définie par
x
k
+
1
=
x
k
(
(
n
−
1
)
(
x
k
)
n
+
(
n
+
1
)
A
)
(
n
+
1
)
(
x
k
)
n
+
(
n
−
1
)
A
{\displaystyle x_{k+1}={\frac {x_{k}((n-1)(x_{k})^{n}+(n+1)A)}{(n+1)(x_{k})^{n}+(n-1)A}}}
qui converge vers
A
n
{\displaystyle {\sqrt[{n}]{A}}}
.
Notes et références
↑ Edmond Halley , « A new, exact, and easy method of finding the roots of any equations generally, and that
without any previous reduction », Philosophical Transaction of the Royal Society, London , vol. 18, 1694 , p. 136-145
Voir aussi
Liens internes
Liens externes