Example of a chaotic attractor, 2-D map

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

Manipulate[Row[{
Show[Plot[{(Sqrt[x]),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,#]},{#,(Sqrt[#])}}],Line[{{#,(Sqrt[#])},{(Sqrt[#]),(Sqrt[#])}}]}& ,NestWhileList[(Sqrt[#])&,x0,#1≠(Sqrt[#2])&,2,n]]]],ImageSize->{320,320},LabelStyle->18],
ListLinePlot[NestList[(Sqrt[#])&,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.25, "(Subscript[r, 0])"},0,2.0,ImageSize->Large,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{n,x0}]

1-D decoupled map analysis, (Subscript[θ, n+1]) = 2(Subscript[θ, n]), sensitive dependence on initial conditions

Manipulate[Row[{
Show[Plot[{2 x,x},{x,-2 π,2 π},PlotStyle->{Red,{Thickness[0.004],Blue}},Frame->True,PlotRange->{{-2 π,2 π},{-2 π,2 π}},AspectRatio->0.8,FrameLabel->{"(Subscript[θ, n])","(Subscript[θ, 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[θ, n])"},DataRange->{0,n},PlotRange->{-2 π,2 π},Frame->True,Mesh->All,MeshStyle->{PointSize[Large],Red},PlotStyle->Gray,AspectRatio->0.8,ImageSize->{320,320},LabelStyle->18]},"    "](*can also use RecurranceTable[]*),
{{n,6},1,10,1,ImageSize->Large,Appearance->"Labeled"},   
{{x0,0.3, "(Subscript[θ, 0])"},-π,π,ImageSize->Large,Appearance->"Labeled"},SaveDefinitions->True,TrackedSymbols:>{n,x0}]

Global dynamics of the full 2-D map

Clear[r,θ,map,sol,sp,ylim,xlim]
imsize=550;xlim=2;ylim=2;rectangleE=1;icshift=-1.1;
frame=10;
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=(Sqrt[r]);
Fθ=2 θ;
coordinates=Solve[{Fθ==θ,Fr==r,θ≥0,θ<2 Pi},{θ,r}];
fixedp=ListPolarPlot[{θ,r}/.coordinates,PlotMarkers->{"•",22},PlotStyle->Red];

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

(*plotting*)
manifold1=Plot[0,{x,0,xlim},PlotRange->{{-xlim,xlim},{-ylim,ylim}},LabelStyle->18,ImageSize->imsize,AspectRatio->Automatic,PlotStyle->Red,Frame-> True,FrameLabel->{r,None}];
manifold2=PolarPlot[1,{x,0,2Pi},PlotStyle->Blue];(*chaotic attractor*)

ListAnimate[
Table[Show[manifold1,manifold2,fixedp,
ListPolarPlot[sol[[i]],PlotRange->{{-xlim,xlim},{-ylim,ylim}},PlotStyle->Black,PlotMarkers->{"•",6},LabelStyle->18,Frame-> True,FrameLabel->{r,None}]],
{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,fixedp2]
Manipulate[
imsize=550;xlim=1.9;ylim=1.9;
icoord0=Flatten[Table[{i,j},{i,-xlim,xlim,0.36},{j,-ylim,ylim,0.36}],1];
points=Length[icoord0];
icoord=Reverse[CoordinateTransform[{"Cartesian"->"Polar",2},icoord0],2];
(*fixed point*)
Fr=(Sqrt[r]);
Fθ=2 θ;
coordinates=Solve[{Fθ==θ,Fr==r,θ≥0,θ<2 Pi},{θ,r}];
fixedp2=ListPolarPlot[{θ,r}/.coordinates,PlotMarkers->{"•",22},PlotStyle->Red];
(*mapping*)
map[ic_,d_]:={2 ic[[d,1]],(Sqrt[ic[[d,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,0,2},PlotRange->{{-2,2},{-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}];(*chaotic attractor*)
dtxt=Text@Style[StringForm["Fixed points in polar coordinates: ``, here format (r,θ)",Reverse[{θ,r}/.coordinates,2]]];
Column[{Show[manifold1,manifold2,fixedp2,
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).