Un proceso iterativo de aproximación de la raíz cúbica
La intención de la construcción de la fracción $F(z)$ es que si $k=k_0$ elegido es tal que $z=c/k^3$$|z|\approx 1$$|\arg(z)|<\frac\pi3$, $k_+=k·F(z)$ es una buena aproximación de $\sqrt[3]c$. Se obtiene sucesivamente más exacta de la raíz aproximaciones por iteración
$$
k_{n+1}=k_n·F(c/k_n^3)
$$
In view of that iteration it is sensible to express the error in terms of powers in $x=z-1$.
On the order of approximation
Let's reverse engineer this. Use, for instance, the Magma CAS online calculator with the commands
PS<x> := PowerSeriesRing(Rationals());
P<z> := PolynomialRing(Rationals());
num := Evaluate(29*z^3+261*z^2+255*z+22 , 1+x); num;
// 567 + 864*x + 348*x^2 + 29*x^3
den := Evaluate(7*z^3+165*z^2+324*z+71, 1+x); den;
// 567 + 675*x + 186*x^2 + 7*x^3
f := num/den + O(x^8); f;
// 1 + 1/3*x - 1/9*x^2 + 5/81*x^3 - 10/243*x^4 + 461/15309*x^5 - 7430/321489*x^6 + 367466/20253807*x^7 + O(x^8)
f^3;
// 1 + x - 1/5103*x^5 + 34/35721*x^6 - 12361/6751269*x^7 + O(x^8)
which shows that the expression is correct to order $O((z-1)^5)$. With degree $3$ in both numerator and denominator and thus $2·4-1$ free coefficients, one could find an expression that is $O((z-1)^7)$, i.e., the Taylor series expressions of both sides match in the first $7$ terms.
However, the loss in error order around the origin might have been used to reduce the maximal error in the disk around $1$, o al menos todo el segmento del círculo unitario en el que es pertinente de acuerdo a las consideraciones iniciales.
Algunos relacionados con el equilibrado de Padé approximants
El 2/2 orden de 5 de Padé approximant es
$$
\sqrt[3]z=\frac{14z^2 + 35z + 5}{5z^2 + 35z + 14}
+ O((z-1)^5)
$$
y el 3/3 orden de 7 de Padé approximant es
$$
\sqrt[3]z=\frac{7z^3 + 42z^2 + 30z + 2}{2z^3 + 30z^2 + 42z + 7}
+ O((z-1)^7)
$$
Root iterations comparing the 3 fractions
From WP take the moderately interesting test case $c=11+197i$ with initial guess $k_0=6$. En python definir
def FracLud(z): return (((29*z+261)*z+255)*z+22)/(((7*z+165)*z+324)*z+71)
def FracPad1(z): return (2*z+1)/(z+2)
def FracPad2(z): return ((14*z+35)*z+5)/((5*z+35)*z+14)
def FracPad3(z): return (((7*z+42)*z+30)*z+2)/(((2*z+30)*z+42)*z+7)
y repetir
c=11+197j
k=6
for _ in range(4): z=c/k**3; k *= FracLud(z); print k, abs(c-k**3)
(5.07502720254+2.80106967751j) 2.5577949438
(5.09495916653+2.81659441015j) 1.39979625158e-11
(5.09495916653+2.81659441015j) 1.71121351099e-13
(5.09495916653+2.81659441015j) 8.54314994314e-14
k=6
for _ in range(4): z=c/k**3; k *= FracPad1(z); print k, abs(c-k**3)
(4.67251486867+3.25849790265j) 60.612721727
(5.09919052684+2.81457943777j) 0.476738798014
(5.09495916512+2.8165944087j) 2.05734637949e-07
(5.09495916653+2.81659441015j) 8.54314994314e-14
k=6
for _ in range(4): z=c/k**3; k *= FracPad2(z); print k, abs(c-k**3)
(5.16659218119+2.75059104398j) 9.95653080095
(5.09495916898+2.81659441176j) 2.97864153108e-07
(5.09495916653+2.81659441015j) 2.89169943033e-14
(5.09495916653+2.81659441015j) 8.54314994314e-14
k=6
for _ in range(4): z=c/k**3; k *= FracPad3(z); print k, abs(c-k**3)
(5.08204659353+2.82547419372j) 1.59145673695
(5.09495916653+2.81659441015j) 8.54314994314e-14
(5.09495916653+2.81659441015j) 2.89169943033e-14
(5.09495916653+2.81659441015j) 8.54314994314e-14
de modo que el orden de 5 Ludenir/Luderian método converge más rápido que el de computacionalmente más rápido de la orden de 5 Padé2 método, pero notablemente más lenta que la orden de 7 Padé3 método que tiene la misma complejidad computacional.
El computacionalmente más simple Halley/Padé1 método de necesidades 4 pasos donde Padé3 necesidades 2. En términos de operaciones, hay 4*(2 div + 2 mul)
(descontando la suma, la multiplicación con el pequeño constantes) frente a la 2*(2 div + (2+6) mul)
. Contando 1 complejo división casi igual a 2 multiplicaciones complejas, este es un esfuerzo similar.