Es casi seguro que no quieres todo el espectro de Lyapunov, sino sólo los dos, tres o quizá cuatro exponentes de Lyapunov más grandes. Estrictamente hablando, dos son suficientes para mostrar el hipercaos, pero es posible que quieras ir a por el primer cero uno como comprobación de cordura. Obtener, por ejemplo, el centésimo exponente de Lyapunov requiere mucho tiempo de cálculo y su resultado será probablemente muy inexacto. Lo más importante es que no se gana nada con ello. Tampoco es necesario para la dimensión de Kaplan-Yorke.
Dicho esto, si no quieres trabajar con el jacobiano, la separación de órbitas es el camino a seguir. Más concretamente, se integran muchas versiones ligeramente diferentes del sistema y se observa cómo evoluciona su separación (los vectores de Lyapunov). Para los exponentes de Lyapunov más allá del primero, tienes que tener cuidado de eliminar regularmente cualquier componente en la dirección de los vectores de Lyapunov anteriores.
Técnicamente, el procedimiento para los dos primeros exponentes de Lyapunov es:
-
Seleccione algunos parámetros ε que representa el tamaño de una pequeña perturbación, y τ que representa el intervalo de reescalado. Para la mayoría de los sistemas, ε=10−12 es una buena opción. Utilice un puñado de oscilaciones de su dinámica para τ pero más adelante se hablará de esta elección.
-
Cree tres instancias de su sistema, y llame para denotar sus estados en el momento t por y0(t) , y1(t) y y2(t) .
-
Establecer la condición inicial y0(0) a algo en el atractor. Establecer y1(0)=y0(0)+ε⋅r1 y y2(0)=y0(0)+ε⋅r2 , donde r1 y r2 son vectores aleatorios.
-
Integrar para τ unidades de tiempo.
-
Calcula v1(t)=y1(t)−y0(t)|y1(t)−y0(t)|;λ1(t)=1τlog(|y1(t)−y0(t)|ε).
v1 es su primer vector de Lyapunov. λ1 es su primer exponente local de Lyapunov. Si |y1(t)−y0(t)| no es mucho menor que el diámetro de su atractor, su elección de τ es demasiado alto.
-
Calcula v2(t)=y2(t)−y0(t)−⟨y2,v1⟩v1|y2(t)−y0(t)−⟨y2,v1⟩v1|;λ2(t)=1τlog(|y2(t)−y0(t)−⟨y2,v1⟩v1|ε).
v2 es su segundo vector de Lyapunov. λ2 es su segundo exponente local de Lyapunov. Obsérvese que esto es análogo al paso 5, salvo que se elimina la proyección sobre v1 .
-
Set y1(t)=y0(t)+εv1(t) y y2(t)=y0(t)+εv2(t) . Este reescalado es asegurarse de que sus separaciones sean pequeñas.
-
Vaya al paso 4.
Después de esto se puede promediar el λ1 y λ2 (excepto los primeros) para obtener los respectivos exponentes de Lyapunov.
También se podría estimar el jacobiano a partir de diferencias finitas, pero eso es sólo sustituir una ε con otro.