Exercise 2.2: Hénon map In Numerical study of quadratic area-preserving mappings (Commun. Math. Phys. 50, 69-77, 1976), the French astronomer Michel Hénon proposed the following map as a model of the Poincaré map of the Lorenz attractor. Exploring the dynamics of the Hénon map. The Hénon map is described by the pair of first-order difference equations eqn (1): { xt+1 = 1 ax 2 t + y t y t+1 = bx t (1) where a and b are parameters. If we write the second equation above as y t = bx t 1, we have: x t+1 = 1 ax 2 t + bx t 1 then the Hénon map becomes a map of a single variable with two time delays. The code below is written with the original values a = 1.4 and b = 0.3. The number of iteration after the transient is n = 2000. #Hénon map a<- 1.4 b<- 0.3 ntrans<- 500 # transient n<- 2000 # iterations after the transient nt<- ntrans+n x<-numeric() y<-numeric() x[1]<- 0.5 y[1]<- 0.5 plot(0,0,type="n",xlab="",ylab="",xlim=c(-1.5,1.5),ylim=c(-0.5,0.5), cex.lab=1.5,cex.axis=1.2) for(i in 2:nt){ x[i]<-1-a*x[i-1]^2 +y[i-1] # x_(n+1) = 1 - a (x_n)^2 + y_n y[i]<-b*x[i-1] # y_(n+1) = b x_n } points(x[ntrans:nt],y[ntrans:nt],pch=20,cex=1) Exercise: Run the code above and explore the behaviour of the map. Change the values of the variables. Solution: Below we are described the features of the Hénon map, with the attractor and its fractal features. The result, reported in Fig. 1, shows the chaotic behaviour of the map, known as Hénon attractor. In the following figures (Fig. 2) we magnified part of Fig. 1 with two successive zooms so that the attractor reveals clearly its fractal structure. Below, we report the x- and y-intervals and the number n of iteration after the transient. Fig. 2 (left): [0 x 0.5], [0.1 y 0.3], n = 5000. 1
0.4 0.2 0.0 0.2 0.4 1.5 1.0 0.5 0.0 0.5 1.0 1.5 Figura 1 Hénon map (1) with a = 1.4 and b = 0.3, n = 2000. 0.10 0.15 0.20 0.25 0.30 0.206 0.208 0.210 0.212 0.0 0.1 0.2 0.3 0.4 0.5 0.305 0.310 0.315 0.320 Figura 2 Details of Fig. 1 highlighting the self-similarity. Left: n = 5000, right n = 10000. Note the axes scales. 2
Fig. 2 (right): [0.302 x 0.320], [0.205 y 0.213], n = 10000. We see, for instance, that the curve which has its vertex around x 0.3 and y 0.21 and which appears in Fig. 2 (left) as a single curve, in Fig. 2 (right) it is visible that there are two separated curves. The Hénon map shows a variety of dynamical behaviours by changing the parameters values. For instance (see Fig. 3): a = 0.5 and b = 0.5: fixed point at (1, 0.5) a = 0.2 and b = 0.5: 2-period cycle (1.809, 0.3455) and (0.691, 0.904) 1.0 0.8 0.6 0.4 0.2 0.0 0.0 0.5 1.0 1.5 2.0 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.5 1.0 1.5 2.0 Figura 3 Hénon map (1); left: fixed point (a = 0.5, b = 0.5), right: 2-period cycle (a = 0.2, b = 0.5). For both plots, the initial point is (0, 0) and to see the approach to the stable points, the transient ntrans is put to 0. Compute the bifurcation diagram of the Hénon map. Following the code: Code 2.4 Nonlinear logistic map: bifurcation diagram we compute, with the code listed below, the bifurcation diagram of the Hénon map, with b = 0.3 and 0 a 1.4. For the choice of the transient value and the number of iterations, see the comments on the Code 2.4 # Hénon map: bifurcation diagram # the parameter b is fixed to 0.3, the parameter a varies between 0 and 1.4 b<- 0.3 ntrans<- 100 # transient n<- 200 # number of iterations after the transient nt<- ntrans+n # total number of iterations ain<- 0. # the parameter a begins at ain afin<- 1.4 # the parameter a ends at afin a<- seq(ain,afin,by=0.01) na<- length(a) # number of a step x<- matrix(,na,nt+1) y<- matrix(,na,nt+1) plot(0,0,type="n",xlab="a",ylab="", 3
xlim=c(0,1.4),ylim=c(-1.5,1.5),cex.lab=1.5,cex.axis=1.2) for(i in 1:na) { # starting loop on a values x[i,1]<- 0. y[i,1]<- 0. for(j in 1:nt){ # starting loop on the iterations y[i,j+1]<- b*x[i,j] x[i,j+1]<- 1-a[i]*x[i,j]^2 +y[i,j] if(j > ntrans) points(a[i],x[i,j],pch=.,cex=3) } # ending loop on the iterations } # ending loop on a values Figure 4 shows the result. We see clearly that before a 0.4 the sequence of the ite- 1.5 1.0 0.5 0.0 0.5 1.0 1.5 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 a Figura 4 Bifurcation diagram of the Hénon map with b = 0.3 and 0 a 1.4 rates converges to a fixed point. For instance, if a = 0.1, x 1.2170. After, the first bifurcation appears, the sequence of the iterates converges to a 2-period cycle. If a = 0.6, x 1 0.2203 and x 2 1.3870. The following period doubling cascade leads the iterates into the chaotic region. Describe what happens in the Hénon map when a = 1.3. A suggestion: put ain<- 1.3 and afin<- 1.3. Only the attractor fixed points are plotted (how many?). S. H. Strogatz (Nonlinear Dynamics and Chaos, Avalon Publishing, 1994) points out similarities and differences between the Hénon map and the Lorenz system. Also the logistic map is compared. Some important points are listed below. All trajectories of the Lorenz system are bounded, while both in the Hénon map and in the logistic map some iterates can be diverge to infinity if they start outside of a basin of attraction. For the logistic map, iterates rapidly diverge toward if the initial points are outside the interval [0, 1]. 4
As in the Lorenz system, also in the Hénon map, there are trapping regions, in which the strange attractor is contained inside. The Hénon map, as the Lorenz system, is invertible. Each point has a unique precursor, while in the logistic map each point has two pre-images, as we noted, commenting Fig. 2.18. The Hénon map is dissipative if b < 1, that is the areas in phase space contract at a constant rate. 5