(* 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[ 122436, 3573] NotebookOptionsPosition[ 115262, 3339] NotebookOutlinePosition[ 116094, 3366] CellTagsIndexPosition[ 116051, 3363] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["User's Guide to:", "Title", CellChangeTimes->{{3.4462225745239363`*^9, 3.446222577422167*^9}, { 3.446222686310768*^9, 3.446222743346836*^9}, {3.4462227958107853`*^9, 3.446222798457767*^9}, {3.4556472445828333`*^9, 3.455647266590012*^9}, { 3.4556473058388166`*^9, 3.455647327302841*^9}, {3.455647369975617*^9, 3.455647377719269*^9}, {3.4556474302912083`*^9, 3.455647458033226*^9}}], Cell[TextData[{ "A ", StyleBox["Mathematica", FontSlant->"Italic"], " Package for Computing McClure's Obstructions to H\[Infinity] Structure on \ BP" }], "Subtitle", CellChangeTimes->{{3.4462225745239363`*^9, 3.446222577422167*^9}, { 3.446222686310768*^9, 3.446222743346836*^9}, {3.4462227958107853`*^9, 3.446222798457767*^9}, {3.4556472445828333`*^9, 3.455647266590012*^9}, { 3.4556473058388166`*^9, 3.455647327302841*^9}, {3.455647369975617*^9, 3.455647377719269*^9}, {3.4556474302912083`*^9, 3.4556474989378157`*^9}}], Cell[TextData[StyleBox["by Niles Johnson and Justin Noel", FontFamily->"Bitstream Vera Sans", FontSize->14, FontWeight->"Bold"]], "Text", CellChangeTimes->{{3.446222866636333*^9, 3.446222872520472*^9}}], Cell[TextData[{ "This document is a companion to the paper \n\"H_{\\infty} Orientations on \ BP\"\nby Niles Johnson and Justin Noel\n", ButtonBox["http://math.uchicago.edu/~justin/H-infty-BP.pdf\n", BaseStyle->"Hyperlink", ButtonData->{ URL["http://math.uchicago.edu/~justin/H-infty-BP.pdf"], None}, ButtonNote->"http://math.uchicago.edu/~justin/H-infty-BP.pdf"], "and to the ", StyleBox["Mathematica", FontSlant->"Italic"], " package\n", ButtonBox["http://math.uchicago.edu/~justin/McClureDefs.m", BaseStyle->"Hyperlink", ButtonData->{ URL["http://math.uchicago.edu/~justin/H-infty-BP.pdf"], None}, ButtonNote->"http://math.uchicago.edu/~justin/H-infty-BP.pdf"] }], "Text", CellChangeTimes->{{3.4462218571509666`*^9, 3.446221876413652*^9}, { 3.446222027498816*^9, 3.446222086682768*^9}, {3.44622237703092*^9, 3.44622238775303*^9}, {3.446222419996768*^9, 3.446222469304455*^9}, { 3.446223051113813*^9, 3.446223056850801*^9}, {3.449557219198069*^9, 3.449557226736532*^9}, {3.4556471629591618`*^9, 3.455647198245235*^9}, { 3.455647749631324*^9, 3.455647847732828*^9}}], Cell[CellGroupData[{ Cell["Computer calculation guide", "Section", CellChangeTimes->{{3.4462227836764917`*^9, 3.446222791644079*^9}, { 3.446222995368808*^9, 3.446222995741214*^9}}], Cell[TextData[{ "The variable 'pVal' is the prime at which we work. \nThe variable 'order' \ controls the order of our power series calculations. \nIf order = k, then we \ work modulo x^{k+1}.\n\nThe file 'McClureDefs.m' holds the other definitions \ for these calculations.\nWe give examples of most of these functions below.\n\ \n", StyleBox["Parallel Processing Note", FontFamily->"Utopia", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]], ": We make use of the multicore support in ", StyleBox["Mathematica", FontSlant->"Italic"], " 7. \nIf you use a single-core machine, you may see warnings about \ parallel processing not working; \nthis should not affect the calculations. " }], "Text", CellChangeTimes->{{3.4462013899709377`*^9, 3.44620162473496*^9}, { 3.446223113668782*^9, 3.446223114230013*^9}, {3.446381337594372*^9, 3.446381434061401*^9}, {3.4463814811992826`*^9, 3.446381510310019*^9}, { 3.446381588663148*^9, 3.446381596247251*^9}}], Cell[TextData[{ StyleBox["Warning", FontFamily->"Utopia", FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[1, 0, 0]], StyleBox[": your choice for the value of 'order' will drastically affect how \ long you have to wait for these calculations.\nWe recommend starting with \ pVal = 3 and order = 16, but\ndepending on your machine, you may want to \ choose order = 5 or 10.\nAt the prime 3, order = 26 is a challenging \ computation for modern desktop computers.", FontSlant->"Italic"] }], "Text", CellChangeTimes->{{3.446201637891365*^9, 3.44620171554317*^9}, { 3.4462017831491632`*^9, 3.446201975313294*^9}, {3.446379927781777*^9, 3.446379927821763*^9}, {3.446381550775889*^9, 3.446381550831925*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"pVal", "=", "3"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"order", "=", "16"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Get", "[", "\"\\"", "]"}], ";"}]}], "Input", CellChangeTimes->{{3.44595286894449*^9, 3.445952878955697*^9}, { 3.445952933190588*^9, 3.445953006806232*^9}, 3.445953040280285*^9, { 3.4459530857213163`*^9, 3.4459531105854673`*^9}, {3.445953226083021*^9, 3.4459532278733053`*^9}, {3.446373920085362*^9, 3.446373925556367*^9}, { 3.4463748349936867`*^9, 3.446374839318781*^9}, {3.446379921250595*^9, 3.4463799213126*^9}, {3.455461073774235*^9, 3.455461092467279*^9}}], Cell["\<\ Series are represented as lists of coefficients, and below we give example \ calculations.\ \>", "Text", CellChangeTimes->{{3.4462013389185963`*^9, 3.4462013576723213`*^9}, { 3.44620206021103*^9, 3.4462021162457657`*^9}}], Cell[CellGroupData[{ Cell["log, exp, and formal sum", "Subsection", CellChangeTimes->{{3.4459524906143713`*^9, 3.445952502933831*^9}}], Cell["\<\ The function 'arraylogBP' holds the coefficients of the log series for BP. \ We store this list (and others) as a 'SparseArray', and the function 'Normal' \ displays it's values.\ \>", "Text", CellChangeTimes->{ 3.446202126090803*^9, {3.446202211402412*^9, 3.446202287166201*^9}, 3.4462023276325073`*^9}], Cell[CellGroupData[{ Cell[BoxData["arraylogBP"], "Input", CellChangeTimes->{{3.446202317325791*^9, 3.4462023188277893`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"SparseArray", "[", RowBox[{ InterpretationBox[ RowBox[{"\<\"<\"\>", "\[InvisibleSpace]", "3", "\[InvisibleSpace]", "\<\">\"\>"}], SequenceForm["<", 3, ">"], Editable->False], ",", RowBox[{"{", "17", "}"}]}], "]"}], False, Editable->False]], "Output", CellChangeTimes->{3.446202319807725*^9, 3.446379694705818*^9, 3.446379937101818*^9, 3.4463806498768883`*^9, 3.4554565863338623`*^9, 3.455457133117118*^9, 3.45564792647862*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Normal", "[", "arraylogBP", "]"}]], "Input", CellChangeTimes->{{3.445953157915738*^9, 3.445953167535475*^9}, { 3.446202295464793*^9, 3.4462023121869583`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "1", ",", "0", ",", RowBox[{"L", "[", "1", "]"}], ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", RowBox[{"L", "[", "2", "]"}], ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]], "Output", CellChangeTimes->{{3.4459531613480597`*^9, 3.445953168235729*^9}, { 3.4459532325649853`*^9, 3.4459532623404093`*^9}, {3.446202303913021*^9, 3.446202313604617*^9}, 3.446379696201236*^9, 3.446379938395974*^9, 3.446380651480699*^9, 3.455456587950527*^9, 3.455457134061269*^9, 3.455647927548195*^9}] }, Open ]], Cell["\<\ We calculate the exponential series, 'arrayexpBP', as the compositional \ inverse to 'arraylogBP'.\ \>", "Text", CellChangeTimes->{{3.4462023359387913`*^9, 3.446202403881753*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Normal", "[", "arrayexpBP", "]"}]], "Input", CellChangeTimes->{{3.4459531696671133`*^9, 3.445953179799427*^9}, { 3.445953236458056*^9, 3.44595326554434*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "1", ",", "0", ",", RowBox[{"-", RowBox[{"L", "[", "1", "]"}]}], ",", "0", ",", RowBox[{"3", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "12"}], " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ",", "0", ",", RowBox[{ RowBox[{"222", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "5"]}], "-", RowBox[{"9", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ")"}]}], "+", RowBox[{"3", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"L", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"405", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "6"]}], "-", RowBox[{"36", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"], " ", RowBox[{"(", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ")"}]}], "-", RowBox[{"9", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"], " ", RowBox[{"L", "[", "2", "]"}]}], "-", RowBox[{"11", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"222", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "5"]}], "-", RowBox[{"9", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ")"}]}], "+", RowBox[{"3", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"L", "[", "2", "]"}]}]}], ")"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"417", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "7"]}], "-", RowBox[{"84", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "3"], " ", RowBox[{"(", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ")"}]}], "+", RowBox[{"27", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "3"], " ", RowBox[{"L", "[", "2", "]"}]}], "-", RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"], " ", RowBox[{"(", RowBox[{ RowBox[{"222", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "5"]}], "-", RowBox[{"9", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ")"}]}], "+", RowBox[{"3", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"L", "[", "2", "]"}]}]}], ")"}]}], "-", RowBox[{"13", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"405", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "6"]}], "-", RowBox[{"36", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"], " ", RowBox[{"(", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ")"}]}], "-", RowBox[{"9", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"], " ", RowBox[{"L", "[", "2", "]"}]}], "-", RowBox[{"11", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"222", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "5"]}], "-", RowBox[{"9", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"55", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"L", "[", "2", "]"}]}], ")"}]}], "+", RowBox[{"3", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"L", "[", "2", "]"}]}]}], ")"}]}]}], ")"}]}]}], ",", "0"}], "}"}]], "Output", CellChangeTimes->{{3.445953954255497*^9, 3.445953959855112*^9}, 3.4463796980450287`*^9, 3.446379940407909*^9, 3.446380653569374*^9, 3.455456590647662*^9, 3.455457135500738*^9, 3.455457180569088*^9, 3.455459759617066*^9, 3.45564792922641*^9}] }, Open ]], Cell["\<\ The function 'compser' calculates the composite of two series. compser[f(x),g(x)] = f(g(x)).\ \>", "Text", CellChangeTimes->{{3.446202431589384*^9, 3.4462024816789513`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExpandAll", "[", RowBox[{"compser", "[", RowBox[{"arrayexpBP", ",", "arraylogBP"}], "]"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ "0", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]], "Output", CellChangeTimes->{{3.445953860295969*^9, 3.445953960963718*^9}, 3.446379702608932*^9, 3.4463799426957006`*^9, 3.446380656619416*^9, 3.4554565940969963`*^9, 3.455457137212473*^9}] }, Open ]], Cell["\<\ The function 'arrayiseriesBP' computes the i-series for BP as exp(i * \ log(x)). Here we compute the p-series:\ \>", "Text", CellChangeTimes->{{3.446202490475607*^9, 3.446202634871765*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExpandAll", "[", RowBox[{"arrayiseriesBP", "[", "pVal", "]"}], "]"}]], "Input", CellChangeTimes->{{3.445953191793818*^9, 3.445953205335577*^9}, { 3.4459532959766273`*^9, 3.445953356569882*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "3", ",", "0", ",", RowBox[{ RowBox[{"-", "24"}], " ", RowBox[{"L", "[", "1", "]"}]}], ",", "0", ",", RowBox[{"648", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "22680"}], " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{"906120", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "4"]}], "-", RowBox[{"19680", " ", RowBox[{"L", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "39161880"}], " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "5"]}], "+", RowBox[{"1948536", " ", RowBox[{"L", "[", "1", "]"}], " ", RowBox[{"L", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"1782778248", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "6"]}], "-", RowBox[{"144725616", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "2"], " ", RowBox[{"L", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "84205559448"}], " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "7"]}], "+", RowBox[{"9647551656", " ", SuperscriptBox[ RowBox[{"L", "[", "1", "]"}], "3"], " ", RowBox[{"L", "[", "2", "]"}]}]}], ",", "0"}], "}"}]], "Output", CellChangeTimes->{ 3.4459533012785177`*^9, {3.4459533322203207`*^9, 3.445953343783504*^9}, 3.446379705914163*^9, 3.446379944764481*^9, 3.446380659020458*^9, 3.455456597687442*^9, 3.455457138773438*^9, 3.455457184134489*^9}] }, Open ]], Cell["\<\ We have implemented the Hazewinkel generators and the Araki generators as a list of replacement rules, demonstrated below. The variable 'nVal' is set to 'order+1', a useful shorthand since all of our \ coefficient lists are this long.\ \>", "Text", CellChangeTimes->{{3.4462026704937887`*^9, 3.4462028264704227`*^9}, { 3.455456740442852*^9, 3.455456749077643*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vnSubstitutionsHazewinkel", "[", RowBox[{"pVal", ",", "nVal"}], "]"}]], "Input", CellChangeTimes->{{3.445953499710986*^9, 3.445953508523005*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"L", "[", "2", "]"}], "\[Rule]", RowBox[{ FractionBox["1", "9"], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"], "+", RowBox[{"3", " ", RowBox[{"v", "[", "2", "]"}]}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"L", "[", "1", "]"}], "\[Rule]", FractionBox[ RowBox[{"v", "[", "1", "]"}], "3"]}]}], "}"}]], "Output", CellChangeTimes->{3.445953508959416*^9, 3.4463797101211967`*^9, 3.446379946835718*^9, 3.446380660777814*^9, 3.455456600893749*^9, 3.4554571407889147`*^9, 3.4554571863739643`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vnSubstitutionsAraki", "[", RowBox[{"pVal", ",", "nVal"}], "]"}]], "Input", CellChangeTimes->{{3.45545675735603*^9, 3.455456767396913*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"L", "[", "1", "]"}], "\[Rule]", RowBox[{"-", FractionBox[ RowBox[{"w", "[", "1", "]"}], "24"]}]}], ",", RowBox[{ RowBox[{"L", "[", "2", "]"}], "\[Rule]", FractionBox[ RowBox[{ SuperscriptBox[ RowBox[{"w", "[", "1", "]"}], "4"], "-", RowBox[{"24", " ", RowBox[{"w", "[", "2", "]"}]}]}], "472320"]}]}], "}"}]], "Output", CellChangeTimes->{3.4554567689921513`*^9, 3.455457142080871*^9}] }, Open ]], Cell["\<\ To allow changing generators, all the rest of our formulas reference the \ variable 'vnSubstitutionsJN'. By default, this is set to the Hazewinkel generators; to change, edit the \ file 'McClureDefs.m'\ \>", "Text", CellChangeTimes->{{3.4462026704937887`*^9, 3.4462028264704227`*^9}, { 3.455456740442852*^9, 3.455456749077643*^9}, 3.455456789915709*^9, { 3.4554568420036173`*^9, 3.455456938740694*^9}, {3.45545700582206*^9, 3.455457032013772*^9}}], Cell[CellGroupData[{ Cell[BoxData["vnSubstitutionsJNName"], "Input", CellChangeTimes->{{3.455456813164959*^9, 3.455456821501193*^9}}], Cell[BoxData["\<\"Hazewinkel\"\>"], "Output", CellChangeTimes->{3.455456822596759*^9, 3.455457146214595*^9, 3.455457188772901*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData["vnSubstitutionsJN"], "Input", CellChangeTimes->{{3.4554567973505783`*^9, 3.455456801588902*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"L", "[", "2", "]"}], "\[Rule]", RowBox[{ FractionBox["1", "9"], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"], "+", RowBox[{"3", " ", RowBox[{"v", "[", "2", "]"}]}]}], ")"}]}]}], ",", RowBox[{ RowBox[{"L", "[", "1", "]"}], "\[Rule]", FractionBox[ RowBox[{"v", "[", "1", "]"}], "3"]}]}], "}"}]], "Output", CellChangeTimes->{3.4554568035126038`*^9, 3.4554571443329067`*^9, 3.455457190237623*^9}] }, Open ]], Cell["\<\ Here is the p-series, expressed with the generators v[i] specified above \ instead of the rational generators, L[i].\ \>", "Text", CellChangeTimes->{{3.4462028413577957`*^9, 3.446202904835034*^9}, { 3.455459985427411*^9, 3.45546000538682*^9}}], Cell[CellGroupData[{ Cell[BoxData["arraypseriesBPvnJN"], "Input", CellChangeTimes->{{3.445953359052739*^9, 3.445953369553049*^9}, { 3.455459950766177*^9, 3.455459951644163*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "3", ",", "0", ",", RowBox[{ RowBox[{"-", "8"}], " ", RowBox[{"v", "[", "1", "]"}]}], ",", "0", ",", RowBox[{"72", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "840"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{"9000", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"6560", " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "88992"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"216504", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"658776", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"5360208", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"1199088", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"119105576", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0"}], "}"}]], "Output", CellChangeTimes->{3.445953370404354*^9, 3.446379711681573*^9, 3.44637994943647*^9, 3.4463806625485086`*^9, 3.4554566034714117`*^9, 3.455457191965899*^9, 3.455459952336823*^9}] }, Open ]], Cell["For the reduced p-series, the last term is unknown", "Text", CellChangeTimes->{{3.4462028413577957`*^9, 3.446202904835034*^9}, { 3.45545996600356*^9, 3.4554599688744497`*^9}, {3.455460013003532*^9, 3.455460041059326*^9}}], Cell[CellGroupData[{ Cell[BoxData["arraypseriesRedBPvnJN"], "Input", CellChangeTimes->{{3.455459937722919*^9, 3.455459946331923*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"3", ",", "0", ",", RowBox[{ RowBox[{"-", "8"}], " ", RowBox[{"v", "[", "1", "]"}]}], ",", "0", ",", RowBox[{"72", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "840"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{"9000", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"6560", " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "88992"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"216504", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"658776", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"5360208", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"1199088", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"119105576", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", "Unk"}], "}"}]], "Output", CellChangeTimes->{3.4554599474485292`*^9}] }, Open ]], Cell[TextData[{ "The formal sum over BP, exp(log(x) + log(y)), is given as a 2-dimensional \ array. \nThe function 'arrayPlusPolyBPi' computes exp(i * log(x) + log(y));\n\ here we display the formal sum by using arrayPlusPolyBPi[1], making the \ Hazewinkel substitutions, and printing this array as a matrix.\nNote that, as \ expected, this is a symmetric matrix, with the coefficient of x and y each \ being 1.\nThis matrix is upper-(anti)triangular because we are working modulo \ (x,y)^{order+1}.\n", StyleBox["Note: this output is cutoff in the pdf version of this file", FontSlant->"Italic"] }], "Text", CellChangeTimes->{{3.4462029398837967`*^9, 3.446203320202074*^9}, { 3.446374037597888*^9, 3.446374039522593*^9}, {3.455648082027964*^9, 3.4556481370639067`*^9}, 3.455648213592593*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MatrixForm", "[", RowBox[{"ExpandAll", "[", RowBox[{ RowBox[{"Normal", "[", RowBox[{"arrayPlusPolyBPi", "[", "1", "]"}], "]"}], "/.", "vnSubstitutionsJN"}], "]"}], "]"}]], "Input", CellChangeTimes->{{3.4459533902066107`*^9, 3.445953440427042*^9}, { 3.445953518013892*^9, 3.445953519323547*^9}, {3.4459535690063047`*^9, 3.4459536116608257`*^9}, {3.455459825790333*^9, 3.45545983587763*^9}}], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"1", "0", RowBox[{"-", RowBox[{"v", "[", "1", "]"}]}], "0", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], "0", RowBox[{"-", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"-", "3"}], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"], "+", RowBox[{"6", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"9", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"12", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0"}, {"0", RowBox[{"-", RowBox[{"v", "[", "1", "]"}]}], "0", RowBox[{"3", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "6"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"6", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"12", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{"45", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "15"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"108", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"42", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"210", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0"}, {"0", "0", RowBox[{"3", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "13"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"27", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"28", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "27"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"163", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "31"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"568", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"226", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"1517", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0"}, {"0", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], "0", RowBox[{ RowBox[{"-", "13"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"52", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"42", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "106"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"362", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"30", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"1770", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"655", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"6333", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{"-", "6"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"52", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"42", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "192"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"532", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"246", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"3637", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"1168", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"17350", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{"-", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"27", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"28", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "192"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"532", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"484", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"5164", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"1412", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"33137", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{"6", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"12", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "106"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"362", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"484", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"5164", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"1370", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"45493", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{"-", "3"}], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "27"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"163", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"246", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"3637", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"1370", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"45493", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{"45", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ RowBox[{"30", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"1770", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"1412", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"33137", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"], "+", RowBox[{"6", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "31"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"568", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"1168", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"17350", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{ RowBox[{"-", "15"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"108", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"655", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"6333", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"9", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"226", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"1517", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{"42", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"210", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"12", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "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.445953398342011*^9, 3.445953406179378*^9}, 3.4459534420330467`*^9, 3.445953520002472*^9, {3.445953570489706*^9, 3.445953612243258*^9}, 3.446379720002049*^9, 3.446379956421648*^9, 3.446380669913479*^9, 3.4554566083330307`*^9, 3.455457195126688*^9, 3.455459765257065*^9, {3.4554598269593983`*^9, 3.455459836616314*^9}}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["power operation, Euler class, a_i", "Subsection", CellChangeTimes->{{3.4459525131823483`*^9, 3.445952522846017*^9}}], Cell[TextData[{ "Here we display the potential power operation for BP, using the Hazewinkel \ generators.\nIn the notation of our companion paper, the entry in row i and \ column j is the coefficient of x^i \[Xi]^j.\n", StyleBox["Note: this output is cutoff in the pdf version of this file", FontSlant->"Italic"] }], "Text", CellChangeTimes->{{3.446203386983315*^9, 3.446203442966632*^9}, { 3.446203475319765*^9, 3.446203594401075*^9}, {3.4462036685051107`*^9, 3.44620367687859*^9}, {3.45564812262754*^9, 3.455648142480212*^9}, 3.455648211160871*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MatrixForm", "[", "arrayPBPvnJN", "]"}]], "Input", CellChangeTimes->{{3.445953653133045*^9, 3.445953662820098*^9}, { 3.455459798508216*^9, 3.455459799290251*^9}}], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "2", "0", RowBox[{ RowBox[{"-", "2"}], " ", RowBox[{"v", "[", "1", "]"}]}], "0", RowBox[{"8", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "40"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"170", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"170", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "648"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"2216", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"1424", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"22512", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"9752", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"208104", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}]}, {"0", "3", "0", RowBox[{ RowBox[{"-", "8"}], " ", RowBox[{"v", "[", "1", "]"}]}], "0", RowBox[{"36", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "216"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"1148", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"944", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "5352"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"15372", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"15996", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"184320", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"67112", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"1953852", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0"}, {"1", "0", RowBox[{ RowBox[{"-", "9"}], " ", RowBox[{"v", "[", "1", "]"}]}], "0", RowBox[{"63", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "491"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"3336", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"2331", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "19299"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"48000", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"75190", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"688481", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"190305", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"8461284", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0"}, {"0", RowBox[{ RowBox[{"-", "3"}], " ", RowBox[{"v", "[", "1", "]"}]}], "0", RowBox[{"53", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "606"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"5466", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"3396", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "40124"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"89227", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"200959", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"1553160", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"262442", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"22404758", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0"}, {"0", "0", RowBox[{"21", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "435"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"5547", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"3248", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "53343"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"109971", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"344247", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"2360712", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"103042", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"40536317", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0"}, {"0", RowBox[{"3", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], "0", RowBox[{ RowBox[{"-", "179"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"3588", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"2142", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "47382"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"94662", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"399874", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"2552962", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "232047"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"53036763", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{"-", "38"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"1454", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"994", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "28406"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"58352", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"322362", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"2021589", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "426956"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"51791754", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{"-", "3"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ RowBox[{"341", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"324", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "11256"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"25956", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"179916", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"1187892", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "311044"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"38402155", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{"36", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"72", " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "2748"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"8268", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"67120", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"518984", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "60714"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"21779577", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{"-", "9"}], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "333"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"1833", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"14982", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"167139", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"85422", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"9442467", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{"261", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ RowBox[{"1158", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"38814", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"89728", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"3103727", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"18", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{ RowBox[{"-", "305"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"6204", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"44280", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"760158", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{ RowBox[{"-", "85"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"612", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"13157", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"134447", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{ RowBox[{"-", "6"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"27", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"2374", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"16191", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{ RowBox[{"234", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"1170", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", RowBox[{ RowBox[{"9", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"36", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "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.4459536631554327`*^9, 3.446379729641815*^9, 3.4463799635464287`*^9, 3.446380681623665*^9, 3.4554566246708717`*^9, 3.4554571992867804`*^9, 3.455459769196368*^9, {3.455459800480592*^9, 3.4554598093859158`*^9}}] }, Open ]], Cell[TextData[{ "This array has 'order'+2 rows, and 'order'+1 columns.\nThe first row is 0 \ because the power operation is divisible by x.\nRow 's' is the coefficient of \ x^{s-1}, and is accurate modulo \[Xi]^{order - s + 3}\n(we are making use of \ the fact that we know ", StyleBox["all", FontFamily->"Utopia", FontSlant->"Italic"], " of the coefficients in the power series 'x')" }], "Text", CellChangeTimes->{{3.446380256281143*^9, 3.446380290777441*^9}, { 3.446380342410182*^9, 3.446380500075946*^9}, {3.446380761931714*^9, 3.446380804103415*^9}, {3.446380931953395*^9, 3.4463809320254707`*^9}, { 3.4463809630179367`*^9, 3.446380963107353*^9}, {3.4463810776513357`*^9, 3.4463810840032063`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dimensions", "[", "arrayPBPvnJN", "]"}]], "Input", CellChangeTimes->{{3.446380293026721*^9, 3.446380324396043*^9}, { 3.455459805012349*^9, 3.455459805610216*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"18", ",", "17"}], "}"}]], "Output", CellChangeTimes->{{3.446380300255734*^9, 3.446380325071796*^9}, 3.44638069073952*^9, 3.455457268790359*^9, 3.455459806446369*^9}] }, Open ]], Cell["\<\ The Euler class is the power series in \[Xi] which appears in the second row \ of 'arrayPBPvnH' (The coefficient of x).\ \>", "Text", CellChangeTimes->{{3.446203453123311*^9, 3.446203471915697*^9}, { 3.44620362166684*^9, 3.446203702902132*^9}, {3.4463808259513407`*^9, 3.4463808519279547`*^9}, {3.446380892320566*^9, 3.446380897978096*^9}}], Cell[CellGroupData[{ Cell[BoxData["EulerClass"], "Input", CellChangeTimes->{{3.445953670779245*^9, 3.4459536727961597`*^9}}], Cell[BoxData[ RowBox[{"seriesList", "[", RowBox[{"0", ",", "0", ",", "2", ",", "0", ",", RowBox[{ RowBox[{"-", "2"}], " ", RowBox[{"v", "[", "1", "]"}]}], ",", "0", ",", RowBox[{"8", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "40"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{"170", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"170", " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "648"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"2216", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"1424", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"22512", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"9752", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"208104", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}]}], "]"}]], "Output", CellChangeTimes->{3.445953674033465*^9, 3.4462038251337214`*^9, 3.446379781278721*^9, 3.446380029645465*^9, 3.446380830374598*^9, 3.446380877950602*^9, 3.4554598128387547`*^9}] }, Open ]], Cell["\<\ The function 'aClass[r]' gives the series which is row r+2 above; the \ coefficient of x^{r+1}. This series is accurate modulo \[Xi]^{order - r + 1} Note that aClass[r] is undefined for r > 'order'.\ \>", "Text", CellChangeTimes->{{3.446203712153702*^9, 3.4462038117507267`*^9}, { 3.446203859182976*^9, 3.446203890038837*^9}, {3.446374069708825*^9, 3.446374080578965*^9}, {3.446374112395658*^9, 3.446374123075754*^9}, { 3.446379395417697*^9, 3.446379397127696*^9}, {3.446380883386747*^9, 3.446380888617771*^9}, {3.4463810121459713`*^9, 3.446381024681755*^9}, { 3.446381060572855*^9, 3.44638106461867*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"aClass", "[", "2", "]"}]], "Input", CellChangeTimes->{{3.445953677084347*^9, 3.44595368343647*^9}}], Cell[BoxData[ RowBox[{"seriesList", "[", RowBox[{"1", ",", "0", ",", RowBox[{ RowBox[{"-", "9"}], " ", RowBox[{"v", "[", "1", "]"}]}], ",", "0", ",", RowBox[{"63", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "491"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{"3336", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"2331", " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "19299"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"48000", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"75190", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"688481", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"190305", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{"8461284", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", "0"}], "]"}]], "Output",\ CellChangeTimes->{3.445953684170416*^9, 3.446379792770657*^9, 3.44638003401394*^9, 3.446380874958749*^9, 3.446381127618702*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["reduction modulo p-series", "Subsection", CellChangeTimes->{{3.4459526342479277`*^9, 3.44595263970339*^9}}], Cell["\<\ We use a simple division algorithm for reduction modulo the reduced p-series: 0. Call a term 'unreduced' if it is some constant multiplied by an integer \ outside the range [0,p-1] 1. Find the smallest 't' such that some summand of the t-th coefficient is \ 'unreduced' 2. Add the necessary multiple of the p-series to convert this to a reduced \ summand. 3. Repeat\ \>", "Text", CellChangeTimes->{{3.4462233259958973`*^9, 3.44622335455163*^9}, { 3.44622340115067*^9, 3.446223406069509*^9}, {3.446223437811852*^9, 3.446223656159769*^9}, {3.4554576106368723`*^9, 3.4554576364050827`*^9}, { 3.455457828423058*^9, 3.455458093204625*^9}}], Cell[TextData[StyleBox["Note that, for a single coefficient of \[Xi]^j, \ different summands are multiplied by different powers of the v[i], and hence \ reducing one summand has no effect on the other summands of that coefficient", FontSlant->"Italic"]], "Text", CellChangeTimes->{{3.4462233259958973`*^9, 3.44622335455163*^9}, { 3.44622340115067*^9, 3.446223406069509*^9}, {3.446223437811852*^9, 3.446223656159769*^9}, {3.4554576106368723`*^9, 3.4554576364050827`*^9}, { 3.455457828423058*^9, 3.455458095669427*^9}}], Cell["\<\ Here is the list of coefficients for the reduced Euler Class (change Head of input to 'List' for this function)\ \>", "Text", CellChangeTimes->{{3.4462233259958973`*^9, 3.44622335455163*^9}, { 3.44622340115067*^9, 3.446223406069509*^9}, {3.446223437811852*^9, 3.446223656159769*^9}, {3.4554576106368723`*^9, 3.4554576364050827`*^9}, { 3.455457828423058*^9, 3.455458093204625*^9}, {3.455458124028845*^9, 3.455458168971786*^9}, {3.455458260829275*^9, 3.455458266005382*^9}, { 3.455458527848955*^9, 3.455458559872778*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"arrayCoeffElimLast", "[", RowBox[{"List", "@@", "EulerClass"}], "]"}]], "Input", CellChangeTimes->{{3.455458171120145*^9, 3.45545818281382*^9}, { 3.455458216400405*^9, 3.455458269968766*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "0", ",", "2", ",", "0", ",", RowBox[{"v", "[", "1", "]"}], ",", "0", ",", "0", ",", "0", ",", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"], "+", RowBox[{"v", "[", "2", "]"}]}], ",", "0", ",", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], ",", "0", ",", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}], ",", "0", ",", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"], "+", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}]], "Output", CellChangeTimes->{ 3.455458183290763*^9, {3.455458219522461*^9, 3.4554582707107153`*^9}}] }, Open ]], Cell["\<\ To see the first 5 reductions, use the following:\ \>", "Text", CellChangeTimes->{{3.4462233259958973`*^9, 3.44622335455163*^9}, { 3.44622340115067*^9, 3.446223406069509*^9}, {3.446223437811852*^9, 3.446223656159769*^9}, {3.4554576106368723`*^9, 3.4554576364050827`*^9}, { 3.455457828423058*^9, 3.455458093204625*^9}, {3.455458124028845*^9, 3.455458168971786*^9}, {3.455458260829275*^9, 3.455458293669224*^9}, { 3.4554583678877707`*^9, 3.455458384238468*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"arrayCoeffElimShowAll", "[", RowBox[{ RowBox[{"List", "@@", "EulerClass"}], ",", "5"}], "]"}]], "Input", CellChangeTimes->{{3.4554583032561617`*^9, 3.455458324648141*^9}, { 3.455458360626438*^9, 3.455458360880827*^9}}], Cell[CellGroupData[{ Cell[BoxData["\<\"Input\"\>"], "Print", CellChangeTimes->{3.455458326136675*^9, 3.455458361613142*^9}], Cell[BoxData[ InterpretationBox[ StyleBox[ RowBox[{"{", RowBox[{"0", ",", " ", "0", ",", " ", "2", ",", " ", "0", ",", " ", RowBox[{ RowBox[{"-", "2"}], "*", RowBox[{"v", "[", "1", "]"}]}], ",", " ", "0", ",", " ", RowBox[{"8", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "2"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"-", "40"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"170", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "4"}]}], " ", "-", " ", RowBox[{"170", "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "648"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "5"}]}], " ", "+", " ", RowBox[{"2216", "*", RowBox[{"v", "[", "1", "]"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"1424", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "6"}]}], " ", "-", " ", RowBox[{"22512", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "2"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"9752", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "7"}]}], " ", "+", " ", RowBox[{"208104", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}], "*", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}], ShowStringCharacters->True, NumberMarks->True], InputForm[{ 0, 0, 2, 0, (-2) $CellContext`v[1], 0, 8 $CellContext`v[1]^2, 0, (-40) $CellContext`v[1]^3, 0, 170 $CellContext`v[1]^4 - 170 $CellContext`v[2], 0, (-648) $CellContext`v[1]^5 + 2216 $CellContext`v[1] $CellContext`v[2], 0, 1424 $CellContext`v[1]^6 - 22512 $CellContext`v[1]^2 $CellContext`v[2], 0, 9752 $CellContext`v[1]^7 + 208104 $CellContext`v[1]^3 $CellContext`v[2]}], AutoDelete->True, Editable->True]], "Print", CellChangeTimes->{3.455458326136675*^9, 3.455458361652773*^9}], Cell[BoxData["Reductions"], "Print", CellChangeTimes->{3.455458326136675*^9, 3.455458361655841*^9}], Cell[BoxData[ InterpretationBox[ StyleBox[ RowBox[{"{", RowBox[{"0", ",", " ", "0", ",", " ", "2", ",", " ", "0", ",", " ", RowBox[{"v", "[", "1", "]"}], ",", " ", "0", ",", " ", "0", ",", " ", "0", ",", " ", RowBox[{"32", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "670"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "4"}]}], " ", "-", " ", RowBox[{"170", "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"8352", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "5"}]}], " ", "-", " ", RowBox[{"4344", "*", RowBox[{"v", "[", "1", "]"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "87568"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "6"}]}], " ", "+", " ", RowBox[{"193992", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "2"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"668528", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "7"}]}], " ", "-", " ", RowBox[{"5152104", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}], "*", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}], ShowStringCharacters->True, NumberMarks->True], InputForm[{0, 0, 2, 0, $CellContext`v[1], 0, 0, 0, 32 $CellContext`v[1]^3, 0, (-670) $CellContext`v[1]^4 - 170 $CellContext`v[2], 0, 8352 $CellContext`v[1]^5 - 4344 $CellContext`v[1] $CellContext`v[2], 0, (-87568) $CellContext`v[1]^6 + 193992 $CellContext`v[1]^2 $CellContext`v[2], 0, 668528 $CellContext`v[1]^7 - 5152104 $CellContext`v[1]^3 $CellContext`v[2]}], AutoDelete->True, Editable->True]], "Print", CellChangeTimes->{3.455458326136675*^9, 3.4554583616601954`*^9}], Cell[BoxData[ InterpretationBox[ StyleBox[ RowBox[{"{", RowBox[{"0", ",", " ", "0", ",", " ", "2", ",", " ", "0", ",", " ", RowBox[{"v", "[", "1", "]"}], ",", " ", "0", ",", " ", "0", ",", " ", "0", ",", " ", RowBox[{"2", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "590"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "4"}]}], " ", "-", " ", RowBox[{"170", "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"7632", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "5"}]}], " ", "-", " ", RowBox[{"4344", "*", RowBox[{"v", "[", "1", "]"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "79168"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "6"}]}], " ", "+", " ", RowBox[{"193992", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "2"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"578528", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "7"}]}], " ", "-", " ", RowBox[{"5086504", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}], "*", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}], ShowStringCharacters->True, NumberMarks->True], InputForm[{0, 0, 2, 0, $CellContext`v[1], 0, 0, 0, 2 $CellContext`v[1]^3, 0, (-590) $CellContext`v[1]^4 - 170 $CellContext`v[2], 0, 7632 $CellContext`v[1]^5 - 4344 $CellContext`v[1] $CellContext`v[2], 0, (-79168) $CellContext`v[1]^6 + 193992 $CellContext`v[1]^2 $CellContext`v[2], 0, 578528 $CellContext`v[1]^7 - 5086504 $CellContext`v[1]^3 $CellContext`v[2]}], AutoDelete->True, Editable->True]], "Print", CellChangeTimes->{3.455458326136675*^9, 3.4554583616642513`*^9}], Cell[BoxData[ InterpretationBox[ StyleBox[ RowBox[{"{", RowBox[{"0", ",", " ", "0", ",", " ", "2", ",", " ", "0", ",", " ", RowBox[{"v", "[", "1", "]"}], ",", " ", "0", ",", " ", "0", ",", " ", "0", ",", " ", RowBox[{"2", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "4"}], " ", "-", " ", RowBox[{"170", "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"6056", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "5"}]}], " ", "-", " ", RowBox[{"4344", "*", RowBox[{"v", "[", "1", "]"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "64984"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "6"}]}], " ", "+", " ", RowBox[{"193992", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "2"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"413048", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "7"}]}], " ", "-", " ", RowBox[{"5086504", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}], "*", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}], ShowStringCharacters->True, NumberMarks->True], InputForm[{0, 0, 2, 0, $CellContext`v[1], 0, 0, 0, 2 $CellContext`v[1]^3, 0, $CellContext`v[1]^4 - 170 $CellContext`v[2], 0, 6056 $CellContext`v[1]^5 - 4344 $CellContext`v[1] $CellContext`v[2], 0, (-64984) $CellContext`v[1]^6 + 193992 $CellContext`v[1]^2 $CellContext`v[2], 0, 413048 $CellContext`v[1]^7 - 5086504 $CellContext`v[1]^3 $CellContext`v[2]}], AutoDelete->True, Editable->True]], "Print", CellChangeTimes->{3.455458326136675*^9, 3.455458361668366*^9}], Cell[BoxData[ InterpretationBox[ StyleBox[ RowBox[{"{", RowBox[{"0", ",", " ", "0", ",", " ", "2", ",", " ", "0", ",", " ", RowBox[{"v", "[", "1", "]"}], ",", " ", "0", ",", " ", "0", ",", " ", "0", ",", " ", RowBox[{"2", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "4"}], " ", "+", " ", RowBox[{"v", "[", "2", "]"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"6056", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "5"}]}], " ", "-", " ", RowBox[{"4800", "*", RowBox[{"v", "[", "1", "]"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "64984"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "6"}]}], " ", "+", " ", RowBox[{"198096", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "2"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"413048", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "7"}]}], " ", "-", " ", RowBox[{"5134384", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}], "*", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}], ShowStringCharacters->True, NumberMarks->True], InputForm[{0, 0, 2, 0, $CellContext`v[1], 0, 0, 0, 2 $CellContext`v[1]^3, 0, $CellContext`v[1]^4 + $CellContext`v[2], 0, 6056 $CellContext`v[1]^5 - 4800 $CellContext`v[1] $CellContext`v[2], 0, (-64984) $CellContext`v[1]^6 + 198096 $CellContext`v[1]^2 $CellContext`v[2], 0, 413048 $CellContext`v[1]^7 - 5134384 $CellContext`v[1]^3 $CellContext`v[2]}], AutoDelete->True, Editable->True]], "Print", CellChangeTimes->{3.455458326136675*^9, 3.4554583616723557`*^9}], Cell[BoxData[ InterpretationBox[ StyleBox[ RowBox[{"{", RowBox[{"0", ",", " ", "0", ",", " ", "2", ",", " ", "0", ",", " ", RowBox[{"v", "[", "1", "]"}], ",", " ", "0", ",", " ", "0", ",", " ", "0", ",", " ", RowBox[{"2", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "4"}], " ", "+", " ", RowBox[{"v", "[", "2", "]"}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"2", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "5"}]}], " ", "-", " ", RowBox[{"4800", "*", RowBox[{"v", "[", "1", "]"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{ RowBox[{"-", "48840"}], "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "6"}]}], " ", "+", " ", RowBox[{"198096", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "2"}], "*", RowBox[{"v", "[", "2", "]"}]}]}], ",", " ", "0", ",", " ", RowBox[{ RowBox[{"267752", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "7"}]}], " ", "-", " ", RowBox[{"5134384", "*", RowBox[{ RowBox[{"v", "[", "1", "]"}], "^", "3"}], "*", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}], ShowStringCharacters->True, NumberMarks->True], InputForm[{0, 0, 2, 0, $CellContext`v[1], 0, 0, 0, 2 $CellContext`v[1]^3, 0, $CellContext`v[1]^4 + $CellContext`v[2], 0, 2 $CellContext`v[1]^5 - 4800 $CellContext`v[1] $CellContext`v[2], 0, (-48840) $CellContext`v[1]^6 + 198096 $CellContext`v[1]^2 $CellContext`v[2], 0, 267752 $CellContext`v[1]^7 - 5134384 $CellContext`v[1]^3 $CellContext`v[2]}], AutoDelete->True, Editable->True]], "Print", CellChangeTimes->{3.455458326136675*^9, 3.455458361754422*^9}] }, Open ]] }, Open ]], Cell[TextData[{ "Here is the power operation from above, but with each row reduced modulo \ the reduced p-series\n", StyleBox["Note: this output is cutoff in the pdf version of this file", FontSlant->"Italic"] }], "Text", CellChangeTimes->{{3.446223869083153*^9, 3.446223870972595*^9}, { 3.4462243152687283`*^9, 3.446224334079916*^9}, {3.4556481509616756`*^9, 3.455648151385598*^9}, 3.455648203090975*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MatrixForm", "[", "arrayPBPvnJNRed", "]"}]], "Input", CellChangeTimes->{{3.445953696034676*^9, 3.4459537127009478`*^9}, { 3.455457559206579*^9, 3.455457559822363*^9}}], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "2", "0", RowBox[{"v", "[", "1", "]"}], "0", "0", "0", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"], "+", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"], "+", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}]}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"], "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"], "+", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"], "+", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], "0", RowBox[{"2", " ", RowBox[{"v", "[", "2", "]"}]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"], "+", RowBox[{ RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"], "+", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", RowBox[{ RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "0", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"], "+", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}], "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "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[ SparseArray[ Automatic, {18, 17}, 0, { 1, {{0, 0, 7, 7, 9, 9, 14, 14, 19, 19, 19, 19, 20, 20, 22, 22, 22, 22, 22}, {{3}, {5}, {9}, {11}, {13}, {15}, {17}, {1}, {15}, {5}, {7}, { 9}, {11}, {13}, {3}, {5}, {7}, {9}, {11}, {7}, {3}, {5}}}, { 2, $CellContext`v[1], 2 $CellContext`v[1]^3, $CellContext`v[1]^4 + $CellContext`v[2], 2 $CellContext`v[1]^5, $CellContext`v[1]^2 $CellContext`v[ 2], $CellContext`v[1]^7 + $CellContext`v[1]^3 $CellContext`v[2], 1, $CellContext`v[1]^7, 2 $CellContext`v[1]^3, $CellContext`v[1]^4 + $CellContext`v[2], 2 $CellContext`v[1]^5, $CellContext`v[1]^2 $CellContext`v[ 2], $CellContext`v[1]^7 + $CellContext`v[1]^3 $CellContext`v[ 2], $CellContext`v[1]^3, 2 $CellContext`v[ 2], $CellContext`v[1]^5 + $CellContext`v[1] $CellContext`v[ 2], $CellContext`v[1]^6 + 2 $CellContext`v[1]^2 $CellContext`v[2], 2 $CellContext`v[1]^7 + $CellContext`v[1]^3 $CellContext`v[2], 2 $CellContext`v[1]^7, 2 $CellContext`v[1]^6, $CellContext`v[1]^7 + 2 $CellContext`v[1]^3 $CellContext`v[2]}}]]]]], "Output", CellChangeTimes->{3.445953713458243*^9, 3.44637981619631*^9, 3.446380043540875*^9, 3.446381133397706*^9, 3.4554575628071737`*^9, 3.455459851083522*^9, 3.455460089769017*^9, 3.455460207372101*^9, 3.455460329118525*^9}] }, Open ]], Cell["\<\ Here is the reduced Euler class\ \>", "Text", CellChangeTimes->{{3.446224401422578*^9, 3.446224424828239*^9}, { 3.455458578667083*^9, 3.45545857964182*^9}}], Cell[CellGroupData[{ Cell[BoxData["EulerClassRed"], "Input", CellChangeTimes->{{3.445953715579215*^9, 3.4459537182686157`*^9}}], Cell[BoxData[ RowBox[{"seriesList", "[", RowBox[{"0", ",", "0", ",", "2", ",", "0", ",", RowBox[{"v", "[", "1", "]"}], ",", "0", ",", "0", ",", "0", ",", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"], "+", RowBox[{"v", "[", "2", "]"}]}], ",", "0", ",", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], ",", "0", ",", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}], ",", "0", ",", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"], "+", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}]}], "]"}]], "Output", CellChangeTimes->{3.445953719602103*^9, 3.446379826474662*^9, 3.4463800479338713`*^9, 3.4463811371853323`*^9, 3.455458224904725*^9, 3.45545858155126*^9, 3.455459875015647*^9}] }, Open ]], Cell["The function 'aClassRed' is the reduced 'aClass'", "Text", CellChangeTimes->{{3.4462244305285797`*^9, 3.446224460790601*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"aClassRed", "[", "2", "]"}]], "Input", CellChangeTimes->{{3.446224354373266*^9, 3.446224371369794*^9}}], Cell[BoxData[ RowBox[{"seriesList", "[", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"], ",", "0", ",", "0"}], "]"}]], "Output",\ CellChangeTimes->{{3.446224362357668*^9, 3.4462243721726427`*^9}, 3.446379829459049*^9, 3.446380052813747*^9, 3.446381139121806*^9, 3.455458583524144*^9, 3.45545987643285*^9, 3.4554602645959187`*^9, 3.4554603342621393`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["McClure[n]", "Subsection", CellChangeTimes->{{3.445952664415835*^9, 3.4459526675595293`*^9}}], Cell["\<\ Now we compute MC_n(\[Xi]) using the expression given in our companion paper \ (Proposition 3.2, as of the last revision)\ \>", "Text", CellChangeTimes->{{3.4462245635245857`*^9, 3.44622464519074*^9}}], Cell["\<\ First, we compute the multiplicative inverse of the general series, 'seriesf'\ \ \>", "Text", CellChangeTimes->{{3.446224713068245*^9, 3.446224731339525*^9}, { 3.446224769343752*^9, 3.446224771600647*^9}}], Cell[CellGroupData[{ Cell[BoxData["seriesf"], "Input", CellChangeTimes->{{3.446224686322649*^9, 3.446224687539246*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"f", "[", "0", "]"}], ",", RowBox[{"f", "[", "1", "]"}], ",", RowBox[{"f", "[", "2", "]"}], ",", RowBox[{"f", "[", "3", "]"}], ",", RowBox[{"f", "[", "4", "]"}], ",", RowBox[{"f", "[", "5", "]"}], ",", RowBox[{"f", "[", "6", "]"}], ",", RowBox[{"f", "[", "7", "]"}], ",", RowBox[{"f", "[", "8", "]"}], ",", RowBox[{"f", "[", "9", "]"}], ",", RowBox[{"f", "[", "10", "]"}], ",", RowBox[{"f", "[", "11", "]"}], ",", RowBox[{"f", "[", "12", "]"}], ",", RowBox[{"f", "[", "13", "]"}], ",", RowBox[{"f", "[", "14", "]"}], ",", RowBox[{"f", "[", "15", "]"}], ",", RowBox[{"f", "[", "16", "]"}]}], "}"}]], "Output", CellChangeTimes->{3.446224689392014*^9, 3.4463811433299303`*^9, 3.455458593046934*^9}] }, Open ]], Cell["\<\ To speed up the calculation, we substitute zero for those coefficients f[i] \ such that aClassRed[i] = 0; this takes advantage of the 'sparseness' in the a_i. Also, we have Eu[n] = f[0]^n.\ \>", "Text", CellChangeTimes->{{3.4462247793168097`*^9, 3.4462248690633993`*^9}, { 3.4462248994941053`*^9, 3.446224899979076*^9}, {3.455460350495187*^9, 3.455460372671315*^9}}], Cell[CellGroupData[{ Cell[BoxData["fZeroSubstitutions"], "Input", CellChangeTimes->{{3.446224872208755*^9, 3.446224878998789*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"f", "[", "1", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "2", "]"}], "\[Rule]", RowBox[{"f", "[", "2", "]"}]}], ",", RowBox[{ RowBox[{"f", "[", "3", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "4", "]"}], "\[Rule]", RowBox[{"f", "[", "4", "]"}]}], ",", RowBox[{ RowBox[{"f", "[", "5", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "6", "]"}], "\[Rule]", RowBox[{"f", "[", "6", "]"}]}], ",", RowBox[{ RowBox[{"f", "[", "7", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "8", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "9", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "10", "]"}], "\[Rule]", RowBox[{"f", "[", "10", "]"}]}], ",", RowBox[{ RowBox[{"f", "[", "11", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "12", "]"}], "\[Rule]", RowBox[{"f", "[", "12", "]"}]}], ",", RowBox[{ RowBox[{"f", "[", "13", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "14", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "15", "]"}], "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"f", "[", "16", "]"}], "\[Rule]", "0"}]}], "}"}]], "Output", CellChangeTimes->{3.446224881426366*^9, 3.4463811464092703`*^9, 3.455458598589533*^9, 3.455460276111968*^9, 3.455460344233739*^9}] }, Open ]], Cell["\<\ Now 'genmultinv' is the multiplicative inverse of seriesf, using the zero \ substitutions and Eu[n]\ \>", "Text", CellChangeTimes->{{3.446224910856221*^9, 3.446224949958591*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExpandAll", "[", "genmultinv", "]"}]], "Input", CellChangeTimes->{{3.445953751192923*^9, 3.445953764253141*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "1"}], "]"}], ",", "0", ",", RowBox[{ RowBox[{"-", RowBox[{"Eu", "[", RowBox[{"-", "2"}], "]"}]}], " ", RowBox[{"f", "[", "2", "]"}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"]}], "-", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "2"}], "]"}], " ", RowBox[{"f", "[", "4", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}]}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "3"]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", RowBox[{"f", "[", "4", "]"}]}], "-", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "2"}], "]"}], " ", RowBox[{"f", "[", "6", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "4"]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", RowBox[{"f", "[", "4", "]"}]}], "+", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "2"]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", RowBox[{"f", "[", "6", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"Eu", "[", RowBox[{"-", "6"}], "]"}]}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "5"]}], "+", RowBox[{"4", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "3"], " ", RowBox[{"f", "[", "4", "]"}]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "2"]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", RowBox[{"f", "[", "6", "]"}]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "4", "]"}], " ", RowBox[{"f", "[", "6", "]"}]}], "-", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "2"}], "]"}], " ", RowBox[{"f", "[", "10", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "7"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "6"]}], "-", RowBox[{"5", " ", RowBox[{"Eu", "[", RowBox[{"-", "6"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "4"], " ", RowBox[{"f", "[", "4", "]"}]}], "+", RowBox[{"6", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "2"]}], "-", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "3"]}], "+", RowBox[{"4", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "3"], " ", RowBox[{"f", "[", "6", "]"}]}], "-", RowBox[{"6", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", RowBox[{"f", "[", "4", "]"}], " ", RowBox[{"f", "[", "6", "]"}]}], "+", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "6", "]"}], "2"]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", RowBox[{"f", "[", "10", "]"}]}], "-", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "2"}], "]"}], " ", RowBox[{"f", "[", "12", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"Eu", "[", RowBox[{"-", "8"}], "]"}]}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "7"]}], "+", RowBox[{"6", " ", RowBox[{"Eu", "[", RowBox[{"-", "7"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "5"], " ", RowBox[{"f", "[", "4", "]"}]}], "-", RowBox[{"10", " ", RowBox[{"Eu", "[", RowBox[{"-", "6"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "3"], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "2"]}], "+", RowBox[{"4", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "3"]}], "-", RowBox[{"5", " ", RowBox[{"Eu", "[", RowBox[{"-", "6"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "4"], " ", RowBox[{"f", "[", "6", "]"}]}], "+", RowBox[{"12", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", RowBox[{"f", "[", "4", "]"}], " ", RowBox[{"f", "[", "6", "]"}]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "2"], " ", RowBox[{"f", "[", "6", "]"}]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "6", "]"}], "2"]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", RowBox[{"f", "[", "10", "]"}]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "4", "]"}], " ", RowBox[{"f", "[", "10", "]"}]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", RowBox[{"f", "[", "12", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "9"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "8"]}], "-", RowBox[{"7", " ", RowBox[{"Eu", "[", RowBox[{"-", "8"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "6"], " ", RowBox[{"f", "[", "4", "]"}]}], "+", RowBox[{"15", " ", RowBox[{"Eu", "[", RowBox[{"-", "7"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "4"], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "2"]}], "-", RowBox[{"10", " ", RowBox[{"Eu", "[", RowBox[{"-", "6"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "3"]}], "+", RowBox[{ RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "4"]}], "+", RowBox[{"6", " ", RowBox[{"Eu", "[", RowBox[{"-", "7"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "5"], " ", RowBox[{"f", "[", "6", "]"}]}], "-", RowBox[{"20", " ", RowBox[{"Eu", "[", RowBox[{"-", "6"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "3"], " ", RowBox[{"f", "[", "4", "]"}], " ", RowBox[{"f", "[", "6", "]"}]}], "+", RowBox[{"12", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "4", "]"}], "2"], " ", RowBox[{"f", "[", "6", "]"}]}], "+", RowBox[{"6", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", SuperscriptBox[ RowBox[{"f", "[", "6", "]"}], "2"]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", RowBox[{"f", "[", "4", "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "6", "]"}], "2"]}], "+", RowBox[{"4", " ", RowBox[{"Eu", "[", RowBox[{"-", "5"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "3"], " ", RowBox[{"f", "[", "10", "]"}]}], "-", RowBox[{"6", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", RowBox[{"f", "[", "2", "]"}], " ", RowBox[{"f", "[", "4", "]"}], " ", RowBox[{"f", "[", "10", "]"}]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "6", "]"}], " ", RowBox[{"f", "[", "10", "]"}]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", RowBox[{"-", "4"}], "]"}], " ", SuperscriptBox[ RowBox[{"f", "[", "2", "]"}], "2"], " ", RowBox[{"f", "[", "12", "]"}]}], "+", RowBox[{"2", " ", RowBox[{"Eu", "[", RowBox[{"-", "3"}], "]"}], " ", RowBox[{"f", "[", "4", "]"}], " ", RowBox[{"f", "[", "12", "]"}]}]}]}], "}"}]], "Output", CellChangeTimes->{{3.445953755323411*^9, 3.445953764810196*^9}, 3.4463811513479767`*^9, 3.455458608820148*^9, 3.4554603858640327`*^9}] }, Open ]], Cell["\<\ The function 'mult' computes the product of two series. Here we check that \ genmultinv is the multiplicative inverse\ \>", "Text", CellChangeTimes->{{3.446224956885872*^9, 3.4462250053992243`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExpandAll", "[", RowBox[{"mult", "[", RowBox[{"genmultinv", ",", RowBox[{ RowBox[{"seriesf", "/.", RowBox[{ RowBox[{"f", "[", "0", "]"}], "\[Rule]", RowBox[{"Eu", "[", "1", "]"}]}]}], "/.", "fZeroSubstitutions"}]}], "]"}], "]"}]], "Input", CellChangeTimes->{{3.4459537753238277`*^9, 3.445953841007286*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]], "Output", CellChangeTimes->{ 3.44595378852833*^9, {3.4459538210957613`*^9, 3.445953841330688*^9}, 3.446381183377555*^9, 3.4554586152073383`*^9}] }, Open ]], Cell["\<\ The formal summands of the MC_n are given by 'formalMcClureSummandsUNXP'; Eu[i] will be replaced with EulerClassRed^i, and f[i] will be replaced with aClassRed[i].\ \>", "Text", CellChangeTimes->{{3.446225017461371*^9, 3.446225059589571*^9}, { 3.455458635729906*^9, 3.4554586588176737`*^9}, 3.455458775707526*^9, { 3.455458820523913*^9, 3.455458828187969*^9}, {3.455458895900875*^9, 3.4554590475357018`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExpandAll", "[", RowBox[{"formalMcClureSummandsUNXP", "[", "2", "]"}], "]"}]], "Input", CellChangeTimes->{{3.455458663920352*^9, 3.455458683820509*^9}, { 3.455461730189695*^9, 3.455461794787665*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", RowBox[{ RowBox[{"-", "3"}], " ", RowBox[{"Eu", "[", "1", "]"}], " ", RowBox[{"f", "[", "1", "]"}], " ", RowBox[{"v", "[", "1", "]"}]}], ",", RowBox[{ RowBox[{"6", " ", SuperscriptBox[ RowBox[{"f", "[", "1", "]"}], "2"]}], "-", RowBox[{"3", " ", RowBox[{"Eu", "[", "1", "]"}], " ", RowBox[{"f", "[", "2", "]"}]}]}], ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]], "Output", CellChangeTimes->{{3.4554586759035807`*^9, 3.455458686015892*^9}, 3.455460389133849*^9, {3.455461733254299*^9, 3.455461795415391*^9}}] }, Open ]], Cell[TextData[StyleBox["This function is useful for checking the range of \ accuracy for MC_n, using the known ranges of accuracy for the a_i and the \ fact that EulerClassRed has no constant coefficient.", FontSlant->"Italic"]], "Text", CellChangeTimes->{{3.446225017461371*^9, 3.446225059589571*^9}, { 3.455458635729906*^9, 3.4554586588176737`*^9}, 3.455458775707526*^9, { 3.455458820523913*^9, 3.455458828187969*^9}, {3.455458895900875*^9, 3.4554590708151083`*^9}}], Cell["\<\ Finally, we have the function 'McClure[n]', which computes our MC_n(\\xi)\ \>", "Text", CellChangeTimes->{{3.446225017461371*^9, 3.446225059589571*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"McClure", "[", "1", "]"}]], "Input", CellChangeTimes->{{3.445954092376358*^9, 3.445954104409535*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]], "Output", CellChangeTimes->{{3.445954097868877*^9, 3.445954104927861*^9}, 3.446380141966672*^9, 3.44638119438384*^9, 3.4554604027814837`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"McClure", "[", "4", "]"}]], "Input", CellChangeTimes->{{3.4462252722508*^9, 3.446225276211834*^9}, { 3.446225317548909*^9, 3.446225317997856*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "60", ",", "0", ",", RowBox[{"20", " ", RowBox[{"v", "[", "1", "]"}]}], ",", "0", ",", RowBox[{ RowBox[{"-", "45"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{"10", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "165"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "+", RowBox[{"20", " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "230"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "-", RowBox[{"90", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "490"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"70", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}]], "Output", CellChangeTimes->{3.44622527752747*^9, 3.446225320621477*^9, 3.446380143201311*^9, 3.446381200341792*^9, 3.455460398294037*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"McClure", "[", RowBox[{"pVal", "-", "1"}], "]"}]], "Input", CellChangeTimes->{{3.445954000759108*^9, 3.445954011105836*^9}, { 3.44595407368032*^9, 3.445954083400838*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0", ",", "0", ",", RowBox[{"-", "6"}], ",", "0", ",", RowBox[{"v", "[", "1", "]"}], ",", "0", ",", RowBox[{"4", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "5"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{"5", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"3", " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "+", RowBox[{"4", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"10", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"-", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "7"]}], "+", RowBox[{ SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}]}]}], "}"}]], "Output", CellChangeTimes->{ 3.445954083821456*^9, 3.4463801443395157`*^9, 3.446381202513116*^9, { 3.455460392227501*^9, 3.455460405389988*^9}}] }, Open ]], Cell["Nicely formated output can be given by 'PrettyMcClure'", "Text", CellChangeTimes->{{3.4462251457733297`*^9, 3.44622518399035*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PrettyMcClure", "[", RowBox[{"pVal", "-", "1"}], "]"}]], "Input", CellChangeTimes->{{3.446225186185092*^9, 3.446225193634796*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"-", "6"}], " ", SuperscriptBox["\[Xi]", "2"]}], "+", RowBox[{ SuperscriptBox["\[Xi]", "4"], " ", SubscriptBox["v", "1"]}], "+", RowBox[{"4", " ", SuperscriptBox["\[Xi]", "6"], " ", SubsuperscriptBox["v", "1", "2"]}], "-", RowBox[{"5", " ", SuperscriptBox["\[Xi]", "8"], " ", SubsuperscriptBox["v", "1", "3"]}], "+", RowBox[{ SuperscriptBox["\[Xi]", "10"], " ", RowBox[{"(", RowBox[{ RowBox[{"5", " ", SubsuperscriptBox["v", "1", "4"]}], "-", RowBox[{"3", " ", SubscriptBox["v", "2"]}]}], ")"}]}], "+", RowBox[{ SuperscriptBox["\[Xi]", "12"], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", SubsuperscriptBox["v", "1", "5"]}], "+", RowBox[{"4", " ", SubscriptBox["v", "1"], " ", SubscriptBox["v", "2"]}]}], ")"}]}], "+", RowBox[{ SuperscriptBox["\[Xi]", "14"], " ", RowBox[{"(", RowBox[{ RowBox[{"10", " ", SubsuperscriptBox["v", "1", "6"]}], "-", RowBox[{ SubsuperscriptBox["v", "1", "2"], " ", SubscriptBox["v", "2"]}]}], ")"}]}], "+", RowBox[{ SuperscriptBox["\[Xi]", "16"], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SubsuperscriptBox["v", "1", "7"]}], "+", RowBox[{ SubsuperscriptBox["v", "1", "3"], " ", SubscriptBox["v", "2"]}]}], ")"}]}]}]], "Output", CellChangeTimes->{3.446225194966258*^9, 3.4463801461673107`*^9, 3.446381204571451*^9, 3.4554604069344473`*^9}] }, Open ]], Cell["\<\ We check whether the McClure series is 0 modulo the reduced p-series\ \>", "Text", CellChangeTimes->{{3.446225200017828*^9, 3.446225244122367*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PrettyRedMcClure", "[", "4", "]"}]], "Input", CellChangeTimes->{{3.446225285091773*^9, 3.4462252908687973`*^9}, { 3.446225325542*^9, 3.4462253258769207`*^9}}], Cell[BoxData["0"], "Output", CellChangeTimes->{3.446225292701912*^9, 3.446225326947891*^9, 3.446380148474609*^9, 3.44638120639242*^9, 3.455460409109425*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PrettyRedMcClure", "[", RowBox[{"pVal", "-", "1"}], "]"}]], "Input", CellChangeTimes->{{3.4462252577857933`*^9, 3.4462252659538*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ SuperscriptBox["\[Xi]", "8"], " ", SubsuperscriptBox["v", "1", "3"]}], "+", RowBox[{"2", " ", SuperscriptBox["\[Xi]", "16"], " ", SubsuperscriptBox["v", "1", "7"]}], "+", RowBox[{"2", " ", SuperscriptBox["\[Xi]", "10"], " ", SubscriptBox["v", "2"]}], "+", RowBox[{"2", " ", SuperscriptBox["\[Xi]", "14"], " ", SubsuperscriptBox["v", "1", "2"], " ", SubscriptBox["v", "2"]}], "+", RowBox[{ SuperscriptBox["\[Xi]", "12"], " ", RowBox[{"(", RowBox[{ SubsuperscriptBox["v", "1", "5"], "+", RowBox[{ SubscriptBox["v", "1"], " ", SubscriptBox["v", "2"]}]}], ")"}]}]}]], "Output", CellChangeTimes->{3.446225267153652*^9, 3.4463801495553207`*^9, 3.446381207679371*^9, 3.455460410047106*^9}] }, Open ]], Cell["\<\ We also have a function explicitly for calculating the first obstruction, \ since this is the first term of interest. MC_{2(p-1)} is always divisible by (2p-1)EulerClass^{2p-4}, so this function \ divides MC_{2(p-1)} by this factor before performing the rest of the \ calculations. This decreases the range of accuracy by (p-1), but shows \ non-zero values sooner (for p > 2).\ \>", "Text", CellChangeTimes->{{3.446225200017828*^9, 3.446225244122367*^9}, { 3.455459151048678*^9, 3.455459387530912*^9}, {3.455459440598008*^9, 3.455459577697818*^9}, {3.455461249590083*^9, 3.4554612565387373`*^9}, { 3.455461361471655*^9, 3.4554613670201283`*^9}}], Cell[CellGroupData[{ Cell[BoxData["FirstObstruction"], "Input", CellChangeTimes->{{3.455459189230777*^9, 3.4554591927385807`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"3", ",", "0", ",", RowBox[{ RowBox[{"-", "2"}], " ", RowBox[{"v", "[", "1", "]"}]}], ",", "0", ",", RowBox[{"-", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"]}], ",", "0", ",", RowBox[{ RowBox[{"-", "4"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "6"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"]}], "-", RowBox[{"2", " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "6"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "5"]}], "-", RowBox[{"2", " ", RowBox[{"v", "[", "1", "]"}], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "8"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "6"]}], "-", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "2"], " ", RowBox[{"v", "[", "2", "]"}]}]}], ",", "0", ",", RowBox[{ RowBox[{"-", "8"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "3"], " ", RowBox[{"v", "[", "2", "]"}]}], ",", "0", ",", RowBox[{ RowBox[{ RowBox[{"-", "13"}], " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "8"]}], "-", RowBox[{"4", " ", SuperscriptBox[ RowBox[{"v", "[", "1", "]"}], "4"], " ", RowBox[{"v", "[", "2", "]"}]}], "-", SuperscriptBox[ RowBox[{"v", "[", "2", "]"}], "2"]}]}], "}"}]], "Output", CellChangeTimes->{3.4554591941349287`*^9, 3.455460413362509*^9}] }, Open ]], Cell["\<\ The 'Unk' in the last term comes from the unknown last term of the reduced \ p-series.\ \>", "Text", CellChangeTimes->{{3.446225200017828*^9, 3.446225244122367*^9}, { 3.455459151048678*^9, 3.455459387530912*^9}, {3.455459440598008*^9, 3.455459577697818*^9}, {3.455460439057424*^9, 3.455460463992457*^9}}], Cell[CellGroupData[{ Cell[BoxData["FirstObstructionRed"], "Input", CellChangeTimes->{{3.4554595804857683`*^9, 3.455459584479414*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", RowBox[{"2", " ", "Unk"}]}], "}"}]], "Output", CellChangeTimes->{3.455459584989243*^9, 3.455460414700635*^9}] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Exercises", "Section", CellChangeTimes->{{3.446225504328142*^9, 3.446225506818556*^9}}], Cell[CellGroupData[{ Cell["\<\ At the prime 2, McClure[2] is non-zero modulo the reduced 2-series\ \>", "ItemNumbered", CellChangeTimes->{{3.446225524108451*^9, 3.446225538051249*^9}, { 3.446225592446774*^9, 3.44622561911023*^9}, {3.455460489569457*^9, 3.455460496312742*^9}, {3.455460538537429*^9, 3.455460540073346*^9}, 3.4554611318181334`*^9}], Cell["\<\ At the prime 3, McClure[4] is non-zero modulo the reduced 3-series\ \>", "ItemNumbered", CellChangeTimes->{{3.446225621426296*^9, 3.446225645048909*^9}, { 3.455460543881654*^9, 3.4554605660017357`*^9}, {3.4554610566160088`*^9, 3.45546106201616*^9}, 3.455461133713732*^9}], Cell["\<\ At the prime 5, find n such that McClure[n] is non-zero modulo the reduced \ 5-series\ \>", "ItemNumbered", CellChangeTimes->{{3.4462256601942797`*^9, 3.44622566421334*^9}, { 3.446225722526381*^9, 3.4462257433216143`*^9}}] }, Open ]] }, Open ]] }, Open ]] }, AutoGeneratedPackage->Automatic, WindowSize->{974, 771}, WindowMargins->{{Automatic, 104}, {Automatic, 18}}, PrintingPageRange->{Automatic, Automatic}, PrintingOptions->{"Magnification"->1., "PaperOrientation"->"Portrait", "PaperSize"->{611.28, 789.57}, "PostScriptOutputFile"->"McClureDefs-ug.ps"}, FrontEndVersion->"7.0 for Linux x86 (64-bit) (November 11, 2008)", StyleDefinitions->Notebook[{ Cell[ StyleData[StyleDefinitions -> "Default.nb"]], Cell[ StyleData["Text"], Background -> GrayLevel[0.85]]}, Visible -> False, FrontEndVersion -> "7.0 for Linux x86 (64-bit) (November 11, 2008)", StyleDefinitions -> "PrivateStylesheetFormatting.nb"] ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[567, 22, 397, 5, 85, "Title"], Cell[967, 29, 536, 11, 85, "Subtitle"], Cell[1506, 42, 206, 4, 49, "Text"], Cell[1715, 48, 1107, 23, 147, "Text"], Cell[CellGroupData[{ Cell[2847, 75, 162, 2, 73, "Section"], Cell[3012, 79, 974, 19, 227, "Text"], Cell[3989, 100, 731, 15, 107, "Text"], Cell[4723, 117, 675, 12, 77, "Input"], Cell[5401, 131, 234, 5, 47, "Text"], Cell[CellGroupData[{ Cell[5660, 140, 114, 1, 39, "Subsection"], Cell[5777, 143, 323, 8, 87, "Text"], Cell[CellGroupData[{ Cell[6125, 155, 104, 1, 32, "Input"], Cell[6232, 158, 506, 14, 31, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[6775, 177, 185, 3, 32, "Input"], Cell[6963, 182, 601, 11, 31, "Output"] }, Open ]], Cell[7579, 196, 190, 4, 47, "Text"], Cell[CellGroupData[{ Cell[7794, 204, 184, 3, 32, "Input"], Cell[7981, 209, 4945, 145, 122, "Output"] }, Open ]], Cell[12941, 357, 186, 4, 67, "Text"], Cell[CellGroupData[{ Cell[13152, 365, 138, 3, 32, "Input"], Cell[13293, 370, 422, 8, 31, "Output"] }, Open ]], Cell[13730, 381, 202, 5, 67, "Text"], Cell[CellGroupData[{ Cell[13957, 390, 223, 4, 32, "Input"], Cell[14183, 396, 1656, 47, 77, "Output"] }, Open ]], Cell[15854, 446, 378, 7, 87, "Text"], Cell[CellGroupData[{ Cell[16257, 457, 173, 3, 32, "Input"], Cell[16433, 462, 660, 19, 46, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[17130, 486, 167, 3, 32, "Input"], Cell[17300, 491, 512, 16, 48, "Output"] }, Open ]], Cell[17827, 510, 468, 9, 67, "Text"], Cell[CellGroupData[{ Cell[18320, 523, 113, 1, 32, "Input"], Cell[18436, 526, 134, 2, 31, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[18607, 533, 111, 1, 32, "Input"], Cell[18721, 536, 567, 18, 46, "Output"] }, Open ]], Cell[19303, 557, 256, 5, 47, "Text"], Cell[CellGroupData[{ Cell[19584, 566, 159, 2, 32, "Input"], Cell[19746, 570, 1561, 45, 56, "Output"] }, Open ]], Cell[21322, 618, 233, 3, 47, "Text"], Cell[CellGroupData[{ Cell[21580, 625, 113, 1, 32, "Input"], Cell[21696, 628, 1427, 44, 56, "Output"] }, Open ]], Cell[23138, 675, 804, 13, 147, "Text"], Cell[CellGroupData[{ Cell[23967, 692, 441, 9, 32, "Input"], Cell[24411, 703, 13910, 406, 309, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[38370, 1115, 123, 1, 39, "Subsection"], Cell[38496, 1118, 566, 10, 87, "Text"], Cell[CellGroupData[{ Cell[39087, 1132, 189, 3, 32, "Input"], Cell[39279, 1137, 17122, 503, 330, "Output"] }, Open ]], Cell[56416, 1643, 719, 14, 107, "Text"], Cell[CellGroupData[{ Cell[57160, 1661, 189, 3, 32, "Input"], Cell[57352, 1666, 210, 4, 31, "Output"] }, Open ]], Cell[57577, 1673, 356, 6, 47, "Text"], Cell[CellGroupData[{ Cell[57958, 1683, 104, 1, 32, "Input"], Cell[58065, 1686, 1558, 45, 56, "Output"] }, Open ]], Cell[59638, 1734, 628, 11, 87, "Text"], Cell[CellGroupData[{ Cell[60291, 1749, 124, 2, 32, "Input"], Cell[60418, 1753, 1520, 45, 56, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[61987, 1804, 114, 1, 39, "Subsection"], Cell[62104, 1807, 653, 13, 127, "Text"], Cell[62760, 1822, 528, 8, 67, "Text"], Cell[63291, 1832, 542, 9, 67, "Text"], Cell[CellGroupData[{ Cell[63858, 1845, 221, 4, 32, "Input"], Cell[64082, 1851, 925, 26, 33, "Output"] }, Open ]], Cell[65022, 1880, 482, 8, 47, "Text"], Cell[CellGroupData[{ Cell[65529, 1892, 251, 5, 32, "Input"], Cell[CellGroupData[{ Cell[65805, 1901, 103, 1, 24, "Print"], Cell[65911, 1904, 2157, 56, 65, "Print"], Cell[68071, 1962, 100, 1, 24, "Print"], Cell[68174, 1965, 2024, 53, 45, "Print"], Cell[70201, 2020, 2022, 53, 45, "Print"], Cell[72226, 2075, 1954, 50, 45, "Print"], Cell[74183, 2127, 1922, 49, 45, "Print"], Cell[76108, 2178, 1914, 49, 45, "Print"] }, Open ]] }, Open ]], Cell[78049, 2231, 417, 8, 67, "Text"], Cell[CellGroupData[{ Cell[78491, 2243, 194, 3, 32, "Input"], Cell[78688, 2248, 6239, 154, 300, "Output"] }, Open ]], Cell[84942, 2405, 169, 4, 47, "Text"], Cell[CellGroupData[{ Cell[85136, 2413, 107, 1, 32, "Input"], Cell[85246, 2416, 1029, 27, 33, "Output"] }, Open ]], Cell[86290, 2446, 132, 1, 47, "Text"], Cell[CellGroupData[{ Cell[86447, 2451, 128, 2, 32, "Input"], Cell[86578, 2455, 538, 11, 33, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[87165, 2472, 100, 1, 39, "Subsection"], Cell[87268, 2475, 212, 4, 47, "Text"], Cell[87483, 2481, 218, 5, 47, "Text"], Cell[CellGroupData[{ Cell[87726, 2490, 99, 1, 32, "Input"], Cell[87828, 2493, 814, 21, 31, "Output"] }, Open ]], Cell[88657, 2517, 382, 8, 87, "Text"], Cell[CellGroupData[{ Cell[89064, 2529, 110, 1, 32, "Input"], Cell[89177, 2532, 1467, 41, 52, "Output"] }, Open ]], Cell[90659, 2576, 189, 4, 47, "Text"], Cell[CellGroupData[{ Cell[90873, 2584, 137, 2, 32, "Input"], Cell[91013, 2588, 9793, 302, 217, "Output"] }, Open ]], Cell[100821, 2893, 210, 4, 47, "Text"], Cell[CellGroupData[{ Cell[101056, 2901, 374, 10, 32, "Input"], Cell[101433, 2913, 376, 8, 31, "Output"] }, Open ]], Cell[101824, 2924, 429, 8, 87, "Text"], Cell[CellGroupData[{ Cell[102278, 2936, 229, 4, 32, "Input"], Cell[102510, 2942, 648, 17, 33, "Output"] }, Open ]], Cell[103173, 2962, 480, 7, 67, "Text"], Cell[103656, 2971, 163, 3, 47, "Text"], Cell[CellGroupData[{ Cell[103844, 2978, 126, 2, 32, "Input"], Cell[103973, 2982, 371, 7, 31, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[104381, 2994, 173, 3, 32, "Input"], Cell[104557, 2999, 1269, 37, 56, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[105863, 3041, 200, 4, 32, "Input"], Cell[106066, 3047, 1405, 43, 56, "Output"] }, Open ]], Cell[107486, 3093, 137, 1, 47, "Text"], Cell[CellGroupData[{ Cell[107648, 3098, 158, 3, 32, "Input"], Cell[107809, 3103, 1529, 50, 33, "Output"] }, Open ]], Cell[109353, 3156, 158, 3, 47, "Text"], Cell[CellGroupData[{ Cell[109536, 3163, 185, 3, 32, "Input"], Cell[109724, 3168, 160, 2, 31, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[109921, 3175, 161, 3, 32, "Input"], Cell[110085, 3180, 804, 24, 33, "Output"] }, Open ]], Cell[110904, 3207, 665, 12, 107, "Text"], Cell[CellGroupData[{ Cell[111594, 3223, 110, 1, 32, "Input"], Cell[111707, 3226, 1668, 53, 56, "Output"] }, Open ]], Cell[113390, 3282, 320, 6, 47, "Text"], Cell[CellGroupData[{ Cell[113735, 3292, 113, 1, 32, "Input"], Cell[113851, 3295, 324, 7, 31, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[114236, 3309, 94, 1, 73, "Section"], Cell[CellGroupData[{ Cell[114355, 3314, 337, 6, 26, "ItemNumbered"], Cell[114695, 3322, 289, 5, 26, "ItemNumbered"], Cell[114987, 3329, 235, 5, 26, "ItemNumbered"] }, Open ]] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)