Fractal de Newton

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 meromorfa zzp(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 := znp(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.

Fractales compuestos de potencias y funciones trigonométricas.


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/2e 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 
float2 Function (float2 z)
{
	return cpow(z, 3) - float2(1, 0); //cpow is an exponential function for complex numbers
}

//3*z^2
float2 Derivative (float2 z)
{
	return 3 * 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.

float2 roots[3] = //Roots (solutions) of the polynomial
{
	float2(1, 0), 
	float2(-.5, sqrt(3)/2), 
	float2(-.5, -sqrt(3)/2)
};
	
color colors[3] =  //Assign a color for each root
{
    red,
    green,
    blue
}

Para cada pixel (x, y) como objetivo, hacer que:
{
	zx = scaled x coordinate of pixel (scaled to lie in the Mandelbrot X scale (-2.5, 1))
    zy = scaled y coordinate of pixel (scaled to lie in the Mandelbrot Y scale (-1, 1))

    float2 z = float2(zx, zy); //z is originally set to the pixel coordinates

	for (int iteration = 0;
	     iteration < maxIteration;
	     iteration++;)
	{
		z -= cdiv(Function(z), Derivative(z)); //cdiv is a function for dividing complex numbers

        float tolerance = 0.000001;
        
		for (int i = 0; i < roots.Length; i++)
		{
		    float2 difference = 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)
			{
				return colors[i]; //Return the color corresponding to the root
			}
		}
		
    }
    
    return black; //If no solution is found
}

Véase también

Referencias

  1. Simon Tatham. «Fractals derived from Newton–Raphson». 
  2. Damien M. Jones. «class Standard_NovaMandel (Ultra Fractal formula reference)». 
  3. Damien M. Jones. «dmj's nova fractals 1995-6». Archivado desde el original el 20 de agosto de 2017. Consultado el 4 de enero de 2022. 
  4. Michael Condron. «Relaxed Newton's Method and the Nova Fractal». 
  5. Frederik Slijkerman. «Ultra Fractal Manual: Nova (Julia, Mandelbrot)». 

Lecturas relacionadas

Enlaces externos