En el contexto de la dinámica compleja , una rama de las matemáticas , el conjunto de Julia y el conjunto de Fatou son dos conjuntos complementarios (Julia "cordones" y Fatou "polvos") definidos a partir de una función . Informalmente, el conjunto de Fatou de la función consta de valores con la propiedad de que todos los valores cercanos se comportan de manera similar bajo iteraciones repetidas de la función, y el conjunto de Julia consta de valores tales que una perturbación arbitrariamente pequeña puede causar cambios drásticos en la secuencia de la función iterada. valores. Así, el comportamiento de la función en el conjunto de Fatou es "regular", mientras que en el conjunto de Julia su comportamiento es " caótico ".
El conjunto de Julia de una función f se denota comúnmente y el conjunto de Fatou se denota [a]. Estos conjuntos llevan el nombre de los matemáticos franceses Gaston Julia [1] y Pierre Fatou [2] cuyo trabajo inició el estudio de la dinámica compleja a principios del siglo XX. siglo.
Sea una función holomorfa no constante de la esfera de Riemann sobre sí misma. Tales funciones son precisamente las funciones racionales complejas no constantes , es decir, donde y son polinomios complejos . Supongamos que p y q no tienen raíces comunes , y que al menos una tiene un grado mayor que 1. Entonces hay un número finito de conjuntos abiertos que quedan invariantes por y son tales que:
La última afirmación significa que los extremos de las secuencias de iteraciones generadas por los puntos de son precisamente el mismo conjunto, que entonces es un ciclo finito, o son ciclos finitos de conjuntos de forma circular o anular que se encuentran concéntricamente. En el primer caso el ciclo es de atracción , en el segundo caso es neutral .
Estos conjuntos son los dominios de Fatou y su unión es el conjunto de Fatou . Cada uno de los dominios de Fatou contiene al menos un punto crítico de , es decir, un punto (finito) z que satisface , o si el grado del numerador es al menos dos mayor que el grado del denominador , o si para algunos c y a función racional que satisface esta condición.
El complemento de es el conjunto Julia de . Si todos los puntos críticos son preperiódicos, es decir, no son periódicos pero eventualmente caen en un ciclo periódico, entonces es toda la esfera. De lo contrario, es un conjunto nada denso (sin puntos interiores) y un conjunto incontable (de la misma cardinalidad que los números reales). Al igual que , se deja invariante por , y en este conjunto la iteración es repelente, lo que significa que para todo w en una vecindad de z (dentro de ). Esto significa que se comporta caóticamente en el set de Julia. Aunque hay puntos en el conjunto de Julia cuya secuencia de iteraciones es finita, sólo hay un número contable de dichos puntos (y constituyen una parte infinitesimal del conjunto de Julia). Las secuencias generadas por puntos fuera de este conjunto se comportan de forma caótica, fenómeno llamado caos determinista .
Se han realizado extensas investigaciones sobre el conjunto de Fatou y el conjunto de Julia de funciones racionales iteradas , conocidos como mapas racionales. Por ejemplo, se sabe que el conjunto de Fatou de una aplicación racional tiene 0, 1, 2 o una infinidad de componentes . [3] Cada componente del conjunto de Fatou de un mapa racional se puede clasificar en una de cuatro clases diferentes . [4]
El conjunto de Julia y el conjunto de Fatou de f son ambos completamente invariantes bajo iteraciones de la función holomorfa f : [5]
Para el conjunto de Julia es el círculo unitario y sobre este la iteración viene dada por la duplicación de ángulos (operación que resulta caótica en los puntos cuyo argumento no es una fracción racional de ). Hay dos dominios de Fatou: el interior y el exterior del círculo, con iteración hacia 0 y ∞, respectivamente.
Para el conjunto de Julia es el segmento de línea entre −2 y 2. Hay un dominio de Fatou : los puntos que no están en el segmento de línea se iteran hacia ∞. (Aparte de un cambio y escalamiento del dominio, esta iteración es equivalente al intervalo unitario, que se usa comúnmente como ejemplo de sistema caótico).
Las funciones f y g tienen la forma , donde c es un número complejo. Para tal iteración, el conjunto de Julia no es en general una curva simple, sino un fractal, y para algunos valores de c puede adoptar formas sorprendentes. Vea las imágenes a continuación.
Para algunas funciones f ( z ) podemos decir de antemano que el conjunto de Julia es un fractal y no una simple curva. Esto se debe al siguiente resultado en las iteraciones de una función racional:
Teorema : cada uno de los dominios de Fatou tiene el mismo límite, que en consecuencia es el conjunto de Julia. [ cita necesaria ]
Esto significa que cada punto del conjunto de Julia es un punto de acumulación para cada uno de los dominios de Fatou. Por lo tanto, si hay más de dos dominios de Fatou, cada punto del conjunto de Julia debe tener puntos de más de dos conjuntos abiertos diferentes infinitamente cercanos, y esto significa que el conjunto de Julia no puede ser una curva simple. Este fenómeno ocurre, por ejemplo, cuando f ( z ) es la iteración de Newton para resolver la ecuación :
La imagen de la derecha muestra el caso n = 3.
Un sistema dinámico complejo muy popular está dado por la familia de polinomios cuadráticos complejos , un caso especial de aplicaciones racionales . Estos polinomios cuadráticos se pueden expresar como
donde c es un parámetro complejo. Fije algo lo suficientemente grande como para que (por ejemplo, si c está en el conjunto de Mandelbrot , entonces simplemente dejemos que ) Entonces el conjunto de Julia lleno para este sistema sea el subconjunto del plano complejo dado por
¿Dónde está la enésima iteración de? El conjunto de Julia de esta función es el límite de .
El plano de parámetros de los polinomios cuadráticos –es decir, el plano de posibles valores de c– da lugar al famoso conjunto de Mandelbrot . De hecho, el conjunto de Mandelbrot se define como el conjunto de todos los c tales que son conexos . Para parámetros fuera del conjunto de Mandelbrot, el conjunto de Julia es un espacio de Cantor : en este caso a veces se le denomina polvo de Fatou .
En muchos casos, el conjunto de Julia de c se parece al conjunto de Mandelbrot en vecindades de c suficientemente pequeñas . Esto es válido especialmente para los llamados parámetros de Misiurewicz , es decir, parámetros c , cuyo punto crítico es preperiódico. Por ejemplo:
En otras palabras, los conjuntos de Julia son localmente similares alrededor de los puntos de Misiurewicz . [6]
La definición de los conjuntos de Julia y Fatou se traslada fácilmente al caso de ciertos mapas cuya imagen contiene su dominio; más notablemente las funciones meromórficas trascendentales y los mapas de tipo finito de Adam Epstein .
Los conjuntos de Julia también se definen comúnmente en el estudio de la dinámica en varias variables complejas.
Las siguientes implementaciones de pseudocódigo codifican las funciones para cada fractal. Considere implementar operaciones numéricas complejas para permitir un código más dinámico y reutilizable.
R = radio de escape # elija R > 0 tal que R**2 - R >= sqrt(cx**2 + cy**2) para cada píxel ( x , y ) en la pantalla , haga : { zx = coordenada x escalada del píxel ; # (escala entre -R y R) # zx representa la parte real de z. zy = coordenada y escalada del píxel ; # (escala para estar entre -R y R) # zy representa la parte imaginaria de z. iteración = 0 ; iteración_máx = 1000 ; while ( zx * zx + zy * zy < R ** 2 AND iteración < max_iteration ) { xtemp = zx * zx - zy * zy ; zy = 2 * zx * zy + cy ; zx = xtemp + cx ; iteración = iteración + 1 ; } si ( iteración == max_iteration ) devuelve negro ; de lo contrario devolverá la iteración ; }
R = radio de escape # elija R > 0 tal que R**n - R >= sqrt(cx**2 + cy**2) para cada píxel ( x , y ) en la pantalla , haga : { zx = coordenada x escalada del píxel ; # (escala para estar entre -R y R) zy = coordenada y escalada del píxel ; # (escala para estar entre -R y R) iteración = 0 ; iteración_máx = 1000 ; while ( zx * zx + zy * zy < R ** 2 AND iteración < max_iteration ) { xtmp = ( zx * zx + zy * zy ) ^ ( n / 2 ) * cos ( n * atan2 ( zy , zx )) + cx ; zy = ( zx * zx + zy * zy ) ^ ( n / 2 ) * sin ( n * atan2 ( zy , zx )) + cy ; zx = xtmp ; iteración = iteración + 1 ; } si ( iteración == max_iteration ) devuelve negro ; de lo contrario devolverá la iteración ; }
Otra opción recomendada es reducir las bandas de color entre iteraciones mediante el uso de una fórmula de renormalización para la iteración. [7]
Se da que dicha fórmula es,
¿Dónde está la iteración de escape, limitada por algo tal que y , y es la magnitud de la última iteración antes de escapar?
Esto se puede implementar, de manera muy simple, así:
# simplemente reemplace las últimas 4 líneas de código del último ejemplo con estas líneas de código:si ( iteración == max_iteration ) devuelve negro ; de lo contrario abs_z = zx * zx + zy * zy ; iteración de retorno + 1 - log ( log ( abs_z )) / log ( n );
La diferencia se muestra a continuación con un conjunto de Julia definido como donde .
El conjunto de Julia es el círculo unitario, y en el dominio exterior de Fatou, la función potencial φ ( z ) está definida por φ ( z ) = log| z |. Las líneas equipotenciales para esta función son círculos concéntricos. como tenemos
¿Dónde está la secuencia de iteración generada por z ? Para la iteración más general , se ha demostrado que si el conjunto de Julia es conexo (es decir, si c pertenece al conjunto (habitual) de Mandelbrot), entonces existe un mapa biholomórfico ψ entre el dominio exterior de Fatou y el exterior del dominio círculo unitario tal que . [8] Esto significa que la función potencial en el dominio externo de Fatou definido por esta correspondencia viene dada por:
Esta fórmula tiene significado también si el conjunto de Julia no es conexo, de modo que para todo c podemos definir la función potencial en el dominio de Fatou que contiene ∞ mediante esta fórmula. Para una función racional general f ( z ) tal que ∞ es un punto crítico y un punto fijo, es decir, tal que el grado m del numerador es al menos dos mayor que el grado n del denominador, definimos la función potencial en el dominio de Fatou que contiene ∞ por:
donde d = m − n es el grado de la función racional. [9]
Si N es un número muy grande (por ejemplo, 10 100 ), y si k es el primer número de iteración tal que , tenemos que
para algún número real , que debe considerarse como el número de iteración real , y tenemos que:
donde el último número está en el intervalo [0, 1).
Para la iteración hacia un ciclo de atracción finito de orden r , tenemos que si es un punto del ciclo, entonces (la composición de r veces), y el número
es la atracción del ciclo. Si w es un punto muy cercano y w ′ se escribe r veces , tenemos que
Por tanto, el número es casi independiente de k . Definimos la función potencial en el dominio de Fatou como:
Si ε es un número muy pequeño y k es el primer número de iteración tal que , tenemos que
para algún número real , que debe considerarse como el número de iteración real, y tenemos que:
Si la atracción es ∞, lo que significa que el ciclo es súper atractivo , lo que significa nuevamente que uno de los puntos del ciclo es un punto crítico, debemos reemplazar α por
donde w ′ se itera r veces y la fórmula para φ ( z ) por:
Y ahora el número de iteración real viene dado por:
Para la coloración debemos tener una escala cíclica de colores (construida matemáticamente, por ejemplo) y que contenga H colores numerados del 0 al H −1 ( H = 500, por ejemplo). Multiplicamos el número real por un número real fijo que determina la densidad de los colores en la imagen y tomamos la parte integral de este número módulo H.
La definición de la función potencial y nuestra forma de colorear presuponen que el ciclo es atractivo, es decir, no neutro. Si el ciclo es neutro, no podemos colorear el dominio de Fatou de forma natural. Como el final de la iteración es un movimiento giratorio, podemos, por ejemplo, colorear según la distancia mínima del ciclo que dejó fijada la iteración.
En cada dominio de Fatou (que no es neutro) existen dos sistemas de líneas ortogonales entre sí: las líneas equipotenciales (para la función potencial o el número de iteración real) y las líneas de campo .
Si coloreamos el dominio de Fatou según el número de iteración (y no el número de iteración real , como se definió en la sección anterior), las bandas de iteración muestran el curso de las líneas equipotenciales. Si la iteración es hacia ∞ (como es el caso con el dominio externo de Fatou para la iteración habitual ), podemos mostrar fácilmente el curso de las líneas de campo, es decir, alterando el color según el último punto de la secuencia de iteración esté arriba. o debajo del eje x (primera imagen), pero en este caso (más precisamente: cuando el dominio de Fatou es súper atractivo) no podemos dibujar las líneas de campo de manera coherente, al menos no mediante el método que describimos aquí. En este caso una línea de campo también se llama rayo externo .
Sea z un punto en el dominio de atracción de Fatou. Si iteramos z una gran cantidad de veces, el término de la secuencia de iteración es un ciclo finito C , y el dominio de Fatou es (por definición) el conjunto de puntos cuya secuencia de iteración converge hacia C. Las líneas de campo surgen de los puntos de C y de los (números infinitos de) puntos que se iteran en un punto de C. Y terminan en el conjunto de Julia en puntos que no son caóticos (es decir, que generan un ciclo finito). Sea r el orden del ciclo C (su número de puntos) y sea un punto en C. Tenemos (la composición de r veces), y definimos el número complejo α por
Si los puntos de C son , α es el producto de los r números . El número real 1/|α| es la atracción del ciclo, y nuestra suposición de que el ciclo no es ni neutral ni súper atractivo, significa que 1 < 1/| α | < ∞ . El puntoes un punto fijo para, y cerca de este punto el mapatiene (en relación con las líneas de campo) el carácter de una rotación con el argumento β de α (es decir,).
Para colorear el dominio de Fatou, hemos elegido un número pequeño ε y configurado las secuencias de iteración para que se detengan cuando , y coloreamos el punto z según el número k (o el número de iteración real, si preferimos una coloración suave) . Si elegimos una dirección dada por un ángulo θ , la línea de campo que sale en esta dirección consta de puntos z tales que el argumento ψ del número satisface la condición de que
Porque si pasamos una banda de iteración en la dirección de las líneas de campo (y lejos del ciclo), el número de iteración k aumenta en 1 y el número ψ aumenta en β, por lo tanto el número es constante a lo largo de la línea de campo.
Una coloración de las líneas de campo del dominio de Fatou significa que coloreamos los espacios entre pares de líneas de campo: elegimos una serie de direcciones situadas regularmente que salen de , y en cada una de estas direcciones elegimos dos direcciones alrededor de esta dirección. Como puede suceder que las dos líneas de campo de un par no terminen en el mismo punto del conjunto de Julia, nuestras líneas de campo de colores pueden ramificarse (sin fin) en su camino hacia el conjunto de Julia. Podemos colorear en función de la distancia a la línea central de la línea de campo, y podemos mezclar este color con el color habitual. Estos cuadros pueden resultar muy decorativos (segunda imagen).
Una línea de campo coloreada (el dominio entre dos líneas de campo) se divide por las bandas de iteración, y dicha parte se puede poner en una correspondencia uno a uno con el cuadrado unitario: la coordenada es (calculada a partir de) la distancia de una de las líneas del campo delimitador, la otra es (calculada a partir de) la distancia desde el interior de las bandas de iteración delimitadoras (este número es la parte no integral del número de iteración real). Por lo tanto, podemos poner imágenes en las líneas de campo (tercera imagen).
Métodos :
Como se mencionó anteriormente, el conjunto de Julia se puede encontrar como el conjunto de puntos límite del conjunto de preimágenes de (esencialmente) cualquier punto dado. Entonces podemos intentar trazar el conjunto de Julia de una función dada de la siguiente manera. Comience con cualquier punto z que sepamos que está en el conjunto de Julia, como un punto periódico repelente, y calcule todas las imágenes previas de z bajo alguna iteración alta de f .
Desafortunadamente, a medida que el número de preimágenes iteradas crece exponencialmente, esto no es factible computacionalmente. Sin embargo, podemos ajustar este método, de forma similar al método de "juego aleatorio" para sistemas de funciones iteradas . Es decir, en cada paso elegimos al azar una de las imágenes inversas de f .
Por ejemplo, para el polinomio cuadrático f c , la iteración hacia atrás se describe por
En cada paso, se selecciona al azar una de las dos raíces cuadradas.
Tenga en cuenta que es bastante difícil acceder a ciertas partes del conjunto de Julia con el algoritmo inverso de Julia. Por esta razón, se debe modificar IIM/J (se llama MIIM/J) o utilizar otros métodos para producir mejores imágenes.
Como un conjunto de Julia es infinitamente delgado, no podemos dibujarlo de manera efectiva mediante una iteración hacia atrás a partir de los píxeles. Parecerá fragmentado debido a la impracticabilidad de examinar infinitos puntos de partida. Dado que el recuento de iteraciones cambia vigorosamente cerca del conjunto de Julia, una solución parcial es implicar el contorno del conjunto a partir de los contornos de color más cercanos, pero el conjunto tenderá a verse borroso.
Una mejor manera de dibujar el conjunto de Julia en blanco y negro es estimar la distancia de píxeles (DEM) del conjunto y colorear cada píxel cuyo centro esté cerca del conjunto. La fórmula para la estimación de la distancia se deriva de la fórmula de la función potencial φ ( z ). Cuando las líneas equipotenciales para φ ( z ) están juntas, el número es grande y, a la inversa, las líneas equipotenciales para la función deben estar aproximadamente regulares. Se ha demostrado que el valor encontrado por esta fórmula (hasta un factor constante) converge hacia la distancia verdadera para z convergente hacia el conjunto de Julia. [9]
Suponemos que f ( z ) es racional, es decir, donde p ( z ) y q ( z ) son polinomios complejos de grados myn , respectivamente , y tenemos que encontrar la derivada de las expresiones anteriores para φ ( z ) . Y como sólo varía eso, debemos calcular la derivada de respecto de z . Pero as (la composición k veces), es el producto de los números , y esta secuencia se puede calcular de forma recursiva , comenzando con ( antes del cálculo de la siguiente iteración ).
Para la iteración hacia ∞ (más precisamente cuando m ≥ n + 2 , de modo que ∞ es un punto fijo superatractor), tenemos
( d = m − n ) y en consecuencia:
Para la iteración hacia un ciclo de atracción finito (que no es súper atractivo) que contiene el punto y tiene orden r , tenemos
y consecuentemente:
Para un ciclo de súper atracción, la fórmula es:
Calculamos este número cuando se detiene la iteración. Tenga en cuenta que la estimación de la distancia es independiente de la atracción del ciclo. Esto significa que tiene significado para funciones trascendentales de "grado infinito" (por ejemplo, sin( z ) y tan( z )).
Además de dibujar el límite, la función de distancia se puede introducir como una tercera dimensión para crear un paisaje fractal sólido.
Generador de fractales HTML5 para tu navegador
generar conjunto Julia o Mandelbrot en una región y resolución determinadas