Sei f eine reelle Funktion mit stetiger zweiter Ableitung, f∈C2(R,R) und sei a eine einfache Nullstelle von f, d.h. f′(a)=/0. Dann wird der Funktionsverlauf von f in der Nähe von a gerade gebogen, indem statt f die Funktiong(x)=∣f′(x)∣f(x) betrachtet wird. Diese Konstruktion ist von der Nullstelle unabhängig. Nun wird das Newton-Verfahren auf g angewandt. Es ist
und daher Hf(x)=Ng(x)=x−g′(x)g(x)=x−2f′(x)2−f(x)f′′(x)2f(x)f′(x)
Daraus ergibt sich die Iteration des Halley-Verfahrens wie folgt: Es wird ein geeigneter Startwert x0 gewählt, wobei sich dieselben Schwierigkeiten und Strategien wie beim Newton-Verfahren ergeben. Mit diesem wird die Folge (xk)k∈N der sukzessiven Näherungen durch die Iterationsvorschrift
Es ergibt sich eine Folge von 0, 1, 5, 21, >60 gültigen Stellen, d.h. eine Verdreifachung in jedem Schritt. Das Newtonverfahren hat die Verfahrensvorschrift:
Gf(x)=2xx2+5
Im direkten Vergleich zeigt das Halley Verfahren die schnellere Konvergenz. Es benötigt jedoch mehr Rechenoperationen pro Schritt.
Dies ergibt zunächst eine Näherung durch eine Parabel, die f im Punktx von zweiter Ordnung berührt. Ist f(x) klein genug, so hat diese Parabel eine Nullstelle, die deutlich nahe an x liegt, nämlich bei
Da der Nenner von h in der Nähe einer Nullstelle von f von Null verschieden ist, gilt h=O(f(x)). Durch diese Konstruktion von h verschwinden die ersten drei Glieder der Taylor-Entwicklung, daher gilt f(xk+1)=O(h3)=O(f(xk)3).
Die Funktionf wird also durch eine Hyperbel approximiert, die f in x zu ebenfalls zweiter Ordnung berührt. Der Zähler der Hyperbelfunktion verschwindet für h=−2f′(x)2−f(x)f′′(x)2f(x)f′(x), woraus sich die Halley-Iteration (s.o.) ergibt. Wieder gilt h=O(f(x)) und damit
Eine Erweiterung des Verfahrens auf Funktionen mehrerer VeränderlicherF:Rn→Rn ist möglich. Es kann der gleiche binomische Trick zur Herstellung einer Hyperbelfunktion verwendet werden. Dabei ist aber zu beachten,
dass F′′(x) ein Tensor dritter Stufe ist, genauer eine vektorwertige symmetrische Bilinearform, und
dass die unvollständig ausgewertete zweite AbleitungF′′(x)(v,⋅), die ebenfalls eine Matrix ist, im Allgemeinen nicht mit der MatrixF′(x) kommutiert.
Dies sind keine Hindernisse, diese Eigenschaften machen nur die Rechnung etwas unübersichtlicher. Es bezeichne t=−F´(x)−1F(x) den üblichen Newtonschritt, sei C(u,v)=21F′(x)−1F′′(x)(u,v) der entsprechend modifizierte Term zweiter Ordnung. Dann gilt für die Taylorentwicklung in x
Man überzeugt sich leicht, dass diese Formel sich im eindimensionalen Fall zur Halley-Iteration reduziert. Der sich daraus ergebende Iterationsschritt des mehrdimensionalen Halley-Verfahrens kann in 3 einfacheren Schritten bestimmt werden:
Newton-Schritt: Löse F′(xk)tk=−F(xk)
Korrektur des Newton-Schritts: Löse (F′(xk)+21F′′(xk)(tk,⋅))sk=−F(xk)
Da F(x) als klein vorausgesetzt wurde, ist es nicht wirklich notwendig, die Inverse der großen Klammer zu bestimmen. Es kann wieder der binomische Trick (bzw. die Taylorformel 1. Grades) benutzt werden, um den einfacheren, aber bis auf Terme dritter Ordnung (nun in F(x)) identischen Ausdruck