The Hénon map, alternative ways of calculating iterates

Map representation (stepping method)

Clear[x,y,n,a,b,sol]
Print[Style["Fixed points",19,Blue]]
Solve[{x==1-a x^2+y,y==b x},{x,y}](*f.p.s analytically*)
a=1.4;b=0.3;iter=47;

sol=RecurrenceTable[{
x[n+1]==1-a x[n]^2+y[n],
y[n+1]==b x[n],
x[0]==0.7,y[0]==-0.1},{x,y},{n,0,iter}];
fixedpoints=Quiet[Solve[{x==1-a x^2+y,y==b x},{x,y}]];
Print[Style["Fixed points, evaluated",19,Blue]]
coordinates={x,y}/.fixedpoints
fixedp=Graphics[{PointSize[0.02],Red,Point[coordinates]}];
att2=ListPlot[sol,PlotMarkers->{"•",9},PlotStyle->Black,Frame-> True,PlotRange->All,FrameLabel->{x,y},LabelStyle->20,AspectRatio->0.7,ImageSize->400];
Row[{Show[att2,fixedp],
ListLinePlot[{sol[[All,1]],sol[[All,2]]},PlotMarkers->{"•",12},Frame->True,FrameLabel->{n,"(Subscript[x, n]), (Subscript[y, n])"},PlotRange->{{0,iter},All},PlotLegends->{"(Subscript[x, n])","(Subscript[y, n])"},LabelStyle->20,ImageSize->400]},"       "]

Matrix representation: using NestList[] + free term

Clear[a,b,sol]
a=1.4;b=0.3;iter=46;
system[x_]:=(({{-a*x[[1,1]], 1}, {b, 0}})).x+(({{1}, {0}}));(*system maatrix*)
sol=NestList[system,(({{0.7}, {-0.1}})),iter];(*initial condition here*)
(*sol=RecurrenceTable[{X[n+1]==(({{-a*X[n][[1,1]], 1}, {b, 0}})).X[n]+(({{1}, {0}})),X[0]==(({{0.7}, {-0.1}}))},X,{n,0,iter}];(*does not work: Plus[] treats Dot[] as scalars, in this context*)*)
Row[{ListPlot[sol[[All,All,1]],PlotMarkers->{"•",9},Frame-> True,FrameLabel->{x,y},LabelStyle->20,ImageSize->400,PlotRange->All],
xses=sol[[All,All,1]][[All,1]];yses=sol[[All,All,1]][[All,2]];
ListLinePlot[{xses,yses},PlotMarkers->{"•",12},Frame->True,FrameLabel->{n,"(Subscript[x, n]), (Subscript[y, n])"},PlotRange->All,PlotLegends->{"(Subscript[x, n])","(Subscript[y, n])"},LabelStyle->20,ImageSize->400]},"       "]

Creation of this notebook was supported by IT Academy program of Information Technology Foundation for Education (HITSA).