(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 12.1' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 28766, 678] NotebookOptionsPosition[ 28088, 659] NotebookOutlinePosition[ 28488, 675] CellTagsIndexPosition[ 28445, 672] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"FabiusF", "::", "usage"}], " ", "=", " ", "\"\\""}], ";"}], "\n", RowBox[{ RowBox[{"Macros`SetArgumentCount", "[", RowBox[{"FabiusF", ",", " ", "1"}], "]"}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"SyntaxInformation", "[", "FabiusF", "]"}], " ", "=", " ", RowBox[{"{", RowBox[{"\"\\"", " ", "->", " ", RowBox[{"{", "_", "}"}]}], "}"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"SetAttributes", "[", RowBox[{"FabiusF", ",", " ", RowBox[{"{", RowBox[{"NumericFunction", ",", " ", "Listable"}], "}"}]}], "]"}], ";"}], "\n"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", "n_Integer", "]"}], "[", "FabiusF", "]"}], " ", ":=", " ", RowBox[{ RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{"n", " ", RowBox[{ RowBox[{"(", RowBox[{"n", " ", "+", " ", "1"}], ")"}], "/", "2"}]}], ")"}]}], " ", RowBox[{"FabiusF", "[", RowBox[{ RowBox[{"2", "^", "n"}], " ", "#"}], "]"}]}], " ", "&"}]}], "\n", "\n", RowBox[{"(*", RowBox[{ RowBox[{"https", ":"}], "//", RowBox[{ RowBox[{ RowBox[{"mathematica", ".", "stackexchange", ".", "com"}], "/", "a"}], "/", "13245"}]}], "*)"}]}], "\n", RowBox[{ RowBox[{ RowBox[{"powerOfTwoQ", "[", "n_", "]"}], " ", ":=", " ", RowBox[{ RowBox[{"IntegerQ", "[", "n", "]"}], " ", "&&", " ", RowBox[{ RowBox[{"BitAnd", "[", RowBox[{"n", ",", " ", RowBox[{"n", " ", "-", " ", "1"}]}], "]"}], " ", "==", " ", "0"}]}]}], "\n"}], "\n", RowBox[{ RowBox[{ RowBox[{"FabiusF", "[", "Infinity", "]"}], " ", "=", " ", RowBox[{"Interval", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", " ", "1"}], "}"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{"FabiusF", "[", RowBox[{"x_", "?", "NumberQ"}], "]"}], " ", "/;", " ", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"0", " ", "<=", " ", RowBox[{"Re", "[", "x", "]"}]}], " ", "&&", " ", RowBox[{ RowBox[{"Im", "[", "x", "]"}], " ", "==", " ", "0"}]}], ",", " ", RowBox[{"powerOfTwoQ", "[", RowBox[{"Denominator", "[", "x", "]"}], "]"}], ",", " ", RowBox[{ RowBox[{"Message", "[", RowBox[{ RowBox[{"FabiusF", "::", "realnn"}], ",", " ", "x"}], "]"}], ";", " ", "False"}]}], "]"}]}], " ", ":=", " ", RowBox[{"iFabiusF", "[", "x", "]"}]}], "\n"}], "\n", RowBox[{ RowBox[{ RowBox[{"ariasD", "[", "0", "]"}], " ", "=", " ", "1"}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{"ariasD", "[", RowBox[{"n_Integer", "?", "Positive"}], "]"}], " ", ":=", " ", RowBox[{ RowBox[{"ariasD", "[", "n", "]"}], " ", "=", " ", RowBox[{ RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"k", " ", RowBox[{"(", RowBox[{"k", " ", "-", " ", "1"}], ")"}]}], " ", "-", " ", RowBox[{"n", " ", RowBox[{"(", RowBox[{"n", " ", "-", " ", "1"}], ")"}]}]}], ")"}], "/", "2"}], ")"}]}], " ", RowBox[{ RowBox[{"ariasD", "[", "k", "]"}], "/", RowBox[{ RowBox[{"(", RowBox[{"n", " ", "-", " ", "k", " ", "+", " ", "1"}], ")"}], "!"}]}]}], ",", " ", RowBox[{"{", RowBox[{"k", ",", " ", "0", ",", " ", RowBox[{"n", " ", "-", " ", "1"}]}], "}"}]}], "]"}], "/", RowBox[{"(", RowBox[{ RowBox[{"2", "^", "n"}], " ", "-", " ", "1"}], ")"}]}]}]}], ";"}], "\n"}], "\n", RowBox[{ RowBox[{ RowBox[{"tri", "[", "x_", "]"}], " ", ":=", " ", RowBox[{"Piecewise", "[", RowBox[{ RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"2", " ", "-", " ", "x"}], ",", " ", RowBox[{"x", " ", ">", " ", "1"}]}], "}"}], "}"}], ",", " ", "x"}], "]"}]}], "\n"}], "\n", RowBox[{ RowBox[{"iFabiusF", "[", "x_", "]"}], " ", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"prec", " ", "=", " ", RowBox[{"Precision", "[", "x", "]"}]}], ",", " ", RowBox[{"s", " ", "=", " ", "1"}], ",", " ", RowBox[{"y", " ", "=", " ", "0"}], ",", " ", RowBox[{"z", " ", "=", " ", RowBox[{"SetPrecision", "[", RowBox[{"x", ",", " ", "Infinity"}], "]"}]}], ",", " ", "n", ",", " ", "p", ",", " ", "q", ",", " ", "tol", ",", " ", "w"}], "}"}], ",", " ", RowBox[{ RowBox[{"z", " ", "=", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"0", " ", "<=", " ", "z", " ", "<=", " ", "2"}], ",", " ", RowBox[{"tri", "[", "z", "]"}], ",", " ", RowBox[{ RowBox[{"q", " ", "=", " ", RowBox[{"Quotient", "[", RowBox[{"z", ",", " ", "2"}], "]"}]}], ";", "\n", " ", RowBox[{"(*", RowBox[{ RowBox[{"can", " ", "replace", " ", RowBox[{"ThueMorse", "[", "]"}], " ", "with", " ", "the", " ", "implementation", " ", "in", " ", RowBox[{"https", ":"}]}], "//", RowBox[{ RowBox[{ RowBox[{"mathematica", ".", "stackexchange", ".", "com"}], "/", "a"}], "/", "89351"}]}], "*)"}], RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"ThueMorse", "[", "q", "]"}], " ", "==", " ", "1"}], ",", " ", RowBox[{"s", " ", "=", " ", RowBox[{"-", "1"}]}]}], "]"}], ";", " ", RowBox[{"tri", "[", RowBox[{"z", " ", "-", " ", RowBox[{"2", " ", "q"}]}], "]"}]}]}], "]"}]}], ";", "\n", " ", RowBox[{"tol", " ", "=", " ", RowBox[{"10", "^", RowBox[{"(", RowBox[{"-", "prec"}], ")"}]}]}], ";", "\n", " ", RowBox[{"While", "[", RowBox[{ RowBox[{"z", " ", ">", " ", "0"}], ",", " ", RowBox[{ RowBox[{"n", " ", "=", " ", RowBox[{"-", RowBox[{"Floor", "[", RowBox[{"RealExponent", "[", RowBox[{"z", ",", " ", "2"}], "]"}], "]"}]}]}], ";", " ", RowBox[{"p", " ", "=", " ", RowBox[{"2", "^", "n"}]}], ";", " ", RowBox[{"z", " ", "-=", " ", RowBox[{"1", "/", "p"}]}], ";", " ", RowBox[{"w", " ", "=", " ", "1"}], ";", "\n", " ", RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"w", " ", "=", " ", RowBox[{ RowBox[{"ariasD", "[", "m", "]"}], " ", "+", " ", RowBox[{"p", " ", "z", " ", RowBox[{"w", "/", RowBox[{"(", RowBox[{"n", " ", "-", " ", "m", " ", "+", " ", "1"}], ")"}]}]}]}]}], ";", " ", RowBox[{"p", " ", "/=", " ", "2"}]}], ",", " ", RowBox[{"{", RowBox[{"m", ",", " ", "n"}], "}"}]}], "]"}], ";", "\n", " ", RowBox[{"y", " ", "=", " ", RowBox[{"w", " ", "-", " ", "y"}]}], ";", "\n", " ", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "w", "]"}], " ", "<", " ", RowBox[{ RowBox[{"Abs", "[", "y", "]"}], " ", "tol"}]}], ",", " ", RowBox[{"Break", "[", "]"}]}], "]"}]}]}], "]"}], ";", "\n", " ", RowBox[{"SetPrecision", "[", RowBox[{ RowBox[{"s", " ", RowBox[{"Abs", "[", "y", "]"}]}], ",", " ", "prec"}], "]"}]}]}], "]"}]}]}], "Input", CellLabel-> "In[183]:=",ExpressionUUID->"b6d7bb97-f801-4b79-84e9-03757a7fafc8"], Cell[BoxData[{ RowBox[{"ClearAll", "[", RowBox[{"iCurvaturePlotHelper", ",", "CurvaturePlot"}], "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"iCurvaturePlotHelper", "[", RowBox[{ RowBox[{"f_", "?", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Head", "[", "#", "]"}], "=!=", "List"}], "&"}], ")"}]}], ",", RowBox[{"{", RowBox[{"t_", ",", "tmin_", ",", "tmax_"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"x0_", ",", "y0_"}], "}"}], ",", "\[Theta]0_"}], "}"}], ",", RowBox[{"opts", ":", RowBox[{"OptionsPattern", "[", "]"}]}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"sol", ",", "\[Theta]", ",", "x", ",", "y", ",", "if"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"sol", "=", RowBox[{"NDSolve", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"\[Theta]", "'"}], "[", "t", "]"}], "\[Equal]", "f"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"x", "'"}], "[", "t", "]"}], "\[Equal]", RowBox[{"Cos", "[", RowBox[{"\[Theta]", "[", "t", "]"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"y", "'"}], "[", "t", "]"}], "\[Equal]", RowBox[{"Sin", "[", RowBox[{"\[Theta]", "[", "t", "]"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"\[Theta]", "[", "tmin", "]"}], "\[Equal]", "\[Theta]0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"x", "[", "tmin", "]"}], "\[Equal]", "x0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"y", "[", "tmin", "]"}], "\[Equal]", "y0"}]}], "\[IndentingNewLine]", "}"}], ",", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "tmin", ",", "tmax"}], "}"}], ",", "opts"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"if", "=", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"x", "[", "#", "]"}], ",", RowBox[{"y", "[", "#", "]"}]}], "}"}], "&"}], "/.", RowBox[{"First", "[", "sol", "]"}]}]}], ";", "\[IndentingNewLine]", "if"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CurvaturePlot", "[", RowBox[{"f_", ",", RowBox[{"{", RowBox[{"t_", ",", "tmin_", ",", "tmax_"}], "}"}], ",", RowBox[{"opts", ":", RowBox[{"OptionsPattern", "[", "]"}]}]}], "]"}], ":=", RowBox[{"CurvaturePlot", "[", RowBox[{"f", ",", RowBox[{"{", RowBox[{"t", ",", "tmin", ",", "tmax"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "0"}], "}"}], ",", "opts"}], "]"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CurvaturePlot", "[", RowBox[{"f_", ",", RowBox[{"{", RowBox[{"t_", ",", "tmin_", ",", "tmax_"}], "}"}], ",", RowBox[{"p", ":", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"x0_", ",", "y0_"}], "}"}], ",", "\[Theta]0_"}], "}"}]}], ",", RowBox[{"opts", ":", RowBox[{"OptionsPattern", "[", "]"}]}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ "\[Theta]", ",", "x", ",", "y", ",", "sol", ",", "rlsplot", ",", "rlsndsolve", ",", "if", ",", "ifs"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"rlsplot", "=", RowBox[{"FilterRules", "[", RowBox[{ RowBox[{"{", "opts", "}"}], ",", RowBox[{"Options", "[", "ParametricPlot", "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"rlsndsolve", "=", RowBox[{"FilterRules", "[", RowBox[{ RowBox[{"{", "opts", "}"}], ",", RowBox[{"Options", "[", "NDSolve", "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Head", "[", "f", "]"}], "===", "List"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"ifs", "=", RowBox[{ RowBox[{ RowBox[{"iCurvaturePlotHelper", "[", RowBox[{"#", ",", RowBox[{"{", RowBox[{"t", ",", "tmin", ",", "tmax"}], "}"}], ",", "p", ",", RowBox[{"Evaluate", "@", RowBox[{"(", RowBox[{"Sequence", "@@", "rlsndsolve"}], ")"}]}]}], "]"}], "&"}], "/@", "f"}]}], ";", "\[IndentingNewLine]", RowBox[{"ParametricPlot", "[", RowBox[{ RowBox[{"Evaluate", "[", RowBox[{ RowBox[{ RowBox[{"#", "[", "tplot", "]"}], "&"}], "/@", "ifs"}], "]"}], ",", RowBox[{"{", RowBox[{"tplot", ",", "tmin", ",", "tmax"}], "}"}], ",", RowBox[{"Evaluate", "@", RowBox[{"(", RowBox[{"Sequence", "@@", "rlsplot"}], ")"}]}]}], "]"}]}], "\[IndentingNewLine]", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"if", "=", RowBox[{"iCurvaturePlotHelper", "[", RowBox[{"f", ",", RowBox[{"{", RowBox[{"t", ",", "tmin", ",", "tmax"}], "}"}], ",", "p", ",", RowBox[{"Evaluate", "@", RowBox[{"(", RowBox[{"Sequence", "@@", "rlsndsolve"}], ")"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"ParametricPlot", "[", RowBox[{ RowBox[{"Evaluate", "[", RowBox[{"if", "[", "tplot", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"tplot", ",", "tmin", ",", "tmax"}], "}"}], ",", RowBox[{"Evaluate", "@", RowBox[{"(", RowBox[{"Sequence", "@@", "rlsplot"}], ")"}]}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}]}]}], "Input", CellLabel-> "In[195]:=",ExpressionUUID->"f922cec0-aa84-4593-aff3-3268dbccfdf7"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CurvaturePlot", "[", RowBox[{ RowBox[{"FabiusF", "[", "x", "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "0", ",", "4"}], "}"}]}], "]"}]], "Input", CellLabel-> "In[205]:=",ExpressionUUID->"83f1c93d-5075-475d-b9f3-efc604a47ce1"], Cell[BoxData[ GraphicsBox[{{{}, {}, TagBox[ {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ 1.], FaceForm[Opacity[0.3]], LineBox[CompressedData[" 1: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 jPryG0hIDC7+8+iMjmrOLxLqnpL55/8DdghmFA== "]]}, Annotation[#, "Charting`Private`Tag$437871#1"]& ]}, {}}, Axes->{True, True}, AxesLabel->{None, None}, AxesOrigin->{0, 0}, DisplayFunction->Identity, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultGraphicsInteraction" -> { "Version" -> 1.2, "TrackMousePosition" -> {True, False}, "Effects" -> { "Highlight" -> {"ratio" -> 2}, "HighlightPoint" -> {"ratio" -> 2}, "Droplines" -> { "freeformCursorMode" -> True, "placement" -> {"x" -> "All", "y" -> "None"}}}}, "ScalingFunctions" -> None}, PlotRange->{{0., 3.243990348766134}, {0., 1.7721998270300445`}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.05], Scaled[0.05]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellLabel-> "Out[205]=",ExpressionUUID->"e6db7c3b-6fac-4a3a-b719-f61dc8c48834"] }, Open ]] }, WindowSize->{786, 884}, WindowMargins->{{Automatic, 210}, {-186, Automatic}}, FrontEndVersion->"12.1 for Microsoft Windows (64-bit) (June 9, 2020)", StyleDefinitions->"Default.nb", ExpressionUUID->"403bb8c0-0efb-4c0b-a09f-03976a9aa4f6" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[558, 20, 8002, 224, 656, "Input",ExpressionUUID->"b6d7bb97-f801-4b79-84e9-03757a7fafc8"], Cell[8563, 246, 6219, 170, 561, "Input",ExpressionUUID->"f922cec0-aa84-4593-aff3-3268dbccfdf7"], Cell[CellGroupData[{ Cell[14807, 420, 266, 7, 28, "Input",ExpressionUUID->"83f1c93d-5075-475d-b9f3-efc604a47ce1"], Cell[15076, 429, 12996, 227, 220, "Output",ExpressionUUID->"e6db7c3b-6fac-4a3a-b719-f61dc8c48834"] }, Open ]] } ] *) (* End of internal cache information *)