(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 8.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 157, 7] NotebookDataLength[ 37374, 984] NotebookOptionsPosition[ 36430, 952] NotebookOutlinePosition[ 36773, 967] CellTagsIndexPosition[ 36730, 964] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"numtries", "=", "1000000"}], ";"}], RowBox[{"(*", " ", RowBox[{"times", " ", "to", " ", "try", " ", "random", " ", "numbers"}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"Define", " ", "lines"}], ",", " ", RowBox[{"as", " ", "vectors", " ", "in", " ", RowBox[{"I", "^", RowBox[{"{", RowBox[{"1", ",", "6"}], "}"}]}]}]}], " ", "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"line", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "27"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "7"}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.5500779031465406`*^9, 3.5500779631439724`*^9}, { 3.5500782898726606`*^9, 3.550078290438693*^9}, {3.5500787502069902`*^9, 3.550078759880543*^9}, {3.5501505487388945`*^9, 3.5501505804987106`*^9}, { 3.5501508091077867`*^9, 3.550150814530097*^9}, 3.5501516970925765`*^9, { 3.5501519120878735`*^9, 3.5501519161151037`*^9}, {3.550152285227216*^9, 3.550152292802649*^9}, {3.5501546457962327`*^9, 3.550154646819291*^9}, 3.550155335899704*^9, 3.5501555695400677`*^9, {3.550155729045191*^9, 3.5501557306992855`*^9}, 3.5501605977646656`*^9, 3.550162536564559*^9, { 3.550269913288156*^9, 3.5502699141522055`*^9}, {3.5502699613609056`*^9, 3.5502699614959135`*^9}, {3.550270375200576*^9, 3.5502703756236*^9}, 3.5502707937445154`*^9, {3.5502711090245485`*^9, 3.5502711092075586`*^9}, { 3.550272019224609*^9, 3.5502720194076195`*^9}, 3.574793113220775*^9, { 3.574793701681433*^9, 3.5747937090888567`*^9}, 3.574794332616521*^9}], Cell[BoxData[ RowBox[{ RowBox[{"s", "=", "1"}], ";"}]], "Input", CellChangeTimes->{{3.550077989450477*^9, 3.5500779967988977`*^9}, 3.5500788774792695`*^9}], Cell[BoxData[ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", RowBox[{ RowBox[{ RowBox[{"line", "[", RowBox[{"[", RowBox[{"s", ",", "i"}], "]"}], "]"}], "=", "1"}], ";", RowBox[{"s", "++"}]}]}], "]"}]], "Input", CellChangeTimes->{{3.550078009468622*^9, 3.550078117775817*^9}}], Cell[BoxData[ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"line", "[", RowBox[{"[", RowBox[{"s", ",", "7"}], "]"}], "]"}], "=", "2"}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", "1"}], ",", RowBox[{"k", "\[LessEqual]", "6"}], ",", RowBox[{"k", "++"}], ",", " ", RowBox[{"If", "[", RowBox[{ RowBox[{"k", "\[NotEqual]", "i"}], ",", RowBox[{ RowBox[{"line", "[", RowBox[{"[", RowBox[{"s", ",", "k"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}]}], "]"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"s", "++"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.5500781367879047`*^9, 3.550078161567322*^9}, { 3.5500782050068064`*^9, 3.5500782788010273`*^9}, {3.5500783334581532`*^9, 3.550078367801118*^9}}], Cell[BoxData[ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", RowBox[{"i", "+", "1"}]}], ",", RowBox[{"j", "\[LessEqual]", "6"}], ",", RowBox[{"j", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"line", "[", RowBox[{"[", RowBox[{"s", ",", "7"}], "]"}], "]"}], "=", "1"}], ";", " ", RowBox[{ RowBox[{"line", "[", RowBox[{"[", RowBox[{"s", ",", "i"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}], ";", " ", RowBox[{ RowBox[{"line", "[", RowBox[{"[", RowBox[{"s", ",", "j"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}], ";", " ", RowBox[{"s", "++"}]}]}], "]"}]}], "]"}]], "Input", CellChangeTimes->{{3.550078410662569*^9, 3.550078481401615*^9}, { 3.550078527434248*^9, 3.5500785518096423`*^9}, {3.550078602080518*^9, 3.5500786036896095`*^9}, {3.5500786632580166`*^9, 3.550078668945342*^9}}], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{"line", "//", "MatrixForm"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.550078582677408*^9, 3.550078588463739*^9}, { 3.550078779831684*^9, 3.550078785231993*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{"Define", " ", "roots"}], ",", " ", RowBox[{"as", " ", "vectors", " ", "in", " ", RowBox[{"I", "^", RowBox[{"{", RowBox[{"1", ",", "6"}], "}"}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"root", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "36"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "7"}], "}"}]}], "]"}]}], ";"}]}]], "Input", CellChangeTimes->{{3.5500787924634066`*^9, 3.550078838296028*^9}, { 3.574793718496395*^9, 3.5747937255127964`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"r", "=", "1"}], ";"}]], "Input", CellChangeTimes->{{3.550078849416664*^9, 3.5500788733110313`*^9}}], Cell[BoxData[ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", RowBox[{"i", "+", "1"}]}], ",", RowBox[{"j", "\[LessEqual]", "6"}], ",", RowBox[{"j", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"r", ",", "i"}], "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"r", ",", "j"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}], ";", " ", RowBox[{"r", "++"}]}]}], "]"}]}], "]"}]], "Input", CellChangeTimes->{{3.5500789124982724`*^9, 3.5500789358396077`*^9}}], Cell[BoxData[ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", RowBox[{"i", "+", "1"}]}], ",", RowBox[{"j", "\[LessEqual]", "6"}], ",", RowBox[{"j", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"k", "=", RowBox[{"j", "+", "1"}]}], ",", RowBox[{"k", "\[LessEqual]", "6"}], ",", RowBox[{"k", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"r", ",", "7"}], "]"}], "]"}], "=", "1"}], ";", RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"r", ",", "i"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}], ";", RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"r", ",", "j"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}], ";", " ", RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"r", ",", "k"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}], ";", RowBox[{"r", "++"}]}]}], "]"}]}], "]"}]}], "]"}]], "Input", CellChangeTimes->{{3.5500790145281086`*^9, 3.550079069923277*^9}, { 3.5500791185050554`*^9, 3.550079119601118*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"36", ",", "7"}], "]"}], "]"}], "=", "2"}], ";", " ", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", RowBox[{ RowBox[{"root", "[", RowBox[{"[", RowBox[{"36", ",", "i"}], "]"}], "]"}], "=", RowBox[{"-", "1"}]}]}], "]"}]}]], "Input", CellChangeTimes->{{3.5500791964065113`*^9, 3.5500792411750717`*^9}, 3.5500792812793655`*^9, 3.550079355710623*^9}], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{"root", "//", "MatrixForm"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.550079422063418*^9, 3.550079428358778*^9}, { 3.5500795086713715`*^9, 3.5500795139676743`*^9}, {3.5747931571452875`*^9, 3.574793180641631*^9}, 3.574793744896905*^9, {3.5747937839681396`*^9, 3.5747937851122055`*^9}}], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{"Lorenzian", " ", "dot", " ", "product", " ", "in", " ", RowBox[{"I", "^", RowBox[{"{", RowBox[{"1", ",", "6"}], "}"}]}]}], " ", "*)"}]], "Input", CellChangeTimes->{{3.57479376700517*^9, 3.5747937801049185`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"mdot", "[", RowBox[{"x_", ",", "y_"}], "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"x", "[", RowBox[{"[", "7", "]"}], "]"}], "*", RowBox[{"y", "[", RowBox[{"[", "7", "]"}], "]"}]}], "-", RowBox[{ RowBox[{"x", "[", RowBox[{"[", "1", "]"}], "]"}], "*", RowBox[{"y", "[", RowBox[{"[", "1", "]"}], "]"}]}], "-", RowBox[{ RowBox[{"x", "[", RowBox[{"[", "2", "]"}], "]"}], "*", RowBox[{"y", "[", RowBox[{"[", "2", "]"}], "]"}]}], "-", RowBox[{ RowBox[{"x", "[", RowBox[{"[", "3", "]"}], "]"}], "*", RowBox[{"y", "[", RowBox[{"[", "3", "]"}], "]"}]}], "-", RowBox[{ RowBox[{"x", "[", RowBox[{"[", "4", "]"}], "]"}], "*", RowBox[{"y", "[", RowBox[{"[", "4", "]"}], "]"}]}], "-", RowBox[{ RowBox[{"x", "[", RowBox[{"[", "5", "]"}], "]"}], "*", RowBox[{"y", "[", RowBox[{"[", "5", "]"}], "]"}]}], "-", RowBox[{ RowBox[{"x", "[", RowBox[{"[", "6", "]"}], "]"}], "*", RowBox[{"y", "[", RowBox[{"[", "6", "]"}], "]"}]}]}]}], ";"}]], "Input", CellChangeTimes->{{3.5500796091281176`*^9, 3.5500796152634687`*^9}, { 3.55007966284019*^9, 3.5500796819282813`*^9}, {3.5500797309680862`*^9, 3.550079760879797*^9}, {3.5500797966718445`*^9, 3.550079867850916*^9}, { 3.550079913120505*^9, 3.550079937534901*^9}, {3.5500799782252283`*^9, 3.550080011912155*^9}, {3.5500802388661366`*^9, 3.550080246608579*^9}, { 3.5500805758644114`*^9, 3.550080591553309*^9}, 3.550080793225844*^9, { 3.5500808540573235`*^9, 3.550080944841516*^9}, 3.550155363830302*^9, 3.550333555333273*^9}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ "paths", " ", "from", " ", "the", " ", "center", " ", "of", " ", "the", " ", "tree", " ", "T", " ", "to", " ", "the", " ", RowBox[{"endpoints", ".", "\[IndentingNewLine]", "A"}]}], ",", "B", ",", RowBox[{"C", " ", "central", " ", "branches"}], ",", " ", RowBox[{ RowBox[{"A0", "..."}], "C1", " ", "the", " ", "next", " ", "6"}], ",", " ", RowBox[{ RowBox[{"A00", "..."}], "C11", " ", "the", " ", "next", " ", "12"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ep", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "21"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "12"}], "}"}]}], "]"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"edges", "-", "to", "-", "endpoints"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "0"}], ",", RowBox[{"i", "<", "3"}], ",", RowBox[{"i", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "1"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "1"}]}], "]"}], "]"}], "=", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "1"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "2"}]}], "]"}], "]"}], "=", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "1"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "3"}]}], "]"}], "]"}], "=", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "1"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "4"}]}], "]"}], "]"}], "=", "1"}]}]}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"A", " ", "B", " ", "C"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "2"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "1"}]}], "]"}], "]"}], "=", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "2"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "2"}]}], "]"}], "]"}], "=", "1"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"A0", " ", "B0", " ", "C0"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "3"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "3"}]}], "]"}], "]"}], "=", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "3"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "4"}]}], "]"}], "]"}], "=", "1"}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"A1", " ", "B1", " ", "C1"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "4"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "1"}]}], "]"}], "]"}], "=", "1"}], ";", RowBox[{"(*", " ", RowBox[{"A00", " ", "B00", " ", "C00"}], " ", "*)"}], "\n", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "5"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "2"}]}], "]"}], "]"}], "=", "1"}], ";", RowBox[{"(*", " ", RowBox[{"A01", " ", "B01", " ", "C01"}], " ", "*)"}], "\n", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "6"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "3"}]}], "]"}], "]"}], "=", "1"}], ";", RowBox[{"(*", " ", RowBox[{"A10", " ", "B10", " ", "C10"}], " ", "*)"}], "\n", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{ RowBox[{ RowBox[{"7", "*", "i"}], "+", "7"}], ",", RowBox[{ RowBox[{"4", "*", "i"}], "+", "4"}]}], "]"}], "]"}], "=", "1"}]}]}], " ", RowBox[{"(*", " ", RowBox[{"A11", " ", "B11", " ", "C11"}], " ", "*)"}], "]"}]}]}]], "Input", CellChangeTimes->{{3.550081756549943*^9, 3.550081787823732*^9}, { 3.550082107071992*^9, 3.550082124992017*^9}, 3.5500821570328493`*^9, { 3.55015471568423*^9, 3.550154730612084*^9}, {3.5502696045104947`*^9, 3.550269632345087*^9}, {3.5502700220953794`*^9, 3.550270023368452*^9}, { 3.574793193298355*^9, 3.574793210409334*^9}, {3.5747938035022573`*^9, 3.574793863101666*^9}}], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"broot", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "7"}], "}"}]}], "]"}]}], " ", ";"}], RowBox[{"(*", " ", RowBox[{"a", " ", "basis", " ", "of", " ", "roots", " ", "of", " ", "E6"}], " ", "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"bnum", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "6"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"num", "=", "1"}], ",", RowBox[{"num", "\[LessEqual]", "numtries"}], ",", RowBox[{"num", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"bnum", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"RandomInteger", "[", RowBox[{"{", RowBox[{"1", ",", "36"}], "}"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"broot", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"root", "[", RowBox[{"[", RowBox[{"bnum", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], "]"}]}], ";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", RowBox[{"weight", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "7"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"IntForm", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "6"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", "6"}], ",", RowBox[{"j", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"IntForm", "[", RowBox[{"[", RowBox[{"i", ",", "j"}], "]"}], "]"}], "=", RowBox[{"mdot", "[", RowBox[{ RowBox[{"broot", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"broot", "[", RowBox[{"[", "j", "]"}], "]"}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Det", "[", "IntForm", "]"}], "\[Equal]", "3"}], ",", " ", RowBox[{"(*", " ", RowBox[{"yes", ",", " ", RowBox[{ "these", " ", "roots", " ", "form", " ", "a", " ", "basis", " ", "of", " ", "E6"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"InvForm", "=", RowBox[{"Inverse", "[", "IntForm", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"weight", "=", RowBox[{"InvForm", ".", "broot"}]}], ";", "\[IndentingNewLine]", RowBox[{"fnum", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "6"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", RowBox[{ RowBox[{"fnum", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"RandomInteger", "[", RowBox[{"{", RowBox[{"1", ",", "36"}], "}"}], "]"}]}]}], " ", "]"}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"Print", "[", RowBox[{ RowBox[{"fnum", "[", RowBox[{"[", "1", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "2", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "3", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "4", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "5", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "6", "]"}], "]"}]}], "]"}], ";"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"froot", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"i", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "7"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", " ", RowBox[{ RowBox[{"froot", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"root", "[", RowBox[{"[", RowBox[{"fnum", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], "]"}]}]}], " ", "]"}], ";", "\[IndentingNewLine]", RowBox[{"l", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"e", ",", "21"}], "}"}], ",", RowBox[{"{", RowBox[{"s", ",", "27"}], "}"}], ",", RowBox[{"{", RowBox[{"f", ",", "6"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"e", "=", "1"}], ",", RowBox[{"e", "\[LessEqual]", "21"}], ",", RowBox[{"e", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"s", "=", "1"}], ",", RowBox[{"s", "\[LessEqual]", "27"}], ",", RowBox[{"s", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"f", "=", "1"}], ",", RowBox[{"f", "\[LessEqual]", "6"}], ",", RowBox[{"f", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"l", "[", RowBox[{"[", RowBox[{"e", ",", "s", ",", "f"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{"e", ",", RowBox[{"6", "+", "f"}]}], "]"}], "]"}], "*", RowBox[{"mdot", "[", RowBox[{ RowBox[{"froot", "[", RowBox[{"[", "f", "]"}], "]"}], ",", RowBox[{"line", "[", RowBox[{"[", "s", "]"}], "]"}]}], "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "\[LessEqual]", "6"}], ",", RowBox[{"i", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"l", "[", RowBox[{"[", RowBox[{"e", ",", "s", ",", "f"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"l", "[", RowBox[{"[", RowBox[{"e", ",", "s", ",", "f"}], "]"}], "]"}], "-", RowBox[{ RowBox[{"ep", "[", RowBox[{"[", RowBox[{"e", ",", "i"}], "]"}], "]"}], "*", RowBox[{"mdot", "[", RowBox[{ RowBox[{"froot", "[", RowBox[{"[", "f", "]"}], "]"}], ",", RowBox[{"weight", "[", RowBox[{"[", "i", "]"}], "]"}]}], "]"}], "*", RowBox[{"mdot", "[", RowBox[{ RowBox[{"broot", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"line", "[", RowBox[{"[", "s", "]"}], "]"}]}], "]"}]}]}]}], ";"}]}], " ", "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "computing", " ", "21", " ", "x", " ", "27", " ", "quadratic", " ", "forms"}], ",", " ", RowBox[{ "one", " ", "for", " ", "each", " ", "of", " ", "the", " ", "27", " ", "sheets"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"q", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"e", ",", "21"}], "}"}], ",", RowBox[{"{", RowBox[{"s", ",", "27"}], "}"}], ",", RowBox[{"{", RowBox[{"k", ",", "21"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"e", "=", "1"}], ",", RowBox[{"e", "\[LessEqual]", "21"}], ",", RowBox[{"e", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"s", "=", "1"}], ",", RowBox[{"s", "\[LessEqual]", "27"}], ",", RowBox[{"s", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "<=", "6"}], ",", RowBox[{"i", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", "i"}], ",", RowBox[{"j", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"k", "=", RowBox[{ RowBox[{"i", "*", RowBox[{ RowBox[{"(", RowBox[{"i", "-", "1"}], ")"}], "/", "2"}]}], "+", "j"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"q", "[", RowBox[{"[", RowBox[{"e", ",", "s", ",", "k"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"l", "[", RowBox[{"[", RowBox[{"e", ",", "s", ",", "i"}], "]"}], "]"}], "*", RowBox[{"l", "[", RowBox[{"[", RowBox[{"e", ",", "s", ",", "j"}], "]"}], "]"}]}]}], ";"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"computing", " ", "21", " ", "quadratic", " ", "forms"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"Q", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"e", ",", "21"}], "}"}], ",", RowBox[{"{", RowBox[{"s", ",", "21"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"e", "=", "1"}], ",", RowBox[{"e", "\[LessEqual]", "21"}], ",", RowBox[{"e", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"s", "=", "1"}], ",", RowBox[{"s", "\[LessEqual]", "27"}], ",", RowBox[{"s", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"Q", "[", RowBox[{"[", "e", "]"}], "]"}], "+=", RowBox[{ RowBox[{"q", "[", RowBox[{"[", RowBox[{"e", ",", "s"}], "]"}], "]"}], "/", "6"}]}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", RowBox[{"mrank", "=", RowBox[{"MatrixRank", "[", "Q", "]"}]}], ";", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"mrank", "\[Equal]", "21"}], ",", " ", RowBox[{"(*", " ", RowBox[{"yes", ",", " ", RowBox[{ "the", " ", "21", " ", "quadratic", " ", "forms", " ", "are", " ", "linearly", " ", "independent"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Print", "[", RowBox[{"\"\\"", ",", RowBox[{"Det", "[", "Q", "]"}], ",", "\"\< \>\"", ",", RowBox[{"bnum", "[", RowBox[{"[", "1", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"bnum", "[", RowBox[{"[", "2", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"bnum", "[", RowBox[{"[", "3", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"bnum", "[", RowBox[{"[", "4", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"bnum", "[", RowBox[{"[", "5", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"bnum", "[", RowBox[{"[", "6", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "1", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "2", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "3", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "4", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "5", "]"}], "]"}], ",", "\"\<-\>\"", ",", RowBox[{"fnum", "[", RowBox[{"[", "6", "]"}], "]"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"q21", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"s", ",", "21"}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "6"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"q21ranks", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"s", ",", "21"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"e", "=", "1"}], ",", RowBox[{"e", "\[LessEqual]", "21"}], ",", RowBox[{"e", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"i", "=", "1"}], ",", RowBox[{"i", "<=", "6"}], ",", RowBox[{"i", "++"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"j", "=", "1"}], ",", RowBox[{"j", "\[LessEqual]", "i"}], ",", RowBox[{"j", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"k", "=", RowBox[{ RowBox[{"i", "*", RowBox[{ RowBox[{"(", RowBox[{"i", "-", "1"}], ")"}], "/", "2"}]}], "+", "j"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"q21", "[", RowBox[{"[", RowBox[{"e", ",", "i", ",", "j"}], "]"}], "]"}], "=", RowBox[{ RowBox[{"q21", "[", RowBox[{"[", RowBox[{"e", ",", "j", ",", "i"}], "]"}], "]"}], "=", RowBox[{"Q", "[", RowBox[{"[", RowBox[{"e", ",", "k"}], "]"}], "]"}]}]}], ";"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"e", "=", "1"}], ",", RowBox[{"e", "\[LessEqual]", "21"}], ",", RowBox[{"e", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"q21ranks", "[", RowBox[{"[", "e", "]"}], "]"}], "=", RowBox[{"MatrixRank", "[", RowBox[{"q21", "[", RowBox[{"[", "e", "]"}], "]"}], "]"}]}], ";"}]}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"Print", "[", RowBox[{ RowBox[{"q21", "[", RowBox[{"[", "e", "]"}], "]"}], "//", "MatrixForm"}], "]"}], ";"}], "*)"}], " ", "\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Print", "[", "q21ranks", "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "]"}]}]}], "\[IndentingNewLine]", "]"}]}], "Input", CellChangeTimes->{{3.550080343182103*^9, 3.5500803553668003`*^9}, { 3.550081854855566*^9, 3.5500818611829276`*^9}, {3.5500819351521587`*^9, 3.550082009759426*^9}, {3.550082050791773*^9, 3.5500820547910013`*^9}, { 3.5500821177356014`*^9, 3.550082141257947*^9}, {3.5501547658671002`*^9, 3.5501549500426345`*^9}, {3.5501549832275324`*^9, 3.550154986696731*^9}, { 3.5501550186105566`*^9, 3.550155032323341*^9}, {3.550155084795342*^9, 3.550155094869918*^9}, {3.550155126596733*^9, 3.5501552529279585`*^9}, { 3.550155317326642*^9, 3.550155321224865*^9}, {3.5501554394066243`*^9, 3.5501554610198607`*^9}, {3.550155502653242*^9, 3.5501555133718553`*^9}, { 3.550155556513323*^9, 3.550155560628558*^9}, 3.5501556365278993`*^9, { 3.5501556670996475`*^9, 3.5501556713468904`*^9}, {3.5501624680656404`*^9, 3.5501625125551853`*^9}, {3.550162592520759*^9, 3.550162621540419*^9}, { 3.550163614674223*^9, 3.550163617328375*^9}, {3.550269706401323*^9, 3.5502698982492957`*^9}, {3.55026994063472*^9, 3.550269948589175*^9}, { 3.5502700362961917`*^9, 3.55027019501827*^9}, {3.5502702354465823`*^9, 3.550270348606055*^9}, {3.5502704327258663`*^9, 3.5502705400160027`*^9}, { 3.5502705789142275`*^9, 3.550270579013233*^9}, {3.5502707537442274`*^9, 3.550270766290945*^9}, {3.5502708585482216`*^9, 3.5502709805101976`*^9}, { 3.5502710312701006`*^9, 3.5502710726074653`*^9}, {3.5503093922372227`*^9, 3.550309392380231*^9}, {3.5747934815778437`*^9, 3.5747934828899193`*^9}, { 3.5747935900420475`*^9, 3.5747936399779043`*^9}, {3.574793941522151*^9, 3.574793955890973*^9}, {3.574794067800374*^9, 3.5747940806481085`*^9}}], Cell[BoxData["$Aborted"], "Output", CellChangeTimes->{3.57479506778757*^9}] }, Open ]], Cell[BoxData[ RowBox[{"TimeUsed", "[", "]"}]], "Input", CellChangeTimes->{{3.5501520080783634`*^9, 3.5501520117455735`*^9}, { 3.550152091355127*^9, 3.550152097305467*^9}, {3.5501521488104134`*^9, 3.5501521742498684`*^9}}] }, WindowSize->{905, 954}, WindowMargins->{{-7, Automatic}, {-3, Automatic}}, FrontEndVersion->"8.0 for Microsoft Windows (64-bit) (October 6, 2011)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[557, 20, 1721, 35, 92, "Input"], Cell[2281, 57, 163, 4, 31, "Input"], Cell[2447, 63, 408, 12, 31, "Input"], Cell[2858, 77, 1047, 28, 112, "Input"], Cell[3908, 107, 1129, 30, 72, "Input"], Cell[5040, 139, 212, 4, 31, "Input"], Cell[5255, 145, 647, 19, 52, "Input"], Cell[5905, 166, 135, 3, 31, "Input"], Cell[6043, 171, 818, 23, 72, "Input"], Cell[6864, 196, 1442, 40, 92, "Input"], Cell[8309, 238, 578, 17, 31, "Input"], Cell[8890, 257, 345, 6, 31, "Input"], Cell[9238, 265, 273, 6, 31, "Input"], Cell[9514, 273, 1733, 48, 52, "Input"], Cell[11250, 323, 5374, 156, 232, "Input"], Cell[CellGroupData[{ Cell[16649, 483, 19455, 457, 1592, "Input"], Cell[36107, 942, 76, 1, 30, "Output"] }, Open ]], Cell[36198, 946, 228, 4, 31, "Input"] } ] *) (* End of internal cache information *)