ATRACTORES EXTRAÑOS

| miércoles, 24 de junio de 2009
UNIVERSIDAD DE GUADALAJARA
CUCEI

INTRODUCCIÓN AL CAOS DETERMINISTA
CON DYNAMIC SOLVER


“…Una inteligencia que en un momento determinado conociera todas las fuerzas que animan a la naturaleza, así como la situación respectiva de los seres que la componen, si además fuera lo suficientemente amplia como para someter a análisis tales datos, abarcaría en una sola formula los movimientos de los cuerpos más grandes del universo y los del átomo mas ligero; nada le resultaría incierto y tanto el futuro como el pasado estarían presentes ante sus ojos. El espíritu humano ofrece en la perfección que ha sabido dar a la astronomía un débil esbozo de esta inteligencia.”

Pierre Simón Laplace


Introducción al caos determinista con Dynamic Solver

En este archivo expongo el comportamiento de un sistema de ecuaciones en el programa Dynamics Solver a fin de conocer las características del programa y como funciona.
Trabajo con 2 sistemas dinámicos en particular el “atractor de Lorenz” y el “Atractor de Rössler” los cuales tienen una solución aparentemente irregular lo que nos va a ayudar a comprender más la dinámica con la que trabaja el programa.

UNA BREVE EXPLICACION:

En algunos sistemas dinámicos la dependencia entre las partes que configuran el sistema es muy sensible y una pequeña variación en las condiciones iniciales supongamos por ejemplo en t=0: (x,x’)=(0.4,0) y (x,x’)=(0.40001,0), provocan cambios muy drásticos en el resultado final. Se dice que este tipo de sistemas son muy inestables debido a que sus trayectorias cambian mucho pero su comportamiento cualitativo se mantiene, a esta dinámica tan compleja se suele denominar caos determinista. Aunque no se conoce una definición precisa de este término cuando un sistema presenta una dependencia sensible en las condiciones iniciales esto nos impide poder conocer el comportamiento de las trayectorias y es de ahí que se deriva la componente “caótica” o irregular de su comportamiento.

Así que la dependencia sensible en las condiciones iniciales es primordial en un sistema caótico, ya que aunque parece que estos fenómenos se comportan al azar, en realidad no lo son y además las partes que los conforman son sensiblemente dependientes en los parámetros.

Este obstáculo a la predicción de un sistema caótico se conoce como “efecto mariposa” desde que uno de los padres de la disciplina Edward Lorenz dio una charla con el título "puede el batir de las alas de una mariposa en Brasil dar lugar a un tornado en Texas?".


Fractalidad de Atractores Extraños

Un fractal es un objeto semi geométrico, cuya estructura básica, fragmentada o irregular se repite un numeró infinito de veces a diferentes escalas.

Ese es el término general pero, ¿cómo se relacionan los fractales con los Atractores Extraños? , debido a que los Atractores nunca repiten la misma trayectoria y nunca se intersecan tienen una capa infinita que siempre se dirige a una dirección en particular, esta propiedad le da una estructura fractal al sistema no lineal.

ECUACIONES DE LORENZ

Unos de los sistemas dinámicos más simples que se presentan en la mayoría de los libros de texto son los sistemas de Lorenz y Rössler.

Sistemas de Ecuaciones de Lorenz

dx/dt = a*(y-x), (1.1)

dy/dt = x*(c-z)-y, (1.2)

dz/dt = x*y-b*z (1.3)

Lorenz derivo estas ecuaciones para describir un modelo simplificado de un flujo bidimensional y encontró un comportamiento irregular en las condiciones iniciales, cuando a=15, c=28 y b=2.667, donde a es el *numero de Prandtl, c el *numero de Rayleigh y b es una constante geométrica, el atractor tiene una dimensión fractal.

El comportamiento del modelo puede representarse trazando sus variables dependientes x, y y z, la evolución de estas variables traza una especie de doble espiral que nunca se repite a sí misma y nunca se intersecta a sí misma.

