These are the human proofs of Halley's method, at full length.
Correctness of Halley's method full
This proof shows: correctness, termination, convergence-rate.
We use the notation of the page: ek=xk−x∗, and at a simple root cj=f(j)(x∗)/(j!f′(x∗)). The step is s(x)=2f(x)f′(x)/D(x) with D=2f′2−ff′′, and xk+1=xk−s(xk). All results below are in exact arithmetic unless stated otherwise.
Termination
Each pass of the loop L1 either returns at L3, L4, L5 or L7, or ends with k increased by one. After K passes the loop exits and L8 returns. So the procedure stops after at most K passes and at most 3K evaluations (one each of f, f′, f′′ per pass). Non-finite values stop it at L2 with an error. No status claims more than its test shows: "exact" means f(x)=0 was computed; "converged" means the step was small; "stalled" means s=0 while f(x)=0 and D=0, which forces f′(x)=0 (or an underflow in the product 2ff′).
Lemma 1 (Newton's method on a transformed function)
Let f′(x)=0 on an interval and g=f/∣f′∣. Then g/g′=s on that interval, so Halley's method is Newton's method on g. If f∈C3 and x∗ is a simple root, then g′′(x∗)=0.
Proof. The derivative of ∣f′∣−1/2 is −21f′′/(f′∣f′∣1/2), so
g′=∣f′∣−1/2(f′−2f′ff′′)=2f′∣f′∣1/22f′2−ff′′,
and g/g′=2ff′/(2f′2−ff′′)=s. Differentiating g′ once more and putting f(x∗)=0: the derivative of f′−ff′′/(2f′) at x∗ is f′′−f′f′′/(2f′)=f′′/2, and the derivative of the factor ∣f′∣−1/2 times f′ gives −21f′′/∣f′∣1/2. The sum is g′′(x∗)=∣f′∣−1/2(f′′/2−f′′/2)=0. □
Newton's error constant is g′′/(2g′), so Newton on g loses its quadratic term; this is the reason for the cubic order. Theorem 1 proves it directly and gives the constant.
Theorem 1 (cubic local convergence at a simple root)
Let f∈C3 on a neighbourhood of x∗, f(x∗)=0=f′(x∗), and C=c22−c3. Then ek+1=Cek3+o(ek3), and there is ρ>0 such that from every x0 with ∣e0∣≤ρ the iterates are defined, stay in [x∗−ρ,x∗+ρ], converge to x∗, and satisfy ek+1/ek3→C when no ek is 0.
Proof. By Taylor's theorem with Peano remainder, writing e=x−x∗ and dividing by f′(x∗),
so D/f′(x∗)2=2+6c2e+(6c22+6c3)e2+o(e2). The numerator of s/e and the denominator agree up to first order in e and differ by (2c3−2c22)e2+o(e2) at second order, so
For the ball: D(x∗)=2f′(x∗)2>0 and D is continuous, so D>0 on some [x∗−ρ1,x∗+ρ1] and the step is defined there. By the expansion there is ρ2 with ∣e−s∣≤(∣C∣+1)∣e∣3 for ∣e∣≤ρ2. Take ρ=min(ρ1,ρ2,(2(∣C∣+1))−1/2). If ∣ek∣≤ρ then ∣ek+1∣≤(∣C∣+1)ρ2∣ek∣≤∣ek∣/2, so by induction all iterates stay in the ball and ∣ek∣≤2−kρ→0. If some ek=0 then f(xk)=0 and the method stops there (L3). Otherwise the expansion gives ek+1/ek3→C. □
So the order is at least 3, exactly 3 when c22=c3, and higher on the special functions with c22=c3. This is a local result: nothing is claimed for starts outside the ball, whose size depends on f.
Corollary (the stopping test)
In the ball of Theorem 1, ek=sk+ek+1 with ∣ek+1∣≤(∣C∣+1)∣ek∣3≤∣ek∣/2, so ∣ek∣≤2∣sk∣ and ∣ek+1∣≤8(∣C∣+1)∣sk∣3. When L7 fires with ∣sk∣≤δ(1+∣xk+1∣), the returned point therefore has error far below δ(1+∣x∣) in exact arithmetic. Outside the ball a small step proves nothing.
Theorem 2 (multiple roots)
Let f(x)=(x−x∗)mh(x) with m≥2, h∈C2 near x∗ and h(x∗)=0. Then ek+1=m+1m−1ek+O(ek2), and the iteration converges linearly to x∗ from every start close enough to x∗.
So ek+1=e−s=m+1m−1e+O(e2). With r=(m−1)/(m+1)<1, choose ρ so small that D=0 and ∣e−s∣≤21+r∣e∣ for 0<∣e∣≤ρ; then ∣ek∣≤(21+r)kρ→0, and ek+1/ek→r. Since h=0 near x∗, f(xk)=0 for every xk=x∗ in the ball. □
For f=xm the O(e2) term vanishes (h=1) and xk+1=m+1m−1xk exactly; for m=3 the iterates halve, as the tests check. Halley's method applied to F=f1/m, which has a simple root, gives the step f/(2mm+1f′−2f′ff′′), and Theorem 1 applied to F shows that this modified step has order 3 when m is known.
Floating point
The theorems are about exact arithmetic. In floating point the computed f near a simple root is dominated by rounding once ∣e∣≲ucond, and the iteration then either hits a computed zero of f (status "exact") or takes steps of the size of the rounding noise, which the relative test at L7 accepts. At a root of multiplicity m the attainable error is of order u1/m relative to the scale of f, and the step test may fire there or the loop may reach K. These floating point statements are observations on the test functions, not theorems.