Julia estableció la función racional asociada al método de Newton para f(z) = z3 − 1.
El fractal de Newton es una frontera en el plano complejo delimitada mediante el método de Newton aplicado a un polinomio fijo p(Z) ∈ ℂ[Z] o a una función trascendente. Es el conjunto de Julia de la función meromorfaz ↦ z − p(z)/p′(z), que viene dado por el método de Newton. Cuando no hay ciclos atractivos (de orden mayor que 1), divide el plano complejo en regiones Gk, cada una de las cuales está asociada con una raízζk del polinomio, k = 1, …, deg(p). De esta manera, el fractal de Newton es similar al conjunto de Mandelbrot y, al igual que otros fractales, exhibe una apariencia intrincada que surge de una descripción simple. Es relevante en análisis numérico porque muestra que (fuera de la región de orden de convergencia) el método de Newton puede ser muy sensible a la elección del punto de inicio.
Muchos puntos del plano complejo están asociados con una de las raíces deg(p) del polinomio de la siguiente manera: el punto se usa como valor inicial z0 para la iteración de Newton zn + 1 := zn − p(zn)/p'(zn), produciendo una secuencia de puntos z1, z2, …,
Si la secuencia converge a la raíz ζk, entonces z0 era un elemento de la región Gk. Sin embargo, para cada polinomio de grado al menos 2 hay puntos para los cuales la iteración de Newton no converge a ninguna raíz: ejemplos son los límites de las cuencas de atracción de las diversas raíces. Incluso hay polinomios para los que conjuntos abiertos de puntos de partida no convergen a ninguna raíz: un ejemplo simple es z3 − 2z + 2, donde algunos puntos son atraídos por el ciclo 0, 1, 0, 1… en lugar de por una raíz.
Un conjunto abierto para el cual las iteraciones convergen hacia una raíz o ciclo dado (que no es un punto fijo), es un conjunto de Julia para la iteración. El conjunto complementario a la unión de todos estos, es el conjunto de Julia. Los conjuntos de Fatou tienen un límite común, a saber, el conjunto de Julia. Por lo tanto, cada punto del conjunto de Julia es un punto de acumulación para cada uno de los conjuntos de Fatou. Es esta propiedad la que causa la estructura fractal del conjunto de Julia (cuando el grado del polinomio es mayor que 2).
Para trazar imágenes interesantes, primero se puede elegir un número específico d de puntos complejos (ζ1, …, ζd) y calcular los coeficientes (p1, …, pd) del polinomio
.
Luego, para una retícula rectangular
de puntos en ℂ, se encuentra el índice k(m,n) de la raíz correspondiente ζk(m,n) y se usa para llenar una cuadrícula de M × N píxeles, asignando a cada punto (m,n) un color fk(m,n). Además o alternativamente, los colores pueden depender de la distancia D(m,n), que se define como el primer valor D tal que | zD − ζk(m,n) | < ε para algunos ε > 0 pequeños previamente fijados.
Generalización de los fractales de Newton
Una generalización de la iteración de Newton es
donde a es cualquier número complejo.[1] La elección particular con a = 1 corresponde al fractal de Newton.
Los puntos fijos de esta aplicación son estables cuando a se encuentra dentro del disco de radio 1 centrado en 1. Cuando a está fuera de este disco, los puntos fijos son localmente inestables, sin embargo, la aplicación aún exhibe una estructura fractal en el sentido de Conjunto de Julia. Si p es un polinomio de grado d, entonces la secuencia zn está acotada siempre que a esté dentro de un disco de radio d centrado en d.
De manera más general, el fractal de Newton es un caso especial de conjunto de Julia.
Fractal de Newton para tres raíces de grado 3 p(z) = z3 - 1, coloreado por el número de iteraciones requeridas
Fractal de Newton para tres raíces de grado 3 p(z) = z3 - 1, coloreado por la raíz alcanzada
Fractal de Newton para p(z) = z3 - 2z + 2. Los puntos en las cuencas rojas no llegan a la raíz
Fractal de Newton para un polinomio de séptimo orden, coloreado por la raíz alcanzada y sombreado por la tasa de convergencia
Fractal de Newton para p(z) = z8 + 15x4 - 16
Fractal de Newton para p(z) = z5 - 3iz3 - (5 + 2i)z2 + 3z + 1, coloreado por la raíz alcanzada, sombreado por el número de iteraciones requeridas
Fractal de Newton para p(z) = sin z, coloreado por la raíz alcanzada, sombreado por el número de iteraciones requeridas
Otro fractal de Newton para p(z) = sin z
Fractal de Newton generalizado para p(z) = z3 - 1, a = -1/2. El color se eligió en función del argumento después de 40 iteraciones
Fractal de Newton generalizado para p(z) = z2 - 1, a = 1 + i
Fractal de Newton generalizado para p(z) = z3 - 1, a = 2
Fractal de Newton generalizado para p(z) = z4 + 3i - 1, a = 2.1
p(z) = z6 + z3 - 1
p(z) = sin z - 1
p(z) = sin z - 1
p(z) = cosh z - 1
p(z) = cosh z - 1
p(z) = z3 - 1, a=1
p(z) = z3 - 1, a=2
p(z) = z4 - 1, a=1
p(z) = z4 - 1, a=2
p(z) = z5 - 1, a=1
p(z) = z5 - 1, a=2
p(z) = z6 - 1, a=1
p(z) = z7 - 1, a=1
p(z) = z7 - 1, a=2
p(z) = z8 - 1, a=1
p(z) = z10 - 1, a=1
Fractales compuestos de potencias y funciones trigonométricas.
p(z) = z2*Sin(Z) - 1, a=1
p(z) = z2*Sin(Z) - 1, a=1 (zoom)
p(z) = z3*Sin(Z) - 1, a=1
p(z) = z4*Sin(Z) - 1, a=1
p(z) = z4*Sin(Z) - 1, a=1 (zoom)
p(z) = z5*Sin(Z) - 1, a=1
p(z) = z6*Sin(Z) - 1, a=1
p(z) = z6*Sin(Z) - 1, a=1 (zoom)
Fractal Nova
Animación del fractal Nova "Julia" para p(z) = z3 − 1 con c yendo de -1 a 1, coloreado por la raíz alcanzada
Animación del fractal Nova "Julia" para p(z) = z3 − 1 con c = 1/2eiφ y φ yendo de 0 a 2Π, coloreado por la raíz alcanzada
El fractal Nova, inventado a mediados de la década de 1990 por Paul Derbyshire,[2][3] es una generalización del fractal de Newton con la adición de un valor c en cada paso:[4]
La variante "Julia" del fractal Nova mantiene constante c sobre la imagen e inicializa z0 a las coordenadas de píxeles. La variante "Mandelbrot" del fractal Nova inicializa c en las coordenadas de píxeles y establece z0 en un punto crítico, donde[5]
Los polinomios de uso común como p(z) = z3 − 1 o p(z) = (z − 1)3 conducen a un punto crítico en z = 1.
Generación
Para generar el fractal de Newton, es necesario tener una función inicial y su función derivada:
Las tres raíces de la función son
Las funciones definidas anteriormente se pueden traducir en pseudocódigo de la siguiente manera:
//z^3-1 float2Function(float2z){returncpow(z,3)-float2(1,0);//cpow is an exponential function for complex numbers}//3*z^2float2Derivative(float2z){return3*cmul(z,z);//cmul is a function that handles multiplication of complex numbers}
Ahora es solo cuestión de aplicar el método de Newton usando las funciones dadas.
float2roots[3]=//Roots (solutions) of the polynomial{float2(1,0),float2(-.5,sqrt(3)/2),float2(-.5,-sqrt(3)/2)};colorcolors[3]=//Assign a color for each root{red,green,blue}Paracadapixel(x,y)comoobjetivo,hacerque:{zx=scaledxcoordinateofpixel(scaledtolieintheMandelbrotXscale(-2.5,1))zy=scaledycoordinateofpixel(scaledtolieintheMandelbrotYscale(-1,1))float2z=float2(zx,zy);//z is originally set to the pixel coordinatesfor(intiteration=0;iteration<maxIteration;iteration++;){z-=cdiv(Function(z),Derivative(z));//cdiv is a function for dividing complex numbersfloattolerance=0.000001;for(inti=0;i<roots.Length;i++){float2difference=z-roots[i];//If the current iteration is close enough to a root, color the pixel.if(abs(difference.x)<tolerance&&abs(difference.y)<tolerance){returncolors[i];//Return the color corresponding to the root}}}returnblack;//If no solution is found}
J. H. Hubbard, D. Schleicher, S. Sutherland: "Cómo encontrar todas las raíces de polinomios complejos por el método de Newton", Inventiones Mathematicae vol. 146 (2001) - con una discusión de la estructura global de los fractales de Newton