Al proyectar el eje (x, z) como se ve en la figura 1 de color rojo el “atractor” se parece a una mariposa, la proyección (x, y, z) es útil sobre todo para vislumbrar la tridimensionalidad del atractor.



Figura 1: Atractor caótico de Lorenz.

El atractor comienza el trazo “tejiendo” el perfil de un ala de la mariposa y entonces da una vuelta sobre la otra para dibujar su centro, y así sucesivamente. El atractor continuara trazando hacia atrás y hacia delante entre las dos alas, siendo su movimiento aparentemente aleatorio y hay que recordar que el atractor nunca repite la misma trayectoria

UTILIZANDO DYNAMIC SOLVER (LORENZ ATTRACTOR)

Dynamical System Type

Para poder graficar este sistema dinámico utilizando el programa Dynamics Solver primero vamos a determinar en qué sistema vamos a trabajar, para esto abrimos el programa nos vamos al menú file – new y a continuación tecleamos shift + ctrl + y , esto nos abrirá una ventana que nos da la opción de escoger el tipo de sistema dinámico con el que vamos a trabajar, seleccionamos la pestaña type y damos clic en la opción “system of ODEs” para decirle que vamos a trabajar con un sistema de EDO, en el segundo panel viene un cuadro de texto para escribir el orden de nuestro sistema de ecuaciones vamos a escribir 3 y presionamos ok.



Figura 2: Dynamical System Type.

Equations

Ahora el siguiente paso introducir las ecuaciones y determinar los parámetros si es que nuestro sistema los tiene, como ya sabemos que si, continuamos.

Presionamos shift + ctrl + e y se va desplegar una ventana directamente en la pestaña “Equiations”, abajo nos aparece un cuadro de texto donde se introducen las ecuaciones podemos ver que nada mas nos pide que escribamos a que es igual la derivada en este caso dx/dt por lo tanto escribimos solamente a*(y-x), desplazamos la barra hacia abajo y escribimos la siguiente ecuación que es x*(c-z)-y y por ultimo x*y-b*z.



Figura 3: Ecuaciones, parámetros y variables.

Ahora que ya introducimos el sistema de ecuaciones tenemos que indicar cuánto vale a, c y b en la pestaña “Parameters” así que damos clic y en el cuadro de texto debajo de parameter #1 escribimos a = 15, bajamos c = 28 y por ultimo b = 2.667.

El siguiente paso aunque no es necesario, es cambiar los nombre de las variables así que ahí mismo damos clic en la pestaña variables y nos da la opción de cambiar tanto la variable independiente que es el tiempo como las dependientes que son x, y, z vamos a dejar la variable independiente como esta en (t) y solo cambiaremos las dependientes abajo donde dice “collective name(s)” en el cuadro de texto donde aparece x ponemos “xx” y debajo de “individual name(s)” vamos a modificar los nombres de nuestras derivadas en x[1] ponemos x, en x[2]: y y en x[3]: z, presionamos ok y ya está terminado nuestro sistema de ecuaciones.

Initial Values

Las condiciones iníciales se introducen en la ventana “Definitions - Initial Values” como tenemos un sistema de tres ecuaciones diferenciales y vamos a trabajar sobre el plano (x, y, z) en” initial values” escribimos “x0[1]= 0, x0[2] = 0.1, x0[3]= 0” esto es equivalente a decir que las C.I. son (0, 0.1, 0).

Graphics Output

La segunda cosa más importante es nuestra salida de grafico ya que sin él no sabemos cómo se comporta el sistema así que lo primero que hacemos es presionar la combinación de teclas shift + ctrl + g y se abrirá una ventana, en la pestaña “expressions” escribimos donde dice “title” el titulo de la ventana donde se va a proyectar nuestro grafico en este caso vamos a proyectarla desde el plano (x,y) así que para tener un orden ponemos como título “plano (x,y)” más abajo definimos el eje horizontal “horizontal axis” y el eje vertical “vertical axis” como habíamos cambiado los diferenciales vamos a sustituir x[1] por “x” y x[2] por “y”, para el eje horizontal definimos que vaya de -20 < x < 20 y para el eje vertical de -10 < y < 10 hacemos clic en ok.



