WhitleyMapEigenvalues.nb
To run a cell, put the cursor anywhere in the cell.  Then type Shift-Enter, or hit the Enter key on the bottom right of the keyboard.  
To see help for the commands, like Do, or anything that is capitalized, select the work and hit F1 (or go to the Help menu).

The a-b plane for the Henon Map
Saddle Node Curve is snCurve (red)
Period Doubling Curve is pdCurve (blue)
Hopf Bifurcation Curve is hopfCurve (green)

snCurve = ParametricPlot[{a, -(1-a)^2/4}, {a, -1.5,3}, PlotStyle -> Red];
pdCurve = ParametricPlot[{a,(3a^2 + 2a - 1)/4}, {a, -2.5,1.8}, PlotStyle -> Blue];
hopfCurve = ParametricPlot[{a, (-2a+3)/4}, {a, -2, 2}, PlotStyle -> Green];
abPlane =Show[hopfCurve, snCurve, pdCurve, Graphics[{Text["no fixed points", {1,-1}],Text["(SubPlus[v]) source\n(SubMinus[v]) source", {-1,2}],Text["(SubPlus[v]) source\n(SubMinus[v]) saddle", {2.5,2}],Text["(SubPlus[v]) saddle\n(SubMinus[v]) source", {-2,-1}],Text["(SubPlus[v]) sink\n(SubMinus[v]) source", {-.5,.5}],Text["(SubPlus[v]) sink\n(SubMinus[v]) saddle", {2.1,0.6}], Arrow[{{1.6, .6}, {.75, .2}}]}],PlotRange -> All, AxesLabel ->{"a","b"}]

The next cell includes “test points”

a = 1; b =-0.8; (* lower region *)
a = -2; b =7/4; (* blue-green intersection *)
a = 2; b = -1/4; (* red-green intersection *)
a = 0.; b =-1/4; (* red-blue intersection *)
a = -2.; b =-1; (* left region *)
a =-1; b =2.; (* upper region *)
a = -.5; b =.5; (* center-left region *)
a = 2.5; b =2.; (* right region *)
a = .75; b =.2; (* center-right region *)

xp = ((a-1) + Sqrt[(1-a)^2 + 4b])/2;
xm = ((a-1) - Sqrt[(1-a)^2 + 4b])/2;
Dfp= {{0, 1}, {-2xp,a}};
Dfm= {{0, 1}, {-2xm,a}};
Print["xp = ", xp, ", xm = ", xm];
Print["Eigenvalues of fixed point (SubPlus[v]) =(xp, xp) are ", Eigenvalues[Dfp], " with magnitude ", Abs[Eigenvalues[Dfp]] ];
Print["Eigenvalues of fixed point (SubMinus[v]) =(xm, xm) are ", Eigenvalues[Dfm]];
Show[abPlane, Graphics@Point[{a, b}], PlotRange -> All]

runWhitley := Module[{},
xp = ((a-1) + Sqrt[(1-a)^2 + 4b])/2;
xm = ((a-1) - Sqrt[(1-a)^2 + 4b])/2;
Dfp= {{0, 1}, {-2xp,a}};
Dfm= {{0, 1}, {-2xm,a}};
title = "Whitley map, (x, y) ↦ (y, a y + b - (x^2))\n a = "<>ToString[a]<>", b = "<>ToString[b];
fofxy[x_, y_] := {y, a y + b - x^2}; (* the Whitley map. *);

figLeft = Show[abPlane, Graphics@Point[{a, b}], PlotRange -> All];
Print["xp = ", xp, ", xm = ", xm];
Print["Eigenvalues of fixed point (SubPlus[v]) =(xp, xp) are ", Eigenvalues[Dfp], " with magnitude ", Abs[Eigenvalues[Dfp]]];
Print["Eigenvalues of fixed point (SubMinus[v]) =(xm, xm) are ", Eigenvalues[Dfm]];
ic = {xp +.01, xp- .01};
f[v_] := fofxy[v[[1]], v[[2]] ];  (* maps points (lists) to points *)
pt = ic;
Do[pt = N@f[pt]
, {nTransients}
];
orbit = {pt};
Do[pt = f[pt];
If[Norm[pt]> 10^10, Print["Orbit blew up"]; Break[] ];
AppendTo[orbit, pt]
, {nIterates}
];
figRight = ListPlot[orbit, AspectRatio -> Automatic, Frame -> True, Axes -> False, PlotStyle -> PointSize[pointSize], PlotLabel ->title, Prolog ->{Red, PointSize[Large], Point[{xp, xp}]}];
GraphicsRow[{figLeft, figRight}, ImageSize -> 800]
]

The next cell runs the Whitley Map.  A red dot is put at the fixed point (SubPlus[v]) = (xp, xp).

a =0.2;
b =0.9;
nTransients = 100;
nIterates = 3000;  (*Don't make this much larger than 50 000. It gets slow. *)
pointSize = Tiny; (* Large, Medium, Small, or Tiny *)

runWhitley

The next cell can be used to save the right figure.  Use Insert menu, choose File Path... to get a file name.  This command will over-write files, so change the name of gifs you want to save.

Export["C:\\Users\\jws8\\Dropbox\\classes\\MAT 667 2017.1\\Whitley Map\\test.gif", figRight]