The Lyapunov Space is similar to a Bifurcation diagram. There a formula was used, which - with some creative mind - could be interpreted as the development of a population. Depending on the growth rate there was shown, whether a balance exists in the population (an attractor for the system) and if there is one, what type of balance (the lenght of this eventually existing cyclus).
The Lyapunov Space now has 2 growth rates, which vary in a periodic fashion.
This 'periodic fashion' is defined by a sequence string. For example AAABB means the following:
Iteration step 1: Take growth rate A Iteration step 2: Take growth rate A Iteration step 3: Take growth rate A Iteration step 4: Take growth rate B Iteration step 5: Take growth rate B (repeating sequence...) Iteration step 6: Take growth rate A Iteration step 7: Take growth rate A Iteration step 8: Take growth rate A Iteration step 9: Take growth rate B Iteration step 10: Take growth rate B
Now we have to determine whether the system behaves chaotic or stable. We do this by calculating the so called Lyapunov Exponent, which is defined as follows:
lim log( |f'(x1) * f'(x2) * ... * f'(xn) | ) n->oo ----------------------------------------- n
One can interpret this exponent as follows:
If negative, then the average derivation of f at the orbit points is smaller than 1, i.e. the system is contractive. Otherwise the average derivation is greater than 1, so the system is expansive, it behaves chaotic.
In practice we cannot calculate a limes. So we stop after some iterations (after Maxit iterations). In order to improve the approximation of the Lyapunov Exponent we start calculating after m iterations to give the system a chance to decide where to go.
So we calculate:
log( |f'(xm) * f'(xm+1) * ... * f'(xm+n) | ) ----------------------------------------- n+1
Now an example algorithm could look as follows:
X=0.5 ; the population start value... A=2.3 ; Growth rate A B=0.8 ; Growth rate B Sequence=AABAB ; Sequence: How should A and B vary? ; Just iterate several times ; for improving the exponent FOR N=1 TO 4000 ; R is A or B, see sequence... X=R*X*(1-X) NEXT N ; Now lets calculate the Lyapunov Exponent Sum=1 FOR N=1 TO 6000 ; R again is A or B, see sequence... X = R*X*(1-X) ; now calculate exponent Sum = Sum * |R-2*R*X| NEXT N Exponent=log(Sum)/6000 ; calculate the average