Figura 4: Salida de grafico.

Go

Para correr el programa presionamos shift + enter, lo podemos pausar con la tecla escape y para continuarlo shift + ctrl + u, para volverlo a correr pausamos el programa y limpiamos la pantalla con ctrl + delete.
Ya tenemos nuestro sistema de ecuaciones y nuestro grafico visualizado desde el plano (x, y) pero, qué pasa si queremos verlo desde el plano (y,z) o (x,z) o incluso en las tres coordenadas? Bien pues para poder hacer esto no necesitamos cambiar algo en las ecuaciones simplemente agregar otra ventana presionando shift + ctrl + g se abre una graph window #2 y hacemos el mismo proceso ya mencionado solo que esta vez elegiremos para el plano (x,z) nuestro eje horizontal como -25 < x < 25 y nuestro eje vertical como -50 < z < 50 hacemos clic en ok, para el plano (y, z) el eje horizontal ira desde -25 < y < 25 y el eje vertical desde -50 < z < 50 y tendremos nuestras tres ventanas.



Figura 5: Configuración de los ejes y vistas de cada plano.

Si queremos graficar el sistema en el plano (x, y, z) prácticamente hacemos el mismo procedimiento solo que vamos a cambiar las variables de los ejes horizontal y vertical por dos funciones de programación, por ejemplo: para el eje horizontal escribimos -25 < projx(x,y,z) < 25 y para el eje vertical -10 < projy(x,y,z) < 50 esta función nos permite visualizar nuestra salida del grafico en 3D .
Para tener una mejor vista de las ventanas en el menú “window” seleccionamos “tile vertical”.

Draw

La herramienta “Draw” es muy importante ya que nos permite darle una mejor presentación a nuestra grafica y hacerla más comprensible a la hora de analizar su comportamiento.
Dibujaremos unos ejes a nuestra grafica. Hay dos formas de dibujarle ejes una es con la herramienta draw y otra en la pestaña format - Axes de nuestra ventana Graphics output.

Format

Utilizando la pestaña format primero seleccionamos una ventana de grafico por ejemplo la que tiene por título “plano (x, y)”, abrimos “graphics output” con shift + ctrl + f y damos clic en la pestaña “format” ahora escribimos en “Axes: -1E10 0 1E10 0 0 -1E10 0 1E10”, esto quiere decir que nuestro eje horizontal ira desde -1E10 < x < 1E10 y el eje vertical desde -1E10 < y < 1E10 damos clic en ok y aparecerán los ejes en la ventana (x,y).



Figura 6: Formato sencillo para los ejes desde graphics output.

Drawing tool
·Axes

La segunda opción es un poco más difícil utilizando la herramienta draw (dibujo). Seleccionamos la ventana (y, z), vamos al menú “draw – edit element” o para un camino más rápido presionamos alt + d + e y se abrirá una ventana “graphics element”, hacemos clic en new y elegimos el tipo de elemento “axes” después nos mostrara una ventana para configurar nuestros ejes así que escribimos en “horizontal: y , vertical: z” ,lo siguiente x0 y y0 los dejamos como están en 0 para que el origen aparezca en el centro de la pantalla hay que definir la altura y anchura de los números “Height: 1.5 y Width: 0.8” , por último el tipo de línea (line type) lo dejamos en 1 entre más grande es el numero mayor será el grosor de los ejes, podemos cambiar el color de los ejes en el botón de color y clic en ok.



Figura 7: Formato de los ejes con la herramienta draw (axes).

·3-Curve

Con esta información podremos configurar los ejes de los tres planos en 2D pero ¿cómo podríamos dibujar unos ejes para el plano (x, y, z)? , una opción es hacerlo con la herramienta draw seleccionando la ventana del plano (x, y, z), presionamos alt + d + e se despliega la ventana “graphics elements” y clic en new, como tipo de elemento seleccionamos “3-curve” y proseguimos a configurar nuestra primer línea desplazada en el eje x, entonces escribimos en “x: t, y: 0, z: 0” , lo demás lo dejamos como esta en 0 a excepción de t2 donde vamos a escribir “t2: 20”, esto quiere decir que el eje x ira desde 0 < x < 20.



