Saltar al contenido principal
LibreTexts Español

5.5: El Set Mandelbrot

  • Page ID
    114095
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Esencialmente, el conjunto Mandelbrot se genera iterando una función simple en los puntos del plano complejo. Los puntos que producen un ciclo (el mismo valor una y otra vez) caen en el conjunto, mientras que los puntos que divergen (dan valores cada vez mayores) se encuentran fuera de él. Cuando se trazan en una pantalla de computadora en muchos colores (diferentes colores para diferentes tasas de divergencia), los puntos fuera del conjunto pueden producir imágenes de gran belleza. El límite del conjunto de Mandelbrot es una curva fractal de infinita complejidad, cualquier porción de la cual puede ser volada para revelar detalles cada vez más sobresalientes, incluidas réplicas en miniatura de todo el conjunto en sí.

    El conjunto de Mandelbrot es sin duda el fractal más popular, y quizás el objeto más popular de las matemáticas contemporáneas de todos. Desde que Benoit B. Mandelbrot (1924-2010) lo descubrió en 1979-1980, mientras investigaba el mapeo\(z \rightarrow z ^2+c\), ha sido duplicado por decenas de miles de personas en todo el mundo (incluyéndome a mí).


    Construyendo el conjunto Mandelbrot

    Así es como se construye el conjunto Mandelbrot. Toma un punto de partida\(z_0\) en el plano complejo. Luego usamos la ecuación de recurrencia cuadrática

    \(z_{n+1}=z_{n}^2+z_0\)

    para obtener una secuencia de números complejos\(z_n\) con\(n=0, 1, 2, \ldots\). \(z_n\)Se dice que los puntos forman la órbita de\(z_0\), y el conjunto Mandelbrot, denotado por\(M\), se define de la siguiente manera:

    Si la órbita\(z_n\) no llega al infinito, decimos que\(z_0\) está contenida dentro del conjunto\(M\). Si la órbita\(z_n\) sí va al infinito, decimos que el punto\(z_0\) está afuera\(M\).

    Tomemos, por ejemplo,\(z_0=1\). Entonces tenemos

    \ (\ begin {array} {rcl}
    %\ hline
    %\ text {} & z_ {n+1} =z_ {n} ^2+z_0\\
    %\ hline
    z_0 &=& 1\\
    %\ hline
    z_1 &=& 1^2 + 1 = 2\\
    %\ hline
    z_2 & amp; =& 2^2 + 1 = 5\\
    %\ hline
    z_3 &=& 5^2 + 1 = 26\\
    %\ hline
    z_4 &=& 26^2 + 1 = 677\
    %\ hline
    &\ vdots&
    \ end {array}\)

    Como puedes ver,\(z_n\) solo sigue haciéndose cada vez más grande. Así no\(z_0=1\) está en el conjunto de Mandelbrot. Pero si elegimos valores diferentes para\(z_0\) esto no siempre será el caso. Consideremos ahora el valor\(z_0=i\). En este caso, obtenemos:

    \ (\ begin {array} {rcl}
    %\ hline
    %\ text {} &=& z_ {n+1} =z_ {n} ^2+z_0\\
    %\ hline
    z_0 &=& i\\
    %\ hline
    z_1 &=& i^2 + i = -1 + i\\
    %\ hline
    z_2 &=& (-1+i) ^2 + i = -2i+i = -i\\
    %\ hline
    z_3 &=& (-i) ^2 + i = -1+i\\
    %\ hline
    z_4 &=& (-1+i) ^2 + i = -i\\
    %\ hline
    &\ vdots&
    \ end { matriz}\)

    Está claro que en este caso más iteraciones sólo repetirán los valores\(−1+i\) y\(−i\). Todos estos números complejos se encuentran dentro de la distancia 3 del origen. Entonces se quedan en un subconjunto acotado del plano; no se agotan hasta el infinito. Entonces el número\(z_0=i\) es\(in\) el conjunto de Mandelbrot.

    Es muy divertido calcular elementos del conjunto de Mandelbrot y trazarlos. El conjunto resultante es infinitamente complicado. Y para ello podemos utilizar la potencia de la computadora. En el applet de abajo\(z_0\) se define un punto en el plano complejo. Dado que la computadora no puede manejar el infinito, bastará con calcular 500 iteraciones y usar el número\(10^8\) (en lugar de infinito) para generar el conjunto de Mandelbrot:

    Si la órbita\(z_n\) está fuera de un disco de radio\(10^8\), entonces no\(z_0\) está en el Conjunto Mandelbrot y su color será BLANCO. Si la órbita\(z_n\) está dentro de ese disco, entonces\(z_0\) está en el Set Mandelbrot y su color será NEGRO.

    Ahora explora las órbitas de iteración en el applet. Observe su comportamiento mientras arrastra el punto. Active el cuadro Trazo para bosquejar el conjunto Mandelbrot o arrastre el control deslizante.


    Conjunto Colorido Mandelbrot

    En el applet anterior el conjunto de Mandelbrot se esboza utilizando un solo punto. Sin embargo, es posible trazarlo considerando una región particular de píxeles en la pantalla. El algoritmo más simple para generar una representación del conjunto de Mandelbrot se conoce como el algoritmo de tiempo de escape. Se realiza un cálculo repetido para cada\(x\)\(y\) punto en el área de trazado y basado en el comportamiento de ese cálculo, se elige un color para ese píxel.

    En el siguiente applet, se utiliza el esquema de colores HSV y depende de la distancia desde el punto\(z_0\) (en exterior o interior) hasta el punto más cercano en el límite del conjunto Mandelbrot. En otras palabras, siempre que el número máximo de iteraciones sea suficientemente alto, podemos obtener una imagen del conjunto de Mandelbrot con las siguientes propiedades:

    1. Cada píxel que contiene un punto del conjunto de Mandelbrot es de color negro.
    2. Cada píxel que no contiene un punto del conjunto de Mandelbrot se colorea usando valores de tonalidad dependiendo de qué tan cerca esté ese punto del conjunto de Mandelbrot.

    Ahora explora el conjunto de Mandelbrot. Acercar o alejar el zoom en diferentes regiones. Cambiar el número de iteraciones y observar lo que sucede con la trama. También se puede trazar la órbita.

    +: Acercar -: Alejar R =Reiniciar vista O =Órbita I =Información y Marco

    Abrir en una pestaña separada


    Lectura adicional

    Aunque el conjunto de Mandelbrot se define por una regla muy simple, posee propiedades interesantes y complejas que se pueden ver gráficamente si prestamos mucha atención a las imágenes generadas por computadora. Por ejemplo, una pregunta geométrica que podemos hacer: ¿Está conectada? Es decir, ¿es sólo de una pieza? Esto resulta ser cierto, y lo demostraron Adrien Douady y John H. Hubbard en los 80′s.

    El conjunto de Mandelbrot ha sido ampliamente estudiado y no pretendo cubrir aquí todas sus fascinantes propiedades. No obstante, si quieres conocer más detalles te recomiendo que consultes las obras de B. B. Mandelbrot:

    También te recomiendo estos videos de Numberphilie:

    Los applets se hicieron con GeoGebra y p5.js. El código fuente está disponible en los siguientes enlaces:

    Si quieres aprender a programarlo tú mismo, te recomiendo este tutorial

    Finalmente, si eres experto en la programación, entonces puedes traducir fácilmente el pseudocódigo a continuación a C++, Python, JavaScript o cualquier otro lenguaje. Por cada píxel en la pantalla realice esta operación:

    {
      x0 = x co-ordinate of pixel
      y0 = y co-ordinate of pixel
      
      x = 0
      y = 0
      
      iteration = 0
      max_iteration = 1000
      
      while ( x*x + y*y <= (2*2) AND iteration < max_iteration )
      {
        xtemp = x*x - y*y + x0
        y = 2*x*y + y0
        
        x = xtemp
        
        iteration = iteration + 1
      }
      
      if ( iteration == max_iteration )
      then
        color = black
      plot(x0,y0,color)
      else
        color = iteration
      
      plot(x0,y0,color)
    }

    This page titled 5.5: El Set Mandelbrot is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Juan Carlos Ponce Campuzano.