Rainer Hegger Holger Kantz Thomas Schreiber
Exercise 1 using TISEAN Nonlinear Time Series Routines

Exercises using TISEAN
Part I: Exploring chaos in one-dimensional maps

Exercise I helps you to make the first steps with TISEAN and illustrates some properties of one dimensional chaotic maps. Due to the single phase space dimension, time series analysis in this case is analysis of numerical simulations in phase space.

The Hénon map
xn+1=1- axn2+byn
is a two-dimensional extension of the logistic equation, xn+1=1-axn2.

With b=0 and 0 < a < 2, the Hénon map creates a time series of the logistic equation, provided the intial condition for x is inside the interval [-1,1].

The routine henon allows you to generate a time series of the Hénon map of arbitrary length, for arbitrary parameters, arbitrary initial conditions, and after discarding transients. Click on henon to see the html-manual page. and type henon -h as a command line in a terminal window of your computer to see the on-line help. For proper usage of henon , you must specify the number of iterates to be produced by the -l# option, where # has to be replaced by an integer, say, 5000 for 5000 data points to be produced. Other options can be used to modify the defaults, and among them are the parameters of the map (the defaults correspond to the values originally used by M. Hénon himself, who "invented" the map).

Use gnuplot for a fast scan through the different scenarios (if you do not have gnuplot, store the data in output files and plot them with your favorite plot-program) in, e.g., the following way, where you have to specify a in -Aa of henon in the plot command:
yourcomputer:> gnuplot
gnuplot> set yrange [-1:1]
gnuplot> plot '< henon -B0 -Aa -l100' using 0:1 with linespoints.
The plot command combines the successive iterates with lines and helps to guide the eye, but if you want to plot more than about 500 points you should use with points or even with dots, instead. You should observe this way:
A not very elegant but simple way to plot a full bifurcation diagram using gnuplot and the henon routine is to load the file henon.gnu in gnuplot: load 'henon.gnu', where you can easily include more parameter values.

When a scalar time series is generated by a one-dimensional map, a time delay embedding of lag one shows the graph of the map xn+1=f(xn). The routine delay by default produces a two-dimensional delay embedding with unit time lag. The -d# option sets a different lag.
Use plot '< henon -B0 -Aa -l5000 | delay' with dots in the following for several values of a.
trouble? The invariant measure:
histogram produces a histogram of the input data, where several options can be used for adjusting, e.g., the number of bins.
Compute the histograms of the distribution of the variable x of the logistic equation for various parameter values (e.g.: gnuplot> plot '< henon -B0 -A2 -l10000 | histogram -b100' with hist). When a sufficiently long transient has been discarded, such a histogram is the approximation to the invaraint measure on the bins of the histogram. Verify numerically:
Lyapunov exponent:
When performing numerical simulations, Lyapunov exponent(s) should only be computed by direct iteration in tangent space, not by time series analysis! Nonetheless, here we use time series analysis: Use lyap_k and lyap_r to compute the (only) Lyapunov exponent of the logistic equation for a=2 :
mycomputer:> henon -l10000 -B0 -A2. | lyap_k -M4 -n1000 -s20 -o lyap_k.dat
mycomputer:> henon -l10000 -B0 -A2. | lyap_r -s20 -o lyap_r.dat
mycomputer:> gnuplot

gnuplot> plot 'lyap_k.dat' with lines, x*log(2.)-8, 'lyap_r.dat' with lines
Can you thus confirm the precise value lambda = ln(2) ? Study the resulting plots as a function of the trajectory length. Also, add noise to the data using addnoise or makenoise .
You should observe that more than about 2% of noise (in root mean square sense) will destroy the straight lines with slope log(2.).