Figura 8: Formato de los ejes con la herramienta draw (3-curve).

Ya tenemos nuestro eje x con magnitud igual a 20 ahora para dibujar el eje y damos clic en el botón de la parte superior “new” y en “type” seleccionamos de nuevo 3-curve los pasos a seguir son exactamente los mismos solo que ahora en términos de y, escribimos en “x: 0, y: t, z: 0”, y en “t2: 24” para que nuestro eje y vaya de 0 < y < 24. Por último seleccionamos “new – type: 3-curve” y hacemos el mismo procedimiento para el eje z,” x: 0, y: 0, z: t” con “t2: 50” damos clic en ok y aparecerán los tres ejes dibujados en el plano (x,y,z).

·Text

La herramienta text es muy útil ya que nos permite proyectar una cadena, una letra o un símbolo en nuestra salida de grafico por ejemplo para el caso del plano (x, y, z) a simple vista no sabemos cuál es el eje x, y o z entonces lo primero que hacemos es asegurarnos a qué posición la queremos, podemos situar el cursor a la altura donde queremos insertar la x por ejemplo y en la parte inferior derecha de nuestra ventana nos aparecen las coordenadas las anotamos porque las vamos a utilizar. A continuación presionamos alt + d + e y clic en el botón new elegimos como tipo de elemento “text” escribimos para el eje x en “string: X” y las coordenadas (posición del texto) será para “X: -10.5” e “Y:-6.6”, “height: 4, Width: 1” y un tipo de línea “line type: 2” hacemos clic en ok y vamos a ver la letra X dibujada arriba de nuestro eje x.
De esa forma podemos dibujar a nuestros ejes las componentes (x, y, z) por ejemplo para el eje y el proceso es el mismo solo que las coordenadas son las siguientes “Y: 20.3” y en “Y: -2.2”, en el eje z tenemos que la siguiente posición “X: 0.9, Y: 43.21”.



Figura 9: Formato de texto con la herramienta draw (text).

Poco a poco nuestra salida de grafico tiene una mejor presentación y con la información que se ha presentado hasta ahorita haremos un diseño más presentable en el próximo ejemplo, simplemente utilizando la herramienta draw.


ECUACIONES DE RÖSSLER

Existe un ejemplo que permite comprender mejor uno de los mecanismos fundamentales del caos: el sistema de Rössler que se escribe como

dx/dt = - y – z, (1.4)
dy/dt = x+b*y, (1.5)
dz/dt = b + (x-a)*z (1.6)

y que estudiaremos cuando a=4.5 y b= 0.2, como podemos observar una parte importante del tiempo está cerca del plano (x,y) donde en la dinámica del sistema seria como tomar z=0 en las ecuaciones (1.4) y (1.5):

dx/dt = - y – z, (1.7)
dy/dt = x+b*y, (1.8)



Figura 10: Atractor de Rössler desde el plano (x, y).

Esto explica cómo se mueve el sistema cerca del plano z=0 en una espiral hacia fuera, hasta que cerca del semieje positivo x el valor de x es lo suficientemente grande como para hacer dz/dt > 0 en (1.6). Entonces z empieza a aumentar hasta que bastante antes de llegar al semieje negativo x, dz/dt se hace negativo y comienza a decrecer de forma que la órbita vuelve a acercarse al plano z=0. Cuando z se aproxima a cero y durante los tramos en que dz/dt es positivo la distancia entre soluciones muy próximas crecerá exponencialmente, es decir habrá dependencia sensible en las condiciones iníciales como se ve en la figura 11, las orbitas se separan entre si y las que están en una cierta banda cerca de z=0, se hallaran en una banda que sigue ensanchándose cuando dz/dt > 0 pero que luego se repliega sobre la banda que hay cerca del plano (x, y). Este doble proceso de estirar (para separar exponencialmente las orbitas) y plegar es uno de los mecanismos fundamentales del caos determinista, por la forma que toma el sistema se le llama transformación del panadero.



