I'm trying to calculate the Lyapunov exponent for a simple dynamical system, but I think I have misunderstood the equation. My calculations constantly lead to zero, although I'm varying initial conditions and other parameters and the system definitely is not stable but chaotic when I'm plotting it. I can't seem to figure out what's wrong, especially since when I look at the equation and only realize that the Lyapunov exponent always should be zero! Obviously my understanding is lacking!
The equation I have used is
$$\lambda= \lim_{n → \infty} \frac{1}{n} \sum\limits^{n-1}_{i=0} \log \left |f'(x_i) \right|$$
When $n\rightarrow \infty$ I think that the Lyapunov exponent, $\lambda$, should be zero because of the $1/n$ factor, so what am I not understanding? I'm also feeling a bit confused about what the iterator variable, $i$, is. Is it the time step? But shouldn't the Lyapunov exponent compare trajectories to each other? How are these included in the equation? I feel like I have not understood the definition of the Lyapunov exponent, so I hope someone can explain a little!
Answer
$$\lambda= \lim_{n → \infty} \frac{1}{n} \sum\limits^{n-1}_{i=0} \log \left |f'(x_i) \right|$$
When $n\rightarrow \infty$ I think that the Lyapunov exponent, $\lambda$, should be zero because of the $1/n$ factor, so what am I not understanding?
No, the number of summands in your sum is going towards $∞$ as fast as your $\frac{1}{n}$ factor is going towards $0$. For finite $n$ (i.e., in application), the equation means that you get as many values of $\left |f'(x_i) \right|$ as you can and average them.
I'm also feeling a bit confused about what the iterator variable, $i$, is. Is it the time step?
If by time step you mean the time step of integrating a continous-time system (i.e., a differential equation), then you are applying the wrong formula. (Still, applying this formula should give you something different from $0$, just not the Lyapunov exponent.)
The above formula only works for discrete-time systems (i.e., maps), whose iterations you may call time steps.
But shouldn't the Lyapunov exponent compare trajectories to each other? How are these included in the equation?
As said above, the equation you are using only works for maps, which have no trajectories. Suppose the current state of our system is $x_i$ and the perturbed state is $x_i+ε$ (with $ε≠0$ for a change). The separation of your perturbed system from your unperturbed one at the next time step is $f(x_i+ε) − f(x_i)$. And the ”local” Lyapunov exponent $λ_i$ – i.e., the Lyapunov point for the very point $x_i$ – is:
$$ λ_i = \lim_{ε→0} \log \left | \frac{f(x_i+ε) − f(x_i)}{ε} \right | = \log \left | \lim_{ε→0} \frac{f(x_i+ε) − f(x_i)}{ε} \right | = \log \left | f'(x_i) \right | $$
In the last step, we use the very definition of $f'$. (To get the “global” Lyapunov exponent, just average over the local ones.)
No comments:
Post a Comment