En este caso, es bien conocido cómo generar de forma gráfica estos iterados, de manera que proponemos el siguiente módulo para generar este dibujo sin muchos comentarios adicionales, sólo remarcar el papel de la lista laux donde se guardan los puntos del plano que se van a unir mediante segmentos discontinuos. Aquí fx es la expresión de
(con
como variable independiente), el valor x0 es el punto inicial, el entero N es el número de iteraciones que se harán, el intervalo varx es una lista con la variación de
en formato estándar de Plot[ ] y finalmente opt son las posibles opciones que se quieran añadir al gráfico (del mismo estilo que el comando Plot[ ]):
NewtonR[fx_, x0_, N_, varx_, opt___] :=
Module[{funcio, lx, nwt, laux, dib1, dib2},
funcio = Function[t, fx /. {x -> t}];
nwt = Function[t, t - Limit[fx/D[fx, x], x -> t]];
lx = NestList[Function[x, nwt[x]], x0, N - 1];
laux = Map[Function[s, {{s, 0.}, {s, funcio[s]}}], lx];
laux = Flatten[laux, 1];
laux = Join[laux, {{Nest[nwt, x0, N], 0.}}];
dib1 = Plot[funcio[x], varx, opt, DisplayFunction -> Identity,
PlotStyle -> {Thickness[0.004]}];
dib2 = Graphics[{Dashing[{0.01, 0.01}], Line[laux]}];
Show[dib1, dib2, DisplayFunction -> $DisplayFunction]
]
La figura anterior se ha generado mediante
NewtonR[Cos[x], .45, 5, {x, 0., 3.}, PlotRange -> All]
En esta representación, la recta tangente a la gráfica de
Formalmente, el Método de Newton complejo es idéntico que el real. Parece ser que los primeros estudios detallados sobre
, siendo
una función de variable compleja y analítica, aparecen en los trabajos de Ernst Schröder en 1870 ([5]) y de Arthur Cayley en 1879 ([1]). Las dinámicas que se generan entre los iterados de
, cuando trabajamos con una función de variable compleja
, son mucho más ricas que en el caso real. Sobre este aspecto remitimos a [2], [3] y [6].