Basin of attraction, a 2-D map given in polar coordinates

1-D decoupled map analysis, (Subscript[r, n+1]) = ((Subscript[r, n])^2)

Manipulate[Row[{Show[Plot[{(x^2),x},{x,0,2},PlotStyle->{Red,{Thickness[0.004],Blue}},Frame->True,PlotRange->{{0,2},{0,2}},AspectRatio->0.8,FrameLabel->{"(Subscript[r, n])","(Subscript[r, n + 1])"}],Graphics[Flatten[MapIndexed[{Opacity[0.39],Line[{{#,If[#==x0,0,#]},{#,((#)^2)}}],Line[{{#,((#)^2)},{((#)^2),((#)^2)}}]}& ,NestWhileList[((#)^2)&,x0,#1≠((#2)^2)&,2,n]]]],ImageSize->{320,320},LabelStyle->18],
ListLinePlot[NestList[((#)^2)&,x0,n],FrameLabel->{"n","(Subscript[r, n])"},DataRange->{0,n},PlotRange->{0,2},Frame->True,Mesh->All,MeshStyle->{PointSize[Large],Red},PlotStyle->Gray,AspectRatio->0.8,ImageSize->{320,320},LabelStyle->18]
}"    "],
{{n,5},1,12,1,ImageSize->Large,Appearance->"Labeled"},  
{{x0,0.95, "(Subscript[r, 0])"},0,1.05,ImageSize->Large,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{n,x0}]

1-D decoupled map: analysis, (Subscript[θ, n+1]) = (Subscript[θ, n])-Sin (Subscript[θ, n])

Manipulate[Row[{Show[Plot[{x - Sin[x],x},{x,0,2 π},PlotStyle->{Red,{Thickness[0.004],Blue}},Frame->True,PlotRange->{{0,2 π},{0,2 π}},AspectRatio->0.8,FrameLabel->{"(Subscript[θ, n])","(Subscript[θ, n + 1])"}],Graphics[Flatten[MapIndexed[{Opacity[0.39],Line[{{#,If[#==x0,0,#]},{#,# - Sin[#]}}],Line[{{#,# - Sin[#]},{# - Sin[#],# - Sin[#]}}]}& ,NestWhileList[# - Sin[#]&,x0,#1≠#2 - Sin[#2]&,2,n]]]],ImageSize->{320,320},LabelStyle->18],
ListLinePlot[NestList[# - Sin[#]&,x0,n],FrameLabel->{"n","(Subscript[θ, n])"},DataRange->{0,n},PlotRange->{0,2 π},Frame->True,Mesh->All,MeshStyle->{PointSize[Large],Red},PlotStyle->Gray,AspectRatio->0.8,ImageSize->{320,320},LabelStyle->18]},"    "],
{{n,10},1,20,1,ImageSize->Large,Appearance->"Labeled"},   
{{x0,3.0, "(Subscript[θ, 0])"},0,2 π,ImageSize->Large,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{n,x0}]

Global dynamics of the full 2-D map

Clear[r,θ,map,sol,sp]
imsize=550;xlim=2;ylim=2;rectangleE=0.8;icshift=0;
frame=8;
points=1000;(*points per frame*)
icoord0=RandomReal[{-rectangleE+icshift,rectangleE+icshift},{points,2}];(*ordering {θ, r}*)
icoord=Reverse[CoordinateTransform[{"Cartesian"->"Polar",2},icoord0],2];

(*fixed point*)
Fr=(r^2);
Fθ=θ-Sin[θ];
coordinates=Solve[{Fθ==θ,Fr==r,θ≥0,θ<2 Pi},{θ,r}];
fixedp=ListPolarPlot[{θ,r}/.coordinates,PlotMarkers->{"•",22},PlotStyle->Red];

(*mapping*)
map[ic_,d_]:={ic[[d,1]]-Sin[ic[[d,1]]],((ic[[d,2]])^2)}(*ordering {θ, r} because of ListPolarPlot*)
sol=Quiet[NestList[
Table[map[#,i],{i,1,points,1}]
&,icoord,frame]];(*soimas*)

(*plotting*)
manifold1=Plot[0,{x,-xlim,xlim},PlotRange->{-ylim,ylim},LabelStyle->18,ImageSize->imsize,AspectRatio->Automatic,PlotStyle->Red,Frame-> True,FrameLabel->{r,None}];
manifold2=PolarPlot[1,{x,0,2Pi},PlotStyle->{Blue,Dashed}];
ListAnimate[
Table[Show[manifold1,manifold2,fixedp,
ListPolarPlot[sol[[i]],PlotRange->{{-xlim,xlim},{-ylim,ylim}},PlotStyle->Black,PlotMarkers->{"•",8},Frame-> True,FrameLabel->{r,None},LabelStyle->18]],
{i,1,frame}],
AnimationRunning->False,SaveDefinitions->True]
StringForm["Fixed points in polar coordinates: ``, here format (r,θ)",Reverse[{θ,r}/.coordinates,2]]

Phase portrait, robust

Clear[r,θ,map,sol,frame]
Manipulate[
imsize=550;xlim=1.5;ylim=1.5;
icoord0=Flatten[Table[{i,j},{i,-xlim,xlim,0.26},{j,-ylim,ylim,0.26}],1];
points=Length[icoord0];
icoord=Reverse[CoordinateTransform[{"Cartesian"->"Polar",2},icoord0],2];
(*fixed point*)
Fr=(r^2);
Fθ=θ-Sin[θ];
coordinates=Solve[{Fθ==θ,Fr==r,θ≥0,θ<2 Pi},{θ,r}];
fixedp=ListPolarPlot[{θ,r}/.coordinates,PlotMarkers->{"•",22},PlotStyle->Red];
(*mapping*)
map[ic_,d_]:={ic[[d,1]]-Sin[ic[[d,1]]],((ic[[d,2]])^2)};(*ordering {θ, r} because of ListPolarPlot*)
sol=Quiet[NestList[Table[map[#,i],{i,1,points,1}]&,icoord,frame]];(*soimas*)
rsol=ArrayReshape[Transpose[sol],{points,frame+1,2}];(*reshaping the array*)
(*plotting*)
manifold1=Plot[0,{x,-2,2},PlotRange->{-2,2},LabelStyle->18,ImageSize->imsize,AspectRatio->Automatic,PlotStyle->{Thick,Red},Frame-> True,FrameLabel->{r,None}];
manifold2=PolarPlot[1,{x,0,2Pi},PlotStyle->{Thick,Blue,Dashed}];
dtxt=Text@Style[StringForm["Fixed points in polar coordinates: ``, here format (r,θ)",Reverse[{θ,r}/.coordinates,2]]];
Column[{Show[manifold1,manifold2,fixedp,
ListPolarPlot[rsol,PlotRange->{{-2,2},{-2,2}},PlotStyle->Gray,PlotMarkers->{"•",8},Frame-> True,FrameLabel->{r,None},LabelStyle->18,Joined->True]],dtxt}],
{{frame,1,"Number of iterations n"},1,7,1,Appearance->"Labeled"},
SaveDefinitions->True,TrackedSymbols:>{frame}]

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