From 020b7b3e8ceea1c54a651bb6dec82713c3d0ad85 Mon Sep 17 00:00:00 2001 From: William Ball Date: Mon, 5 Jul 2021 15:52:54 -0400 Subject: [PATCH] new stuff --- Presentation.nb | 1578 ++++++++++++----- .../fractaldimension-checkpoint.ipynb | 382 ++++ .../circle_counting_new/.gitignore | 1 + .../circle_counting_new/Cargo.lock | 289 +++ .../circle_counting_new/Cargo.toml | 10 + .../circle_counting_new/src/main.rs | 79 + fractal_dimension/fractal_dimension.nb | 1196 ++++++++++++- fractal_dimension/fractaldimension.ipynb | 399 ++++- 8 files changed, 3468 insertions(+), 466 deletions(-) create mode 100644 fractal_dimension/.ipynb_checkpoints/fractaldimension-checkpoint.ipynb create mode 100644 fractal_dimension/circle_counting_new/.gitignore create mode 100644 fractal_dimension/circle_counting_new/Cargo.lock create mode 100644 fractal_dimension/circle_counting_new/Cargo.toml create mode 100644 fractal_dimension/circle_counting_new/src/main.rs diff --git a/Presentation.nb b/Presentation.nb index 0a5a90a..90d9817 100644 --- a/Presentation.nb +++ b/Presentation.nb @@ -10,10 +10,10 @@ NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] -NotebookDataLength[ 97544, 2270] -NotebookOptionsPosition[ 94928, 2221] -NotebookOutlinePosition[ 95324, 2237] -CellTagsIndexPosition[ 95281, 2234] +NotebookDataLength[ 117072, 3050] +NotebookOptionsPosition[ 114087, 2994] +NotebookOutlinePosition[ 114488, 3010] +CellTagsIndexPosition[ 114445, 3007] WindowFrame->Normal*) (* Beginning of Notebook Content *) @@ -57,7 +57,7 @@ Cell[BoxData[ 3.830974193183652*^9, 3.8309745378615713`*^9}, {3.831070955808754*^9, 3.831070961297104*^9}, {3.834179746565708*^9, 3.8341797491247168`*^9}}, CellLabel-> - "In[425]:=",ExpressionUUID->"42bda541-275e-4fa8-ad0f-dff973087409"], + "In[185]:=",ExpressionUUID->"42bda541-275e-4fa8-ad0f-dff973087409"], Cell[BoxData[{ RowBox[{ @@ -938,7 +938,7 @@ Cell[BoxData[{ ".", "cFin"}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.834179528431576*^9, 3.8341796307976007`*^9}}, CellLabel-> - "In[426]:=",ExpressionUUID->"c77ea1b4-464a-475d-935a-6ddd3139e407"], + "In[186]:=",ExpressionUUID->"c77ea1b4-464a-475d-935a-6ddd3139e407"], Cell[CellGroupData[{ @@ -951,172 +951,794 @@ Cell[BoxData[ CellChangeTimes->{{3.8341795407019453`*^9, 3.834179541264065*^9}, { 3.834179796934347*^9, 3.834179809094207*^9}}, CellLabel-> - "In[462]:=",ExpressionUUID->"2acb2df6-0250-4f93-a487-d393ec6948a7"], + "In[222]:=",ExpressionUUID->"2acb2df6-0250-4f93-a487-d393ec6948a7"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", - RowBox[{"1.0000000000000007`", ",", - RowBox[{"-", "4.236067977499779`"}], ",", - RowBox[{"-", "12.708203932499314`"}], ",", - RowBox[{"-", "12.708203932499325`"}], ",", - RowBox[{"-", "4.236067977499774`"}], ",", - RowBox[{"-", "1.0000000000000606`"}], ",", - RowBox[{"-", "1.0000000000000586`"}], ",", - RowBox[{"-", "9.472135954999604`"}], ",", - RowBox[{"-", "14.708203932499385`"}], ",", - RowBox[{"-", "9.472135954999615`"}], ",", - RowBox[{"-", "1.000000000000007`"}], ",", - RowBox[{"-", "2.23606797749988`"}]}], "}"}], ",", - RowBox[{"{", - RowBox[{ - RowBox[{"-", "4.236067977499779`"}], ",", "1.`", ",", - RowBox[{"-", "4.236067977499782`"}], ",", - RowBox[{"-", "12.708203932499359`"}], ",", - RowBox[{"-", "12.708203932499362`"}], ",", - RowBox[{"-", "9.472135954999636`"}], ",", - RowBox[{"-", "1.0000000000000664`"}], ",", - RowBox[{"-", "1.0000000000000655`"}], ",", + RowBox[{"1.0000000000000009`", ",", + RowBox[{"-", "4.2360679774997845`"}], ",", + RowBox[{"-", "12.708203932499332`"}], ",", + RowBox[{"-", "12.708203932499343`"}], ",", + RowBox[{"-", "4.23606797749978`"}], ",", + RowBox[{"-", "1.000000000000066`"}], ",", + RowBox[{"-", "1.0000000000000626`"}], ",", + RowBox[{"-", "9.47213595499963`"}], ",", + RowBox[{"-", "14.708203932499408`"}], ",", RowBox[{"-", "9.472135954999644`"}], ",", - RowBox[{"-", "14.70820393249943`"}], ",", - RowBox[{"-", "1.0000000000000102`"}], ",", - RowBox[{"-", "2.2360679774998866`"}]}], "}"}], ",", + RowBox[{"-", "1.0000000000000089`"}], ",", + RowBox[{"-", "2.236067977499884`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ - RowBox[{"-", "12.708203932499314`"}], ",", - RowBox[{"-", "4.236067977499782`"}], ",", "0.9999999999999987`", ",", + RowBox[{"-", "4.2360679774997845`"}], ",", "1.0000000000000009`", ",", + RowBox[{"-", "4.236067977499781`"}], ",", + RowBox[{"-", "12.70820393249936`"}], ",", + RowBox[{"-", "12.70820393249936`"}], ",", + RowBox[{"-", "9.472135954999644`"}], ",", + RowBox[{"-", "1.0000000000000655`"}], ",", + RowBox[{"-", "1.0000000000000668`"}], ",", + RowBox[{"-", "9.472135954999642`"}], ",", + RowBox[{"-", "14.70820393249945`"}], ",", + RowBox[{"-", "1.0000000000000098`"}], ",", + RowBox[{"-", "2.236067977499888`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "12.708203932499332`"}], ",", + RowBox[{"-", "4.236067977499781`"}], ",", "0.9999999999999996`", ",", RowBox[{"-", "4.236067977499778`"}], ",", RowBox[{"-", "12.708203932499332`"}], ",", - RowBox[{"-", "14.708203932499382`"}], ",", - RowBox[{"-", "9.472135954999612`"}], ",", - RowBox[{"-", "1.0000000000000608`"}], ",", - RowBox[{"-", "1.0000000000000648`"}], ",", - RowBox[{"-", "9.472135954999619`"}], ",", - RowBox[{"-", "1.0000000000000075`"}], ",", - RowBox[{"-", "2.2360679774998813`"}]}], "}"}], ",", - RowBox[{"{", - RowBox[{ - RowBox[{"-", "12.708203932499325`"}], ",", - RowBox[{"-", "12.708203932499359`"}], ",", - RowBox[{"-", "4.236067977499778`"}], ",", "0.9999999999999978`", ",", - RowBox[{"-", "4.236067977499778`"}], ",", - RowBox[{"-", "9.472135954999617`"}], ",", RowBox[{"-", "14.708203932499396`"}], ",", - RowBox[{"-", "9.47213595499962`"}], ",", - RowBox[{"-", "1.0000000000000648`"}], ",", + RowBox[{"-", "9.47213595499961`"}], ",", + RowBox[{"-", "1.0000000000000635`"}], ",", RowBox[{"-", "1.000000000000064`"}], ",", + RowBox[{"-", "9.472135954999635`"}], ",", RowBox[{"-", "1.0000000000000084`"}], ",", - RowBox[{"-", "2.236067977499883`"}]}], "}"}], ",", + RowBox[{"-", "2.236067977499882`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ - RowBox[{"-", "4.236067977499774`"}], ",", - RowBox[{"-", "12.708203932499362`"}], ",", + RowBox[{"-", "12.708203932499343`"}], ",", + RowBox[{"-", "12.70820393249936`"}], ",", + RowBox[{"-", "4.236067977499778`"}], ",", "0.9999999999999993`", ",", + RowBox[{"-", "4.236067977499778`"}], ",", + RowBox[{"-", "9.472135954999626`"}], ",", + RowBox[{"-", "14.708203932499394`"}], ",", + RowBox[{"-", "9.472135954999635`"}], ",", + RowBox[{"-", "1.0000000000000648`"}], ",", + RowBox[{"-", "1.0000000000000657`"}], ",", + RowBox[{"-", "1.0000000000000093`"}], ",", + RowBox[{"-", "2.236067977499884`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "4.23606797749978`"}], ",", + RowBox[{"-", "12.70820393249936`"}], ",", RowBox[{"-", "12.708203932499332`"}], ",", - RowBox[{"-", "4.236067977499778`"}], ",", "1.0000000000000016`", ",", - RowBox[{"-", "1.0000000000000637`"}], ",", - RowBox[{"-", "9.472135954999619`"}], ",", + RowBox[{"-", "4.236067977499778`"}], ",", "0.9999999999999994`", ",", + RowBox[{"-", "1.000000000000063`"}], ",", + RowBox[{"-", "9.47213595499962`"}], ",", + RowBox[{"-", "14.708203932499417`"}], ",", + RowBox[{"-", "9.472135954999626`"}], ",", + RowBox[{"-", "1.0000000000000673`"}], ",", + RowBox[{"-", "1.0000000000000093`"}], ",", + RowBox[{"-", "2.236067977499884`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1.000000000000066`"}], ",", + RowBox[{"-", "9.472135954999644`"}], ",", RowBox[{"-", "14.708203932499396`"}], ",", RowBox[{"-", "9.472135954999626`"}], ",", - RowBox[{"-", "1.0000000000000626`"}], ",", - RowBox[{"-", "1.0000000000000084`"}], ",", - RowBox[{"-", "2.2360679774998835`"}]}], "}"}], ",", - RowBox[{"{", - RowBox[{ - RowBox[{"-", "1.0000000000000606`"}], ",", - RowBox[{"-", "9.472135954999636`"}], ",", - RowBox[{"-", "14.708203932499382`"}], ",", - RowBox[{"-", "9.472135954999617`"}], ",", - RowBox[{"-", "1.0000000000000637`"}], ",", "0.9999999999999988`", ",", - RowBox[{"-", "4.236067977499772`"}], ",", - RowBox[{"-", "12.708203932499323`"}], ",", - RowBox[{"-", "12.708203932499332`"}], ",", - RowBox[{"-", "4.236067977499776`"}], ",", - RowBox[{"-", "2.2360679774998817`"}], ",", - RowBox[{"-", "1.0000000000000075`"}]}], "}"}], ",", - RowBox[{"{", - RowBox[{ - RowBox[{"-", "1.0000000000000586`"}], ",", - RowBox[{"-", "1.0000000000000664`"}], ",", - RowBox[{"-", "9.472135954999612`"}], ",", - RowBox[{"-", "14.708203932499396`"}], ",", - RowBox[{"-", "9.472135954999619`"}], ",", - RowBox[{"-", "4.236067977499772`"}], ",", "0.9999999999999996`", ",", - RowBox[{"-", "4.236067977499774`"}], ",", - RowBox[{"-", "12.708203932499336`"}], ",", - RowBox[{"-", "12.708203932499332`"}], ",", - RowBox[{"-", "2.236067977499882`"}], ",", - RowBox[{"-", "1.0000000000000078`"}]}], "}"}], ",", - RowBox[{"{", - RowBox[{ - RowBox[{"-", "9.472135954999604`"}], ",", - RowBox[{"-", "1.0000000000000655`"}], ",", - RowBox[{"-", "1.0000000000000608`"}], ",", - RowBox[{"-", "9.47213595499962`"}], ",", - RowBox[{"-", "14.708203932499396`"}], ",", - RowBox[{"-", "12.708203932499323`"}], ",", - RowBox[{"-", "4.236067977499774`"}], ",", "0.9999999999999994`", ",", + RowBox[{"-", "1.000000000000063`"}], ",", "0.9999999999999998`", ",", RowBox[{"-", "4.236067977499778`"}], ",", - RowBox[{"-", "12.708203932499334`"}], ",", - RowBox[{"-", "2.2360679774998817`"}], ",", - RowBox[{"-", "1.0000000000000075`"}]}], "}"}], ",", - RowBox[{"{", - RowBox[{ - RowBox[{"-", "14.708203932499385`"}], ",", - RowBox[{"-", "9.472135954999644`"}], ",", - RowBox[{"-", "1.0000000000000648`"}], ",", - RowBox[{"-", "1.0000000000000648`"}], ",", - RowBox[{"-", "9.472135954999626`"}], ",", - RowBox[{"-", "12.708203932499332`"}], ",", - RowBox[{"-", "12.708203932499336`"}], ",", - RowBox[{"-", "4.236067977499778`"}], ",", "1.0000000000000002`", ",", - RowBox[{"-", "4.236067977499777`"}], ",", - RowBox[{"-", "2.2360679774998835`"}], ",", - RowBox[{"-", "1.000000000000008`"}]}], "}"}], ",", - RowBox[{"{", - RowBox[{ - RowBox[{"-", "9.472135954999615`"}], ",", - RowBox[{"-", "14.70820393249943`"}], ",", - RowBox[{"-", "9.472135954999619`"}], ",", - RowBox[{"-", "1.000000000000064`"}], ",", - RowBox[{"-", "1.0000000000000626`"}], ",", - RowBox[{"-", "4.236067977499776`"}], ",", - RowBox[{"-", "12.708203932499332`"}], ",", - RowBox[{"-", "12.708203932499334`"}], ",", - RowBox[{"-", "4.236067977499777`"}], ",", "1.0000000000000004`", ",", - RowBox[{"-", "2.236067977499883`"}], ",", + RowBox[{"-", "12.70820393249935`"}], ",", + RowBox[{"-", "12.708203932499341`"}], ",", + RowBox[{"-", "4.236067977499785`"}], ",", + RowBox[{"-", "2.236067977499885`"}], ",", RowBox[{"-", "1.0000000000000089`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ - RowBox[{"-", "1.000000000000007`"}], ",", - RowBox[{"-", "1.0000000000000102`"}], ",", - RowBox[{"-", "1.0000000000000075`"}], ",", - RowBox[{"-", "1.0000000000000084`"}], ",", - RowBox[{"-", "1.0000000000000084`"}], ",", + RowBox[{"-", "1.0000000000000626`"}], ",", + RowBox[{"-", "1.0000000000000655`"}], ",", + RowBox[{"-", "9.47213595499961`"}], ",", + RowBox[{"-", "14.708203932499394`"}], ",", + RowBox[{"-", "9.47213595499962`"}], ",", + RowBox[{"-", "4.236067977499778`"}], ",", "0.9999999999999986`", ",", + RowBox[{"-", "4.236067977499777`"}], ",", + RowBox[{"-", "12.708203932499332`"}], ",", + RowBox[{"-", "12.708203932499352`"}], ",", RowBox[{"-", "2.2360679774998817`"}], ",", - RowBox[{"-", "2.236067977499882`"}], ",", - RowBox[{"-", "2.2360679774998817`"}], ",", - RowBox[{"-", "2.2360679774998835`"}], ",", - RowBox[{"-", "2.236067977499883`"}], ",", "0.9999999999999999`", ",", - RowBox[{"-", "1.7639320225002564`"}]}], "}"}], ",", + RowBox[{"-", "1.0000000000000089`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "9.47213595499963`"}], ",", + RowBox[{"-", "1.0000000000000668`"}], ",", + RowBox[{"-", "1.0000000000000635`"}], ",", + RowBox[{"-", "9.472135954999635`"}], ",", + RowBox[{"-", "14.708203932499417`"}], ",", + RowBox[{"-", "12.70820393249935`"}], ",", + RowBox[{"-", "4.236067977499777`"}], ",", "1.`", ",", + RowBox[{"-", "4.236067977499784`"}], ",", + RowBox[{"-", "12.70820393249937`"}], ",", + RowBox[{"-", "2.2360679774998853`"}], ",", + RowBox[{"-", "1.0000000000000102`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "14.708203932499408`"}], ",", + RowBox[{"-", "9.472135954999642`"}], ",", + RowBox[{"-", "1.000000000000064`"}], ",", + RowBox[{"-", "1.0000000000000648`"}], ",", + RowBox[{"-", "9.472135954999626`"}], ",", + RowBox[{"-", "12.708203932499341`"}], ",", + RowBox[{"-", "12.708203932499332`"}], ",", + RowBox[{"-", "4.236067977499784`"}], ",", "1.000000000000001`", ",", + RowBox[{"-", "4.2360679774997845`"}], ",", + RowBox[{"-", "2.236067977499885`"}], ",", + RowBox[{"-", "1.0000000000000089`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "9.472135954999644`"}], ",", + RowBox[{"-", "14.70820393249945`"}], ",", + RowBox[{"-", "9.472135954999635`"}], ",", + RowBox[{"-", "1.0000000000000657`"}], ",", + RowBox[{"-", "1.0000000000000673`"}], ",", + RowBox[{"-", "4.236067977499785`"}], ",", + RowBox[{"-", "12.708203932499352`"}], ",", + RowBox[{"-", "12.70820393249937`"}], ",", + RowBox[{"-", "4.2360679774997845`"}], ",", "1.0000000000000002`", ",", + RowBox[{"-", "2.2360679774998875`"}], ",", + RowBox[{"-", "1.0000000000000107`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ - RowBox[{"-", "2.23606797749988`"}], ",", - RowBox[{"-", "2.2360679774998866`"}], ",", - RowBox[{"-", "2.2360679774998813`"}], ",", - RowBox[{"-", "2.236067977499883`"}], ",", - RowBox[{"-", "2.2360679774998835`"}], ",", - RowBox[{"-", "1.0000000000000075`"}], ",", - RowBox[{"-", "1.0000000000000078`"}], ",", - RowBox[{"-", "1.0000000000000075`"}], ",", - RowBox[{"-", "1.000000000000008`"}], ",", RowBox[{"-", "1.0000000000000089`"}], ",", - RowBox[{"-", "1.7639320225002564`"}], ",", "0.9999999999999999`"}], + RowBox[{"-", "1.0000000000000098`"}], ",", + RowBox[{"-", "1.0000000000000084`"}], ",", + RowBox[{"-", "1.0000000000000093`"}], ",", + RowBox[{"-", "1.0000000000000093`"}], ",", + RowBox[{"-", "2.236067977499885`"}], ",", + RowBox[{"-", "2.2360679774998817`"}], ",", + RowBox[{"-", "2.2360679774998853`"}], ",", + RowBox[{"-", "2.236067977499885`"}], ",", + RowBox[{"-", "2.2360679774998875`"}], ",", "1.`", ",", + RowBox[{"-", "1.7639320225002568`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "2.236067977499884`"}], ",", + RowBox[{"-", "2.236067977499888`"}], ",", + RowBox[{"-", "2.236067977499882`"}], ",", + RowBox[{"-", "2.236067977499884`"}], ",", + RowBox[{"-", "2.236067977499884`"}], ",", + RowBox[{"-", "1.0000000000000089`"}], ",", + RowBox[{"-", "1.0000000000000089`"}], ",", + RowBox[{"-", "1.0000000000000102`"}], ",", + RowBox[{"-", "1.0000000000000089`"}], ",", + RowBox[{"-", "1.0000000000000107`"}], ",", + RowBox[{"-", "1.7639320225002568`"}], ",", "0.9999999999999997`"}], "}"}]}], "}"}]], "Output", - CellChangeTimes->{3.8341795446742983`*^9, 3.8341796342153883`*^9, - 3.8341797131672173`*^9, 3.834179811383936*^9}, + CellChangeTimes->{ + 3.8341795446742983`*^9, 3.8341796342153883`*^9, 3.8341797131672173`*^9, + 3.834179811383936*^9, {3.834501061390765*^9, 3.834501076103367*^9}, + 3.834501229114954*^9, 3.834502882776107*^9}, CellLabel-> - "Out[462]=",ExpressionUUID->"4d9e9213-0a91-41d7-89df-4e259178e537"] + "Out[222]=",ExpressionUUID->"03f12bc9-7a27-471f-bddc-c0858dc385e9"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"G", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1", ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", "1", ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1", ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + RowBox[{"Sqrt", "[", "5", "]"}]}], ",", "1"}], "}"}]}], + "}"}]}]], "Input", + CellChangeTimes->{{3.834501067162672*^9, 3.8345010680342617`*^9}}, + CellLabel-> + "In[223]:=",ExpressionUUID->"1616f30b-f817-4bed-8186-0f3e4b738bac"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", "1", ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", "1", ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", "1", ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", "1", ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", + RowBox[{"-", "1"}], ",", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], ",", "1"}], "}"}]}], "}"}]], "Output", + CellChangeTimes->{{3.8345010712331038`*^9, 3.834501076129974*^9}, + 3.834501229130864*^9, 3.834502882798918*^9}, + CellLabel-> + "Out[223]=",ExpressionUUID->"5eccc42d-a331-461b-8d74-78a9e537f2d9"] }, Open ]], Cell[CellGroupData[{ @@ -1138,7 +1760,7 @@ Cell[BoxData[ 3.834150652562565*^9, 3.8341506602368183`*^9}, {3.834179514150607*^9, 3.834179527454651*^9}}, CellLabel-> - "In[463]:=",ExpressionUUID->"ced1cd28-39c9-46f3-906f-472b911c83b5"], + "In[224]:=",ExpressionUUID->"ced1cd28-39c9-46f3-906f-472b911c83b5"], Cell[BoxData["12"], "Output", CellChangeTimes->{ @@ -1154,9 +1776,10 @@ Cell[BoxData["12"], "Output", 3.832071411308194*^9, {3.832075226083325*^9, 3.832075229578257*^9}, 3.832075261919179*^9, 3.832154278676079*^9, 3.832154312567971*^9, 3.8341506641986094`*^9, 3.834150717757927*^9, 3.834179634237877*^9, - 3.8341797131884813`*^9, 3.834179811405641*^9}, + 3.8341797131884813`*^9, 3.834179811405641*^9, {3.834501061407423*^9, + 3.834501076151882*^9}, 3.8345012291462593`*^9, 3.834502882817725*^9}, CellLabel-> - "Out[463]=",ExpressionUUID->"e9c299d1-02c3-4b43-8bda-fa9eb98b7441"] + "Out[224]=",ExpressionUUID->"442a4abd-126e-437e-923d-a3efae1aeccd"] }, Open ]], Cell[CellGroupData[{ @@ -1166,155 +1789,299 @@ Cell[BoxData[ CellChangeTimes->{{3.8310684245019207`*^9, 3.831068430589032*^9}, 3.831070943176569*^9}, CellLabel-> - "In[464]:=",ExpressionUUID->"c3856cfc-8a90-4b2e-a7f8-03f066ea4f67"], + "In[225]:=",ExpressionUUID->"c3856cfc-8a90-4b2e-a7f8-03f066ea4f67"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ - {"1.0000000000000007`", - RowBox[{"-", "4.236067977499779`"}], - RowBox[{"-", "12.708203932499314`"}], - RowBox[{"-", "12.708203932499325`"}], - RowBox[{"-", "4.236067977499774`"}], - RowBox[{"-", "1.0000000000000606`"}], - RowBox[{"-", "1.0000000000000586`"}], - RowBox[{"-", "9.472135954999604`"}], - RowBox[{"-", "14.708203932499385`"}], - RowBox[{"-", "9.472135954999615`"}], - RowBox[{"-", "1.000000000000007`"}], - RowBox[{"-", "2.23606797749988`"}]}, + {"1", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}, { - RowBox[{"-", "4.236067977499779`"}], "1.`", - RowBox[{"-", "4.236067977499782`"}], - RowBox[{"-", "12.708203932499359`"}], - RowBox[{"-", "12.708203932499362`"}], - RowBox[{"-", "9.472135954999636`"}], - RowBox[{"-", "1.0000000000000664`"}], - RowBox[{"-", "1.0000000000000655`"}], - RowBox[{"-", "9.472135954999644`"}], - RowBox[{"-", "14.70820393249943`"}], - RowBox[{"-", "1.0000000000000102`"}], - RowBox[{"-", "2.2360679774998866`"}]}, + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], "1", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}]}, { - RowBox[{"-", "12.708203932499314`"}], - RowBox[{"-", "4.236067977499782`"}], "0.9999999999999987`", - RowBox[{"-", "4.236067977499778`"}], - RowBox[{"-", "12.708203932499332`"}], - RowBox[{"-", "14.708203932499382`"}], - RowBox[{"-", "9.472135954999612`"}], - RowBox[{"-", "1.0000000000000608`"}], - RowBox[{"-", "1.0000000000000648`"}], - RowBox[{"-", "9.472135954999619`"}], - RowBox[{"-", "1.0000000000000075`"}], - RowBox[{"-", "2.2360679774998813`"}]}, + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], "1", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}, { - RowBox[{"-", "12.708203932499325`"}], - RowBox[{"-", "12.708203932499359`"}], - RowBox[{"-", "4.236067977499778`"}], "0.9999999999999978`", - RowBox[{"-", "4.236067977499778`"}], - RowBox[{"-", "9.472135954999617`"}], - RowBox[{"-", "14.708203932499396`"}], - RowBox[{"-", "9.47213595499962`"}], - RowBox[{"-", "1.0000000000000648`"}], - RowBox[{"-", "1.000000000000064`"}], - RowBox[{"-", "1.0000000000000084`"}], - RowBox[{"-", "2.236067977499883`"}]}, + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], "1", + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}]}, { - RowBox[{"-", "4.236067977499774`"}], - RowBox[{"-", "12.708203932499362`"}], - RowBox[{"-", "12.708203932499332`"}], - RowBox[{"-", "4.236067977499778`"}], "1.0000000000000016`", - RowBox[{"-", "1.0000000000000637`"}], - RowBox[{"-", "9.472135954999619`"}], - RowBox[{"-", "14.708203932499396`"}], - RowBox[{"-", "9.472135954999626`"}], - RowBox[{"-", "1.0000000000000626`"}], - RowBox[{"-", "1.0000000000000084`"}], - RowBox[{"-", "2.2360679774998835`"}]}, + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], "1", + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}, { - RowBox[{"-", "1.0000000000000606`"}], - RowBox[{"-", "9.472135954999636`"}], - RowBox[{"-", "14.708203932499382`"}], - RowBox[{"-", "9.472135954999617`"}], - RowBox[{"-", "1.0000000000000637`"}], "0.9999999999999988`", - RowBox[{"-", "4.236067977499772`"}], - RowBox[{"-", "12.708203932499323`"}], - RowBox[{"-", "12.708203932499332`"}], - RowBox[{"-", "4.236067977499776`"}], - RowBox[{"-", "2.2360679774998817`"}], - RowBox[{"-", "1.0000000000000075`"}]}, + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], "1", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}]}, { - RowBox[{"-", "1.0000000000000586`"}], - RowBox[{"-", "1.0000000000000664`"}], - RowBox[{"-", "9.472135954999612`"}], - RowBox[{"-", "14.708203932499396`"}], - RowBox[{"-", "9.472135954999619`"}], - RowBox[{"-", "4.236067977499772`"}], "0.9999999999999996`", - RowBox[{"-", "4.236067977499774`"}], - RowBox[{"-", "12.708203932499336`"}], - RowBox[{"-", "12.708203932499332`"}], - RowBox[{"-", "2.236067977499882`"}], - RowBox[{"-", "1.0000000000000078`"}]}, + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], "1", + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}]}, { - RowBox[{"-", "9.472135954999604`"}], - RowBox[{"-", "1.0000000000000655`"}], - RowBox[{"-", "1.0000000000000608`"}], - RowBox[{"-", "9.47213595499962`"}], - RowBox[{"-", "14.708203932499396`"}], - RowBox[{"-", "12.708203932499323`"}], - RowBox[{"-", "4.236067977499774`"}], "0.9999999999999994`", - RowBox[{"-", "4.236067977499778`"}], - RowBox[{"-", "12.708203932499334`"}], - RowBox[{"-", "2.2360679774998817`"}], - RowBox[{"-", "1.0000000000000075`"}]}, + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], "1", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}]}, { - RowBox[{"-", "14.708203932499385`"}], - RowBox[{"-", "9.472135954999644`"}], - RowBox[{"-", "1.0000000000000648`"}], - RowBox[{"-", "1.0000000000000648`"}], - RowBox[{"-", "9.472135954999626`"}], - RowBox[{"-", "12.708203932499332`"}], - RowBox[{"-", "12.708203932499336`"}], - RowBox[{"-", "4.236067977499778`"}], "1.0000000000000002`", - RowBox[{"-", "4.236067977499777`"}], - RowBox[{"-", "2.2360679774998835`"}], - RowBox[{"-", "1.000000000000008`"}]}, + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], "1", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}]}, { - RowBox[{"-", "9.472135954999615`"}], - RowBox[{"-", "14.70820393249943`"}], - RowBox[{"-", "9.472135954999619`"}], - RowBox[{"-", "1.000000000000064`"}], - RowBox[{"-", "1.0000000000000626`"}], - RowBox[{"-", "4.236067977499776`"}], - RowBox[{"-", "12.708203932499332`"}], - RowBox[{"-", "12.708203932499334`"}], - RowBox[{"-", "4.236067977499777`"}], "1.0000000000000004`", - RowBox[{"-", "2.236067977499883`"}], - RowBox[{"-", "1.0000000000000089`"}]}, + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], "1", + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}]}, { - RowBox[{"-", "1.000000000000007`"}], - RowBox[{"-", "1.0000000000000102`"}], - RowBox[{"-", "1.0000000000000075`"}], - RowBox[{"-", "1.0000000000000084`"}], - RowBox[{"-", "1.0000000000000084`"}], - RowBox[{"-", "2.2360679774998817`"}], - RowBox[{"-", "2.236067977499882`"}], - RowBox[{"-", "2.2360679774998817`"}], - RowBox[{"-", "2.2360679774998835`"}], - RowBox[{"-", "2.236067977499883`"}], "0.9999999999999999`", - RowBox[{"-", "1.7639320225002564`"}]}, + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], "1", + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}]}, { - RowBox[{"-", "2.23606797749988`"}], - RowBox[{"-", "2.2360679774998866`"}], - RowBox[{"-", "2.2360679774998813`"}], - RowBox[{"-", "2.236067977499883`"}], - RowBox[{"-", "2.2360679774998835`"}], - RowBox[{"-", "1.0000000000000075`"}], - RowBox[{"-", "1.0000000000000078`"}], - RowBox[{"-", "1.0000000000000075`"}], - RowBox[{"-", "1.000000000000008`"}], - RowBox[{"-", "1.0000000000000089`"}], - RowBox[{"-", "1.7639320225002564`"}], "0.9999999999999999`"} + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "2"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], + RowBox[{"-", "1"}], + RowBox[{ + RowBox[{"-", "4"}], "-", + SqrtBox["5"]}], "1"} }, GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, GridBoxSpacings->{"Columns" -> { @@ -1347,17 +2114,19 @@ Cell[BoxData[ 3.83207129300419*^9, 3.832071365897861*^9, 3.832071411328372*^9, 3.832075229728857*^9, 3.832075261941083*^9, 3.832154278692697*^9, 3.832154312584054*^9, 3.834150664215773*^9, 3.834150717774004*^9, - 3.834179634265574*^9, 3.834179713243734*^9, 3.8341798114593563`*^9}, + 3.834179634265574*^9, 3.834179713243734*^9, 3.8341798114593563`*^9, { + 3.834501061427705*^9, 3.834501076174374*^9}, 3.8345012291623507`*^9, + 3.8345028828382463`*^9}, CellLabel-> - "Out[464]//MatrixForm=",ExpressionUUID->"7ac3493b-b814-4b42-8318-\ -95406dbef02a"] + "Out[225]//MatrixForm=",ExpressionUUID->"4e601467-6803-434f-b0f5-\ +e715fcbb5185"] }, Open ]], Cell[BoxData[""], "Input", CellChangeTimes->{{3.8310924022859507`*^9, 3.831092406878796*^9}, { 3.8311137278056173`*^9, 3.8311137280579557`*^9}, 3.831552904141026*^9}, CellLabel-> - "In[465]:=",ExpressionUUID->"c0fe9f2e-e239-4938-84cd-0e217d1ee57c"], + "In[226]:=",ExpressionUUID->"c0fe9f2e-e239-4938-84cd-0e217d1ee57c"], Cell[CellGroupData[{ @@ -1371,7 +2140,7 @@ Cell[BoxData[ 3.831139071114275*^9, 3.8311390712579117`*^9}, {3.831139182740775*^9, 3.831139182989287*^9}, {3.8315534621430817`*^9, 3.8315534622203608`*^9}}, CellLabel-> - "In[466]:=",ExpressionUUID->"0fcfbb19-b2bd-4a52-925c-ac50bcdaec4f"], + "In[227]:=",ExpressionUUID->"0fcfbb19-b2bd-4a52-925c-ac50bcdaec4f"], Cell[BoxData["4"], "Output", CellChangeTimes->{{3.831077658967082*^9, 3.831077690109293*^9}, @@ -1438,9 +2207,10 @@ Cell[BoxData["4"], "Output", 3.8320714113800497`*^9, 3.832075229872122*^9, 3.832075261990219*^9, 3.832154278741716*^9, 3.8321543126328583`*^9, 3.8341506642636967`*^9, 3.8341507178212643`*^9, 3.834179634318242*^9, 3.834179713300296*^9, - 3.8341798115140533`*^9}, + 3.8341798115140533`*^9, {3.8345010614473867`*^9, 3.834501076200571*^9}, + 3.834501229181724*^9, 3.834502882864852*^9}, CellLabel-> - "Out[466]=",ExpressionUUID->"08a7eb7c-ea92-4596-a5a4-47df324c568e"] + "Out[227]=",ExpressionUUID->"966dd123-c031-4177-b94b-2299f2a21c1e"] }, Open ]], Cell[CellGroupData[{ @@ -1453,7 +2223,7 @@ Cell[BoxData[ 3.831069579236924*^9, 3.831069580068521*^9}, {3.831077557179717*^9, 3.8310775573141937`*^9}, {3.831077610720077*^9, 3.8310776304729652`*^9}}, CellLabel-> - "In[467]:=",ExpressionUUID->"66dee78e-384d-4588-9d25-04b3c7b1aea7"], + "In[228]:=",ExpressionUUID->"66dee78e-384d-4588-9d25-04b3c7b1aea7"], Cell[BoxData[ RowBox[{"{", @@ -1550,9 +2320,10 @@ Cell[BoxData[ 3.8320713659792213`*^9, 3.8320714114220943`*^9, 3.832075262035531*^9, 3.832154278782291*^9, 3.832154312670209*^9, 3.834150664304747*^9, 3.8341507178610277`*^9, 3.8341796343412113`*^9, 3.834179713320942*^9, - 3.834179811535512*^9}, + 3.834179811535512*^9, {3.834501061468029*^9, 3.83450107622572*^9}, + 3.8345012291977587`*^9, 3.834502882881853*^9}, CellLabel-> - "Out[467]=",ExpressionUUID->"28682a7b-05c7-4faf-ab46-1c4671c171e4"] + "Out[228]=",ExpressionUUID->"5d7d84c2-9380-4bb3-a45b-0c12fd78b216"] }, Open ]], Cell[CellGroupData[{ @@ -1565,16 +2336,16 @@ Cell[BoxData[ 3.831070982047958*^9, 3.8310709823617363`*^9}, {3.8341797067716312`*^9, 3.8341797075825768`*^9}}, CellLabel-> - "In[468]:=",ExpressionUUID->"6c7429b3-1587-4d20-991f-d99f45021537"], + "In[229]:=",ExpressionUUID->"6c7429b3-1587-4d20-991f-d99f45021537"], Cell[BoxData[ RowBox[{"{", RowBox[{ - RowBox[{"-", "1"}], ",", "1", ",", "1", ",", "1", ",", - RowBox[{"-", "1"}], ",", "1", ",", - RowBox[{"-", "1"}], ",", "1", ",", - RowBox[{"-", "1"}], ",", "1", ",", - RowBox[{"-", "1"}], ",", "1"}], "}"}]], "Output", + RowBox[{"-", "1"}], ",", "1", ",", "1", ",", "1", ",", "1", ",", "1", ",", + + RowBox[{"-", "1"}], ",", + RowBox[{"-", "1"}], ",", "0", ",", "0", ",", "0", ",", "0"}], + "}"}]], "Output", CellChangeTimes->{ 3.831069655368197*^9, {3.831069731555151*^9, 3.8310697423741207`*^9}, 3.831069792282263*^9, {3.8310698467388144`*^9, 3.831069895675623*^9}, { @@ -1662,9 +2433,11 @@ Cell[BoxData[ 3.8320712931145287`*^9, 3.832071366648343*^9, 3.8320714120817337`*^9, { 3.8320752398176622`*^9, 3.8320752620829077`*^9}, 3.832154278794956*^9, 3.832154312683844*^9, 3.83415066502416*^9, 3.834150718573269*^9, - 3.834179635038335*^9, 3.834179714041378*^9, 3.834179811582711*^9}, + 3.834179635038335*^9, 3.834179714041378*^9, 3.834179811582711*^9, { + 3.8345010615381107`*^9, 3.834501076421116*^9}, 3.8345012292720633`*^9, + 3.8345028829639797`*^9}, CellLabel-> - "Out[468]=",ExpressionUUID->"3529eb68-2017-4a4b-972b-91cf14938ca5"] + "Out[229]=",ExpressionUUID->"c7751070-01f8-4024-b8e7-b223a36da7be"] }, Open ]], Cell[BoxData[ @@ -1701,7 +2474,7 @@ Cell[BoxData[ 3.831139212300468*^9}, {3.831553470591372*^9, 3.831553478545971*^9}, 3.83417970530786*^9}, CellLabel-> - "In[469]:=",ExpressionUUID->"dd7b3324-1ab6-43b0-9e24-406f40fb34ba"], + "In[230]:=",ExpressionUUID->"dd7b3324-1ab6-43b0-9e24-406f40fb34ba"], Cell[BoxData[{ RowBox[{ @@ -1751,7 +2524,9 @@ Cell[BoxData[{ 3.8310845937558413`*^9}, {3.831084628215064*^9, 3.831084651458681*^9}, { 3.8341797019320917`*^9, 3.834179704491941*^9}}, CellLabel-> - "In[470]:=",ExpressionUUID->"9e97f31a-ffaa-4f35-bb49-127a66bb73f7"], + "In[231]:=",ExpressionUUID->"9e97f31a-ffaa-4f35-bb49-127a66bb73f7"], + +Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ @@ -1771,7 +2546,8 @@ Cell[BoxData[{ RowBox[{"V2b", "=", RowBox[{"Orthogonalize", "[", RowBox[{"N", "[", - RowBox[{"Eigenvectors", "[", "G", "]"}], "]"}], "]"}]}], + RowBox[{ + RowBox[{"Eigenvectors", "[", "G", "]"}], ",", "100"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MatrixForm", "[", @@ -1815,18 +2591,32 @@ Cell[BoxData[{ RowBox[{"Transpose", "[", "c", "]"}], ".", RowBox[{"P", "[", "d", "]"}], ".", "c"}], "]"}], ";"}]}], "Input", CellChangeTimes->CompressedData[" -1:eJwlz1sog3EABfAv3si3B2LZKOXBUgpDKymSr2ktl+JFrVYWQ2zkVmNKYnaj -XGraamOtbAnFXsRklq2VB8qlIZGUy4PW3Ibv/D2cfp23c3Lk3Q2tCRRFZbGB -6UJzYdH0U+VA+b+xxHoVtJXb+qHZmDMCVc0C4reOMwGb4tvEvNe5imLWvrJo -FcxVx8TwKmyRQsnWqhz6DOsKWCuNKOHXbl0n1BcwKvjuotTw8cczBWNWqw7W -DPktcMcbJtJdZ3YYkTkccHxgzQVnDIwb+gPiQ/h6KjyG7tTACekixQVsO29s -K2XtmW9RQrtptLqMVev1MfAuJJbAhbF6orTz8wg2iH6JB3JRkKdn9+73hqGi -vYPOMLA/Lg+JL9ezPDg7uEfMT0uehKHgig66KY0RbmgEi/Ds+WMJ3gi4VvjA -X3TCN1OUKCsRcrmsm8vDfEi7PfecmafKJCZOlN3cpmSzOjO1NPwD9g7pzQ== - +1:eJwlz1sow2EABfB/vGHz4LZm0cqDpRTGWklNsqa1XIoXtVpZw8SQW2FKYmyM +sMImcytbQqEkJizTygPlbomkXB6kufOdz8Pp13k7h6+qzC8JYBgmlgRGCvuS +krsfJPXp//oD83TQlm6rg30mfgvUFQmoX4bQDlj4vUKNfx7MSCHWil4zYVy1 +XwYvvSMKKF+eU0GXcUENcxQXZfBzI1cLexKlOvg2y1TD+x9nF/RbrQaY3bgz +AtdXvVR2xfEEvFDa7bC9fn4Wmo1SB9xxy3bh85HwADrC3Ie0i9WnUHNSoEkj +Vg0Vl8GJ3tYsEVG/6pLCm32ZHA635VEV2o89mC/+pW6rxJ7oHrJ3q8YL1aXl +7Cgj+XG2S3266o+G/Q2b1ITw4E6475kyQAfTbIKLzQILPH58H4U+AccK73iW +afjS+0pVpgo5HOLSZBMPsh3O21DzgyRI+k1V+q5ZMcRprp4NLb6BkDWi253A +ghFjM2eQO846h39Zj/tn "], CellLabel-> - "In[475]:=",ExpressionUUID->"0209d30a-517c-4664-b87b-84799191f438"], + "In[236]:=",ExpressionUUID->"0209d30a-517c-4664-b87b-84799191f438"], + +Cell[BoxData[ + TemplateBox[{ + "N", "meprec", + "\"Internal precision limit $MaxExtraPrecision = \\!\\(\\*RowBox[{\\\"50.`\ +\\\"}]\\) reached while evaluating \\!\\(\\*RowBox[{\\\"{\\\", RowBox[{\\\"\ +\[LeftSkeleton]\\\", \\\"1\\\", \\\"\[RightSkeleton]\\\"}], \ +\\\"}\\\"}]\\).\"", 2, 237, 1, 26221014139644137965, "Local"}, + "MessageTemplate"]], "Message", "MSG", + CellChangeTimes->{3.834502885497574*^9}, + CellLabel-> + "During evaluation of \ +In[236]:=",ExpressionUUID->"4b8e3482-7de8-46ff-964e-b784bf19ec01"] +}, Open ]], Cell[CellGroupData[{ @@ -2037,53 +2827,36 @@ Cell[BoxData[{ 3.831126219196403*^9, 3.831126229413628*^9}}, NumberMarks->False, CellLabel-> - "In[484]:=",ExpressionUUID->"3a5095fb-bef7-4905-a187-ccc481ddd9ee"], + "In[245]:=",ExpressionUUID->"3a5095fb-bef7-4905-a187-ccc481ddd9ee"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ + {"3.546430678000464`", + RowBox[{"-", "0.36372734005442253`"}], "2.3768355879417165`", + "1.012856398189994`", "2.2926401396282015`", "2.57551915892222`", + "0.6071841790238219`", "0.9085551300901141`", "2.3768355879417165`", + "2.2926401396282015`", "0.9085551300901141`", "1.012856398189994`"}, { - RowBox[{"-", "3.143765100869059`"}], - RowBox[{"-", "3.143765100869069`"}], - RowBox[{"-", "3.1437651008690604`"}], - RowBox[{"-", "3.143765100869063`"}], - RowBox[{"-", "3.143765100869064`"}], - RowBox[{"-", "2.092302876630731`"}], - RowBox[{"-", "2.092302876630731`"}], - RowBox[{"-", "2.0923028766307303`"}], - RowBox[{"-", "2.0923028766307317`"}], - RowBox[{"-", "2.0923028766307326`"}], - RowBox[{"-", "1.7936044933348714`"}], "0.5575365158350434`"}, + RowBox[{"-", "0.2834798580148514`"}], "3.56510764715264`", + "0.8788612744365893`", "2.4021801173827617`", "0.7431613515250001`", + "0.6583453761027523`", "2.623282413035036`", "2.337684756018828`", + "0.8788612744365893`", "0.7431613515250001`", "2.337684756018828`", + "2.4021801173827617`"}, { - RowBox[{"-", "2.09230287663073`"}], - RowBox[{"-", "2.092302876630737`"}], - RowBox[{"-", "2.0923028766307303`"}], - RowBox[{"-", "2.092302876630733`"}], - RowBox[{"-", "2.092302876630734`"}], - RowBox[{"-", "3.1437651008690626`"}], - RowBox[{"-", "3.1437651008690617`"}], - RowBox[{"-", "3.1437651008690612`"}], - RowBox[{"-", "3.1437651008690635`"}], - RowBox[{"-", "3.1437651008690635`"}], "0.5575365158350415`", - RowBox[{"-", "1.7936044933348678`"}]}, - { - RowBox[{"-", "0.7327447487672542`"}], - RowBox[{"-", "2.750010954479342`"}], - RowBox[{"-", "0.9668554905355142`"}], "2.152461399118937`", - "2.2971497946631723`", "0.9668554905355145`", - RowBox[{"-", "2.152461399118936`"}], - RowBox[{"-", "2.29714979466317`"}], "0.7327447487672532`", - "2.750010954479338`", "2.455392321906072`*^-15", "0.`"}, - { - RowBox[{"-", "2.6534494336907275`"}], - RowBox[{"-", "0.12307930062886324`"}], "2.577382242590525`", - "1.7159891285502347`", - RowBox[{"-", "1.5168426368211698`"}], - RowBox[{"-", "2.5773822425905264`"}], - RowBox[{"-", "1.7159891285502347`"}], "1.5168426368211674`", - "2.6534494336907315`", "0.12307930062886277`", - RowBox[{"-", "2.4858420984427035`*^-16"}], - RowBox[{"-", "2.5366726034627908`*^-17"}]}, + RowBox[{"-", "0.10541211236465554`"}], "0.13947427183635003`", + RowBox[{"-", "1.3944888185343116`"}], "1.5093374557383679`", + "0.39972317293674914`", "1.6393224334908487`", + RowBox[{"-", "1.6052602740191542`"}], + RowBox[{"-", "0.5966814676345231`"}], + RowBox[{"-", "1.3944888185343116`"}], "0.39972317293674914`", + RowBox[{"-", "0.5966814676345231`"}], "1.5093374557383679`"}, + {"0.`", "0.`", "1.0053630881229512`", + RowBox[{"-", "1.2324749033650693`"}], + RowBox[{"-", "1.3995998323753724`"}], "0.`", "0.`", + "1.6030340178370865`", + RowBox[{"-", "1.0053630881229512`"}], "1.3995998323753724`", + RowBox[{"-", "1.6030340178370865`"}], "1.2324749033650693`"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"} }, GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, @@ -2144,27 +2917,26 @@ Cell[BoxData[ 3.832071175060895*^9, 3.8320712933509083`*^9, 3.832071656839703*^9, 3.8320752622828913`*^9, 3.832154278985277*^9, 3.832154312852416*^9, 3.834150722393003*^9, 3.834179638862646*^9, 3.83417971760988*^9, - 3.834179811662073*^9}, + 3.834179811662073*^9, {3.83450106170175*^9, 3.834501078858068*^9}, + 3.834502885610161*^9}, CellLabel-> - "Out[484]//MatrixForm=",ExpressionUUID->"a35f16c9-3a73-4ea4-a339-\ -fb741a485d27"], + "Out[245]//MatrixForm=",ExpressionUUID->"f4fe93d1-1451-4efd-afba-\ +c3cd1be008f9"], Cell[BoxData[ - GraphicsBox[{ - CircleBox[{0.3502096933247089, 1.268195662935579}, 0.47794227650746085], - CircleBox[{1.3143464960043074, 0.05882480113350485}, 0.4779422765074592], - CircleBox[{0.4621011142002813, -1.2318399364536199}, 0.47794227650746074], - CircleBox[{-1.0287523011893376, -0.8201437505613518}, 0.47794227650746013], - CircleBox[{-1.0979050023399606, 0.7249632229458881}, 0.4779422765074599], - CircleBox[{-0.30754698888547266, 0.8198393200172732}, 0.31808992336086434], - CircleBox[{0.6846762814829612, 0.5458388503886206}, 0.3180899233608644], - CircleBox[{0.7307002021328333, -0.4824923580969367}, 0.31808992336086445], - CircleBox[{-0.23307872097845125, -0.8440355270046134}, 0.3180899233608642], - CircleBox[{-0.8747507737518696, -0.039150285304343724}, - 0.3180899233608642], - CircleBox[{4.4040027014706774*^-15, -4.458617557487822*^-16}, - 1.793604493334873], - CircleBox[{0., 1.4142876051488524*^-17}, 0.5575365158350432]}, + GraphicsBox[{CircleBox[{0.37185044857449107, 0.}, 3.527587487177344], + CircleBox[{0.039122036594812094, 0.}, 0.28049643909032435], + CircleBox[{-1.5866995839909717, 1.143938318100838}, 1.13783600334543], + CircleBox[{0.6283198519613219, -0.5130651504633562}, 0.4162885175694178], + CircleBox[{0.5378686231684404, -1.8833054618668363}, 1.3456028061038907], + CircleBox[{2.4900644752686603, 0.}, 1.5189595557270585], + CircleBox[{-0.611928119535529, 0.}, 0.3812018084789578], + CircleBox[{-0.25524462445085877, 0.6857357535954158}, 0.42777367539626715], + CircleBox[{-1.5866995839909717, -1.143938318100838}, 1.13783600334543], + CircleBox[{0.5378686231684404, 1.8833054618668363}, 1.3456028061038907], + CircleBox[{-0.25524462445085877, -0.6857357535954158}, + 0.42777367539626715], + CircleBox[{0.6283198519613219, 0.5130651504633562}, 0.4162885175694178]}, ImageSize->{443.87890625, Automatic}]], "Output", CellChangeTimes->{ 3.8310808181124763`*^9, 3.831080860753619*^9, {3.8310809469470253`*^9, @@ -2214,14 +2986,15 @@ Cell[BoxData[ 3.832071175060895*^9, 3.8320712933509083`*^9, 3.832071656839703*^9, 3.8320752622828913`*^9, 3.832154278985277*^9, 3.832154312852416*^9, 3.834150722393003*^9, 3.834179638862646*^9, 3.83417971760988*^9, - 3.834179811676515*^9}, + 3.834179811662073*^9, {3.83450106170175*^9, 3.834501078858068*^9}, + 3.834502885616366*^9}, CellLabel-> - "Out[485]=",ExpressionUUID->"183a3ff9-04cd-4990-a80d-781143a9cbec"] + "Out[246]=",ExpressionUUID->"a56c26f6-7e0d-4c48-864d-05474ddc395a"] }, Open ]] }, -WindowSize->{1308, 855}, -WindowMargins->{{Automatic, 0}, {Automatic, 0}}, -FrontEndVersion->"12.2 for Mac OS X x86 (64-bit) (December 12, 2020)", +WindowSize->{1425., 776.25}, +WindowMargins->{{7.5, Automatic}, {7.5, Automatic}}, +FrontEndVersion->"12.2 for Linux x86 (64-bit) (December 12, 2020)", StyleDefinitions->"Default.nb", ExpressionUUID->"cb87b367-1e4a-4501-8bdc-8262517a501c" ] @@ -2237,40 +3010,47 @@ CellTagsIndex->{} (*NotebookFileOutline Notebook[{ Cell[558, 20, 318, 8, 58, "Text",ExpressionUUID->"73b90f40-aa75-45cc-9624-86406ff3f05e"], -Cell[879, 30, 1102, 29, 30, "Input",ExpressionUUID->"42bda541-275e-4fa8-ad0f-dff973087409"], -Cell[1984, 61, 28640, 879, 1472, "Input",ExpressionUUID->"c77ea1b4-464a-475d-935a-6ddd3139e407"], +Cell[879, 30, 1102, 29, 29, "Input",ExpressionUUID->"42bda541-275e-4fa8-ad0f-dff973087409"], +Cell[1984, 61, 28640, 879, 1293, "Input",ExpressionUUID->"c77ea1b4-464a-475d-935a-6ddd3139e407"], Cell[CellGroupData[{ -Cell[30649, 944, 370, 9, 30, "Input",ExpressionUUID->"2acb2df6-0250-4f93-a487-d393ec6948a7"], -Cell[31022, 955, 7454, 163, 266, "Output",ExpressionUUID->"4d9e9213-0a91-41d7-89df-4e259178e537"] +Cell[30649, 944, 370, 9, 29, "Input",ExpressionUUID->"2acb2df6-0250-4f93-a487-d393ec6948a7"], +Cell[31022, 955, 7521, 165, 261, "Output",ExpressionUUID->"03f12bc9-7a27-471f-bddc-c0858dc385e9"] }, Open ]], Cell[CellGroupData[{ -Cell[38513, 1123, 1068, 17, 30, "Input",ExpressionUUID->"ced1cd28-39c9-46f3-906f-472b911c83b5"], -Cell[39584, 1142, 1046, 16, 34, "Output",ExpressionUUID->"e9c299d1-02c3-4b43-8bda-fa9eb98b7441"] +Cell[38580, 1125, 9675, 307, 257, "Input",ExpressionUUID->"1616f30b-f817-4bed-8186-0f3e4b738bac"], +Cell[48258, 1434, 8028, 306, 148, "Output",ExpressionUUID->"5eccc42d-a331-461b-8d74-78a9e537f2d9"] }, Open ]], Cell[CellGroupData[{ -Cell[40667, 1163, 240, 5, 30, "Input",ExpressionUUID->"c3856cfc-8a90-4b2e-a7f8-03f066ea4f67"], -Cell[40910, 1170, 8311, 182, 230, "Output",ExpressionUUID->"7ac3493b-b814-4b42-8318-95406dbef02a"] -}, Open ]], -Cell[49236, 1355, 253, 4, 30, "Input",ExpressionUUID->"c0fe9f2e-e239-4938-84cd-0e217d1ee57c"], -Cell[CellGroupData[{ -Cell[49514, 1363, 640, 10, 30, "Input",ExpressionUUID->"0fcfbb19-b2bd-4a52-925c-ac50bcdaec4f"], -Cell[50157, 1375, 4801, 67, 34, "Output",ExpressionUUID->"08a7eb7c-ea92-4596-a5a4-47df324c568e"] +Cell[56323, 1745, 1068, 17, 29, "Input",ExpressionUUID->"ced1cd28-39c9-46f3-906f-472b911c83b5"], +Cell[57394, 1764, 1142, 17, 33, "Output",ExpressionUUID->"442a4abd-126e-437e-923d-a3efae1aeccd"] }, Open ]], Cell[CellGroupData[{ -Cell[54995, 1447, 423, 8, 30, "Input",ExpressionUUID->"66dee78e-384d-4588-9d25-04b3c7b1aea7"], -Cell[55421, 1457, 6870, 97, 34, "Output",ExpressionUUID->"28682a7b-05c7-4faf-ab46-1c4671c171e4"] +Cell[58573, 1786, 240, 5, 29, "Input",ExpressionUUID->"c3856cfc-8a90-4b2e-a7f8-03f066ea4f67"], +Cell[58816, 1793, 9137, 328, 269, "Output",ExpressionUUID->"4e601467-6803-434f-b0f5-e715fcbb5185"] +}, Open ]], +Cell[67968, 2124, 253, 4, 29, "Input",ExpressionUUID->"c0fe9f2e-e239-4938-84cd-0e217d1ee57c"], +Cell[CellGroupData[{ +Cell[68246, 2132, 640, 10, 29, "Input",ExpressionUUID->"0fcfbb19-b2bd-4a52-925c-ac50bcdaec4f"], +Cell[68889, 2144, 4897, 68, 33, "Output",ExpressionUUID->"966dd123-c031-4177-b94b-2299f2a21c1e"] }, Open ]], Cell[CellGroupData[{ -Cell[62328, 1559, 375, 8, 30, "Input",ExpressionUUID->"6c7429b3-1587-4d20-991f-d99f45021537"], -Cell[62706, 1569, 6728, 97, 34, "Output",ExpressionUUID->"3529eb68-2017-4a4b-972b-91cf14938ca5"] +Cell[73823, 2217, 423, 8, 29, "Input",ExpressionUUID->"66dee78e-384d-4588-9d25-04b3c7b1aea7"], +Cell[74249, 2227, 6965, 98, 33, "Output",ExpressionUUID->"5d7d84c2-9380-4bb3-a45b-0c12fd78b216"] }, Open ]], -Cell[69449, 1669, 1916, 34, 30, "Input",ExpressionUUID->"dd7b3324-1ab6-43b0-9e24-406f40fb34ba"], -Cell[71368, 1705, 1948, 48, 115, "Input",ExpressionUUID->"9e97f31a-ffaa-4f35-bb49-127a66bb73f7"], -Cell[73319, 1755, 2554, 73, 199, "Input",ExpressionUUID->"0209d30a-517c-4664-b87b-84799191f438"], Cell[CellGroupData[{ -Cell[75898, 1832, 8460, 207, 388, "Input",ExpressionUUID->"3a5095fb-bef7-4905-a187-ccc481ddd9ee"], -Cell[84361, 2041, 5968, 108, 116, "Output",ExpressionUUID->"a35f16c9-3a73-4ea4-a339-fb741a485d27"], -Cell[90332, 2151, 4580, 67, 483, "Output",ExpressionUUID->"183a3ff9-04cd-4990-a80d-781143a9cbec"] +Cell[81251, 2330, 375, 8, 29, "Input",ExpressionUUID->"6c7429b3-1587-4d20-991f-d99f45021537"], +Cell[81629, 2340, 6801, 99, 33, "Output",ExpressionUUID->"c7751070-01f8-4024-b8e7-b223a36da7be"] +}, Open ]], +Cell[88445, 2442, 1916, 34, 29, "Input",ExpressionUUID->"dd7b3324-1ab6-43b0-9e24-406f40fb34ba"], +Cell[90364, 2478, 1948, 48, 113, "Input",ExpressionUUID->"9e97f31a-ffaa-4f35-bb49-127a66bb73f7"], +Cell[CellGroupData[{ +Cell[92337, 2530, 2603, 74, 195, "Input",ExpressionUUID->"0209d30a-517c-4664-b87b-84799191f438"], +Cell[94943, 2606, 516, 11, 22, "Message",ExpressionUUID->"4b8e3482-7de8-46ff-964e-b784bf19ec01"] +}, Open ]], +Cell[CellGroupData[{ +Cell[95496, 2622, 8460, 207, 408, "Input",ExpressionUUID->"3a5095fb-bef7-4905-a187-ccc481ddd9ee"], +Cell[103959, 2831, 5539, 92, 113, "Output",ExpressionUUID->"f4fe93d1-1451-4efd-afba-c3cd1be008f9"], +Cell[109501, 2925, 4570, 66, 476, "Output",ExpressionUUID->"a56c26f6-7e0d-4c48-864d-05474ddc395a"] }, Open ]] } ] diff --git a/fractal_dimension/.ipynb_checkpoints/fractaldimension-checkpoint.ipynb b/fractal_dimension/.ipynb_checkpoints/fractaldimension-checkpoint.ipynb new file mode 100644 index 0000000..1678228 --- /dev/null +++ b/fractal_dimension/.ipynb_checkpoints/fractaldimension-checkpoint.ipynb @@ -0,0 +1,382 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "executionInfo": { + "elapsed": 118, + "status": "ok", + "timestamp": 1622567114654, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "uo4kxbshsfPU" + }, + "outputs": [], + "source": [ + "import random\n", + "import matplotlib.pyplot as plt\n", + "from scipy.optimize import curve_fit\n", + "import numpy as np\n", + "import math" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "G01gxmY2QI64" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0.0000000e+00 0.0000000e+00 -1.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [-1.0000000e+00 1.0000000e+00 -1.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [-1.0000000e+00 0.0000000e+00 -4.4408921e-16 0.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [-1.0000000e+00 0.0000000e+00 -1.0000000e+00 1.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 1.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 1.0000000e+00 0.0000000e+00 0.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 0.0000000e+00 1.0000000e+00 0.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 0.0000000e+00 0.0000000e+00 1.0000000e+00]]\n", + "[35. 38. 43. 40. 11. 8. 3. 6.]\n" + ] + } + ], + "source": [ + "####This is poor generator stuff, you can ignore \n", + "\n", + "shrink = np.array([[1,0,0,0,0,0,0,0],\n", + " [0,0,1,0,0,0,0,0],\n", + " [0,0,0,0,0,1,0,0],\n", + " [0,0,0,0,0,0,0,1]])\n", + "q = np.linalg.inv(np.array([[1,-3,-3,-3],\n", + " [-3,1,-3,-3],\n", + " [-3,-3,1,-3],\n", + " [-3,-3,-3,1]]))\n", + "\n", + "#take transpose of row reduced gram matrix to get linear relations \n", + "#pivot columns work \n", + "\n", + "linrel = 1/2 * np.array([[2,0,0,0],\n", + " [1,1,-1,1],\n", + " [0,2,0,0],\n", + " [1,1,1,-1],\n", + " [-1,1,1,1],\n", + " [0,0,2,0],\n", + " [1,-1,1,1],\n", + " [0,0,0,2]])\n", + "alpha = np.array([2*math.sqrt(2),2*math.sqrt(2),2*math.sqrt(2),2*math.sqrt(2),0,0,0,0])\n", + "\n", + "wtpw = np.matmul(linrel,np.matmul(q,shrink))\n", + "i = np.identity(8)\n", + "\n", + "curv = np.array([-1,2,7,4,11,8,3,6])\n", + "\n", + "print(i - 2* np.matmul(np.outer(alpha,alpha),wtpw)/abs(np.matmul(alpha,np.matmul(wtpw,alpha))))\n", + "\n", + "print(np.matmul((i - 2*np.matmul(np.outer(alpha,alpha),wtpw)/abs(np.matmul(alpha,np.matmul(wtpw,alpha)))), curv))\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "xY_oNcRDl797" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1]\n", + "[1, 2]\n", + "[1, 2, 1]\n", + "[1, 2, 1, 2]\n", + "[1, 2, 1, 3]\n", + "[1, 2, 1, 3, 1]\n", + "[1, 2, 1, 3, 2]\n", + "[1, 2, 1, 3, 2, 1]\n", + "[1, 2, 1, 3, 2, 3]\n", + "[1, 2, 1, 3, 2, 4]\n", + "[1, 2, 1, 3, 4]\n", + "[1, 2, 1, 4]\n", + "[1, 2, 3]\n", + "[1, 2, 4]\n", + "[1, 3]\n", + "[1, 4]\n", + "[2]\n", + "[2, 1]\n", + "[2, 1, 2]\n", + "[2, 1, 3]\n", + "[2, 1, 4]\n", + "[2, 3]\n", + "[2, 4]\n", + "[3]\n", + "[3, 1]\n", + "[3, 1, 2]\n", + "[3, 1, 3]\n", + "[3, 1, 4]\n", + "[3, 1, 4, 1]\n", + "[3, 1, 4, 2]\n", + "[3, 1, 4, 3]\n", + "[3, 2]\n", + "[3, 2, 1]\n", + "[3, 2, 1, 2]\n", + "[3, 2, 1, 3]\n", + "[3, 2, 1, 4]\n", + "[3, 2, 1, 4, 1]\n", + "[3, 2, 1, 4, 2]\n", + "[3, 2, 1, 4, 3]\n", + "[3, 2, 3]\n", + "[3, 2, 4]\n", + "[3, 4]\n", + "[3, 4, 1]\n", + "[3, 4, 2]\n", + "[3, 4, 2, 1]\n", + "[3, 4, 2, 3]\n", + "[3, 4, 2, 4]\n", + "[3, 4, 3]\n", + "[3, 4, 3, 1]\n", + "[3, 4, 3, 2]\n", + "[3, 4, 3, 4]\n", + "[4]\n", + "[4, 1]\n", + "[4, 1, 2]\n", + "[4, 1, 3]\n", + "[4, 1, 3, 1]\n", + "[4, 1, 3, 2]\n", + "[4, 1, 3, 4]\n", + "[4, 1, 4]\n", + "[4, 2]\n", + "[4, 2, 1]\n", + "[4, 2, 1, 2]\n", + "[4, 2, 1, 3]\n", + "[4, 2, 1, 3, 1]\n", + "[4, 2, 1, 3, 2]\n", + "[4, 2, 1, 3, 4]\n", + "[4, 2, 1, 4]\n", + "[4, 2, 3]\n", + "[4, 2, 4]\n", + "[4, 3]\n" + ] + } + ], + "source": [ + "##This is just a demonstration of how it might walk over the words, can ignore unless you want to see that, not used in the actual calculation.\n", + "\n", + "word = [1]\n", + "while word:\n", + " print(word)\n", + " if random.uniform(0, len(word))<1:\n", + " word = over(word)\n", + " else:\n", + " word = down(word)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "executionInfo": { + "elapsed": 490, + "status": "ok", + "timestamp": 1622567124989, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "5GPpjyI9ivpl" + }, + "outputs": [], + "source": [ + "##These are the main functions used for \n", + "\n", + "\n", + "#function that returns the new curvature for the nth generator, just for checking whether we should go deeper into the word tree or start going down \n", + "def transval(n,root):\n", + " return 2*sum(root)-3*root[n-1]\n", + "\n", + "#function for when the word would have given a curvature that is too big \n", + "def down(word): \n", + " #if not word:\n", + " #return word #this is older stuff you can probably ignore\n", + "\n", + " if word[-1] == 4: #if the word ends in the last generator, drop that and repeat this whole function with that new word\n", + " word.pop()\n", + " word = down(word)\n", + " elif len(word)>1 and word[-1]+1==word[-2]: #if the word has length 2 and the last two generators are n+1, n\n", + " if word[-1]==3: #if the word ended in \"43\", then drop those two (since that is as far as we could go in this part of the tree), and if it is nonempty, then call this whole function again \n", + " word.pop()\n", + " word.pop()\n", + " if word: \n", + " word = down(word)\n", + " else: #if it ended in somehting like \"21\", then that becomes \"23\", like it skips over \"22,\" since that wouldn't be reduced.\n", + " word[-1]=word[-1]+2\n", + " else: #if it wasn't one of the weird above cases then just change the last generator to the one after that \n", + " word[-1]=word[-1]+1\n", + " return word\n", + "\n", + "#function for when the word gives a curvature that's still under the bound\n", + "#just adds a 1 or 2 at the end of the word, which is basically like the left-most branch above the word in the tree\n", + "def over(word):\n", + " if word[-1] == 1:\n", + " word.append(2)\n", + " else:\n", + " word.append(1)\n", + " return word" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "executionInfo": { + "elapsed": 3, + "status": "ok", + "timestamp": 1622567127105, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "-_JTSiM3cJqf" + }, + "outputs": [], + "source": [ + "#this is the function we want to fit the curve to\n", + "def func(x, a, b):\n", + " return a * x**b\n", + "\n", + "#this function fits the curve and doesn't actually return anything but prints the fractal dimension\n", + "#takes in a number of how many times we want to divide , the bound from below, and the list of curvatures under that bound\n", + "def curvefit(n, bound, curvatures):\n", + " x = []\n", + " y = []\n", + " for j in range(n): #n is just how many sub-bounds we want to have, so if our bound was like curvatures under 30,000, and we had n = 30\n", + " #then we would be counting like curvatures under 1000, 2000, 3000, ... 30,0000. \n", + " x.append(int((j+1)*bound/n))\n", + " y.append(sum(i < (j+1)*bound/n for i in circlelist)) #this is just counting the number of curvatures under each of our sub-bounds \n", + " popt,pcov=curve_fit(func,x,y) #curve fit to our list of like [1000,2000,...,30000] matched with the count of circles under each of those bounds\n", + " print(\"fractal dimension: \" + str(popt[1])) #popt is like the [a,b] that is the best curve fit for ax^b, so we just take b " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 2442, + "status": "ok", + "timestamp": 1622567131441, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "9_nsjk3fklRW", + "outputId": "2dd3d1c8-10f9-4965-aaa5-8bf49513eaa2" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "130851\n", + "fractal dimension: 1.3062569810395592\n" + ] + } + ], + "source": [ + "root = [-10, 18, 23, 27] #some base tuple, it will change as we go through the words since we are kinda only paying attention to the end of the word\n", + "root = [-6, 11, 14, 23]\n", + "circlelist = list(root) #list of the curvatures, it starts with the root stuff and we will add to it \n", + "word = [1] #word that we are currently considering, it will change as we go through these, the first word we start with is just the word that consists of the first generator\n", + "recentroot = [] #this will be an array of arrays. the recentroot[i] is the most recent tuple that wasn't too big for word of length i so that when we go back down we know which tuple to operate on\n", + "recentroot.append(root) #the root thing will be our 0th element of this array\n", + "bound = 100000 #bound for what we want our curvatures to be under\n", + "\n", + "while word: #this runs until you get back to the empty word\n", + " #print(\"root : \" + str(root))\n", + " #print(\"word : \" + str(word))\n", + " n = word[-1] #we only really pay attention to the last generator in our word\n", + " l = len(word) #so we know which tuple to pull from recentroot\n", + " #print(recentroot)\n", + " root = list(recentroot[l-1]) #you have to cast it as a list or else it is just referencing an element of recentroot and will change when that changes, which we don't want\n", + " if transval(n,root)>bound: #if the new curvature was bigger than our bound, change the word according to the down function \n", + " word = down(word)\n", + " else: #if it was not bigger than our bound, replace/append the corresponding element of recentroot, add that curvature to the circlelist, \n", + " #and change the word according to the over function, since we may go deeper into that part of the tree before we hit the bound\n", + " root[n-1] = transval(n,root)\n", + " if l>=len(recentroot):\n", + " recentroot.append(root)\n", + " else:\n", + " recentroot[l]=root\n", + " circlelist.append(root[n-1])\n", + " word = over(word)\n", + "\n", + "#print(circlelist)\n", + "print(len(circlelist))\n", + "curvefit(50,bound,circlelist) #this will print our fractal dimension once the circlelist has been made" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "colab": { + "authorship_tag": "ABX9TyPDGTZCMhlplMpdJFPM0/7i", + "name": "fractaldimension.ipynb", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/fractal_dimension/circle_counting_new/.gitignore b/fractal_dimension/circle_counting_new/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/fractal_dimension/circle_counting_new/.gitignore @@ -0,0 +1 @@ +/target diff --git a/fractal_dimension/circle_counting_new/Cargo.lock b/fractal_dimension/circle_counting_new/Cargo.lock new file mode 100644 index 0000000..45fc21b --- /dev/null +++ b/fractal_dimension/circle_counting_new/Cargo.lock @@ -0,0 +1,289 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "approx" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" +dependencies = [ + "num-traits", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "circle_counting" +version = "0.1.0" +dependencies = [ + "linregress", + "nalgebra", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.97" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" + +[[package]] +name = "libm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" + +[[package]] +name = "linregress" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6e407dadb4ca4b31bc69c27aff00e7ca4534fdcee855159b039a7cebb5f395" +dependencies = [ + "nalgebra", + "statrs", +] + +[[package]] +name = "matrixmultiply" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8a15b776d9dfaecd44b03c5828c2199cddff5247215858aac14624f8d6b741" +dependencies = [ + "rawpointer", +] + +[[package]] +name = "nalgebra" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" +dependencies = [ + "approx", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational", + "num-traits", + "rand", + "rand_distr", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-complex" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "paste" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" + +[[package]] +name = "ppv-lite86" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" + +[[package]] +name = "proc-macro2" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", + "rand_hc", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_distr" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051b398806e42b9cd04ad9ec8f81e355d0a382c543ac6672c62f5a5b452ef142" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "rand_hc" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "simba" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", +] + +[[package]] +name = "statrs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" +dependencies = [ + "approx", + "lazy_static", + "nalgebra", + "num-traits", + "rand", +] + +[[package]] +name = "syn" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "typenum" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" diff --git a/fractal_dimension/circle_counting_new/Cargo.toml b/fractal_dimension/circle_counting_new/Cargo.toml new file mode 100644 index 0000000..70a3743 --- /dev/null +++ b/fractal_dimension/circle_counting_new/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "circle_counting" +version = "0.1.0" +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +nalgebra = "*" +linregress = "*" diff --git a/fractal_dimension/circle_counting_new/src/main.rs b/fractal_dimension/circle_counting_new/src/main.rs new file mode 100644 index 0000000..8cabe69 --- /dev/null +++ b/fractal_dimension/circle_counting_new/src/main.rs @@ -0,0 +1,79 @@ +use nalgebra::{SMatrix, SVector}; +use linregress::{FormulaRegressionBuilder, RegressionDataBuilder}; + +type Matrix4 = SMatrix; +type Vector4 = SVector; + +fn search(generators: &Vec, root: Vector4, upper_bound: f64) -> usize { + let mut current = vec![(root, 5)]; + let mut next = vec![]; + let mut total = 0; + loop { + next.clear(); + for (tuple, previous_generator) in ¤t { + for (i, generator) in generators.iter().enumerate() { + let new_tuple = generator * tuple; + if !(i == 0 && *previous_generator == 3) && !(i == 1 && *previous_generator == 2) && i != *previous_generator && new_tuple[i] < upper_bound && new_tuple.iter().sum::() > tuple.iter().sum() { + next.push((new_tuple, i)); + } + } + } + + if current.is_empty() { + break; + } + total += next.len(); + std::mem::swap(&mut current, &mut next); + } + 2 * (total + root.len()) +} + +fn fractal_dimension(generators: Vec, root: Vector4, upper_bound: f64, n: isize) -> Result { + let xs: Vec = (1..=n).map(|x| (x as f64 * upper_bound / (n as f64)).ln()).collect(); + let ys: Vec = xs.iter().map(|upper_bound| (search(&generators, root, upper_bound.exp()) as f64).ln()).collect(); + + let data = vec![("Y", ys), ("X", xs)]; + let data = RegressionDataBuilder::new().build_from(data)?; + + let formula = "Y ~ X"; + let model = FormulaRegressionBuilder::new() + .data(&data) + .formula(formula) + .fit()?; + + let parameters = model.parameters; + Ok(parameters.regressor_values[0]) +} + +fn main() { + let generators = vec![ + Matrix4::new( + -1.0, 2.0, 2.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0, + ), + Matrix4::new( + 1.0, 0.0, 0.0, 0.0, + 2.0, -1.0, 0.0, 2.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0, + ), + Matrix4::new( + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 2.0, 0.0, -1.0, 2.0, + 0.0, 0.0, 0.0, 1.0, + ), + Matrix4::new( + 1.0, 0.0, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 2.0, 2.0, -1.0, + ), + ]; + + let root = Vector4::new(-2., 4., 5., 9.); + + println!("{}", fractal_dimension(generators, root, 10_000_000.0, 50).unwrap()); +} diff --git a/fractal_dimension/fractal_dimension.nb b/fractal_dimension/fractal_dimension.nb index 059adc9..5cb1f42 100644 --- a/fractal_dimension/fractal_dimension.nb +++ b/fractal_dimension/fractal_dimension.nb @@ -10,10 +10,10 @@ NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] -NotebookDataLength[ 48647, 1183] -NotebookOptionsPosition[ 45943, 1141] -NotebookOutlinePosition[ 46344, 1157] -CellTagsIndexPosition[ 46301, 1154] +NotebookDataLength[ 94342, 2247] +NotebookOptionsPosition[ 87618, 2144] +NotebookOutlinePosition[ 88113, 2162] +CellTagsIndexPosition[ 88070, 2159] WindowFrame->Normal*) (* Beginning of Notebook Content *) @@ -843,8 +843,8 @@ Cell[BoxData[ RowBox[{ RowBox[{"search", "[", RowBox[{ - "generators_", ",", "current_", ",", "previous_", ",", "lastgen_", ",", - "upperBound_", ",", "faces_"}], "]"}], ":=", + "generators_", ",", "current_", ",", "lastgen_", ",", "upperBound_", ",", + "faces_"}], "]"}], ":=", RowBox[{"Block", "[", RowBox[{ RowBox[{"{", @@ -872,16 +872,18 @@ Cell[BoxData[ RowBox[{ RowBox[{"invalid", "[", RowBox[{ - RowBox[{"generators", "[", - RowBox[{"[", "i", "]"}], "]"}], ",", - RowBox[{"faces", "[", - RowBox[{"[", "i", "]"}], "]"}]}], "]"}], ",", "0", ",", - "\[IndentingNewLine]", + RowBox[{ + "generators", "\[LeftDoubleBracket]", "i", + "\[RightDoubleBracket]"}], ",", + RowBox[{ + "faces", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}], + "]"}], ",", "0", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"Length", "[", "current", "]"}], "-", RowBox[{"Length", "[", - RowBox[{"faces", "[", - RowBox[{"[", "i", "]"}], "]"}], "]"}], "-", + RowBox[{ + "faces", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}], + "]"}], "-", RowBox[{"Length", "[", RowBox[{"Select", "[", RowBox[{ @@ -890,19 +892,21 @@ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"{", "#", "}"}], "&"}], "/@", - RowBox[{"faces", "[", - RowBox[{"[", "i", "]"}], "]"}]}]}], "]"}], ",", + RowBox[{ + "faces", "\[LeftDoubleBracket]", "i", + "\[RightDoubleBracket]"}]}]}], "]"}], ",", RowBox[{ RowBox[{"#", ">", "upperBound"}], "&"}]}], "]"}], "]"}], "+", RowBox[{"search", "[", RowBox[{"generators", ",", RowBox[{ - RowBox[{"generators", "[", - RowBox[{"[", "i", "]"}], "]"}], ".", "current"}], ",", "current", - ",", - RowBox[{"generators", "[", - RowBox[{"[", "i", "]"}], "]"}], ",", "upperBound", ",", "faces"}], - "]"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", + RowBox[{ + "generators", "\[LeftDoubleBracket]", "i", + "\[RightDoubleBracket]"}], ".", "current"}], ",", + RowBox[{ + "generators", "\[LeftDoubleBracket]", "i", + "\[RightDoubleBracket]"}], ",", "upperBound", ",", "faces"}], + "]"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Total", "[", RowBox[{"totals", "/@", RowBox[{"Range", "[", @@ -931,7 +935,12 @@ Cell[BoxData[ 3.831721143231716*^9, 3.831721181846493*^9}, {3.831721396838306*^9, 3.83172139923806*^9}, {3.831721668116399*^9, 3.831721676695764*^9}, { 3.831723288861394*^9, 3.831723291074202*^9}, {3.83172431511852*^9, - 3.831724317665661*^9}, 3.833891293020659*^9}, + 3.831724317665661*^9}, 3.833891293020659*^9, {3.834269383514792*^9, + 3.834269386321598*^9}, {3.834269487189498*^9, 3.8342694873961067`*^9}, { + 3.834270103611849*^9, 3.834270107267815*^9}, {3.834270430339264*^9, + 3.834270430502697*^9}, {3.834271267146653*^9, 3.834271275112032*^9}, { + 3.834351949243196*^9, 3.834351950526677*^9}, {3.834352089916841*^9, + 3.834352127810135*^9}}, CellLabel->"In[19]:=",ExpressionUUID->"4186f080-27d0-474f-9433-7cdeb3a7a49d"], Cell[CellGroupData[{ @@ -964,8 +973,17 @@ Cell[BoxData["16384"], "Output", 3.8340617843815823`*^9, 3.834061797970849*^9}, {3.834065075805954*^9, 3.834065147762154*^9}, {3.8340672561763277`*^9, 3.834067310718713*^9}, { 3.834069699109585*^9, 3.834069709702557*^9}, 3.834092717521625*^9, - 3.834097171624065*^9}, - CellLabel->"Out[20]=",ExpressionUUID->"299896e7-f4d5-4c1e-b36c-96dee19d0d36"] + 3.834097171624065*^9, 3.8341343872984047`*^9, 3.834142620775568*^9, + 3.834145530968349*^9, 3.834146073235483*^9, 3.8341809139458323`*^9, + 3.834269357761674*^9, 3.8342693933710947`*^9, 3.834269448502894*^9, + 3.834269494050521*^9, {3.8342695663389606`*^9, 3.8342696026888247`*^9}, + 3.8342701160872383`*^9, 3.834270161194154*^9, 3.834270438333136*^9, + 3.834270555594716*^9, {3.834271103264781*^9, 3.834271120536076*^9}, + 3.834271489584754*^9, 3.834271596271693*^9, 3.834272147258156*^9, + 3.834351698339382*^9, {3.834351996635762*^9, 3.834352017390819*^9}, + 3.834363957483852*^9, {3.834364187716065*^9, 3.834364198004562*^9}, + 3.8344822107164927`*^9}, + CellLabel->"Out[20]=",ExpressionUUID->"01549ef8-b8be-4d3a-8e70-747610dfb968"] }, Open ]], Cell[BoxData[ @@ -993,11 +1011,12 @@ Cell[BoxData[ RowBox[{"ys", "=", RowBox[{ RowBox[{ - RowBox[{"search", "[", - RowBox[{"sigmas", ",", "root", ",", - RowBox[{"{", "}"}], ",", - RowBox[{"{", "}"}], ",", "#", ",", "faces"}], "]"}], "&"}], "/@", - "xs"}]}], ";", "\[IndentingNewLine]", + RowBox[{ + RowBox[{"search", "[", + RowBox[{"sigmas", ",", "root", ",", + RowBox[{"{", "}"}], ",", "#", ",", "faces"}], "]"}], "+", + RowBox[{"Length", "[", "root", "]"}]}], "&"}], "/@", "xs"}]}], ";", + "\[IndentingNewLine]", RowBox[{"data", "=", RowBox[{ RowBox[{ @@ -1027,7 +1046,8 @@ Cell[BoxData[ CellChangeTimes->{{3.8339647725688353`*^9, 3.8339649328744087`*^9}, { 3.833965051157412*^9, 3.8339650578368483`*^9}, {3.833965560813403*^9, 3.8339655739990377`*^9}, {3.833965620539852*^9, 3.833965639062742*^9}, { - 3.833965942784672*^9, 3.833965996602522*^9}}, + 3.833965942784672*^9, 3.833965996602522*^9}, {3.8342709119109173`*^9, + 3.8342709184846773`*^9}, {3.834271399281299*^9, 3.834271400142085*^9}}, CellLabel->"In[21]:=",ExpressionUUID->"3971d33a-d19f-42ea-9b17-0801f7a59659"], Cell[BoxData[ @@ -1102,45 +1122,1030 @@ Cell[BoxData[ 3.8339814414612226`*^9}, {3.833981948527481*^9, 3.8339819534472733`*^9}}, CellLabel->"In[23]:=",ExpressionUUID->"52eb731d-d72b-4ff7-afc4-5691e9750e37"], -Cell[CellGroupData[{ - Cell[BoxData[ - RowBox[{"Timing", "[", - RowBox[{"pyramidFractalDimension", "[", - RowBox[{"13", ",", "100000", ",", "5000"}], "]"}], "]"}]], "Input", + RowBox[{"(*", + RowBox[{"Timing", "[", + RowBox[{"pyramidFractalDimension", "[", + RowBox[{"11", ",", "100000", ",", "10000"}], "]"}], "]"}], + "*)"}]], "Input", CellChangeTimes->CompressedData[" -1:eJwd0n0s1HEcB/Cj8nDp4crYioWJckfc5Wk6RVxNFD2g21zrRsJKD1wMpXnY -aW6Uoi6ra+mPdMaYpVqoPGWmllKMOXV3Lk9FKo/p9/788d3rj+8+n+93n8/b -Xpp8OM6YxWKJmAOVbqUrXhaPB6gcvU2gpM+TDX2qU8nercJAOKo2CYbtVaHR -sGG2gNwzoo+FB81Hyffzc4VQJnJWwGlNWB10OaIlpYLxVsi3t2uDKU3NE3Cx -cozMDuLNwCyZ4i+0Yt8xbkSflk5S81BlCkVZNWRkpOUa6C6Uk9aVNhVQ4Mwl -H5fkcZrwX33NRtj5zsIeFiZWOsH1A/PesF+81wf2LtUKoXKQ5w/LDbG+zYx6 -7lWSZ3csEcqzE0hroyLpK9wX3SPj17zNhc+re0hD3U/BG9Rp/5GS5RdJUNvX -T/qLj9fDi7/FpNds2DNoog4nW2d+8FsYW+QrBDCk/Nct2Oi/qhTa3q/d3or6 -6NfkgC52JzRZNvKCeYcGg2F8e44Irnxhnga1pbvIxA8tDbBb95F0Nfuc08bY -kzBJug0n9UPx7gzyWo3Ss53xZISadMntb4C1Xw0k93s3vwPz4X4h8xZ6Hd4y -7j/zjTyaNR/TiX76EQnkLy95dDFuamDxYTY7LhFOLh5Jho2pWWkwRG64DCUW -9SpYesq5AnZM8Suhgv2ELPjQ5jWAvLrpSL11QP4Q3t8XRLo38Yrg5Uxfctqw -esc37N9HTQ6fuDAGT2TKyLUslaMWueY9Iq8vFwTDdFkZ6RKuSIfsunJyLqS4 -G57W3CUnWx+Y6hhvaqpIQWbCFXhOmE7e5pRZ6pHLCCWZumHBBgYqzW1hSv3T -rSOMzX5tZL7CyRUOTQhIm0/PIw2MXRmDUTBzQWQ2ivkbRZGmQ+dDpxnDt8hJ -M7W5Eko5HPLGzikddPr5h4zRJAl+MR5QpZMGJ+MSGBjMIfVJ9ptnGNdt8yDv -pVl1QMclB1LleLb5N+MlPxX5H70PdsY= +1:eJwd0n0sFHAYB/BD4U6qq5atWDRRXMqdtyZEqKEipbJQImGlN2Je0oqd5kYp +1WW6lv5IZ4xZYqFy3tbUKMWYU3fn8lZeKi9Jv+/zx2+fP357nt9vz/O1iEw4 +GK3L4XD82YFSu0K9V/mjnjJLZ30Y3uPIgy7liWT3JjcvOCzX94EtZQFHYc1M +DrlrSBMF93OHyQ9zs7kwyddaAieV+6qgTbCKjBSNKqDQwrwZXm5oHIN/S0fI +TG/BNExPkvyBa3kPdOvRp6mdVD6RGUDf9AoyJGSNMdzuJiZNSk1LoMjalnxW +kMVvwH81Fath+/tlFjA3rtQKruybc4a9obtdYPdCpRuU9gvcYZE2akcjU2N7 +jRSYH46D4sxY0kQnL/I17vOKyRjjthuwtryL1Fb9FL1FneofGb5YFw9VPb2k +e+ixanjpVyjpNLPvJdSXB5KK6R/CJmaTWE8E/Yqm7sJ696WF0OxR5RYF6o++ +IfvUUQ5Qf1HHCWYd6PeBMS3XfeGSOm4yVBXuJOM6m2pgh/ojudXw8/VmZlfs +OGk3GN8LQz1SyZsVUscW5skgOWlzo7cGVn7VkrbfO4StmI/tFzJrvntjG3Pv +2W/kofS5sHb00wyFQ+Higv075roajhBm8qLj4Pjf4ARYn5ieDP3E2gwYvqxa +BgtPW5fA1glhKZTwnpM5nc1OfcirnZrUmHhmD+D9Pd7k9gZBHsxI20FOao22 +fcP+XeTkYMTFERiRlkQu58gsVci14Cl5azHHB6Yk3SNtAiUpkFdVRM765XfA +M8qH5LjisYGaeUdZRorSYq/C824p5H3+vTUa5DJISiaumjeFXlKuGbxc/WLT +ELPRtZnMllhthQNjItL0U22Ilvkutf8ITJv3NRzG/HWOkAYDFwImmYEbxKSh +nCuFkXw+edthQg2tfv4mw5TxoimmvyyF1FrpFkAvHz6pibdYP81csdmeLE5e +2wotFzaSMstzjb+YV1xlpMepL2MGt0Y9YxWDJHfh+BIuc+B+AhkVXTdhxDwz +xJmCv+1PhBkzH5blkx0O5QWwpFZD/gdS9J8/ "], CellLabel->"In[24]:=",ExpressionUUID->"00d846ff-ba2d-4cd3-a367-6099b9094d1e"], +Cell[BoxData[ + RowBox[{ + RowBox[{"G", "=", + RowBox[{"RootApproximant", "[", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"1.0000000000000004`", ",", + RowBox[{"-", "4.603875471609728`"}], ",", + RowBox[{"-", "17.195669358089372`"}], ",", + RowBox[{"-", "27.293504037134028`"}], ",", + RowBox[{"-", "27.293504037134024`"}], ",", + RowBox[{"-", "17.195669358089397`"}], ",", + RowBox[{"-", "4.603875471609722`"}], ",", + RowBox[{"-", "1.0000000000000415`"}], ",", + RowBox[{"-", "1.0000000000000464`"}], ",", + RowBox[{"-", "11.097834679044736`"}], ",", + RowBox[{"-", "23.68962856552439`"}], ",", + RowBox[{"-", "29.29350403713411`"}], ",", + RowBox[{"-", "23.689628565524348`"}], ",", + RowBox[{"-", "11.097834679044773`"}], ",", + RowBox[{"-", "1.0000000000000546`"}], ",", + RowBox[{"-", "2.1099162641748395`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "4.603875471609728`"}], ",", "0.9999999999999993`", ",", + + RowBox[{"-", "4.603875471609711`"}], ",", + RowBox[{"-", "17.195669358089315`"}], ",", + RowBox[{"-", "27.293504037133978`"}], ",", + RowBox[{"-", "27.29350403713407`"}], ",", + RowBox[{"-", "17.19566935808935`"}], ",", + RowBox[{"-", "11.09783467904471`"}], ",", + RowBox[{"-", "1.0000000000000389`"}], ",", + RowBox[{"-", "1.0000000000000369`"}], ",", + RowBox[{"-", "11.097834679044713`"}], ",", + RowBox[{"-", "23.689628565524337`"}], ",", + RowBox[{"-", "29.293504037134017`"}], ",", + RowBox[{"-", "23.689628565524426`"}], ",", + RowBox[{"-", "1.0000000000000546`"}], ",", + RowBox[{"-", "2.109916264174834`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "17.195669358089372`"}], ",", + RowBox[{"-", "4.603875471609711`"}], ",", "0.9999999999999978`", ",", + + RowBox[{"-", "4.603875471609712`"}], ",", + RowBox[{"-", "17.19566935808932`"}], ",", + RowBox[{"-", "27.293504037134067`"}], ",", + RowBox[{"-", "27.29350403713402`"}], ",", + RowBox[{"-", "23.689628565524316`"}], ",", + RowBox[{"-", "11.097834679044697`"}], ",", + RowBox[{"-", "1.0000000000000435`"}], ",", + RowBox[{"-", "1.0000000000000424`"}], ",", + RowBox[{"-", "11.097834679044714`"}], ",", + RowBox[{"-", "23.689628565524323`"}], ",", + RowBox[{"-", "29.293504037134156`"}], ",", + RowBox[{"-", "1.0000000000000537`"}], ",", + RowBox[{"-", "2.109916264174835`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "27.293504037134028`"}], ",", + RowBox[{"-", "17.195669358089315`"}], ",", + RowBox[{"-", "4.603875471609712`"}], ",", "0.999999999999999`", ",", + RowBox[{"-", "4.603875471609698`"}], ",", + RowBox[{"-", "17.195669358089347`"}], ",", + RowBox[{"-", "27.29350403713398`"}], ",", + RowBox[{"-", "29.293504037133978`"}], ",", + RowBox[{"-", "23.68962856552428`"}], ",", + RowBox[{"-", "11.097834679044709`"}], ",", + RowBox[{"-", "1.0000000000000397`"}], ",", + RowBox[{"-", "1.0000000000000369`"}], ",", + RowBox[{"-", "11.09783467904469`"}], ",", + RowBox[{"-", "23.68962856552439`"}], ",", + RowBox[{"-", "1.0000000000000524`"}], ",", + RowBox[{"-", "2.1099162641748315`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "27.293504037134024`"}], ",", + RowBox[{"-", "27.293504037133978`"}], ",", + RowBox[{"-", "17.19566935808932`"}], ",", + RowBox[{"-", "4.603875471609698`"}], ",", "0.9999999999999971`", ",", + + RowBox[{"-", "4.603875471609718`"}], ",", + RowBox[{"-", "17.195669358089315`"}], ",", + RowBox[{"-", "23.689628565524277`"}], ",", + RowBox[{"-", "29.293504037133978`"}], ",", + RowBox[{"-", "23.689628565524316`"}], ",", + RowBox[{"-", "11.097834679044704`"}], ",", + RowBox[{"-", "1.000000000000044`"}], ",", + RowBox[{"-", "1.0000000000000373`"}], ",", + RowBox[{"-", "11.097834679044743`"}], ",", + RowBox[{"-", "1.0000000000000517`"}], ",", + RowBox[{"-", "2.109916264174833`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "17.195669358089397`"}], ",", + RowBox[{"-", "27.29350403713407`"}], ",", + RowBox[{"-", "27.293504037134067`"}], ",", + RowBox[{"-", "17.195669358089347`"}], ",", + RowBox[{"-", "4.603875471609718`"}], ",", "1.000000000000002`", ",", + RowBox[{"-", "4.60387547160972`"}], ",", + RowBox[{"-", "11.097834679044714`"}], ",", + RowBox[{"-", "23.689628565524355`"}], ",", + RowBox[{"-", "29.29350403713411`"}], ",", + RowBox[{"-", "23.689628565524387`"}], ",", + RowBox[{"-", "11.09783467904475`"}], ",", + RowBox[{"-", "1.0000000000000386`"}], ",", + RowBox[{"-", "1.000000000000049`"}], ",", + RowBox[{"-", "1.000000000000056`"}], ",", + RowBox[{"-", "2.1099162641748386`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "4.603875471609722`"}], ",", + RowBox[{"-", "17.19566935808935`"}], ",", + RowBox[{"-", "27.29350403713402`"}], ",", + RowBox[{"-", "27.29350403713398`"}], ",", + RowBox[{"-", "17.195669358089315`"}], ",", + RowBox[{"-", "4.60387547160972`"}], ",", "0.9999999999999964`", ",", + RowBox[{"-", "1.0000000000000377`"}], ",", + RowBox[{"-", "11.09783467904471`"}], ",", + RowBox[{"-", "23.689628565524345`"}], ",", + RowBox[{"-", "29.293504037134056`"}], ",", + RowBox[{"-", "23.689628565524348`"}], ",", + RowBox[{"-", "11.097834679044695`"}], ",", + RowBox[{"-", "1.000000000000048`"}], ",", + RowBox[{"-", "1.0000000000000544`"}], ",", + RowBox[{"-", "2.109916264174834`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1.0000000000000415`"}], ",", + RowBox[{"-", "11.09783467904471`"}], ",", + RowBox[{"-", "23.689628565524316`"}], ",", + RowBox[{"-", "29.293504037133978`"}], ",", + RowBox[{"-", "23.689628565524277`"}], ",", + RowBox[{"-", "11.097834679044714`"}], ",", + RowBox[{"-", "1.0000000000000377`"}], ",", "1.0000000000000029`", ",", + RowBox[{"-", "4.6038754716097054`"}], ",", + RowBox[{"-", "17.19566935808932`"}], ",", + RowBox[{"-", "27.293504037133985`"}], ",", + RowBox[{"-", "27.29350403713398`"}], ",", + RowBox[{"-", "17.195669358089283`"}], ",", + RowBox[{"-", "4.603875471609719`"}], ",", + RowBox[{"-", "2.1099162641748332`"}], ",", + RowBox[{"-", "1.0000000000000515`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1.0000000000000464`"}], ",", + RowBox[{"-", "1.0000000000000389`"}], ",", + RowBox[{"-", "11.097834679044697`"}], ",", + RowBox[{"-", "23.68962856552428`"}], ",", + RowBox[{"-", "29.293504037133978`"}], ",", + RowBox[{"-", "23.689628565524355`"}], ",", + RowBox[{"-", "11.09783467904471`"}], ",", + RowBox[{"-", "4.6038754716097054`"}], ",", "0.9999999999999983`", ",", + RowBox[{"-", "4.603875471609701`"}], ",", + RowBox[{"-", "17.195669358089315`"}], ",", + RowBox[{"-", "27.293504037133978`"}], ",", + RowBox[{"-", "27.293504037133946`"}], ",", + RowBox[{"-", "17.195669358089383`"}], ",", + RowBox[{"-", "2.109916264174833`"}], ",", + RowBox[{"-", "1.000000000000051`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "11.097834679044736`"}], ",", + RowBox[{"-", "1.0000000000000369`"}], ",", + RowBox[{"-", "1.0000000000000435`"}], ",", + RowBox[{"-", "11.097834679044709`"}], ",", + RowBox[{"-", "23.689628565524316`"}], ",", + RowBox[{"-", "29.29350403713411`"}], ",", + RowBox[{"-", "23.689628565524345`"}], ",", + RowBox[{"-", "17.19566935808932`"}], ",", + RowBox[{"-", "4.603875471609701`"}], ",", "1.`", ",", + RowBox[{"-", "4.603875471609716`"}], ",", + RowBox[{"-", "17.19566935808934`"}], ",", + RowBox[{"-", "27.29350403713399`"}], ",", + RowBox[{"-", "27.293504037134106`"}], ",", + RowBox[{"-", "2.1099162641748364`"}], ",", + RowBox[{"-", "1.0000000000000524`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "23.68962856552439`"}], ",", + RowBox[{"-", "11.097834679044713`"}], ",", + RowBox[{"-", "1.0000000000000424`"}], ",", + RowBox[{"-", "1.0000000000000397`"}], ",", + RowBox[{"-", "11.097834679044704`"}], ",", + RowBox[{"-", "23.689628565524387`"}], ",", + RowBox[{"-", "29.293504037134056`"}], ",", + RowBox[{"-", "27.293504037133985`"}], ",", + RowBox[{"-", "17.195669358089315`"}], ",", + RowBox[{"-", "4.603875471609716`"}], ",", "0.9999999999999998`", ",", + + RowBox[{"-", "4.60387547160971`"}], ",", + RowBox[{"-", "17.195669358089326`"}], ",", + RowBox[{"-", "27.293504037134106`"}], ",", + RowBox[{"-", "2.1099162641748364`"}], ",", + RowBox[{"-", "1.0000000000000524`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "29.29350403713411`"}], ",", + RowBox[{"-", "23.689628565524337`"}], ",", + RowBox[{"-", "11.097834679044714`"}], ",", + RowBox[{"-", "1.0000000000000369`"}], ",", + RowBox[{"-", "1.000000000000044`"}], ",", + RowBox[{"-", "11.09783467904475`"}], ",", + RowBox[{"-", "23.689628565524348`"}], ",", + RowBox[{"-", "27.29350403713398`"}], ",", + RowBox[{"-", "27.293504037133978`"}], ",", + RowBox[{"-", "17.19566935808934`"}], ",", + RowBox[{"-", "4.60387547160971`"}], ",", "0.9999999999999984`", ",", + RowBox[{"-", "4.603875471609714`"}], ",", + RowBox[{"-", "17.195669358089404`"}], ",", + RowBox[{"-", "2.109916264174836`"}], ",", + RowBox[{"-", "1.0000000000000533`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "23.689628565524348`"}], ",", + RowBox[{"-", "29.293504037134017`"}], ",", + RowBox[{"-", "23.689628565524323`"}], ",", + RowBox[{"-", "11.09783467904469`"}], ",", + RowBox[{"-", "1.0000000000000373`"}], ",", + RowBox[{"-", "1.0000000000000386`"}], ",", + RowBox[{"-", "11.097834679044695`"}], ",", + RowBox[{"-", "17.195669358089283`"}], ",", + RowBox[{"-", "27.293504037133946`"}], ",", + RowBox[{"-", "27.29350403713399`"}], ",", + RowBox[{"-", "17.195669358089326`"}], ",", + RowBox[{"-", "4.603875471609714`"}], ",", "1.0000000000000047`", ",", + + RowBox[{"-", "4.60387547160972`"}], ",", + RowBox[{"-", "2.109916264174833`"}], ",", + RowBox[{"-", "1.0000000000000515`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "11.097834679044773`"}], ",", + RowBox[{"-", "23.689628565524426`"}], ",", + RowBox[{"-", "29.293504037134156`"}], ",", + RowBox[{"-", "23.68962856552439`"}], ",", + RowBox[{"-", "11.097834679044743`"}], ",", + RowBox[{"-", "1.000000000000049`"}], ",", + RowBox[{"-", "1.000000000000048`"}], ",", + RowBox[{"-", "4.603875471609719`"}], ",", + RowBox[{"-", "17.195669358089383`"}], ",", + RowBox[{"-", "27.293504037134106`"}], ",", + RowBox[{"-", "27.293504037134106`"}], ",", + RowBox[{"-", "17.195669358089404`"}], ",", + RowBox[{"-", "4.60387547160972`"}], ",", "1.0000000000000004`", ",", + RowBox[{"-", "2.109916264174844`"}], ",", + RowBox[{"-", "1.0000000000000555`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1.0000000000000546`"}], ",", + RowBox[{"-", "1.0000000000000546`"}], ",", + RowBox[{"-", "1.0000000000000537`"}], ",", + RowBox[{"-", "1.0000000000000524`"}], ",", + RowBox[{"-", "1.0000000000000517`"}], ",", + RowBox[{"-", "1.000000000000056`"}], ",", + RowBox[{"-", "1.0000000000000544`"}], ",", + RowBox[{"-", "2.1099162641748332`"}], ",", + RowBox[{"-", "2.109916264174833`"}], ",", + RowBox[{"-", "2.1099162641748364`"}], ",", + RowBox[{"-", "2.1099162641748364`"}], ",", + RowBox[{"-", "2.109916264174836`"}], ",", + RowBox[{"-", "2.109916264174833`"}], ",", + RowBox[{"-", "2.109916264174844`"}], ",", "1.`", ",", + RowBox[{"-", "1.3418303776543883`"}]}], "}"}], ",", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "2.1099162641748395`"}], ",", + RowBox[{"-", "2.109916264174834`"}], ",", + RowBox[{"-", "2.109916264174835`"}], ",", + RowBox[{"-", "2.1099162641748315`"}], ",", + RowBox[{"-", "2.109916264174833`"}], ",", + RowBox[{"-", "2.1099162641748386`"}], ",", + RowBox[{"-", "2.109916264174834`"}], ",", + RowBox[{"-", "1.0000000000000515`"}], ",", + RowBox[{"-", "1.000000000000051`"}], ",", + RowBox[{"-", "1.0000000000000524`"}], ",", + RowBox[{"-", "1.0000000000000524`"}], ",", + RowBox[{"-", "1.0000000000000533`"}], ",", + RowBox[{"-", "1.0000000000000515`"}], ",", + RowBox[{"-", "1.0000000000000555`"}], ",", + RowBox[{"-", "1.3418303776543883`"}], ",", "0.9999999999999996`"}], + "}"}]}], "}"}], "]"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8341807402994127`*^9, 3.834180742133628*^9}, { + 3.834181255097064*^9, 3.834181261469574*^9}, 3.8342265115681334`*^9, { + 3.834269547654948*^9, 3.83426955234289*^9}, {3.834279263308406*^9, + 3.834279266598548*^9}, 3.834312777485221*^9}, + CellLabel->"In[25]:=",ExpressionUUID->"6704429c-f8d8-488f-aa44-b58e4afb791d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"root", "=", + RowBox[{"-", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "2.6755033759230464`"}], ",", + RowBox[{"-", "2.6755033759230358`"}], ",", + RowBox[{"-", "2.6755033759230473`"}], ",", + RowBox[{"-", "2.6755033759230344`"}], ",", + RowBox[{"-", "2.6755033759230398`"}], ",", + RowBox[{"-", "2.6755033759230433`"}], ",", + RowBox[{"-", "3.71077955633303`"}], ",", + RowBox[{"-", "3.7107795563330153`"}], ",", + RowBox[{"-", "3.7107795563330184`"}], ",", + RowBox[{"-", "3.71077955633302`"}], ",", + RowBox[{"-", "3.7107795563330255`"}], ",", + RowBox[{"-", "3.710779556333014`"}], ",", "0.6213743677192812`", ",", + RowBox[{"-", "1.6093357755815325`"}]}], "}"}]}]}], ";"}]], "Input", + CellChangeTimes->{{3.834180875764398*^9, 3.834180877609824*^9}, + 3.834181270520502*^9, 3.83422655699443*^9, {3.8342695416310997`*^9, + 3.83426954395999*^9}, {3.8342792723452053`*^9, 3.8342792750702457`*^9}}, + CellLabel->"In[26]:=",ExpressionUUID->"1eabb843-0fcd-48c2-8ba6-c1a8012517bf"], + +Cell[BoxData[ + RowBox[{"(*", + RowBox[{"fractalDimensionFromG", "[", + RowBox[{"G", ",", "100000", ",", "5000", ",", "root"}], "]"}], + "*)"}]], "Input", + CellChangeTimes->CompressedData[" +1:eJxTTMoPSmViYGCQBGIQbcVkM4V34htH44urpoFojaM8C0D0BPZ5i0D0oq6r +t0D00+02t0H0uvfuU/iAtO2HxWDaT7z6B4j+t6oHTD8PsWIRANJHHpwE08e/ +lHGC6EX2jWD6WLcVP4j+vb9aAET/b1/8DUR/LHoCplfxzykSAdmTfrAYRDP8 +1VURA9Jxtk5gumSqUasckH4T5AOmtbbtXQSiLdJ3LwXRrSrcV0F0u3g6mA6K +e9kiD/KX9JxWEL3ms/UEPSDNJXwDTIt4L9MyBtJnRIS0QXSCltgnEyD9rD0V +TJcKCB42BdIV1xvA9Emb+mOWQHpa7FcwPWPLnCueQFos+ymYzr/WvsEPZF7+ +2o0g+rXFW/YiIG32UpkDRAeoPTQG0bstvExAtNU+HpUKIM3ikwumAUXbxEc= + + "], + CellLabel->"In[27]:=",ExpressionUUID->"93b323a4-3961-4489-aad0-08a79152d39c"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"W", "=", GridBox[{ + {"0", "0", "0", + RowBox[{"-", "1"}]}, + {"2", "0", "0", "1"}, + {"0", "3", "0", "1"}, + {"2", "3", + SqrtBox["3"], "2"} + }]}], ";"}]], "Input", + CellChangeTimes->{{3.8342676567311163`*^9, 3.83426770251457*^9}, { + 3.83436362090779*^9, 3.834363621444234*^9}}, + CellLabel->"In[28]:=",ExpressionUUID->"8ff466ea-3410-450e-bffc-4a293b4ee96b"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"P", "=", GridBox[{ + {"0", + RowBox[{ + RowBox[{"-", "1"}], "/", "2"}], "0", "0"}, + { + RowBox[{ + RowBox[{"-", "1"}], "/", "2"}], "0", "0", "0"}, + {"0", "0", "1", "0"}, + {"0", "0", "0", "1"} + }]}], ";"}]], "Input", + CellChangeTimes->{{3.8342676843163633`*^9, 3.8342677012142773`*^9}}, + CellLabel->"In[29]:=",ExpressionUUID->"dbc4c4c2-1c52-463f-a6ed-8ebf8e2999c5"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"G", "=", GridBox[{ + {"1", + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{"-", "2"}]}, + { + RowBox[{"-", "1"}], "1", + RowBox[{"-", "2"}], + RowBox[{"-", "1"}]}, + { + RowBox[{"-", "1"}], + RowBox[{"-", "2"}], "1", + RowBox[{"-", "1"}]}, + { + RowBox[{"-", "2"}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], "1"} + }]}], ";"}]], "Input", + CellChangeTimes->{{3.834255719098699*^9, 3.834255752266445*^9}, { + 3.834255803667136*^9, 3.834255822215041*^9}, 3.834267713596407*^9, { + 3.834363641553152*^9, 3.834363648776113*^9}}, + CellLabel->"In[30]:=",ExpressionUUID->"6e850424-7b33-4d48-ad3f-a19322864464"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"W", ".", "P", ".", + RowBox[{"Transpose", "[", "W", "]"}]}], "//", "MatrixForm"}]], "Input", + CellChangeTimes->{{3.8343633434683943`*^9, 3.8343633944968452`*^9}}, + CellLabel->"In[31]:=",ExpressionUUID->"41f244bb-1e4e-4e83-bfe8-1040dd285f02"], + +Cell[BoxData[ + TagBox[ + RowBox[{"(", "\[NoBreak]", GridBox[{ + {"1", + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], + RowBox[{"-", "2"}]}, + { + RowBox[{"-", "1"}], "1", + RowBox[{"-", "2"}], + RowBox[{"-", "1"}]}, + { + RowBox[{"-", "1"}], + RowBox[{"-", "2"}], "1", + RowBox[{"-", "1"}]}, + { + RowBox[{"-", "2"}], + RowBox[{"-", "1"}], + RowBox[{"-", "1"}], "1"} + }, + GridBoxAlignment->{"Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, + GridBoxSpacings->{"Columns" -> { + Offset[0.27999999999999997`], { + Offset[0.7]}, + Offset[0.27999999999999997`]}, "Rows" -> { + Offset[0.2], { + Offset[0.4]}, + Offset[0.2]}}], "\[NoBreak]", ")"}], + Function[BoxForm`e$, + MatrixForm[BoxForm`e$]]]], "Output", + CellChangeTimes->{{3.834363345042426*^9, 3.834363394907709*^9}, + 3.834363624185574*^9, 3.8343639801334887`*^9, 3.834364198424225*^9, + 3.8344822111507607`*^9}, + CellLabel-> + "Out[31]//MatrixForm=",ExpressionUUID->"e582e1b7-3a92-42e5-9860-\ +07dc5edd51c3"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"v", "=", + RowBox[{"Table", "[", + RowBox[{ + SubscriptBox["b", "i"], ",", + RowBox[{"{", + RowBox[{"i", ",", "4"}], "}"}]}], "]"}]}]], "Input", + CellChangeTimes->{{3.834267747292341*^9, 3.8342677548359013`*^9}}, + CellLabel->"In[32]:=",ExpressionUUID->"76c80b68-6d78-48f5-ad70-c8ee2c958376"], + Cell[BoxData[ RowBox[{"{", - RowBox[{"5810.517884`", ",", "1.3226209682694214`"}], "}"}]], "Output", - CellChangeTimes->{3.834073037328405*^9, 3.834080358442856*^9, - 3.83409056453896*^9, 3.834091284692438*^9, 3.83409188242869*^9, - 3.834092639669347*^9, 3.834093669438568*^9, 3.8340951224331083`*^9, - 3.834097070082343*^9, 3.834102985541628*^9}, - CellLabel->"Out[24]=",ExpressionUUID->"4f0a289e-6a4f-487e-8412-7b3a421e3b51"] + RowBox[{ + SubscriptBox["b", "1"], ",", + SubscriptBox["b", "2"], ",", + SubscriptBox["b", "3"], ",", + SubscriptBox["b", "4"]}], "}"}]], "Output", + CellChangeTimes->{ + 3.834267755304275*^9, 3.834269358083054*^9, 3.834269393686844*^9, + 3.8342694488183613`*^9, 3.834269494359353*^9, {3.8342695664079933`*^9, + 3.8342696027466908`*^9}, 3.834270116138488*^9, 3.834270161252562*^9, + 3.8342704383920507`*^9, 3.83427055565105*^9, {3.8342711033095303`*^9, + 3.834271120588587*^9}, 3.834271489634482*^9, 3.834271596319798*^9, + 3.834272147330011*^9, 3.83435169877804*^9, {3.834351997024363*^9, + 3.83435201778999*^9}, 3.834363031990286*^9, 3.8343639822501802`*^9, + 3.834364198444326*^9, 3.834482211167481*^9}, + CellLabel->"Out[32]=",ExpressionUUID->"d97b2070-ad71-4943-811d-dbb00b08a905"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"eq", "=", + RowBox[{ + RowBox[{"Simplify", "[", + RowBox[{"v", ".", + RowBox[{"Inverse", "[", "G", "]"}], ".", "v"}], "]"}], "\[Equal]", + "0"}]}]], "Input", + CellChangeTimes->{{3.834267725468601*^9, 3.8342677925075703`*^9}}, + CellLabel->"In[33]:=",ExpressionUUID->"8b9344c9-3e4c-41cb-86ac-5ca45403afc3"], + +Cell[BoxData[ + RowBox[{ + RowBox[{ + FractionBox["1", "3"], " ", + RowBox[{"(", + RowBox[{ + SubsuperscriptBox["b", "1", "2"], "+", + SubsuperscriptBox["b", "2", "2"], "-", + RowBox[{"2", " ", + SubscriptBox["b", "1"], " ", + RowBox[{"(", + RowBox[{ + SubscriptBox["b", "2"], "+", + SubscriptBox["b", "3"]}], ")"}]}], "+", + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + SubscriptBox["b", "3"], "-", + SubscriptBox["b", "4"]}], ")"}], "2"], "-", + RowBox[{"2", " ", + SubscriptBox["b", "2"], " ", + SubscriptBox["b", "4"]}]}], ")"}]}], "\[Equal]", "0"}]], "Output", + CellChangeTimes->{{3.834267728369829*^9, 3.834267792813405*^9}, + 3.834269358105122*^9, 3.8342693937074413`*^9, 3.8342694488390083`*^9, + 3.834269494380106*^9, {3.834269566434243*^9, 3.834269602772138*^9}, + 3.834270116164339*^9, 3.834270161279118*^9, 3.8342704384210176`*^9, + 3.83427055567581*^9, {3.834271103323432*^9, 3.834271120603005*^9}, + 3.8342714896514177`*^9, 3.8342715963354807`*^9, 3.834272147359429*^9, + 3.834351698797674*^9, {3.834351997045382*^9, 3.834352017818926*^9}, + 3.8343630336046457`*^9, 3.834363655137488*^9, 3.834363983393931*^9, + 3.834364198463523*^9, 3.834482211190282*^9}, + CellLabel->"Out[33]=",ExpressionUUID->"1f518cc9-445b-457c-87bb-e970a9f63962"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Total", "[", + RowBox[{ + RowBox[{"Solve", "[", + RowBox[{"eq", ",", + SubscriptBox["b", "4"]}], "]"}], "/.", + RowBox[{ + RowBox[{"{", + RowBox[{ + SubscriptBox["b", "4"], "\[Rule]", "x_"}], "}"}], "\[Rule]", "x"}]}], + "]"}]], "Input", + CellChangeTimes->{{3.83426789441687*^9, 3.834267939586699*^9}, { + 3.8342679727473183`*^9, 3.8342680273972597`*^9}, {3.834363714474595*^9, + 3.834363717250361*^9}, {3.834363752813319*^9, 3.834363812626932*^9}}, + CellLabel->"In[34]:=",ExpressionUUID->"16cecdaa-b71e-4f1c-95f2-3546d887a495"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"2", " ", + SubscriptBox["b", "2"]}], "+", + RowBox[{"2", " ", + SubscriptBox["b", "3"]}]}]], "Output", + CellChangeTimes->{{3.834267898318562*^9, 3.834267905504777*^9}, + 3.8342679411798773`*^9, {3.834267976190343*^9, 3.834268028031088*^9}, + 3.834269358160029*^9, 3.834269393760006*^9, 3.8342694488916893`*^9, + 3.834269494434766*^9, {3.834269566488118*^9, 3.834269602825595*^9}, + 3.834270116221366*^9, 3.834270161336067*^9, 3.834270438474659*^9, + 3.8342705557299023`*^9, 3.83427070617946*^9, {3.834271103366624*^9, + 3.834271120649811*^9}, 3.834271489700316*^9, 3.834271596381638*^9, + 3.834272147424893*^9, 3.834351698900364*^9, {3.834351997068961*^9, + 3.8343520178647337`*^9}, 3.834363718053323*^9, {3.834363758388579*^9, + 3.834363781827297*^9}, 3.834363813182411*^9, 3.834363984591229*^9, + 3.834364198514433*^9, 3.834482211280281*^9}, + CellLabel->"Out[34]=",ExpressionUUID->"f281d64e-2bd2-4404-a12b-91c481932e4f"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"sigmas", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{GridBox[{ + { + RowBox[{"-", "1"}], "2", "2", "0"}, + {"0", "1", "0", "0"}, + {"0", "0", "1", "0"}, + {"0", "0", "0", "1"} + }], ",", GridBox[{ + {"1", "0", "0", "0"}, + {"2", + RowBox[{"-", "1"}], "0", "2"}, + {"0", "0", "1", "0"}, + {"0", "0", "0", "1"} + }], ",", GridBox[{ + {"1", "0", "0", "0"}, + {"0", "1", "0", "0"}, + {"2", "0", + RowBox[{"-", "1"}], "2"}, + {"0", "0", "0", "1"} + }], ",", GridBox[{ + {"1", "0", "0", "0"}, + {"0", "1", "0", "0"}, + {"0", "0", "1", "0"}, + {"0", "2", "2", + RowBox[{"-", "1"}]} + }]}], "\[IndentingNewLine]", "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.834268212750614*^9, 3.834268282815816*^9}, { + 3.834363829310417*^9, 3.834363843669476*^9}}, + CellLabel->"In[35]:=",ExpressionUUID->"9a6a433f-918e-46fb-8cf5-5ce633ab5b0d"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"faces", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"2", ",", "3", ",", "4"}], "}"}], ",", + RowBox[{"{", + RowBox[{"1", ",", "3", ",", "4"}], "}"}], ",", + RowBox[{"{", + RowBox[{"1", ",", "2", ",", "4"}], "}"}], ",", + RowBox[{"{", + RowBox[{"1", ",", "2", ",", "3"}], "}"}]}], "}"}]}], ";"}]], "Input", + CellChangeTimes->{{3.8342682912805243`*^9, 3.8342683139154463`*^9}}, + CellLabel->"In[36]:=",ExpressionUUID->"b35724fd-29ad-42fa-a49d-7bf98b91f121"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"root", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "2"}], ",", "4", ",", "5", ",", "9"}], "}"}]}], + ";"}]], "Input", + CellChangeTimes->{{3.834269271082727*^9, 3.834269280209474*^9}, { + 3.834269615697873*^9, 3.834269616050098*^9}, 3.8342700328283663`*^9, { + 3.83427028137157*^9, 3.834270281646906*^9}, {3.834270382691121*^9, + 3.834270384742227*^9}, {3.8342706358639393`*^9, 3.834270637482791*^9}, { + 3.8342717509835978`*^9, 3.83427175115452*^9}, {3.834272002011801*^9, + 3.834272002098583*^9}, {3.83436385669696*^9, 3.834363858881136*^9}, { + 3.8343646210101*^9, 3.834364623031375*^9}, {3.834482222055552*^9, + 3.834482227036398*^9}}, + CellLabel->"In[51]:=",ExpressionUUID->"adf87a8c-7800-4d56-a340-7526895affee"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Total", "[", + RowBox[{ + RowBox[{"sigmas", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], + ".", "v"}], "]"}]], "Input", + CellChangeTimes->{{3.8342701786590567`*^9, 3.8342701920132732`*^9}, { + 3.834270300677595*^9, 3.8342703127835407`*^9}, {3.834270596130591*^9, + 3.834270633252564*^9}, {3.834270774793049*^9, 3.834270817557818*^9}}, + CellLabel->"In[38]:=",ExpressionUUID->"37633a3e-93f6-4e02-89c2-f022303230da"], + +Cell[BoxData[ + RowBox[{ + RowBox[{"-", + SubscriptBox["b", "1"]}], "+", + RowBox[{"3", " ", + SubscriptBox["b", "2"]}], "+", + RowBox[{"3", " ", + SubscriptBox["b", "3"]}], "+", + SubscriptBox["b", "4"]}]], "Output", + CellChangeTimes->{{3.834270183924911*^9, 3.834270192553357*^9}, + 3.834270283582943*^9, 3.834270313878557*^9, 3.834270390043499*^9, + 3.834270438523443*^9, {3.834270555771576*^9, 3.834270639760768*^9}, { + 3.8342707696259623`*^9, 3.834270817902754*^9}, {3.8342711033983183`*^9, + 3.834271120685095*^9}, 3.834271489740806*^9, 3.834271596418852*^9, + 3.834272147466762*^9, 3.83435169892546*^9, {3.834351997102436*^9, + 3.834352017902173*^9}, 3.8343638625127087`*^9, 3.8343641985475082`*^9, + 3.834482211308651*^9}, + CellLabel->"Out[38]=",ExpressionUUID->"f32c4a39-1ea0-4bb6-92bb-6c5bd406b5f7"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"eq", "/.", + RowBox[{"{", + RowBox[{ + RowBox[{ + SubscriptBox["b", "1"], "\[Rule]", + RowBox[{"-", "2"}]}], ",", + RowBox[{ + SubscriptBox["b", "2"], "\[Rule]", "4"}], ",", + RowBox[{ + SubscriptBox["b", "3"], "\[Rule]", "5"}]}], "}"}]}], "//", + "Simplify"}]], "Input", + CellChangeTimes->{{3.834270320892424*^9, 3.8342703454042892`*^9}, { + 3.8342706766721563`*^9, 3.834270680336699*^9}, {3.834363001714438*^9, + 3.8343630041165047`*^9}, {3.834363044982485*^9, 3.8343630450946198`*^9}, { + 3.834363182295018*^9, 3.834363249513712*^9}}, + CellLabel->"In[39]:=",ExpressionUUID->"4ad53bef-81a3-4ded-a9a0-c0233561a7e5"], + +Cell[BoxData[ + RowBox[{ + SubscriptBox["b", "4"], "\[Equal]", "9"}]], "Output", + CellChangeTimes->{{3.834270321514536*^9, 3.834270345732245*^9}, + 3.8342704385506983`*^9, 3.834270555797867*^9, {3.834270658610314*^9, + 3.834270680693759*^9}, 3.83427075479714*^9, {3.834271103411821*^9, + 3.8342711207011223`*^9}, 3.834271489756778*^9, 3.834271596436777*^9, + 3.834272147490357*^9, 3.834351698940927*^9, {3.834351997122982*^9, + 3.8343520179283743`*^9}, 3.834363005076951*^9, {3.834363037375724*^9, + 3.83436304561241*^9}, {3.834363182886771*^9, 3.8343632500565157`*^9}, + 3.834363852750724*^9, 3.834364198566584*^9, 3.834364495261963*^9, + 3.8344822113242693`*^9}, + CellLabel->"Out[39]=",ExpressionUUID->"f657ef8e-52a6-4528-993a-bd1335363ffa"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"(*", + RowBox[{"search", "[", + RowBox[{"sigmas", ",", + RowBox[{"N", "[", "root", "]"}], ",", + RowBox[{"-", "1"}], ",", "20"}], "]"}], "*)"}]], "Input", + CellChangeTimes->{{3.834269253093897*^9, 3.834269268235035*^9}, { + 3.83426931485015*^9, 3.834269326281529*^9}, {3.834269440249044*^9, + 3.834269442877322*^9}, {3.834269575859881*^9, 3.834269598361561*^9}, { + 3.834270027915841*^9, 3.834270030553297*^9}, {3.834270155311832*^9, + 3.8342701572128067`*^9}, {3.8342703979803762`*^9, 3.834270400145377*^9}, { + 3.834270559892991*^9, 3.834270561761071*^9}, {3.834271100563821*^9, + 3.8342711165751047`*^9}, {3.8342714656515923`*^9, 3.834271485643083*^9}, { + 3.834271537404784*^9, 3.8342715396864367`*^9}, {3.83427159034447*^9, + 3.834271592149164*^9}, {3.834272087424869*^9, 3.834272111364039*^9}}, + CellLabel->"In[40]:=",ExpressionUUID->"46f7ba91-5bac-4ae7-9a54-138e9ec6b60d"], + +Cell[BoxData[ + RowBox[{"(*", + RowBox[{ + RowBox[{"sigmas", "=", + RowBox[{"{", "\[IndentingNewLine]", + RowBox[{GridBox[{ + { + RowBox[{"-", "1"}], "2", "2", "2"}, + {"0", "1", "0", "0"}, + {"0", "0", "1", "0"}, + {"0", "0", "0", "1"} + }], ",", GridBox[{ + {"1", "0", "0", "0"}, + {"2", + RowBox[{"-", "1"}], "2", "2"}, + {"0", "0", "1", "0"}, + {"0", "0", "0", "1"} + }], ",", GridBox[{ + {"1", "0", "0", "0"}, + {"0", "1", "0", "0"}, + {"2", "2", + RowBox[{"-", "1"}], "2"}, + {"0", "0", "0", "1"} + }], ",", GridBox[{ + {"1", "0", "0", "0"}, + {"0", "1", "0", "0"}, + {"0", "0", "1", "0"}, + {"2", "2", "2", + RowBox[{"-", "1"}]} + }]}], "\[IndentingNewLine]", "}"}]}], ";", "\[IndentingNewLine]", + RowBox[{"faces", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"{", + RowBox[{"2", ",", "3", ",", "4"}], "}"}], ",", + RowBox[{"{", + RowBox[{"1", ",", "3", ",", "4"}], "}"}], ",", + RowBox[{"{", + RowBox[{"1", ",", "2", ",", "4"}], "}"}], ",", + RowBox[{"{", + RowBox[{"1", ",", "2", ",", "3"}], "}"}]}], "}"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"root", "=", + RowBox[{"{", + RowBox[{ + RowBox[{"-", "6"}], ",", "11", ",", "14", ",", "23"}], "}"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"Timing", "[", + RowBox[{ + RowBox[{"search", "[", + RowBox[{"sigmas", ",", + RowBox[{"N", "[", "root", "]"}], ",", + RowBox[{"{", "}"}], ",", "100000", ",", "faces"}], "]"}], "+", + RowBox[{"Length", "[", "root", "]"}]}], "]"}]}], "*)"}]], "Input", + CellChangeTimes->{{3.834270459190027*^9, 3.834270465193511*^9}, { + 3.8342710715935173`*^9, 3.834271093607176*^9}, {3.834271316240868*^9, + 3.834271321333003*^9}, {3.834271369315226*^9, 3.83427138415939*^9}, { + 3.8342714577679443`*^9, 3.834271469770496*^9}, {3.834351709540537*^9, + 3.8343517221320677`*^9}, 3.8343518549794073`*^9, {3.8343519213016357`*^9, + 3.8343519374352407`*^9}, {3.834352192269598*^9, 3.834352205076268*^9}, { + 3.834352403363192*^9, 3.834352415336894*^9}, 3.8343524567740088`*^9, + 3.834352907817636*^9, 3.834352960448945*^9, {3.8343530134223633`*^9, + 3.8343530172572937`*^9}, {3.834364165786512*^9, 3.8343641678676987`*^9}}, + CellLabel->"In[41]:=",ExpressionUUID->"ea692d6b-a3f1-4695-a513-eaef5a64e60d"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"sigmas", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], + ".", "root"}]], "Input", + CellChangeTimes->{{3.834364309198806*^9, 3.834364315630615*^9}, { + 3.834364536335041*^9, 3.834364588811516*^9}, {3.834364936155011*^9, + 3.834364962698073*^9}, {3.834365049261941*^9, 3.834365056740116*^9}, { + 3.834482247335332*^9, 3.8344822647451897`*^9}}, + CellLabel->"In[59]:=",ExpressionUUID->"97404788-a3ac-4fd1-83db-41988432c19c"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{"20", ",", "4", ",", "5", ",", "9"}], "}"}]], "Output", + CellChangeTimes->{ + 3.8343643160127068`*^9, 3.8343645404411592`*^9, {3.834364572595468*^9, + 3.834364589345014*^9}, {3.834364929126811*^9, 3.83436496307482*^9}, { + 3.834365050324903*^9, 3.834365057204047*^9}, 3.8344822113732147`*^9, { + 3.8344822424974823`*^9, 3.83448226518806*^9}}, + CellLabel->"Out[59]=",ExpressionUUID->"a7002fed-b093-472a-bbbb-ebc8229073ed"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{ + RowBox[{"sigmas", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], + ".", + RowBox[{"sigmas", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], + ".", + RowBox[{"sigmas", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], + ".", "root"}], "//", "Total"}]], "Input", + CellChangeTimes->{{3.8343649661668367`*^9, 3.8343650190653057`*^9}, { + 3.834365063719788*^9, 3.834365066037496*^9}}, + CellLabel->"In[43]:=",ExpressionUUID->"dadcc3c4-6364-42df-b84b-b8d72943df2b"], + +Cell[BoxData["11"], "Output", + CellChangeTimes->{{3.834364973587739*^9, 3.834365019369627*^9}, + 3.8343650663826017`*^9, 3.83448221142877*^9}, + CellLabel->"Out[43]=",ExpressionUUID->"58d3d53f-f227-41ce-9a8a-dca7360934db"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Total", "[", "root", "]"}]], "Input", + CellChangeTimes->{{3.834364511566435*^9, 3.83436451570404*^9}}, + CellLabel->"In[44]:=",ExpressionUUID->"1d37e3b6-66ba-4472-a743-e93622c6ac9c"], + +Cell[BoxData["9"], "Output", + CellChangeTimes->{{3.834364516240282*^9, 3.8343645216357203`*^9}, + 3.834482211449671*^9}, + CellLabel->"Out[44]=",ExpressionUUID->"6eaa965f-e656-4ed0-b759-4f1b341fa927"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Total", "[", + RowBox[{ + RowBox[{"sigmas", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}], + ".", + RowBox[{"sigmas", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], + ".", + RowBox[{"sigmas", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}], + ".", "root"}], "]"}]], "Input", + CellChangeTimes->{{3.8343526322227297`*^9, 3.834352641100721*^9}, { + 3.834363996621307*^9, 3.834363999587277*^9}, {3.834364225310771*^9, + 3.8343643000517597`*^9}, {3.8343645048417253`*^9, 3.834364559595419*^9}, { + 3.834364599161187*^9, 3.834364611580153*^9}}, + CellLabel->"In[45]:=",ExpressionUUID->"bc7704dc-2d4f-4d6e-be25-437b7990d177"], + +Cell[BoxData["15"], "Output", + CellChangeTimes->{{3.83435263841041*^9, 3.834352641587645*^9}, + 3.834352704802144*^9, {3.834363994381441*^9, 3.834364000105105*^9}, { + 3.8343641985951557`*^9, 3.834364300431389*^9}, {3.834364505914947*^9, + 3.8343645599497337`*^9}, {3.834364601241448*^9, 3.8343646119022827`*^9}, + 3.834482211466435*^9}, + CellLabel->"Out[45]=",ExpressionUUID->"9b807560-20bc-4a7e-bebd-7453d5203f23"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"(*", + RowBox[{ + RowBox[{"search", "[", + RowBox[{ + "generators_", ",", "current_", ",", "lastgen_", ",", "upperBound_"}], + "]"}], ":=", "\[IndentingNewLine]", + RowBox[{"Total", "[", + RowBox[{"Table", "[", + RowBox[{ + RowBox[{"If", "[", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"(", + RowBox[{ + RowBox[{ + "generators", "\[LeftDoubleBracket]", "i", + "\[RightDoubleBracket]"}], ".", "current"}], ")"}], + "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}], + "\[GreaterEqual]", "upperBound"}], "||", + RowBox[{ + RowBox[{"Total", "[", + RowBox[{ + RowBox[{ + "generators", "\[LeftDoubleBracket]", "i", + "\[RightDoubleBracket]"}], ".", "current"}], "]"}], + "\[LessEqual]", + RowBox[{"Total", "[", "current", "]"}]}]}], ",", "0", ",", + RowBox[{"1", "+", + RowBox[{"search", "[", + RowBox[{"generators", ",", + RowBox[{ + RowBox[{ + "generators", "\[LeftDoubleBracket]", "i", + "\[RightDoubleBracket]"}], ".", "current"}], ",", "i", ",", + "upperBound"}], "]"}]}]}], "]"}], ",", + RowBox[{"{", + RowBox[{"i", ",", "4"}], "}"}]}], "]"}], "]"}]}], "*)"}]], "Input", + CellChangeTimes->{{3.834271163271529*^9, 3.834271246051111*^9}, { + 3.8342712903246737`*^9, 3.834271310062496*^9}, {3.834271341473411*^9, + 3.8342713492127743`*^9}, {3.8342715319702*^9, 3.834271533730276*^9}, { + 3.8342719293657618`*^9, 3.834271947818203*^9}, {3.834272078815785*^9, + 3.834272081519147*^9}, {3.8342721236037807`*^9, 3.83427214226362*^9}, { + 3.834351990869299*^9, 3.834351993528885*^9}}, + CellLabel->"In[46]:=",ExpressionUUID->"9feb2ec0-647e-4872-9907-b92e6d4a628f"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{ + RowBox[{"sigmas", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], + ".", "root"}]], "Input", + CellChangeTimes->{{3.834272021760499*^9, 3.83427203146054*^9}, + 3.834364154564042*^9}, + CellLabel->"In[47]:=",ExpressionUUID->"336edb4a-23ed-42b9-b860-d4165f74f6b8"], + +Cell[BoxData[ + RowBox[{"{", + RowBox[{ + RowBox[{"-", "1"}], ",", "2", ",", "5", ",", "5"}], "}"}]], "Output", + CellChangeTimes->{{3.83427202674335*^9, 3.834272031860688*^9}, { + 3.834272147704256*^9, 3.8342721600061007`*^9}, 3.8343516990324917`*^9, { + 3.8343519972905912`*^9, 3.834352019090838*^9}, 3.8343641986173077`*^9, + 3.834482211493958*^9}, + CellLabel->"Out[47]=",ExpressionUUID->"971b3d0b-d403-46b7-ae1b-695a880c1b54"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"(*", + RowBox[{"search", "[", + RowBox[{"sigmas", ",", + RowBox[{"N", "[", "root", "]"}], ",", + RowBox[{"{", "}"}], ",", "10", ",", "faces"}], "]"}], "*)"}]], "Input", + CellChangeTimes->{{3.834363921051414*^9, 3.834363950761215*^9}, { + 3.834364012856628*^9, 3.834364015468774*^9}, {3.834364134655746*^9, + 3.834364136951743*^9}}, + CellLabel->"In[48]:=",ExpressionUUID->"5943882e-64ac-4901-a919-bda1a8692bcf"], + +Cell[BoxData[ + RowBox[{"(*", + RowBox[{ + RowBox[{"max", "=", "100"}], ";", "\[IndentingNewLine]", + RowBox[{"delta", "=", "10"}], ";", "\[IndentingNewLine]", + RowBox[{"xs", "=", + RowBox[{"Range", "[", + RowBox[{"1", ",", "max", ",", "delta"}], "]"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"ys", "=", + RowBox[{ + RowBox[{ + RowBox[{ + RowBox[{"search", "[", + RowBox[{"sigmas", ",", + RowBox[{"N", "[", "root", "]"}], ",", + RowBox[{"-", "1"}], ",", "#"}], "]"}], "+", + RowBox[{"Length", "[", "root", "]"}]}], "&"}], "/@", "xs"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"data", "=", + RowBox[{ + RowBox[{ + RowBox[{"{", + RowBox[{ + RowBox[{"xs", "\[LeftDoubleBracket]", "#", "\[RightDoubleBracket]"}], + ",", + RowBox[{ + "ys", "\[LeftDoubleBracket]", "#", "\[RightDoubleBracket]"}]}], "}"}], + "&"}], "/@", + RowBox[{"Range", "[", + RowBox[{"Length", "[", "ys", "]"}], "]"}]}]}], ";", + "\[IndentingNewLine]", + RowBox[{"nlm", "=", + RowBox[{"NonlinearModelFit", "[", + RowBox[{"data", ",", + RowBox[{"a", " ", + SuperscriptBox["x", "b"]}], ",", + RowBox[{"{", + RowBox[{"a", ",", "b"}], "}"}], ",", "x"}], "]"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"params", "=", + RowBox[{"nlm", "[", "\"\\"", "]"}]}], ";", + "\[IndentingNewLine]", + RowBox[{"b", "/.", "params"}]}], "*)"}]], "Input", + CellChangeTimes->{{3.83427225142885*^9, 3.834272331149933*^9}, + 3.8342725088235283`*^9, {3.834272547381021*^9, 3.834272547477632*^9}, { + 3.834351693602374*^9, 3.8343516954988422`*^9}, {3.83436389691505*^9, + 3.83436390716508*^9}, {3.8343641398377953`*^9, 3.8343641416802073`*^9}}, + CellLabel->"In[49]:=",ExpressionUUID->"856a8716-587a-4b7a-b789-b38a63f87ec8"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"nlm", "[", "\"\\"", "]"}]], "Input", + CellChangeTimes->{{3.834272427241466*^9, 3.8342724326668386`*^9}}, + CellLabel->"In[50]:=",ExpressionUUID->"96291bb6-d846-4545-8cd6-2eed026c7e30"], + +Cell[BoxData[ + RowBox[{"nlm", "[", "\<\"RSquared\"\>", "]"}]], "Output", + CellChangeTimes->{ + 3.834272432969537*^9, 3.834278750219996*^9, 3.834351699058116*^9, { + 3.8343519973195133`*^9, 3.834352019121767*^9}, 3.83436419864568*^9, + 3.8344822115283613`*^9}, + CellLabel->"Out[50]=",ExpressionUUID->"543bb6c3-d112-4d49-aa4f-d5cad3332b8a"] }, Open ]] }, WindowSize->{1425., 776.25}, WindowMargins->{{7.5, Automatic}, {7.5, Automatic}}, +TaggingRules->{ + "WelcomeScreenSettings" -> {"FEStarting" -> False}, "TryRealOnly" -> False}, FrontEndVersion->"12.2 for Linux x86 (64-bit) (December 12, 2020)", StyleDefinitions->"Default.nb", ExpressionUUID->"e8622aad-0bd2-483b-a68b-2a26bc5485be" @@ -1173,17 +2178,76 @@ Cell[10269, 297, 3990, 106, 298, "Input",ExpressionUUID->"5cb4f612-3c02-42ac-ad5 Cell[14262, 405, 10810, 230, 422, "Input",ExpressionUUID->"df61872a-1e93-4b2b-ad66-1c8fee203402"], Cell[25075, 637, 6823, 176, 422, "Input",ExpressionUUID->"dab3b84f-3f49-42e4-9bc4-79cb6408f946"], Cell[31901, 815, 912, 24, 29, "Input",ExpressionUUID->"bd52b017-bd99-4bdf-9126-b7c62804c9f2"], -Cell[32816, 841, 4342, 93, 133, "Input",ExpressionUUID->"4186f080-27d0-474f-9433-7cdeb3a7a49d"], +Cell[32816, 841, 4816, 102, 133, "Input",ExpressionUUID->"4186f080-27d0-474f-9433-7cdeb3a7a49d"], Cell[CellGroupData[{ -Cell[37183, 938, 357, 5, 29, "Input",ExpressionUUID->"a546161f-063b-4b38-811b-1f5d9ac28696"], -Cell[37543, 945, 1538, 22, 33, "Output",ExpressionUUID->"299896e7-f4d5-4c1e-b36c-96dee19d0d36"] +Cell[37657, 947, 357, 5, 29, "Input",ExpressionUUID->"a546161f-063b-4b38-811b-1f5d9ac28696"], +Cell[38017, 954, 2190, 31, 33, "Output",ExpressionUUID->"01549ef8-b8be-4d3a-8e70-747610dfb968"] }, Open ]], -Cell[39096, 970, 2424, 60, 242, "Input",ExpressionUUID->"3971d33a-d19f-42ea-9b17-0801f7a59659"], -Cell[41523, 1032, 1277, 34, 66, "Input",ExpressionUUID->"3db5443f-dda7-4082-8ab7-96e274634389"], -Cell[42803, 1068, 1383, 34, 65, "Input",ExpressionUUID->"52eb731d-d72b-4ff7-afc4-5691e9750e37"], +Cell[40222, 988, 2560, 62, 242, "Input",ExpressionUUID->"3971d33a-d19f-42ea-9b17-0801f7a59659"], +Cell[42785, 1052, 1277, 34, 66, "Input",ExpressionUUID->"3db5443f-dda7-4082-8ab7-96e274634389"], +Cell[44065, 1088, 1383, 34, 65, "Input",ExpressionUUID->"52eb731d-d72b-4ff7-afc4-5691e9750e37"], +Cell[45451, 1124, 1379, 26, 29, "Input",ExpressionUUID->"00d846ff-ba2d-4cd3-a367-6099b9094d1e"], +Cell[46833, 1152, 14056, 288, 876, "Input",ExpressionUUID->"6704429c-f8d8-488f-aa44-b58e4afb791d"], +Cell[60892, 1442, 1086, 22, 71, "Input",ExpressionUUID->"1eabb843-0fcd-48c2-8ba6-c1a8012517bf"], +Cell[61981, 1466, 707, 15, 29, "Input",ExpressionUUID->"93b323a4-3961-4489-aad0-08a79152d39c"], +Cell[62691, 1483, 419, 12, 82, "Input",ExpressionUUID->"8ff466ea-3410-450e-bffc-4a293b4ee96b"], +Cell[63113, 1497, 436, 13, 78, "Input",ExpressionUUID->"dbc4c4c2-1c52-463f-a6ed-8ebf8e2999c5"], +Cell[63552, 1512, 718, 23, 78, "Input",ExpressionUUID->"6e850424-7b33-4d48-ad3f-a19322864464"], Cell[CellGroupData[{ -Cell[44211, 1106, 1283, 23, 29, "Input",ExpressionUUID->"00d846ff-ba2d-4cd3-a367-6099b9094d1e"], -Cell[45497, 1131, 430, 7, 56, "Output",ExpressionUUID->"4f0a289e-6a4f-487e-8412-7b3a421e3b51"] +Cell[64295, 1539, 278, 5, 29, "Input",ExpressionUUID->"41f244bb-1e4e-4e83-bfe8-1040dd285f02"], +Cell[64576, 1546, 1082, 35, 95, "Output",ExpressionUUID->"e582e1b7-3a92-42e5-9860-07dc5edd51c3"] +}, Open ]], +Cell[CellGroupData[{ +Cell[65695, 1586, 327, 8, 29, "Input",ExpressionUUID->"76c80b68-6d78-48f5-ad70-c8ee2c958376"], +Cell[66025, 1596, 836, 16, 33, "Output",ExpressionUUID->"d97b2070-ad71-4943-811d-dbb00b08a905"] +}, Open ]], +Cell[CellGroupData[{ +Cell[66898, 1617, 339, 8, 29, "Input",ExpressionUUID->"8b9344c9-3e4c-41cb-86ac-5ca45403afc3"], +Cell[67240, 1627, 1350, 31, 48, "Output",ExpressionUUID->"1f518cc9-445b-457c-87bb-e970a9f63962"] +}, Open ]], +Cell[CellGroupData[{ +Cell[68627, 1663, 575, 14, 29, "Input",ExpressionUUID->"16cecdaa-b71e-4f1c-95f2-3546d887a495"], +Cell[69205, 1679, 982, 17, 33, "Output",ExpressionUUID->"f281d64e-2bd2-4404-a12b-91c481932e4f"] +}, Open ]], +Cell[70202, 1699, 997, 31, 143, "Input",ExpressionUUID->"9a6a433f-918e-46fb-8cf5-5ce633ab5b0d"], +Cell[71202, 1732, 541, 14, 29, "Input",ExpressionUUID->"b35724fd-29ad-42fa-a49d-7bf98b91f121"], +Cell[71746, 1748, 773, 15, 29, "Input",ExpressionUUID->"adf87a8c-7800-4d56-a340-7526895affee"], +Cell[CellGroupData[{ +Cell[72544, 1767, 453, 8, 29, "Input",ExpressionUUID->"37633a3e-93f6-4e02-89c2-f022303230da"], +Cell[73000, 1777, 831, 17, 33, "Output",ExpressionUUID->"f32c4a39-1ea0-4bb6-92bb-6c5bd406b5f7"] +}, Open ]], +Cell[CellGroupData[{ +Cell[73868, 1799, 686, 17, 29, "Input",ExpressionUUID->"4ad53bef-81a3-4ded-a9a0-c0233561a7e5"], +Cell[74557, 1818, 758, 12, 33, "Output",ExpressionUUID->"f657ef8e-52a6-4528-993a-bd1335363ffa"] +}, Open ]], +Cell[75330, 1833, 916, 15, 29, "Input",ExpressionUUID->"46f7ba91-5bac-4ae7-9a54-138e9ec6b60d"], +Cell[76249, 1850, 2447, 63, 205, "Input",ExpressionUUID->"ea692d6b-a3f1-4695-a513-eaef5a64e60d"], +Cell[CellGroupData[{ +Cell[78721, 1917, 467, 8, 29, "Input",ExpressionUUID->"97404788-a3ac-4fd1-83db-41988432c19c"], +Cell[79191, 1927, 464, 8, 56, "Output",ExpressionUUID->"a7002fed-b093-472a-bbbb-ebc8229073ed"] +}, Open ]], +Cell[CellGroupData[{ +Cell[79692, 1940, 529, 11, 29, "Input",ExpressionUUID->"dadcc3c4-6364-42df-b84b-b8d72943df2b"], +Cell[80224, 1953, 223, 3, 33, "Output",ExpressionUUID->"58d3d53f-f227-41ce-9a8a-dca7360934db"] +}, Open ]], +Cell[CellGroupData[{ +Cell[80484, 1961, 205, 3, 29, "Input",ExpressionUUID->"1d37e3b6-66ba-4472-a743-e93622c6ac9c"], +Cell[80692, 1966, 201, 3, 33, "Output",ExpressionUUID->"6eaa965f-e656-4ed0-b759-4f1b341fa927"] +}, Open ]], +Cell[CellGroupData[{ +Cell[80930, 1974, 679, 13, 29, "Input",ExpressionUUID->"bc7704dc-2d4f-4d6e-be25-437b7990d177"], +Cell[81612, 1989, 423, 6, 33, "Output",ExpressionUUID->"9b807560-20bc-4a7e-bebd-7453d5203f23"] +}, Open ]], +Cell[82050, 1998, 1885, 46, 51, "Input",ExpressionUUID->"9feb2ec0-647e-4872-9907-b92e6d4a628f"], +Cell[CellGroupData[{ +Cell[83960, 2048, 297, 6, 29, "Input",ExpressionUUID->"336edb4a-23ed-42b9-b860-d4165f74f6b8"], +Cell[84260, 2056, 434, 8, 33, "Output",ExpressionUUID->"971b3d0b-d403-46b7-ae1b-695a880c1b54"] +}, Open ]], +Cell[84709, 2067, 444, 9, 29, "Input",ExpressionUUID->"5943882e-64ac-4901-a919-bda1a8692bcf"], +Cell[85156, 2078, 1859, 48, 176, "Input",ExpressionUUID->"856a8716-587a-4b7a-b789-b38a63f87ec8"], +Cell[CellGroupData[{ +Cell[87040, 2130, 218, 3, 29, "Input",ExpressionUUID->"96291bb6-d846-4545-8cd6-2eed026c7e30"], +Cell[87261, 2135, 341, 6, 33, "Output",ExpressionUUID->"543bb6c3-d112-4d49-aa4f-d5cad3332b8a"] }, Open ]] } ] diff --git a/fractal_dimension/fractaldimension.ipynb b/fractal_dimension/fractaldimension.ipynb index 4e0b200..d46143f 100644 --- a/fractal_dimension/fractaldimension.ipynb +++ b/fractal_dimension/fractaldimension.ipynb @@ -1 +1,398 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"fractaldimension.ipynb","provenance":[],"authorship_tag":"ABX9TyPDGTZCMhlplMpdJFPM0/7i"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","metadata":{"id":"uo4kxbshsfPU","executionInfo":{"status":"ok","timestamp":1622567114654,"user_tz":240,"elapsed":118,"user":{"displayName":"Dylan Torrance","photoUrl":"","userId":"06723129446585093176"}}},"source":["import random\n","import matplotlib.pyplot as plt\n","from scipy.optimize import curve_fit\n","import numpy as np\n","import math"],"execution_count":27,"outputs":[]},{"cell_type":"code","metadata":{"id":"G01gxmY2QI64"},"source":["####This is poor generator stuff, you can ignore \n","\n","shrink = np.array([[1,0,0,0,0,0,0,0],\n"," [0,0,1,0,0,0,0,0],\n"," [0,0,0,0,0,1,0,0],\n"," [0,0,0,0,0,0,0,1]])\n","q = np.linalg.inv(np.array([[1,-3,-3,-3],\n"," [-3,1,-3,-3],\n"," [-3,-3,1,-3],\n"," [-3,-3,-3,1]]))\n","\n","#take transpose of row reduced gram matrix to get linear relations \n","#pivot columns work \n","\n","linrel = 1/2 * np.array([[2,0,0,0],\n"," [1,1,-1,1],\n"," [0,2,0,0],\n"," [1,1,1,-1],\n"," [-1,1,1,1],\n"," [0,0,2,0],\n"," [1,-1,1,1],\n"," [0,0,0,2]])\n","alpha = np.array([2*math.sqrt(2),2*math.sqrt(2),2*math.sqrt(2),2*math.sqrt(2),0,0,0,0])\n","\n","wtpw = np.matmul(linrel,np.matmul(q,shrink))\n","i = np.identity(8)\n","\n","curv = np.array([-1,2,7,4,11,8,3,6])\n","\n","print(i - 2* np.matmul(np.outer(alpha,alpha),wtpw)/abs(np.matmul(alpha,np.matmul(wtpw,alpha))))\n","\n","print(np.matmul((i - 2*np.matmul(np.outer(alpha,alpha),wtpw)/abs(np.matmul(alpha,np.matmul(wtpw,alpha)))), curv))\n","\n"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"xY_oNcRDl797"},"source":["##This is just a demonstration of how it might walk over the words, can ignore unless you want to see that, not used in the actual calculation.\n","\n","word = [1]\n","while word:\n"," print(word)\n"," if random.uniform(0, len(word))<1:\n"," word = over(word)\n"," else:\n"," word = down(word)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"5GPpjyI9ivpl","executionInfo":{"status":"ok","timestamp":1622567124989,"user_tz":240,"elapsed":490,"user":{"displayName":"Dylan Torrance","photoUrl":"","userId":"06723129446585093176"}}},"source":["##These are the main functions used for \n","\n","\n","#function that returns the new curvature for the nth generator, just for checking whether we should go deeper into the word tree or start going down \n","def transval(n,root):\n"," return 2*sum(root)-3*root[n-1]\n","\n","#function for when the word would have given a curvature that is too big \n","def down(word): \n"," #if not word:\n"," #return word #this is older stuff you can probably ignore\n","\n"," if word[-1] == 4: #if the word ends in the last generator, drop that and repeat this whole function with that new word\n"," word.pop()\n"," word = down(word)\n"," elif len(word)>1 and word[-1]+1==word[-2]: #if the word has length 2 and the last two generators are n+1, n\n"," if word[-1]==3: #if the word ended in \"43\", then drop those two (since that is as far as we could go in this part of the tree), and if it is nonempty, then call this whole function again \n"," word.pop()\n"," word.pop()\n"," if word: \n"," word = down(word)\n"," else: #if it ended in somehting like \"21\", then that becomes \"23\", like it skips over \"22,\" since that wouldn't be reduced.\n"," word[-1]=word[-1]+2\n"," else: #if it wasn't one of the weird above cases then just change the last generator to the one after that \n"," word[-1]=word[-1]+1\n"," return word\n","\n","#function for when the word gives a curvature that's still under the bound\n","#just adds a 1 or 2 at the end of the word, which is basically like the left-most branch above the word in the tree\n","def over(word):\n"," if word[-1] == 1:\n"," word.append(2)\n"," else:\n"," word.append(1)\n"," return word"],"execution_count":30,"outputs":[]},{"cell_type":"code","metadata":{"id":"-_JTSiM3cJqf","executionInfo":{"status":"ok","timestamp":1622567127105,"user_tz":240,"elapsed":3,"user":{"displayName":"Dylan Torrance","photoUrl":"","userId":"06723129446585093176"}}},"source":["#this is the function we want to fit the curve to\n","def func(x, a, b):\n"," return a * x**b\n","\n","#this function fits the curve and doesn't actually return anything but prints the fractal dimension\n","#takes in a number of how many times we want to divide , the bound from below, and the list of curvatures under that bound\n","def curvefit(n, bound, curvatures):\n"," x = []\n"," y = []\n"," for j in range(n): #n is just how many sub-bounds we want to have, so if our bound was like curvatures under 30,000, and we had n = 30\n"," #then we would be counting like curvatures under 1000, 2000, 3000, ... 30,0000. \n"," x.append(int((j+1)*bound/n))\n"," y.append(sum(i < (j+1)*bound/n for i in circlelist)) #this is just counting the number of curvatures under each of our sub-bounds \n"," popt,pcov=curve_fit(func,x,y) #curve fit to our list of like [1000,2000,...,30000] matched with the count of circles under each of those bounds\n"," print(\"fractal dimension: \" + str(popt[1])) #popt is like the [a,b] that is the best curve fit for ax^b, so we just take b "],"execution_count":31,"outputs":[]},{"cell_type":"code","metadata":{"id":"9_nsjk3fklRW","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1622567131441,"user_tz":240,"elapsed":2442,"user":{"displayName":"Dylan Torrance","photoUrl":"","userId":"06723129446585093176"}},"outputId":"2dd3d1c8-10f9-4965-aaa5-8bf49513eaa2"},"source":["root = [-10, 18, 23, 27] #some base tuple, it will change as we go through the words since we are kinda only paying attention to the end of the word\n","circlelist = list(root) #list of the curvatures, it starts with the root stuff and we will add to it \n","word = [1] #word that we are currently considering, it will change as we go through these, the first word we start with is just the word that consists of the first generator\n","recentroot = [] #this will be an array of arrays. the recentroot[i] is the most recent tuple that wasn't too big for word of length i so that when we go back down we know which tuple to operate on\n","recentroot.append(root) #the root thing will be our 0th element of this array\n","bound = 100000 #bound for what we want our curvatures to be under\n","\n","while word: #this runs until you get back to the empty word\n"," #print(\"root : \" + str(root))\n"," #print(\"word : \" + str(word))\n"," n = word[-1] #we only really pay attention to the last generator in our word\n"," l = len(word) #so we know which tuple to pull from recentroot\n"," #print(recentroot)\n"," root = list(recentroot[l-1]) #you have to cast it as a list or else it is just referencing an element of recentroot and will change when that changes, which we don't want\n"," if transval(n,root)>bound: #if the new curvature was bigger than our bound, change the word according to the down function \n"," word = down(word)\n"," else: #if it was not bigger than our bound, replace/append the corresponding element of recentroot, add that curvature to the circlelist, \n"," #and change the word according to the over function, since we may go deeper into that part of the tree before we hit the bound\n"," root[n-1] = transval(n,root)\n"," if l>=len(recentroot):\n"," recentroot.append(root)\n"," else:\n"," recentroot[l]=root\n"," circlelist.append(root[n-1])\n"," word = over(word)\n","\n","#print(circlelist)\n","print(len(circlelist))\n","curvefit(50,bound,circlelist) #this will print our fractal dimension once the circlelist has been made"],"execution_count":32,"outputs":[{"output_type":"stream","text":["66991\n","fractal dimension: 1.3049498628054264\n"],"name":"stdout"}]}]} \ No newline at end of file +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "executionInfo": { + "elapsed": 118, + "status": "ok", + "timestamp": 1622567114654, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "uo4kxbshsfPU" + }, + "outputs": [], + "source": [ + "import random\n", + "import matplotlib.pyplot as plt\n", + "from scipy.optimize import curve_fit\n", + "import numpy as np\n", + "import math" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "G01gxmY2QI64" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0.0000000e+00 0.0000000e+00 -1.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [-1.0000000e+00 1.0000000e+00 -1.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [-1.0000000e+00 0.0000000e+00 -4.4408921e-16 0.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [-1.0000000e+00 0.0000000e+00 -1.0000000e+00 1.0000000e+00\n", + " 0.0000000e+00 3.0000000e+00 0.0000000e+00 3.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 1.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 1.0000000e+00 0.0000000e+00 0.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 0.0000000e+00 1.0000000e+00 0.0000000e+00]\n", + " [ 0.0000000e+00 0.0000000e+00 0.0000000e+00 0.0000000e+00\n", + " 0.0000000e+00 0.0000000e+00 0.0000000e+00 1.0000000e+00]]\n", + "[35. 38. 43. 40. 11. 8. 3. 6.]\n" + ] + } + ], + "source": [ + "####This is poor generator stuff, you can ignore \n", + "\n", + "shrink = np.array([[1,0,0,0,0,0,0,0],\n", + " [0,0,1,0,0,0,0,0],\n", + " [0,0,0,0,0,1,0,0],\n", + " [0,0,0,0,0,0,0,1]])\n", + "q = np.linalg.inv(np.array([[1,-3,-3,-3],\n", + " [-3,1,-3,-3],\n", + " [-3,-3,1,-3],\n", + " [-3,-3,-3,1]]))\n", + "\n", + "#take transpose of row reduced gram matrix to get linear relations \n", + "#pivot columns work \n", + "\n", + "linrel = 1/2 * np.array([[2,0,0,0],\n", + " [1,1,-1,1],\n", + " [0,2,0,0],\n", + " [1,1,1,-1],\n", + " [-1,1,1,1],\n", + " [0,0,2,0],\n", + " [1,-1,1,1],\n", + " [0,0,0,2]])\n", + "alpha = np.array([2*math.sqrt(2),2*math.sqrt(2),2*math.sqrt(2),2*math.sqrt(2),0,0,0,0])\n", + "\n", + "wtpw = np.matmul(linrel,np.matmul(q,shrink))\n", + "i = np.identity(8)\n", + "\n", + "curv = np.array([-1,2,7,4,11,8,3,6])\n", + "\n", + "print(i - 2* np.matmul(np.outer(alpha,alpha),wtpw)/abs(np.matmul(alpha,np.matmul(wtpw,alpha))))\n", + "\n", + "print(np.matmul((i - 2*np.matmul(np.outer(alpha,alpha),wtpw)/abs(np.matmul(alpha,np.matmul(wtpw,alpha)))), curv))\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "xY_oNcRDl797" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1]\n", + "[1, 2]\n", + "[1, 3]\n", + "[1, 3, 1]\n", + "[1, 3, 2]\n", + "[1, 3, 4]\n", + "[1, 4]\n", + "[1, 4, 1]\n", + "[1, 4, 2]\n", + "[1, 4, 3]\n", + "[1, 4, 3, 1]\n", + "[1, 4, 3, 2]\n", + "[1, 4, 3, 4]\n", + "[2]\n", + "[2, 1]\n", + "[2, 1, 2]\n", + "[2, 1, 2, 1]\n", + "[2, 1, 2, 3]\n", + "[2, 1, 2, 4]\n", + "[2, 1, 3]\n", + "[2, 1, 3, 1]\n", + "[2, 1, 3, 2]\n", + "[2, 1, 3, 4]\n", + "[2, 1, 4]\n", + "[2, 1, 4, 1]\n", + "[2, 1, 4, 2]\n", + "[2, 1, 4, 3]\n", + "[2, 3]\n", + "[2, 4]\n", + "[3]\n", + "[3, 1]\n", + "[3, 1, 2]\n", + "[3, 1, 2, 1]\n", + "[3, 1, 2, 3]\n", + "[3, 1, 2, 3, 1]\n", + "[3, 1, 2, 3, 1, 2]\n", + "[3, 1, 2, 3, 1, 3]\n", + "[3, 1, 2, 3, 1, 4]\n", + "[3, 1, 2, 3, 1, 4, 1]\n", + "[3, 1, 2, 3, 1, 4, 2]\n", + "[3, 1, 2, 3, 1, 4, 3]\n", + "[3, 1, 2, 3, 2]\n", + "[3, 1, 2, 3, 2, 1]\n", + "[3, 1, 2, 3, 2, 3]\n", + "[3, 1, 2, 3, 2, 4]\n", + "[3, 1, 2, 3, 4]\n", + "[3, 1, 2, 4]\n", + "[3, 1, 3]\n", + "[3, 1, 4]\n", + "[3, 2]\n", + "[3, 2, 1]\n", + "[3, 2, 1, 2]\n", + "[3, 2, 1, 3]\n", + "[3, 2, 1, 4]\n", + "[3, 2, 3]\n", + "[3, 2, 4]\n", + "[3, 4]\n", + "[3, 4, 1]\n", + "[3, 4, 1, 2]\n", + "[3, 4, 1, 3]\n", + "[3, 4, 1, 3, 1]\n", + "[3, 4, 1, 3, 2]\n", + "[3, 4, 1, 3, 4]\n", + "[3, 4, 1, 3, 4, 1]\n", + "[3, 4, 1, 3, 4, 2]\n", + "[3, 4, 1, 3, 4, 3]\n", + "[3, 4, 1, 4]\n", + "[3, 4, 2]\n", + "[3, 4, 2, 1]\n", + "[3, 4, 2, 3]\n", + "[3, 4, 2, 4]\n", + "[3, 4, 3]\n", + "[4]\n", + "[4, 1]\n", + "[4, 2]\n", + "[4, 2, 1]\n", + "[4, 2, 3]\n", + "[4, 2, 4]\n", + "[4, 3]\n", + "[4, 3, 1]\n", + "[4, 3, 2]\n", + "[4, 3, 2, 1]\n", + "[4, 3, 2, 3]\n", + "[4, 3, 2, 3, 1]\n", + "[4, 3, 2, 3, 2]\n", + "[4, 3, 2, 3, 2, 1]\n", + "[4, 3, 2, 3, 2, 1, 2]\n", + "[4, 3, 2, 3, 2, 1, 3]\n", + "[4, 3, 2, 3, 2, 1, 4]\n", + "[4, 3, 2, 3, 2, 3]\n", + "[4, 3, 2, 3, 2, 4]\n", + "[4, 3, 2, 3, 4]\n", + "[4, 3, 2, 4]\n", + "[4, 3, 4]\n" + ] + } + ], + "source": [ + "##This is just a demonstration of how it might walk over the words, can ignore unless you want to see that, not used in the actual calculation.\n", + "\n", + "word = [1]\n", + "while word:\n", + " print(word)\n", + " if random.uniform(0, len(word))<1:\n", + " word = over(word)\n", + " else:\n", + " word = down(word)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "executionInfo": { + "elapsed": 490, + "status": "ok", + "timestamp": 1622567124989, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "5GPpjyI9ivpl" + }, + "outputs": [], + "source": [ + "##These are the main functions used for \n", + "\n", + "\n", + "#function that returns the new curvature for the nth generator, just for checking whether we should go deeper into the word tree or start going down \n", + "def transval(n,root):\n", + " return 2*sum(root)-3*root[n-1]\n", + "\n", + "#function for when the word would have given a curvature that is too big \n", + "def down(word): \n", + " #if not word:\n", + " #return word #this is older stuff you can probably ignore\n", + "\n", + " if word[-1] == 4: #if the word ends in the last generator, drop that and repeat this whole function with that new word\n", + " word.pop()\n", + " word = down(word)\n", + " elif len(word)>1 and word[-1]+1==word[-2]: #if the word has length 2 and the last two generators are n+1, n\n", + " if word[-1]==3: #if the word ended in \"43\", then drop those two (since that is as far as we could go in this part of the tree), and if it is nonempty, then call this whole function again \n", + " word.pop()\n", + " word.pop()\n", + " if word: \n", + " word = down(word)\n", + " else: #if it ended in somehting like \"21\", then that becomes \"23\", like it skips over \"22,\" since that wouldn't be reduced.\n", + " word[-1]=word[-1]+2\n", + " else: #if it wasn't one of the weird above cases then just change the last generator to the one after that \n", + " word[-1]=word[-1]+1\n", + " return word\n", + "\n", + "#function for when the word gives a curvature that's still under the bound\n", + "#just adds a 1 or 2 at the end of the word, which is basically like the left-most branch above the word in the tree\n", + "def over(word):\n", + " if word[-1] == 1:\n", + " word.append(2)\n", + " else:\n", + " word.append(1)\n", + " return word" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "executionInfo": { + "elapsed": 3, + "status": "ok", + "timestamp": 1622567127105, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "-_JTSiM3cJqf" + }, + "outputs": [], + "source": [ + "#this is the function we want to fit the curve to\n", + "def func(x, a, b):\n", + " return a * x**b\n", + "\n", + "#this function fits the curve and doesn't actually return anything but prints the fractal dimension\n", + "#takes in a number of how many times we want to divide , the bound from below, and the list of curvatures under that bound\n", + "def curvefit(n, bound, curvatures):\n", + " x = []\n", + " y = []\n", + " for j in range(n): #n is just how many sub-bounds we want to have, so if our bound was like curvatures under 30,000, and we had n = 30\n", + " #then we would be counting like curvatures under 1000, 2000, 3000, ... 30,0000. \n", + " x.append(int((j+1)*bound/n))\n", + " y.append(sum(i < (j+1)*bound/n for i in circlelist)) #this is just counting the number of curvatures under each of our sub-bounds \n", + " popt,pcov=curve_fit(func,x,y) #curve fit to our list of like [1000,2000,...,30000] matched with the count of circles under each of those bounds\n", + " print(\"fractal dimension: \" + str(popt[1])) #popt is like the [a,b] that is the best curve fit for ax^b, so we just take b " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 2442, + "status": "ok", + "timestamp": 1622567131441, + "user": { + "displayName": "Dylan Torrance", + "photoUrl": "", + "userId": "06723129446585093176" + }, + "user_tz": 240 + }, + "id": "9_nsjk3fklRW", + "outputId": "2dd3d1c8-10f9-4965-aaa5-8bf49513eaa2" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "158\n", + "fractal dimension: 1.2179534297610568\n" + ] + } + ], + "source": [ + "root = [-10, 18, 23, 27] #some base tuple, it will change as we go through the words since we are kinda only paying attention to the end of the word\n", + "circlelist = list(root) #list of the curvatures, it starts with the root stuff and we will add to it \n", + "word = [1] #word that we are currently considering, it will change as we go through these, the first word we start with is just the word that consists of the first generator\n", + "recentroot = [] #this will be an array of arrays. the recentroot[i] is the most recent tuple that wasn't too big for word of length i so that when we go back down we know which tuple to operate on\n", + "recentroot.append(root) #the root thing will be our 0th element of this array\n", + "bound = 1000 #bound for what we want our curvatures to be under\n", + "\n", + "while word: #this runs until you get back to the empty word\n", + " #print(\"root : \" + str(root))\n", + " #print(\"word : \" + str(word))\n", + " n = word[-1] #we only really pay attention to the last generator in our word\n", + " l = len(word) #so we know which tuple to pull from recentroot\n", + " #print(recentroot)\n", + " root = list(recentroot[l-1]) #you have to cast it as a list or else it is just referencing an element of recentroot and will change when that changes, which we don't want\n", + " if transval(n,root)>bound: #if the new curvature was bigger than our bound, change the word according to the down function \n", + " word = down(word)\n", + " else: #if it was not bigger than our bound, replace/append the corresponding element of recentroot, add that curvature to the circlelist, \n", + " #and change the word according to the over function, since we may go deeper into that part of the tree before we hit the bound\n", + " root[n-1] = transval(n,root)\n", + " if l>=len(recentroot):\n", + " recentroot.append(root)\n", + " else:\n", + " recentroot[l]=root\n", + " circlelist.append(root[n-1])\n", + " word = over(word)\n", + "\n", + "#print(circlelist)\n", + "print(len(circlelist))\n", + "curvefit(20,bound,circlelist) #this will print our fractal dimension once the circlelist has been made" + ] + } + ], + "metadata": { + "colab": { + "authorship_tag": "ABX9TyPDGTZCMhlplMpdJFPM0/7i", + "name": "fractaldimension.ipynb", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.5" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}