Figura 11: La transformación del panadero.

En otras palabras el sistema se estira y se repliega, con un cambio sensible en el eje x cuando es positivo ya que el eje z empieza a aumentar y cuando se va acercando al eje x negativo, z disminuye, esto es lo que hace que el atractor sea caótico.



Figura 12: Atractor de Rössler visto desde cuatro planos diferentes.

También observamos que el atractor sigue una trayectoria que nunca se repite y tiene un número de capas infinito de manera que esto le da al atractor una forma fractal como se muestra en la figura 14.



Figura 13: Atractor de Rössler (estructura fractal).


UTILIZANDO DYNAMIC SOLVER (RÖSSLER ATTRACTOR)

Analizaremos el comportamiento de la dinámica del atractor de Rössler con Dynamic Solver, la proyección de nuestros planos será igual que en el primer ejemplo trabajaremos con las mismas condiciones iníciales (0, 0.1, 0), tambien le daremos una mejor presentación con la herramienta draw y un código de programación para nuestra salida de grafico (x, y, z).

Iniciaremos definiendo el tipo de sistema con el que vamos a trabajar, sabemos que es un sistema de 3 ecuaciones así que en “Dynamical System Type” elegimos el sistema de tercer orden y a continuación escribimos las ecuaciones (1.4), (1.5) y (1.6). Una vez que hayamos hecho esto definimos los parámetros a=4.5 y b=0.2 y modificamos nuestras variables a sus correspondientes (x, y, z) como hicimos en el primer ejemplo.

Plano (X, Y)

