HenonMapEigenvalues.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[{-1/4 (b-1)^2, b}, {b, -1.5,3}, PlotStyle -> Red];
pdCurve = ParametricPlot[{3/4 (b-1)^2, b}, {b, -1.3,3}, PlotStyle -> Blue];
hopfCurve = ParametricPlot[{a, -1}, {a, -1, 3}, PlotStyle -> Green];
pd2Curve = ParametricPlot[{(5 - 6b + 5b^2)/4, b}, {b, -1,2.2}, PlotStyle -> Cyan];
abPlane =Show[hopfCurve, snCurve, pdCurve, pd2Curve,Graphics[{Text["no fixed points", {-1,1}],Text["(SubPlus[v]) saddle\n(SubMinus[v]) saddle", {3,2.4}],Text["period 2 -> period 4", {1.5,1.3}],Text["(SubPlus[v]) saddle\n(SubMinus[v]) saddle", {3.5,1.5}],Text["(SubPlus[v]) saddle\n(SubMinus[v]) source", {.7,2.7}],Text["(SubPlus[v]) sink\n(SubMinus[v]) saddle", {.5,-.5}],Text["(SubPlus[v]) source\n(SubMinus[v]) saddle", {.7,-1.4}]}],PlotRange -> All, AxesLabel ->{"a","b"}]

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

figLeft = Show[abPlane, Graphics@Point[{a, b}], PlotRange -> All];
Print["xp = ", xp, ", xm = ", xm, " (shown as a red dot)."];
Print["Eigenvalues of fixed point (SubPlus[v]) =(xp, xp) are ", Eigenvalues[Dfp]];
Print["Eigenvalues of fixed point (SubMinus[v]) =(xm, xm) are ", Eigenvalues[Dfm]];
Print["For this b, the period 2 points exist for a > ", 3/4 (b-1)^2, " and period doubles at a = ", (5 - 6b + 5b^2)/4];
myProlog = {Red, PointSize[Large], Point[{xp, xp}]};
If[4a>3(1-b)^2,
Print["Period 2 points are ", {x2p, x2m} , " and reflection across x = y (shown as cyan dots)."];
Print["Eigenvalues of period-2 point are ", Eigenvalues[Dfp2]];
myProlog = Join[myProlog, {Cyan, Point[{x2p, x2m}], Point[{x2m, x2p}]}]
];
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];
AppendTo[orbit, pt]
, {nIterates}
];
figRight = ListPlot[orbit, AspectRatio -> Automatic, Frame -> True, Axes -> False, PlotStyle -> PointSize[pointSize], PlotLabel ->title, Prolog ->myProlog];
GraphicsRow[{figLeft, figRight}, ImageSize -> 800]
]

The next cell runs the Henon Map.  A red dot is put at the fixed point (SubPlus[v]) = (xp, xp).
One sequence worth trying is with b = -0.3:
a = 1.2, 1.4, 1.9, 1.93, 1.95, 1.951, 1.952, 1.953, 1.954, 1.955
Standard Parameters are a = 1.4, b = 0.3

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

runHenon