**Warning**: include(/include/navi.inc): failed to open stream: No such file or directory in **/kunden/chaospro.de/webseiten/lyap.php** on line **4**

**Warning**: include(): Failed opening '/include/navi.inc' for inclusion (include_path='.:/usr/local/lib/php') in **/kunden/chaospro.de/webseiten/lyap.php** on line **4**

### Lyapunov Space - Theory

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

**Last update on Nov 26 2002.**