Cell[CellGroupData[{Cell[BoxData[ RowBox[{"Manipulate", "[", " ", RowBox[{ RowBox[{"Graphics", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"If", "[", RowBox[{"hd", ",", RowBox[{"{", "}"}], ",", RowBox[{"MapIndexed", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Hue", "[", RowBox[{"#2", "/", "3"}], "]"}], ",", RowBox[{"Opacity", "[", "0.5", "]"}], ",", RowBox[{"Disk", "[", RowBox[{"#1", ",", RowBox[{"Scaled", "[", "0.016", "]"}]}], "]"}]}], "}"}], "&"}], ",", "init"}], "]"}]}], "]"}], ",", RowBox[{"MapIndexed", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"PointSize", "[", "Small", "]"}], ",", RowBox[{"Hue", "[", RowBox[{"#2", "/", "3"}], "]"}], ",", RowBox[{"Point", "[", "#1", "]"}]}], "}"}], "&"}], ",", RowBox[{ RowBox[{ RowBox[{"martinListCF", "[", RowBox[{"a", ",", "b", ",", "c", ",", "n", ",", "#"}], "]"}], "&"}], "/@", "init"}]}], "]"}]}], "}"}], ",", RowBox[{"PlotRange", "->", RowBox[{"If", "[", RowBox[{"fp", ",", "All", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "20"}], ",", "20"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "20"}], ",", "20"}], "}"}]}], "}"}]}], "]"}]}], ",", RowBox[{"Frame", "->", "True"}], ",", RowBox[{"FrameTicks", "->", "None"}], ",", RowBox[{"ImageSize", "->", RowBox[{"{", RowBox[{"400", ",", "400"}], "}"}]}]}], "]"}], ",", " ", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", "Bold"}], "]"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"a", ",", "0.5", ",", "\"\\""}], "}"}], ",", RowBox[{"-", "5"}], ",", "5", ",", ".01", ",", RowBox[{"ImageSize", "->", "Tiny"}], ",", RowBox[{"Appearance", "->", "\"\\""}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"b", ",", RowBox[{"-", ".50"}], ",", "\"\\""}], "}"}], ",", RowBox[{"-", "5"}], ",", "5", ",", ".01", ",", RowBox[{"ImageSize", "->", "Tiny"}], ",", RowBox[{"Appearance", "->", "\"\\""}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"c", ",", "0.5", ",", "\"\\""}], "}"}], ",", RowBox[{"-", "5"}], ",", "5", ",", ".01", ",", RowBox[{"ImageSize", "->", "Tiny"}], ",", RowBox[{"Appearance", "->", "\"\\""}]}], "}"}], ",", RowBox[{"Button", "[", RowBox[{"\"\\"", ",", RowBox[{ RowBox[{"{", RowBox[{"a", ",", "b", ",", "c"}], "}"}], "=", RowBox[{"RandomReal", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "5"}], ",", "5"}], "}"}], ",", "3"}], "]"}]}]}], "]"}], ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", "Bold"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"n", ",", "4000"}], "}"}], ",", RowBox[{"{", RowBox[{"2000", ",", "4000", ",", "8000"}], "}"}], ",", "SetterBar"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"hd", ",", "False", ",", "\"\\""}], "}"}], ",", RowBox[{"{", RowBox[{"True", ",", "False"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"fp", ",", "True", ",", "\"\\""}], "}"}], ",", RowBox[{"{", RowBox[{"True", ",", "False"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"init", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"14.15", ",", RowBox[{"-", "12.7"}]}], "}"}], ",", RowBox[{"{", RowBox[{"9.8", ",", "12.8"}], "}"}]}], "}"}]}], "}"}], ",", "Locator", ",", RowBox[{"Appearance", "->", RowBox[{"If", "[", RowBox[{"hd", ",", "\"\<\>\"", ",", RowBox[{"Style", "[", RowBox[{ "\"\<(+)\>\"", ",", "Gray", ",", "Plain", ",", "18"}], "]"}]}], "]"}]}], ",", RowBox[{"LocatorAutoCreate", "->", "True"}]}], "}"}], ",", " ", RowBox[{"ControlPlacement", "->", "Left"}], ",", RowBox[{"FrameMargins", "->", "0"}], ",", RowBox[{"AutorunSequencing", "->", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "20"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "20"}], "}"}], ",", RowBox[{"{", RowBox[{"3", ",", "20"}], "}"}]}], "}"}]}], ",", RowBox[{"SaveDefinitions", "->", "True"}], ",", RowBox[{"Initialization", ":>", RowBox[{"(", RowBox[{"martinListCF", "=", RowBox[{"Compile", "[", RowBox[{ RowBox[{"{", RowBox[{"a", ",", "b", ",", "c", ",", RowBox[{"{", RowBox[{"n", ",", "_Integer"}], "}"}], ",", RowBox[{"{", RowBox[{"P0", ",", "_Real", ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"NestList", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"#1", "[", RowBox[{"[", "2", "]"}], "]"}], "-", RowBox[{ RowBox[{"Sign", "[", RowBox[{"#1", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], " ", RowBox[{"Sqrt", "[", RowBox[{"Abs", "[", RowBox[{ RowBox[{"b", " ", RowBox[{"#1", "[", RowBox[{"[", "1", "]"}], "]"}]}], "-", "c"}], "]"}], "]"}]}]}], ",", RowBox[{"a", "-", RowBox[{"#1", "[", RowBox[{"[", "1", "]"}], "]"}]}]}], "}"}], "&"}], ",", "P0", ",", "n"}], "]"}]}], "]"}]}], ")"}]}], ",", RowBox[{"TrackedSymbols", "->", "True"}]}], "]"}]], "Input", CellGroupingRules->{"GroupTogetherGrouping", 10000.}, CellChangeTimes->{{3.46168711865625*^9, 3.461687155078125*^9}, { 3.46168723815625*^9, 3.461687245109375*^9}, {3.461687319390625*^9, 3.461687320484375*^9}, {3.461728463265625*^9, 3.461728473*^9}, { 3.461728504375*^9, 3.46172851559375*^9}, {3.46172855678125*^9, 3.461728557875*^9}, {3.4617286088125*^9, 3.46172865815625*^9}, { 3.46172870853125*^9, 3.46172873303125*^9}, 3.461728848953125*^9, 3.461729329078125*^9, {3.46172937328125*^9, 3.46172940409375*^9}, { 3.4617294598125*^9, 3.46172956696875*^9}, {3.46172961078125*^9, 3.461729651296875*^9}, {3.4617296873125*^9, 3.461729707171875*^9}, {3.461729738140625*^9, 3.461729761140625*^9}, {3.461729818390625*^9, 3.46172988053125*^9}, {3.46172991078125*^9, 3.461729928640625*^9}, {3.46172996103125*^9, 3.461729978296875*^9}, {3.46173004740625*^9, 3.461730208921875*^9}, {3.461730269828125*^9, 3.46173031234375*^9}, {3.46173042059375*^9, 3.46173042175*^9}, { 3.46173053684375*^9, 3.461730540296875*^9}, 3.4617311921875*^9, { 3.46173330296875*^9, 3.461733311234375*^9}, {3.461733354015625*^9, 3.461733425640625*^9}, {3.462077106171875*^9, 3.46207712753125*^9}, {3.4620773744375*^9, 3.462077388890625*^9}, { 3.462077454546875*^9, 3.462077461703125*^9}, {3.46207752059375*^9, 3.462077533828125*^9}, {3.462725560635787*^9, 3.462725647257448*^9}, {3.4627257679025116`*^9, 3.462725771918913*^9}, {3.462795746533571*^9, 3.4627957513300505`*^9}, {3.4628184942971196`*^9, 3.462818532172907*^9}, {3.4628186074854374`*^9, 3.462818625654254*^9}, 3.760765524237988*^9}, CellID->403431336], Cell[BoxData[ TagBox[ StyleBox[ DynamicModuleBox[{$CellContext`a$$ = 0.5, $CellContext`b$$ = -0.5, $CellContext`c$$ = 0.5, $CellContext`fp$$ = True, $CellContext`hd$$ = False, $CellContext`init$$ = {{0, 0}, {14.15, -12.7}, {9.8, 12.8}}, $CellContext`n$$ = 4000, Typeset`show$$ = True, Typeset`bookmarkList$$ = {}, Typeset`bookmarkMode$$ = "Menu", Typeset`animator$$, Typeset`animvar$$ = 1, Typeset`name$$ = "\"untitled\"", Typeset`specs$$ = {{ Hold[ Style["map parameters", Bold]], Manipulate`Dump`ThisIsNotAControl}, {{ Hold[$CellContext`a$$], 0.5, "a"}, -5, 5, 0.01}, {{ Hold[$CellContext`b$$], -0.5, "b"}, -5, 5, 0.01}, {{ Hold[$CellContext`c$$], 0.5, "c"}, -5, 5, 0.01}, { Hold[ Button[ "randomize a, b, c", {$CellContext`a$$, $CellContext`b$$, \ $CellContext`c$$} = RandomReal[{-5, 5}, 3]]], Manipulate`Dump`ThisIsNotAControl}, { Hold[ Style["number of iterates", Bold]], Manipulate`Dump`ThisIsNotAControl}, {{ Hold[$CellContext`n$$], 4000}, {2000, 4000, 8000}}, {{ Hold[$CellContext`hd$$], False, "hide locators"}, { True, False}}, {{ Hold[$CellContext`fp$$], True, "full range"}, {True, False}}, {{ Hold[$CellContext`init$$], {{0, 0}, {14.15, -12.7}, {9.8, 12.8}}}, Automatic}}, Typeset`size$$ = {400., {198., 202.}}, Typeset`update$$ = 0, Typeset`initDone$$, Typeset`skipInitDone$$ = False, $CellContext`a$26694$$ = 0, $CellContext`b$26695$$ = 0, $CellContext`c$26696$$ = 0, $CellContext`n$26697$$ = 0, $CellContext`hd$26698$$ = False, $CellContext`fp$26699$$ = False}, DynamicBox[Manipulate`ManipulateBoxes[ 1, StandardForm, "Variables" :> {$CellContext`a$$ = 0.5, $CellContext`b$$ = -0.5, $CellContext`c$$ = 0.5, $CellContext`fp$$ = True, $CellContext`hd$$ = False, $CellContext`init$$ = {{0, 0}, {14.15, -12.7}, {9.8, 12.8}}, $CellContext`n$$ = 4000}, "ControllerVariables" :> { Hold[$CellContext`a$$, $CellContext`a$26694$$, 0], Hold[$CellContext`b$$, $CellContext`b$26695$$, 0], Hold[$CellContext`c$$, $CellContext`c$26696$$, 0], Hold[$CellContext`n$$, $CellContext`n$26697$$, 0], Hold[$CellContext`hd$$, $CellContext`hd$26698$$, False], Hold[$CellContext`fp$$, $CellContext`fp$26699$$, False]}, "OtherVariables" :> { Typeset`show$$, Typeset`bookmarkList$$, Typeset`bookmarkMode$$, Typeset`animator$$, Typeset`animvar$$, Typeset`name$$, Typeset`specs$$, Typeset`size$$, Typeset`update$$, Typeset`initDone$$, Typeset`skipInitDone$$}, "Body" :> Graphics[{ If[$CellContext`hd$$, {}, MapIndexed[{ Hue[#2/3], Opacity[0.5], Disk[#, Scaled[0.016]]}& , $CellContext`init$$]], MapIndexed[{ PointSize[Small], Hue[#2/3], Point[#]}& , Map[$CellContext`martinListCF[$CellContext`a$$, \ $CellContext`b$$, $CellContext`c$$, $CellContext`n$$, #]& , \ $CellContext`init$$]]}, PlotRange -> If[$CellContext`fp$$, All, {{-20, 20}, {-20, 20}}], Frame -> True, FrameTicks -> None, ImageSize -> {400, 400}], "Specifications" :> { Style[ "map parameters", Bold], {{$CellContext`a$$, 0.5, "a"}, -5, 5, 0.01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{$CellContext`b$$, -0.5, "b"}, -5, 5, 0.01, ImageSize -> Tiny, Appearance -> "Labeled"}, {{$CellContext`c$$, 0.5, "c"}, -5, 5, 0.01, ImageSize -> Tiny, Appearance -> "Labeled"}, Button[ "randomize a, b, c", {$CellContext`a$$, $CellContext`b$$, \ $CellContext`c$$} = RandomReal[{-5, 5}, 3]], Style[ "number of iterates", Bold], {{$CellContext`n$$, 4000}, {2000, 4000, 8000}, ControlType -> SetterBar}, {{$CellContext`hd$$, False, "hide locators"}, { True, False}}, {{$CellContext`fp$$, True, "full range"}, { True, False}}, {{$CellContext`init$$, {{0, 0}, { 14.15, -12.7}, {9.8, 12.8}}}, Automatic, ControlType -> Locator, Appearance -> Dynamic[ If[$CellContext`hd$$, "", Style["(+)", Gray, Plain, 18]]], LocatorAutoCreate -> True}}, "Options" :> { ControlPlacement -> Left, FrameMargins -> 0, AutorunSequencing -> {{1, 20}, {2, 20}, {3, 20}}, TrackedSymbols -> True}, "DefaultOptions" :> {ControllerLinking -> True}], ImageSizeCache->{613., {220., 226.}}, SingleEvaluation->True], Deinitialization:>None, DynamicModuleValues:>{}, Initialization:>({{$CellContext`martinListCF = CompiledFunction[{ Blank[Real], Blank[Real], Blank[Real], Blank[Integer], { Blank[Real], 1}}, {{3, 0, 0}, {3, 0, 1}, {3, 0, 2}, {2, 0, 0}, {3, 1, 0}, {3, 2, 7}}, {0, 5, 7, 0, 8}, {{1, 7}, {8, 0., 4}, {94, 257, 3, 0, 4, 3, 1, 0, 3, 1, 2}, {46, 2, 3}, {11, 0, 1}, {7, -1, 3}, {64, 1, 3, 3, 4}, {7, 0, 4}, {11, 4, 2}, {4, 21}, {7, 1, 4}, {70, 2, 0, 4, 0, 4}, {12, 4, 3}, {7, 2, 4}, {70, 2, 0, 4, 0, 4}, {93, 44, 3, 0, 3, 2, 0, 4}, {21, 1, 3, 5}, {24, 2, 6}, {18, 5, 6, 5}, {93, 38, 3, 0, 5, 3, 0, 6}, {93, 57, 3, 0, 6, 3, 0, 5}, {15, 1, 4, 6}, {21, 6, 5, 6}, {24, 6, 5}, {18, 4, 5, 4}, {24, 3, 5}, {18, 0, 5, 6}, {67, 4, 6, 3, 5}, {46, 5, 2}, {66, 3, 2, 4}, {5, 2, 1, -20}, {7, 1, 3}, {67, 3, 2, 5}, {68, 5, 6}, {74, 4, 3, 6, 7}, {2}}, Function[{$CellContext`a$, $CellContext`b$, \ $CellContext`c$, FE`n$$312, $CellContext`P0}, Block[{Compile`$$26612}, NestList[( Compile`$$26612 = Part[#, 1]; { Part[#, 2] - Sign[Compile`$$26612] Sqrt[ Abs[$CellContext`b$ Compile`$$26612 - $CellContext`c$]], \ $CellContext`a$ - Compile`$$26612})& , $CellContext`P0, FE`n$$312]]], Evaluate], Attributes[$CellContext`a$] = {Temporary}, Attributes[$CellContext`b$] = {Temporary}, Attributes[$CellContext`c$] = {Temporary}, FE`n$$312 = 4000, Attributes[Compile`$$26612] = {Temporary}, Attributes[PlotRange] = { ReadProtected}}; $CellContext`martinListCF = Compile[{$CellContext`a$, $CellContext`b$, $CellContext`c$, \ {$CellContext`n$$, Blank[Integer]}, {$CellContext`P0, Blank[Real], 1}}, NestList[{Part[#, 2] - Sign[ Part[#, 1]] Sqrt[ Abs[$CellContext`b$ Part[#, 1] - $CellContext`c$]], $CellContext`a$ - Part[#, 1]}& , $CellContext`P0, $CellContext`n$$]]}; Typeset`initDone$$ = True), SynchronousInitialization->True, UnsavedVariables:>{Typeset`initDone$$}, UntrackedVariables:>{Typeset`size$$}], "Manipulate", Deployed->True, StripOnInput->False], Manipulate`InterpretManipulate[1]]], "Output", CellGroupingRules->{"GroupTogetherGrouping", 10000.}, CellChangeTimes->{3.760765524238312*^9}, CellID->909453996] }, {2}]]