Comenzamos con la vista del plano (x, y) proyectando nuestra primer salida de grafico (graphic window #1). Como ya sabemos presionamos shift + ctrl + g para configurar la primera ventana de graphics output, entonces le damos el título de “plano (x, y)”, el eje horizontal ira desde -20 <>-10 <> después seleccionamos la pestaña format para crear unos ejes y escribimos en “Axes: -20 0 20 0 0 -10 0 10” terminamos y damos clic en ok.



Figura 14: Salida de grafico del plano (x, y).

Ya tenemos una salida de grafico para el plano (x, y) ahora definimos los ejes x e y con la herramienta draw así que seleccionamos la ventana “plano (x, y)” y presionamos alt + d + e, como nuevo elemento elegimos “Text”, escribimos en “String: X” y a continuación la posición que estará situada en el punto “X: 18.4, Y: 0.5“ así como la altura y anchura “Heght: 1.3, Width: 1.3”,como tipo de línea “line type: 1” y una fuente “Font: 4”.

Seleccionamos otro nuevo elemento de texto y haremos lo mismo para el eje Y utilizando la misma configuración excepto que la posición estará situada en “X: 0.4, Y: 8.5”, delimitaremos un segmento de línea (de frontera) que tiene el atractor en el eje X en -7.2, entonces seleccionamos un nuevo elemento de tipo “Segment” y lo configuramos de la siguiente manera: va estar posicionado en “X: -7.2, Y: -2“.

Tendrá una altura “Length: 4” una dirección de 90 ̊ (para que este paralelo al eje Y) “Direction: 90 ”, el tipo de línea y “steps” los dejamos en 1. Antes de dar clic en ok terminaremos dibujando el carácter “-7.2” debajo del segmento de línea, para esto agregamos otro tipo de elemento “Text” y lo posicionamos en “X: -10, Y: -4”, “Height: 1.5 y Width: 1”, como tipo de línea 1 y fuente “Font: 4” y clic en ok.



Figura 15

·Colors

Ya tenemos nuestro plano (x, y) bien configurado ahora elegimos un color para el atractor, presionamos shift + ctrl + o, y se abrirá una ventana “colors”.

Colors nos da la opción de elegir un color para las propiedades de nuestra ventana grafica, en el primer panel hay 4 opciones:

Drawing pen.- Edita el color de la grafica.
Axes.- Edita el color para los ejes.
Direction Field.- Edita el color para las direcciones del campo.
Background.- Edita el color para el fondo de pantalla.



Figura 17: Herramienta colors.

En el segundo panel “Select” definimos el color y si damos doble clic en alguno se abrirá una ventana con más opciones de colores.

El tercer panel “Width” seleccionamos la anchura de la línea.

Elegimos un color para el atractor seleccionando “drawing pen” seguido del color azul marino y dando una anchura de línea “Width: 0”.

Plano (Y, Z)

Nuestro plano (y, z) tendrá un eje horizontal -20 < y < 20, vertical -5 < z < 20 y en la pestaña format unos ejes “Axes: -20 0 20 0 0 -5 0 20”.

Dibujaremos 8 elementos primero serán los ejes Y y Z seguidos de los 3 segmentos que delimitan al atractor en los ejes junto con el valor donde se posiciona cada uno de ellos, para esto seguiremos el ejemplo de la siguiente figura 18.



Figura 18

En la figura 18 vemos que los caracteres Y, Z y los segmentos de recta son blancos por lo tanto no se van a ver porque nuestro fondo “background” es blanco, hay que cambiar el fondo a color negro con la herramienta “Colors” Background – negro y un color azul claro para el atractor con Drawing pen.

Plano (X, Z)

Para el plano (X, Z) el eje horizontal ira desde -20 < x < 20 y el vertical desde -5 < z < 20 es la única configuración para la salida de grafico (Graphics Output), dibujaremos los ejes con Draw – Axes, escribimos en “Horizontal: X, Vertical: Z”, “Height: 1, Width: 0.8” y como tipo de fuente “Font: 4” los demás parámetros los dejamos en cero, clic en ok.



Figura 19

Plano (X, Y, Z)

El plano (x, y, z) es uno de los más llamativos por su movimiento 3D, así que le programaremos al atractor una salida de colores aleatoria desde la ventana “Graphics Output – Expressions”.

Introducimos el siguiente código en el eje horizontal:

-15 < projx(x,y,z) + if(fracc(t/10) < .01,HSV((t%1000)/1000,1,1),0) < 20,

En el eje vertical: -4 < projy(x,y,z) < 15, y damos clic en ok.

Draw

·3-curve

Ahora dibujaremos los ejes con la herramienta draw – 3-curve, escribimos en “x: t, y: 0, z: 0” y en “t2: 15” todo lo demás lo dejamos como esta. Así, hacemos lo mismo (agregando dos elementos más de 3 - curve) para el eje y “x: 0, y: t, z: 0”, “t2: 15” y para el eje z “x: 0, y: 0, z: t” y en “t2: 20”.



Figura 20

·Text

Agregamos 4 elementos de texto en el primero escribimos “String: Y” la letra Y que estará posicionada en “X: 13, Y: -2.2”, “Height: 1.5 y Width: 1” y una fuente “Font: 4”, el siguiente elemento es X que estará en la posición “X: -5.3, Y: -3.5” tendrá los mismos parámetros de altura, anchura y fuente que el eje Y así como también el eje Z que a excepción estará posicionado en “X: 1.2, Y: 13”. Por último escribimos una cantidad que será el valor de frontera del atractor con el eje Z, “String: 14.25”, “X: 2.1, Y: 9.5”, “Height: 1.5 y Width: 1” y una fuente “Font: 4”.



Figura 21

· Segment

Agregaremos un segmento de recta a la altura de Z = 14.25, entonces seleccionamos un nuevo tipo de elemento “Segment” que estará en la posición “X: 1.5, Y: 10” le damos una altura “Length: 3” apuntando hacia una dirección “Direction: 180”.

· Arrow

Las Flechas (arrow) son un nuevo elemento que hasta ahorita no hemos utilizado, simplemente son las flechas que se dibujan en los ejes y que apuntan hacia una dirección en particular, es un poco tedioso dibujarlas porque hay que definirles un ángulo (de abertura) y una dirección, para los planos en 2D es más fácil porque la dirección simplemente es de 90 o 180 grados pero en 3D la dirección para los ejes X e Y cambia como veremos a continuación:

Agregamos 3 elementos “Arrow”, la primera flecha apuntara hacia la dirección
del eje Z estará posicionada en “X: 0, Y: 15”, tendrá un tamaño “Size: 2”, un ángulo (de abertura) “Angle: 25” y apuntara hacia la dirección “Direction: 90”.



Figura 22

La segunda flecha apuntara en la dirección del eje Y estará situada en “X: 12.9, Y:-3.7” tendrá los mismos parámetros que la primera excepto que la dirección será “Direction: 345”.
La flecha del eje X estará en la posición “X: -4.7, Y: -4” será más pequeña con un tamaño “Size: 0.5”, “Angle: 25” y una dirección “Direction: 212”.

Ya tenemos completas nuestras cuatro salidas de grafico, podemos ver que los límites de los segmentos concuerdan con los del plano (x, z) como se muestra en la figura 23.



Figura 23

Numerical Method

Queremos analizar el comportamiento dinámico del sistema alentando el paso (step) de velocidad del atractor. Presionando shift + ctrl + r se abre una ventana “Numerical Method” y en la pestaña “range” vemos que en el panel derecho hay una opción “step” que esta en 0.01, entre más pequeño sea ese valor la velocidad de movimiento disminuye por ejemplo pongámoslo en 0.001 y notaremos como es mucho más lento.
Esto nos ayuda a comprobar la explicación que se dio del atractor de Rössler sobre su dinámica.

SISTEMAS CAOTICOS DE SPROTT

En 1994 Sprott hizo una búsqueda de caos determinista en sistemas tridimensionales no lineales y encontró 19 sistemas con dicha propiedad. Para todos estos sistemas existe evidencia de caos (dimensión fractal no entera del atractor extraño, dependencia sensible respecto a las condiciones iníciales, etc.), aunque no se ha logrado una demostración rigurosa.

Sistemas de Ecuaciones de Sprott

CASO A: dx/dt = y, dy/dt = -x+y*z, dz/dt = 1 – y2

CASO B: dx/dt = y*z, dy/dt = x-y, dz/dt = 1 – x*y

CASO C: dx/dt = y*z, dy/dt = x-y, dz/dt = 1 – x2

CASO D: dx/dt = -y, dy/dt = x+y, dz/dt = x*z + 3*y2

CASO E: dx/dt = y*z, dy/dt = x2- y, dz/dt = 1 – 4*x

CASO F: dx/dt = y+z, dy/dt = -x+0.5*y, dz/dt = x2 - z

CASO G: dx/dt = 0.4*x+z, dy/dt = x*z-y, dz/dt = -x+z

CASO H: dx/dt = -y+z2, dy/dt = x+ 0.5*y, dz/dt = x – z

CASO I: dx/dt = -0.2*y, dy/dt = x + z, dz/dt = x + y2 - z

CASO J: dx/dt = 2*z, dy/dt = -2*y + z, dz/dt = -x + y + y2

CASO K: dx/dt = x*y - z, dy/dt = x - y, dz/dt = x + 0.3*z

CASO L: dx/dt = y + 3.9*z, dy/dt = 0.9*x2- y, dz/dt = 1 – x

CASO M: dx/dt = -z, dy/dt = -x2-y, dz/dt = 1.7 + 1.7*x + y

CASO N: dx/dt = -2*y, dy/dt = x+z2, dz/dt = 1 + y – 2*z

CASO O: dx/dt = y, dy/dt = x - z, dz/dt = x + x*z + 2.7*y

CASO P: dx/dt = 2.7*y + z, dy/dt = -x + y2, dz/dt =x + y

CASO Q: dx/dt = -z, dy/dt = x - y, dz/dt = 3.1*x + y2 + 0.5*z

CASO R: dx/dt = 0.9 - y, dy/dt = 0.4 + z, dz/dt = x*y - z

CASO S: dx/dt = -x - 4*y, dy/dt = x+z2, dz/dt = 1 + x