(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 7.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 40443, 1081] NotebookOptionsPosition[ 38531, 1016] NotebookOutlinePosition[ 38897, 1032] CellTagsIndexPosition[ 38854, 1029] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[BoxData[ RowBox[{"(*", RowBox[{ RowBox[{ "This", " ", "notebook", " ", "is", " ", "a", " ", "companion", " ", "to", " ", "the", " ", "paper", " ", "\"\\""}], ",", " ", RowBox[{ RowBox[{"by", " ", "Tarik", " ", "Aougab", " ", "and", " ", "Peter", " ", RowBox[{"Storm", ".", " ", "It"}], " ", "was", " ", "prepared", " ", "2009"}], "-", "02", "-", RowBox[{"13", " ", "by", " ", "the", " ", RowBox[{"authors", ".", " ", "We"}], " ", "attempted", " ", "to", " ", "follow", " ", "the", " ", "notation", " ", "and", " ", "description", " ", "of", " ", "the", " ", RowBox[{"paper", ".", " ", "The"}], " ", "notebook", " ", "was", " ", "written", " ", "for", " ", "Wolfram", " ", "Mathematica", " ", "7.0"}]}], ",", " ", RowBox[{ "and", " ", "may", " ", "not", " ", "run", " ", "on", " ", "old", " ", RowBox[{"versions", ".", " ", "No"}], " ", "complaining", " ", "about", " ", "slow", " ", "run", " ", RowBox[{"times", "!"}], " ", "Go", " ", "have", " ", "a", " ", "coffee", " ", "while", " ", "the", " ", RowBox[{"computer", "'"}], "s", " ", RowBox[{"running", "."}]}]}], "*)"}]], "Input", CellChangeTimes->{{3.443527415890625*^9, 3.443527532515625*^9}, { 3.4435387208125*^9, 3.443538753984375*^9}, {3.4435488834375*^9, 3.44354889359375*^9}, {3.443549309078125*^9, 3.443549310515625*^9}, { 3.4436825598965*^9, 3.44368257049025*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{"Define", " ", "the", " ", "Minkowski", " ", "form"}], ",", " ", RowBox[{"and", " ", "a", " ", "normalized", " ", RowBox[{"version", "."}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"form", "[", RowBox[{"x_", ",", " ", "y_"}], "]"}], " ", ":=", " ", RowBox[{ RowBox[{"x", ".", "y"}], " ", "-", " ", RowBox[{"2", " ", RowBox[{"x", "[", RowBox[{"[", "1", "]"}], "]"}], " ", "*", " ", RowBox[{"y", "[", RowBox[{"[", "1", "]"}], "]"}]}]}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"nform", "[", RowBox[{"x_", ",", "y_"}], "]"}], ":=", " ", RowBox[{ RowBox[{"form", "[", RowBox[{"x", ",", "y"}], "]"}], " ", "/", " ", RowBox[{"Sqrt", "[", RowBox[{ RowBox[{"form", "[", RowBox[{"x", ",", "x"}], "]"}], " ", RowBox[{"form", "[", RowBox[{"y", ",", "y"}], "]"}]}], " ", "]"}]}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"perpQ", "[", RowBox[{"x_", ",", "y_"}], "]"}], ":=", RowBox[{"(", RowBox[{ RowBox[{"FullSimplify", "[", RowBox[{"form", "[", RowBox[{"x", ",", "y"}], "]"}], " ", "]"}], " ", "\[Equal]", " ", "0"}], ")"}]}]}]}]], "Input", CellChangeTimes->{{3.443529617046875*^9, 3.443529669*^9}, { 3.443529897296875*^9, 3.443529897671875*^9}, {3.443529949890625*^9, 3.44352995975*^9}, {3.44353080740625*^9, 3.443530819984375*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ "Define", " ", "the", " ", "golden", " ", "ratio", " ", "and", " ", "its", " ", RowBox[{"reciprocal", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"\[Tau]", " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"1", " ", "+", " ", RowBox[{"Sqrt", "[", "5", "]"}]}], ")"}], "/", "2"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"\[Tau]i", " ", "=", " ", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"1", " ", "-", " ", RowBox[{"Sqrt", "[", "5", "]"}]}], ")"}]}], "/", "2"}]}], ";"}]}]}]], "Input", CellChangeTimes->{{3.443527667609375*^9, 3.443527680421875*^9}, { 3.443527981859375*^9, 3.443528003328125*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{"Define", " ", "the", " ", "96", " ", "space"}], "-", RowBox[{"like", " ", "normal", " ", "vectors", " ", SubscriptBox["n", "i"], " ", "corresponding", " ", "to", " ", "the", " ", "walls", " ", "of", " ", "the", " ", "120"}], "-", RowBox[{"cell", " ", "not", " ", "in", " ", "the", " ", "subset", " ", RowBox[{"C", ".", " ", "See"}], " ", "the", " ", "beginning", " ", "of", " ", "Section", " ", "3."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Needs", "[", "\"\\"", "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"e", "=", RowBox[{"IdentityMatrix", "[", "4", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"A", "=", RowBox[{ RowBox[{"AlternatingGroup", "[", "4", "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"1", "\[Rule]", RowBox[{"e", "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"2", "\[Rule]", RowBox[{"e", "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", RowBox[{"3", "\[Rule]", RowBox[{"e", "[", RowBox[{"[", "3", "]"}], "]"}]}], ",", RowBox[{"4", "\[Rule]", RowBox[{"e", "[", RowBox[{"[", "4", "]"}], "]"}]}]}], "}"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pmLst", "=", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"Append", "[", RowBox[{"#", ",", "0"}], "]"}], "&"}], ",", RowBox[{"Tuples", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "1"}]}], "}"}], ",", "3"}], "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"n", "=", RowBox[{"Map", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Prepend", "[", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], " ", ".", " ", RowBox[{"(", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], " ", "*", " ", RowBox[{"{", RowBox[{"\[Tau]", ",", "1", ",", "\[Tau]i", ",", "0"}], "}"}]}], ")"}]}], ",", " ", RowBox[{"Sqrt", "[", RowBox[{"2", "\[Tau]"}], "]"}]}], " ", "]"}], " ", "&"}], ",", "\[IndentingNewLine]", RowBox[{"Tuples", "[", RowBox[{"{", RowBox[{"A", ",", " ", "pmLst"}], "}"}], "]"}]}], " ", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Clear", "[", RowBox[{"A", ",", "pmLst"}], "]"}], ";"}], RowBox[{"(*", RowBox[{"clean", " ", "up", " ", "the", " ", "namespace"}], "*)"}]}]}]], "Input", CellChangeTimes->{{3.44352747909375*^9, 3.4435274901875*^9}, { 3.44352754415625*^9, 3.443527590453125*^9}, {3.443527730671875*^9, 3.443527747171875*^9}, {3.44352778409375*^9, 3.443527855546875*^9}, { 3.443528026234375*^9, 3.443528060421875*^9}, {3.443528121640625*^9, 3.443528177375*^9}, {3.443528320984375*^9, 3.443528336921875*^9}, { 3.44352881821875*^9, 3.4435288854375*^9}, {3.443528940203125*^9, 3.443528974921875*^9}, {3.443529018703125*^9, 3.443529019203125*^9}, { 3.44352905721875*^9, 3.44352906403125*^9}, {3.443529242203125*^9, 3.4435292464375*^9}, {3.443529347828125*^9, 3.443529585234375*^9}, { 3.443531820453125*^9, 3.443531840890625*^9}, {3.444128973828125*^9, 3.44412897609375*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{"Do", " ", "some", " ", RowBox[{"tests", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "There", " ", "should", " ", "be", " ", "96", " ", "vectors", " ", "in", " ", RowBox[{"n", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Length", "[", "n", "]"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "Each", " ", "vector", " ", "should", " ", "have", " ", "norm", " ", "3"}], " ", "-", " ", RowBox[{ RowBox[{"Sqrt", "[", "5", "]"}], "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Union", "[", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"FullSimplify", "[", RowBox[{"form", "[", RowBox[{"#", ",", "#"}], "]"}], " ", "]"}], "&"}], ",", "n"}], "]"}], " ", "]"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "Each", " ", "vector", " ", "should", " ", "be", " ", "orthogonal", " ", "to", " ", "9", " ", RowBox[{"others", ".", " ", "See"}], " ", "Prop", ".3", RowBox[{".1", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Union", "[", RowBox[{"Map", "[", RowBox[{ RowBox[{"Function", "[", RowBox[{"x", ",", RowBox[{"Length", "[", RowBox[{"Select", "[", RowBox[{"n", ",", RowBox[{ RowBox[{"perpQ", "[", RowBox[{"#", ",", "x"}], "]"}], "&"}]}], " ", "]"}], " ", "]"}]}], " ", "]"}], ",", "n"}], "]"}], " ", "]"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"Space", "-", RowBox[{ "like", " ", "vectors", " ", "should", " ", "be", " ", "pointing", " ", "out", " ", "of", " ", "the", " ", "120"}], "-", "cell"}], ",", " ", RowBox[{ "meaning", " ", "on", " ", "distinct", " ", "walls", " ", "nform", " ", "should", " ", "never", " ", "be", " ", RowBox[{"positive", ".", " ", "If"}], " ", "not", " ", "orthogonal"}], ",", " ", RowBox[{ RowBox[{"distinct", " ", "walls", " ", "are", " ", RowBox[{"disjoint", ".", " ", "This"}], " ", "means", " ", "nform", " ", "should", " ", "never", " ", "take", " ", "values", " ", "between"}], " ", "-", RowBox[{"1", " ", "and", " ", "0.", " ", "See", " ", "equation", " ", RowBox[{ RowBox[{"(", "1", ")"}], ".", " ", "So"}], " ", "the", " ", "following", " ", "should", " ", "output", " ", RowBox[{ RowBox[{"{", "0.", "}"}], "."}]}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Union", "[", RowBox[{"Select", "[", RowBox[{ RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"N", "[", RowBox[{"nform", "@@", "#"}], "]"}], "&"}], ",", RowBox[{"Subsets", "[", RowBox[{"n", ",", RowBox[{"{", "2", "}"}]}], "]"}]}], " ", "]"}], ",", " ", RowBox[{ RowBox[{"#", ">", RowBox[{"-", "1.0"}]}], "&"}]}], "]"}], " ", "]"}]}]}]], "Input", CellChangeTimes->{{3.443529595359375*^9, 3.443529598640625*^9}, { 3.44352967340625*^9, 3.443529733140625*^9}, {3.44352976628125*^9, 3.4435297936875*^9}, {3.443529998890625*^9, 3.44353000209375*^9}, { 3.443530160625*^9, 3.4435303600625*^9}, {3.443530405625*^9, 3.443530529921875*^9}, {3.443530599171875*^9, 3.443530640296875*^9}, { 3.443530752203125*^9, 3.443530837078125*^9}, {3.443530908265625*^9, 3.443531079984375*^9}, {3.44353111015625*^9, 3.443531559015625*^9}}], Cell[BoxData["96"], "Output", CellChangeTimes->{{3.44353041225*^9, 3.443530438640625*^9}, 3.443530507546875*^9, 3.443530643515625*^9, {3.4435309245625*^9, 3.443530958375*^9}, {3.4435312935625*^9, 3.443531491515625*^9}, 3.443531559703125*^9, 3.443531844296875*^9, 3.44353842334375*^9, 3.443666416849625*^9, 3.443679570349625*^9, 3.44368017799025*^9, 3.443683730287125*^9, 3.444116013875*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"3", "-", SqrtBox["5"]}], "}"}]], "Output", CellChangeTimes->{{3.44353041225*^9, 3.443530438640625*^9}, 3.443530507546875*^9, 3.443530643515625*^9, {3.4435309245625*^9, 3.443530958375*^9}, {3.4435312935625*^9, 3.443531491515625*^9}, 3.443531559703125*^9, 3.443531844296875*^9, 3.44353842334375*^9, 3.443666416849625*^9, 3.443679570349625*^9, 3.44368017799025*^9, 3.443683730287125*^9, 3.44411601534375*^9}], Cell[BoxData[ RowBox[{"{", "9", "}"}]], "Output", CellChangeTimes->{{3.44353041225*^9, 3.443530438640625*^9}, 3.443530507546875*^9, 3.443530643515625*^9, {3.4435309245625*^9, 3.443530958375*^9}, {3.4435312935625*^9, 3.443531491515625*^9}, 3.443531559703125*^9, 3.443531844296875*^9, 3.44353842334375*^9, 3.443666416849625*^9, 3.443679570349625*^9, 3.44368017799025*^9, 3.443683730287125*^9, 3.444116017453125*^9}], Cell[BoxData[ RowBox[{"{", "0.`", "}"}]], "Output", CellChangeTimes->{{3.44353041225*^9, 3.443530438640625*^9}, 3.443530507546875*^9, 3.443530643515625*^9, {3.4435309245625*^9, 3.443530958375*^9}, {3.4435312935625*^9, 3.443531491515625*^9}, 3.443531559703125*^9, 3.443531844296875*^9, 3.44353842334375*^9, 3.443666416849625*^9, 3.443679570349625*^9, 3.44368017799025*^9, 3.443683730287125*^9, 3.4441160194375*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ "Suppose", " ", "we", " ", "have", " ", "an", " ", "infinitesimal", " ", "deformation", " ", "v", " ", "of", " ", RowBox[{"n", ".", " ", "In"}], " ", "the", " ", "paper", " ", "v", " ", "is", " ", "also", " ", "denoted", " ", "by", " ", "n", " ", "with", " ", "a", " ", RowBox[{"dot", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"V", " ", "has", " ", "another", " ", "meaning", " ", "to", " ", RowBox[{"Mathematica", ".", " ", "So"}], " ", "unprotect", " ", RowBox[{"it", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Unprotect", "[", "V", "]"}], ";"}], "\n", RowBox[{ RowBox[{"V", "=", RowBox[{"Array", "[", RowBox[{"v", ",", "480"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "It", " ", "will", " ", "be", " ", "convenient", " ", "to", " ", "partition", " ", RowBox[{"V", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Vp", "=", RowBox[{"Partition", "[", RowBox[{"V", ",", "5"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "resort", " ", "to", " ", "a", " ", "bit", " ", "of", " ", "procedural", " ", "programming", " ", "here"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"perpPairs", "=", " ", RowBox[{ RowBox[{"Reap", "[", RowBox[{"Do", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"perpQ", "[", RowBox[{ RowBox[{"n", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"n", "[", RowBox[{"[", "j", "]"}], "]"}]}], " ", "]"}], ",", RowBox[{"Sow", "[", RowBox[{"{", RowBox[{"i", ",", "j"}], "}"}], "]"}]}], " ", "]"}], ",", " ", RowBox[{"{", RowBox[{"i", ",", RowBox[{ RowBox[{"Length", "[", "n", "]"}], "-", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"i", "+", "1"}], ",", RowBox[{"Length", "[", "n", "]"}]}], "}"}]}], "]"}], " ", "]"}], "[", RowBox[{"[", RowBox[{"2", ",", "1"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"Should", " ", "be", " ", "432", " ", "of", " ", RowBox[{"them", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Length", "[", "perpPairs", "]"}], "\[Equal]", "432"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "Define", " ", "the", " ", "432", " ", "linear", " ", "polynomials", " ", RowBox[{"p", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"p", "=", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"form", "[", RowBox[{ RowBox[{"Vp", "[", RowBox[{"[", RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], " ", "]"}], "]"}], ",", RowBox[{"n", "[", RowBox[{"[", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], " ", "]"}], "]"}]}], " ", "]"}], " ", "+", " ", RowBox[{"form", "[", RowBox[{ RowBox[{"n", "[", RowBox[{"[", RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], " ", "]"}], "]"}], ",", " ", RowBox[{"Vp", "[", RowBox[{"[", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], " ", "]"}], "]"}]}], " ", "]"}]}], "&"}], ",", "perpPairs"}], "]"}]}], ";"}]}]}]], "Input", CellChangeTimes->{{3.4435316369375*^9, 3.443531772140625*^9}, 3.44353187190625*^9, {3.443531905953125*^9, 3.44353199571875*^9}, { 3.44353215384375*^9, 3.443532195171875*^9}, {3.443532242859375*^9, 3.443532264265625*^9}, {3.443532310609375*^9, 3.4435323516875*^9}, { 3.443532412171875*^9, 3.44353241459375*^9}, {3.443532457609375*^9, 3.443532644640625*^9}, {3.443532723078125*^9, 3.44353284146875*^9}, { 3.443549247453125*^9, 3.443549293171875*^9}}], Cell[BoxData["True"], "Output", CellChangeTimes->{ 3.4435319889375*^9, {3.443532589203125*^9, 3.443532603484375*^9}, { 3.443532812625*^9, 3.44353283034375*^9}, 3.4435328639375*^9, 3.44353348046875*^9, 3.44353842771875*^9, 3.4436664235215*^9, 3.443679574630875*^9, 3.443680182459*^9, 3.443683734834*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{"Aalg", " ", "=", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"D", "[", RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "}"}]}], "]"}], "&"}], ",", RowBox[{"Outer", "[", RowBox[{"List", ",", "p", ",", "V"}], "]"}], ",", RowBox[{"{", "2", "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Length", "[", "Aalg", "]"}], "\[IndentingNewLine]", RowBox[{"Length", "[", RowBox[{"Transpose", "[", "Aalg", "]"}], "]"}], "\[IndentingNewLine]", RowBox[{"Aalg", "[", RowBox[{"[", RowBox[{"234", ",", "145"}], "]"}], "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"\[Alpha]", "=", RowBox[{"Sqrt", "[", RowBox[{"1", " ", "+", " ", RowBox[{"Sqrt", "[", "5", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "Every", " ", "entry", " ", "of", " ", "Aalg", " ", "should", " ", "be", " ", "in", " ", "Q", RowBox[{ RowBox[{"(", "\[Alpha]", ")"}], "."}]}], "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"algNumQ", "[", "x_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "tmp", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"tmp", "=", RowBox[{"ToNumberField", "[", RowBox[{"x", ",", "\[Alpha]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"Element", "[", RowBox[{"tmp", ",", "Rationals"}], "]"}], " ", "||", " ", RowBox[{ RowBox[{"Head", "[", "tmp", "]"}], "===", "AlgebraicNumber"}]}]}]}], "]"}]}], "\[IndentingNewLine]", RowBox[{"And", "@@", RowBox[{"Map", "[", RowBox[{"algNumQ", ",", RowBox[{"Flatten", "[", "Aalg", "]"}]}], " ", "]"}]}]}], "Input", CellChangeTimes->{{3.443532877890625*^9, 3.443533016578125*^9}, { 3.44353306209375*^9, 3.4435330828125*^9}, 3.443533161546875*^9, { 3.443533560984375*^9, 3.44353356265625*^9}, {3.443533663671875*^9, 3.443533729234375*^9}, {3.44353384721875*^9, 3.443533858578125*^9}, { 3.443533908203125*^9, 3.4435339614375*^9}, {3.4435340096875*^9, 3.4435340835625*^9}, 3.44353414509375*^9, {3.443534178375*^9, 3.4435342159375*^9}, {3.443534257453125*^9, 3.443534302359375*^9}, { 3.443534372703125*^9, 3.4435344809375*^9}, {3.443535590015625*^9, 3.443535616796875*^9}, {3.4435357313125*^9, 3.44353574315625*^9}, { 3.44353604521875*^9, 3.44353605384375*^9}, {3.44353632675*^9, 3.44353639578125*^9}, {3.443536432328125*^9, 3.44353643865625*^9}, { 3.44354853834375*^9, 3.44354858025*^9}, {3.443680071849625*^9, 3.4436800897715*^9}}], Cell[BoxData["432"], "Output", CellChangeTimes->{3.443536400296875*^9, 3.443538431171875*^9, 3.443548575625*^9, 3.443666427412125*^9, 3.44367957799025*^9, 3.443680185974625*^9, 3.443683738412125*^9}], Cell[BoxData["480"], "Output", CellChangeTimes->{3.443536400296875*^9, 3.443538431171875*^9, 3.443548575625*^9, 3.443666427412125*^9, 3.44367957799025*^9, 3.443680185974625*^9, 3.44368373842775*^9}], Cell[BoxData["0"], "Output", CellChangeTimes->{3.443536400296875*^9, 3.443538431171875*^9, 3.443548575625*^9, 3.443666427412125*^9, 3.44367957799025*^9, 3.443680185974625*^9, 3.443683738459*^9}], Cell[BoxData["True"], "Output", CellChangeTimes->{3.443536400296875*^9, 3.443538431171875*^9, 3.443548575625*^9, 3.443666427412125*^9, 3.44367957799025*^9, 3.443680185974625*^9, 3.443683778287125*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ "Define", " ", "function", " ", "replacing", " ", "a", " ", "number", " ", "in", " ", "Q", RowBox[{"(", "\[Alpha]", ")"}], " ", "with", " ", "a", " ", "4", "x4", " ", "rational", " ", RowBox[{"matrix", ".", " ", "First"}], " ", "make", " ", "a", " ", "slightly", " ", "modified", " ", "ToNumberField", " ", RowBox[{"fct", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"toNumberField", "[", "x_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "tmp", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"tmp", "=", RowBox[{"ToNumberField", "[", RowBox[{"x", ",", "\[Alpha]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Head", "[", "tmp", "]"}], "===", "AlgebraicNumber"}], ",", RowBox[{"tmp", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"tmp", ",", "0", ",", "0", ",", "0"}], "}"}]}], "]"}]}]}], " ", "]"}]}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"explodeNumber", "[", "x_", "]"}], ":=", RowBox[{"Transpose", "[", RowBox[{"Map", "[", RowBox[{"toNumberField", ",", RowBox[{"x", "*", RowBox[{"{", RowBox[{"1", ",", "\[Alpha]", ",", RowBox[{"\[Alpha]", "^", "2"}], ",", RowBox[{"\[Alpha]", "^", "3"}]}], "}"}]}]}], "]"}], " ", "]"}]}], " ", RowBox[{"(*", RowBox[{"Check", " ", "the", " ", RowBox[{"paper", "'"}], "s", " ", "example", " ", "and", " ", "a", " ", "few", " ", RowBox[{"others", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"MatrixForm", "[", RowBox[{"explodeNumber", "[", "#", "]"}], "]"}], "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "1"}], "/", "2"}], " ", "*", " ", RowBox[{"(", RowBox[{"1", " ", "+", " ", RowBox[{"Sqrt", "[", "5", "]"}]}], ")"}]}], ",", RowBox[{ RowBox[{"1", "/", "2"}], "*", RowBox[{"(", RowBox[{"1", "-", RowBox[{"Sqrt", "[", "5", "]"}]}], ")"}]}], ",", RowBox[{"5", "/", "4"}], ",", "0"}], "}"}]}], "]"}]}]}]], "Input", CellChangeTimes->{{3.443534584109375*^9, 3.4435347925625*^9}, { 3.443535163984375*^9, 3.44353527759375*^9}, {3.443535359953125*^9, 3.443535414125*^9}, {3.443535495671875*^9, 3.443535499375*^9}, { 3.44353651021875*^9, 3.443536514890625*^9}, {3.443536641390625*^9, 3.44353676909375*^9}, {3.44353682609375*^9, 3.443537145703125*^9}, { 3.44353722196875*^9, 3.443537266265625*^9}, {3.443537359296875*^9, 3.4435374440625*^9}, {3.4435383596875*^9, 3.443538383671875*^9}, { 3.44354842303125*^9, 3.443548509328125*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", RowBox[{"-", "2"}], "0"}, {"0", "0", "0", RowBox[{"-", "2"}]}, { RowBox[{"-", FractionBox["1", "2"]}], "0", RowBox[{"-", "1"}], "0"}, {"0", RowBox[{"-", FractionBox["1", "2"]}], "0", RowBox[{"-", "1"}]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]], ",", TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "0", RowBox[{"-", "2"}], "0"}, {"0", "1", "0", RowBox[{"-", "2"}]}, { RowBox[{"-", FractionBox["1", "2"]}], "0", "0", "0"}, {"0", RowBox[{"-", FractionBox["1", "2"]}], "0", "0"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]], ",", TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ { FractionBox["5", "4"], "0", "0", "0"}, {"0", FractionBox["5", "4"], "0", "0"}, {"0", "0", FractionBox["5", "4"], "0"}, {"0", "0", "0", FractionBox["5", "4"]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]], ",", TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {"0", "0", "0", "0"}, {"0", "0", "0", "0"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]}], "}"}]], "Output", CellChangeTimes->{{3.4435484915*^9, 3.443548511765625*^9}, 3.44366646942775*^9, 3.443679617709*^9, 3.44368022555275*^9, 3.44368377861525*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ "Do", " ", "the", " ", "same", " ", "for", " ", "an", " ", "entire", " ", "matrix", " ", "with", " ", "entries", " ", "in", " ", "Q", RowBox[{ RowBox[{"(", "\[Alpha]", ")"}], ".", " ", "This"}], " ", "fct", " ", "is", " ", "slight", " ", "hack"}], ",", " ", RowBox[{"but", " ", RowBox[{"OK", "."}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"explodeRow", "[", "row_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "tmp", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"tmp", " ", "=", " ", RowBox[{"Map", "[", RowBox[{"explodeNumber", ",", " ", "row"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{"Join", "@@", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], "&"}], "/@", "tmp"}], ")"}]}], ",", RowBox[{"Join", "@@", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}], "&"}], "/@", "tmp"}], ")"}]}], ",", RowBox[{"Join", "@@", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "3", "]"}], "]"}], "&"}], "/@", "tmp"}], ")"}]}], ",", RowBox[{"Join", "@@", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "[", RowBox[{"[", "4", "]"}], "]"}], "&"}], "/@", "tmp"}], ")"}]}]}], "}"}]}]}], "]"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"explodeMatrix", "[", "mat_", "]"}], ":=", RowBox[{"Join", "@@", RowBox[{"Map", "[", RowBox[{"explodeRow", ",", "mat"}], "]"}]}]}]}]}]], "Input", CellChangeTimes->{{3.44353479453125*^9, 3.44353481815625*^9}, { 3.443534948359375*^9, 3.44353504075*^9}, 3.443535095515625*^9, { 3.44353730290625*^9, 3.443537331921875*^9}, {3.443537489109375*^9, 3.443537489765625*^9}, {3.443538622484375*^9, 3.443538629140625*^9}, { 3.443538697390625*^9, 3.4435387063125*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{"Computing", " ", "AQ", " ", "is", " ", "very", " ", RowBox[{"slow", ".", " ", "Start"}], " ", "the", " ", "computation", " ", "and", " ", "take", " ", "a", " ", RowBox[{"break", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"AQ", "=", RowBox[{"explodeMatrix", "[", "Aalg", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Map", "[", RowBox[{"Length", ",", " ", RowBox[{"{", RowBox[{"AQ", ",", RowBox[{"Transpose", "[", "AQ", "]"}]}], "}"}]}], "]"}], "\n", RowBox[{"And", "@@", RowBox[{"Map", "[", RowBox[{"NumberQ", ",", RowBox[{"Flatten", "[", "AQ", "]"}]}], " ", "]"}]}]}]}]], "Input", CellChangeTimes->{{3.4435374848125*^9, 3.443537500125*^9}, { 3.443537588546875*^9, 3.443537592375*^9}, {3.443537714984375*^9, 3.4435377175625*^9}, {3.44353914209375*^9, 3.443539166171875*^9}, { 3.44354859546875*^9, 3.443548600125*^9}, {3.44366697024025*^9, 3.44366697142775*^9}, {3.443680104568375*^9, 3.443680120318375*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"1728", ",", "1920"}], "}"}]], "Output", CellChangeTimes->{3.4436799035215*^9, 3.44368051080275*^9, 3.443684068224625*^9}], Cell[BoxData["True"], "Output", CellChangeTimes->{3.4436799035215*^9, 3.44368051080275*^9, 3.44368407024025*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ "Uncomment", " ", "the", " ", "following", " ", "slow", " ", "command", " ", "if", " ", RowBox[{"you", "'"}], "d", " ", "like", " ", "to", " ", "compute", " ", "a", " ", "graphical", " ", "representation", " ", "of", " ", RowBox[{"AQ", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"ArrayPlot", "[", "AQ", "]"}], "*)"}]}]], "Input", CellChangeTimes->{{3.443667060287125*^9, 3.443667065630875*^9}, { 3.44366713567775*^9, 3.443667138412125*^9}, {3.4436679510215*^9, 3.443667997709*^9}, {3.443755216109375*^9, 3.443755232796875*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{"Let", "'"}], "s", " ", "see", " ", "how", " ", "big", " ", "the", " ", "denominators", " ", "if", " ", "entries", " ", "of", " ", "AQ", " ", RowBox[{"are", ".", " ", "The"}], " ", "output", " ", "should", " ", "be", " ", "simply", " ", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}], "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Union", "[", RowBox[{"Denominator", "/@", RowBox[{"Flatten", "[", "AQ", "]"}]}], " ", "]"}]}]], "Input", CellChangeTimes->{{3.443668005130875*^9, 3.443668030380875*^9}, { 3.443668091537125*^9, 3.44366819905275*^9}, {3.44368012280275*^9, 3.443680124084*^9}, {3.443755224109375*^9, 3.443755225390625*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}]], "Output", CellChangeTimes->{{3.443668083568375*^9, 3.4436680980215*^9}, { 3.443668177474625*^9, 3.443668202584*^9}, 3.443679908443375*^9, 3.44368051561525*^9, 3.443684073193375*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ "Multiply", " ", "each", " ", "row", " ", "of", " ", "AQ", " ", "by", " ", "the", " ", "LCM", " ", "of", " ", "the", " ", "denominators", " ", "of", " ", "that", " ", RowBox[{"row", ".", " ", "This"}], " ", RowBox[{"doesn", "'"}], "t", " ", "alter", " ", "the", " ", RowBox[{"rank", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"AZ", "=", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"#", " ", "*", " ", RowBox[{"LCM", "@@", RowBox[{"(", RowBox[{"Denominator", "/@", "#"}], ")"}]}]}], "&"}], ",", " ", "AQ"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "Verify", " ", "that", " ", "AZ", " ", "is", " ", "a", " ", "matrix", " ", "of", " ", RowBox[{"integers", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"And", "@@", RowBox[{"(", RowBox[{"IntegerQ", "/@", RowBox[{"Flatten", "[", "AZ", "]"}]}], ")"}]}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "Check", " ", "that", " ", "AZ", " ", "has", " ", "the", " ", "correct", " ", RowBox[{"dimensions", "."}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Length", "/@", RowBox[{"{", RowBox[{"AZ", ",", RowBox[{"Transpose", "[", "AZ", "]"}]}], "}"}]}], "\[IndentingNewLine]", RowBox[{"AZ", "[", RowBox[{"[", RowBox[{"1323", ",", "768"}], "]"}], "]"}]}]}]], "Input", CellChangeTimes->{{3.4435387791875*^9, 3.4435388293125*^9}, 3.44353886196875*^9, {3.443548601609375*^9, 3.44354865996875*^9}, { 3.44366820461525*^9, 3.4436682613965*^9}, {3.443680129193375*^9, 3.44368014349025*^9}, {3.443755236125*^9, 3.4437552435*^9}}], Cell[BoxData["True"], "Output", CellChangeTimes->{{3.443668255724625*^9, 3.44366827567775*^9}, 3.443679914005875*^9, 3.4436805210215*^9, 3.443684078834*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"1728", ",", "1920"}], "}"}]], "Output", CellChangeTimes->{{3.443668255724625*^9, 3.44366827567775*^9}, 3.443679914005875*^9, 3.4436805210215*^9, 3.443684078943375*^9}], Cell[BoxData["0"], "Output", CellChangeTimes->{{3.443668255724625*^9, 3.44366827567775*^9}, 3.443679914005875*^9, 3.4436805210215*^9, 3.443684078943375*^9}] }, Open ]], Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ "Save", " ", "AZ", " ", "to", " ", "a", " ", "text", " ", "file"}], ",", " ", RowBox[{"in", " ", "case", " ", RowBox[{"you", "'"}], "d", " ", "like", " ", "to", " ", "analyze", " ", "it", " ", "with", " ", "other", " ", RowBox[{"software", "."}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Save", "[", RowBox[{"\"\\"", ",", "AZ"}], "]"}]}]], "Input", CellChangeTimes->{{3.44367998149025*^9, 3.443680045412125*^9}, { 3.443680145568375*^9, 3.443680146459*^9}, {3.44368252255275*^9, 3.443682523224625*^9}, {3.443755265578125*^9, 3.44375527165625*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{ RowBox[{ "As", " ", "in", " ", "the", " ", "final", " ", "paragraph", " ", "of", " ", "the", " ", "paper"}], ",", " ", RowBox[{ "compute", " ", "the", " ", "rank", " ", "of", " ", "the", " ", "matrix", " ", "AZ", " ", "modulo", " ", "the", " ", "prime", " ", "3.", " ", "The", " ", "answer", " ", "should", " ", "be", " ", "1496."}]}], "*)"}], RowBox[{"MatrixRank", "[", RowBox[{"AZ", ",", RowBox[{"Modulus", "\[Rule]", "3"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.4435391155*^9, 3.4435391228125*^9}, {3.443548608375*^9, 3.4435486113125*^9}, {3.443548664953125*^9, 3.443548714*^9}, { 3.44354882021875*^9, 3.44354882446875*^9}, {3.443668441959*^9, 3.44366844292775*^9}, {3.443668791255875*^9, 3.4436687913965*^9}, { 3.443680152459*^9, 3.4436801531465*^9}, {3.443755278875*^9, 3.4437552794375*^9}}], Cell[BoxData["1496"], "Output", CellChangeTimes->{3.443539132359375*^9, 3.44354894140625*^9, 3.443668280662125*^9, 3.44366844611525*^9, 3.443668587224625*^9, 3.443679916193375*^9, 3.443680528005875*^9, 3.443684086068375*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{"Finally", ",", " ", RowBox[{ RowBox[{"let", "'"}], "s", " ", "compute", " ", "the", " ", "rank", " ", "over", " ", "the", " ", RowBox[{"integers", ".", " ", "On"}], " ", "my", " ", "laptop", " ", "it", " ", "took", " ", "about", " ", "12", " ", "seconds"}], ",", " ", RowBox[{ "but", " ", "this", " ", "computation", " ", "may", " ", "take", " ", "a", " ", "long", " ", RowBox[{"time", "."}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"MatrixRank", "[", "AZ", "]"}]}]], "Input", CellChangeTimes->{{3.44354894421875*^9, 3.44354900253125*^9}, { 3.443679560162125*^9, 3.443679566755875*^9}, {3.44368015480275*^9, 3.443680155412125*^9}, {3.443681601412125*^9, 3.4436816026465*^9}, { 3.44368221155275*^9, 3.443682213724625*^9}, {3.4436824326465*^9, 3.44368250286525*^9}}], Cell[BoxData["1496"], "Output", CellChangeTimes->{{3.44368220536525*^9, 3.443682226287125*^9}, 3.443682527255875*^9, 3.443684097787125*^9}] }, Open ]] }, WindowSize->{464, 596}, WindowMargins->{{Automatic, -4}, {Automatic, -6}}, ShowSelection->True, FrontEndVersion->"7.0 for Microsoft Windows (32-bit) (November 10, 2008)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[545, 20, 1555, 30, 252, "Input"], Cell[2103, 52, 1526, 42, 132, "Input"], Cell[3632, 96, 789, 24, 72, "Input"], Cell[4424, 122, 3546, 90, 332, "Input"], Cell[CellGroupData[{ Cell[7995, 216, 3561, 88, 432, "Input"], Cell[11559, 306, 411, 6, 30, "Output"], Cell[11973, 314, 470, 9, 37, "Output"], Cell[12446, 325, 435, 7, 30, "Output"], Cell[12884, 334, 435, 7, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[13356, 346, 4208, 106, 452, "Input"], Cell[17567, 454, 316, 5, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[17920, 464, 2734, 66, 252, "Input"], Cell[20657, 532, 206, 3, 30, "Output"], Cell[20866, 537, 205, 3, 30, "Output"], Cell[21074, 542, 201, 3, 30, "Output"], Cell[21278, 547, 207, 3, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[21522, 555, 2929, 72, 272, "Input"], Cell[24454, 629, 3380, 99, 209, "Output"] }, Open ]], Cell[27849, 731, 2279, 62, 192, "Input"], Cell[CellGroupData[{ Cell[30153, 797, 1084, 25, 112, "Input"], Cell[31240, 824, 165, 4, 30, "Output"], Cell[31408, 830, 116, 2, 30, "Output"] }, Open ]], Cell[31539, 835, 635, 13, 92, "Input"], Cell[CellGroupData[{ Cell[32199, 852, 764, 17, 92, "Input"], Cell[32966, 871, 253, 5, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[33256, 881, 1788, 45, 192, "Input"], Cell[35047, 928, 161, 2, 30, "Output"], Cell[35211, 932, 212, 4, 30, "Output"], Cell[35426, 938, 161, 2, 30, "Output"] }, Open ]], Cell[35602, 943, 671, 15, 92, "Input"], Cell[CellGroupData[{ Cell[36298, 962, 915, 19, 92, "Input"], Cell[37216, 983, 231, 3, 30, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[37484, 991, 884, 18, 112, "Input"], Cell[38371, 1011, 144, 2, 30, "Output"] }, Open ]] } ] *) (* End of internal cache information *)