(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.0' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 612485, 16616]*) (*NotebookOutlinePosition[ 636088, 17359]*) (* CellTagsIndexPosition[ 630345, 17175]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["TARCER 1.97", "Title", TextAlignment->Center, CellTags->"T1.1"], Cell[TextData[{ "A ", StyleBox["Mathematica", FontSlant->"Italic"], " program for the reduction of two-loop propagator integrals " }], "Text", TextAlignment->Center], Cell[TextData[{ "Rolf Mertig\n", ButtonBox["Mertig Research & Consulting\n", ButtonData:>{ URL[ "http://www.mertig.com"], None}, ButtonStyle->"Hyperlink"], "and\nRainer Scharf\n", ButtonBox["Universit\[ADoubleDot]t Leipzig", ButtonData:>{ URL[ "http://www.physik.uni-leipzig.de/~scharf/"], None}, ButtonStyle->"Hyperlink"] }], "Text", Editable->False, TextAlignment->Center, CellTags->"T1.2"], Cell["18th September, 2003", "Text", TextAlignment->Center], Cell["\<\ COMMENTS (RM 18.9.2003): Fixed things for 5.0, eliminated a TVI \ symmetry (causing infinite recursion) and added TFI decomposition into products of TAI's (was somehow missing but shows up \ in, e.g., the 2-loop Higss selfenergy). Putting TFI back into the Tarcer context, because the fcloops context created \ trouble ... Changed default of $Comment to False.\ \>", "Text"], Cell["\<\ COMMENTS (FO 8.9.2002.): Changed context of TFI to \ HighEnergyPhysics`fcloops`TFI` and updated other HighEnergyPhysics`* \ contexts.\ \>", "Text"], Cell["\<\ COMMENTS (FO 15.3.2001.): Changed PreFactor into Prefactor1 to \ avoid conflict with FeynArts and FeynCalc.\ \>", "Text"], Cell["\<\ COMMENTS (FO 15.3.2001.): Changed context of Zeta2 and made \ definition dependent on not having loaded FeynCalc.\ \>", "Text"], Cell[TextData[{ "COMMENTS (RM 25.4.): ", ButtonBox["TFISimplify", ButtonData:>"T1.7.1.1", ButtonStyle->"Hyperlink"], " (like TFIRecurse, but without trule[9])." }], "Text"], Cell[TextData[{ "COMMENTS (RM 23.4.): bug fixed in ", ButtonBox["tlrule[17]", ButtonData:>"tlrule17", ButtonStyle->"Hyperlink"], "." }], "Text"], Cell[TextData[{ "COMMENTS (RM 6.4.): ", ButtonBox["special TVR relations", ButtonData:>"specialTVR", ButtonStyle->"Hyperlink"], " added to TVR." }], "Text"], Cell[TextData[{ "COMMENTS (RM 22.3.): ", ButtonBox["TVI Symmetry", ButtonData:>"Tsymmetry", ButtonStyle->"Hyperlink"], " added to TVR." }], "Text"], Cell[TextData[{ "COMMENTS (RM 18.3.): More rules added to ", ButtonBox["$TTable", ButtonData:>"$TTable", ButtonStyle->"Hyperlink"], ". " }], "Text"], Cell[TextData[{ "COMMENTS (RM 18.2.): More rules added to ", ButtonBox["$TTable", ButtonData:>"$TTable", ButtonStyle->"Hyperlink"], ". " }], "Text"], Cell[TextData[{ "COMMENTS (RM 21.2.): Included ", ButtonBox["$TTable", ButtonData:>"$TTable", ButtonStyle->"Hyperlink"], ". added tlrule[25]" }], "Text"], Cell["\<\ COMMENTS (RM 20.2.): $RankLimit = {0,6} ; Changed TarcerRecurse \ such that special TJR and TVR (reducing D -> D-2) are used first.\ \>", "Text"], Cell["\<\ COMMENTS (RM 15.2.): $RankLimit = {0,8} ; The following test now works: Print[\"test 1 : TFI[D, pp, \ {0, 0, 0, 1, 3}, {{1, MW}, {1, MZ}, {0, 0}, {1, MZ}, {1,MW}}] = \", Timing[t1 \ =TarcerRecurse[TFI[D, pp, {0, 0, 0, 1, 3}, {{1, MW}, {1, MZ}, {0, 0}, {1, \ MZ}, {1,MW}}]] ] // \ InputForm ] Print[\"test 2 : TFI[d, \ pp, 0, {0, 0, 0, 0, 4},{{1, m1}, {1, m2}, 0, 0, 0}] = \", Timing[t2 \ =TarcerRecurse[TFI[D, pp, 0, {0, 0, 0, 0, 4},{{1, m1}, {1, m2}, 0, 0, 0}]]; ] // \ InputForm ] \ \>", "Text"], Cell["\<\ COMMENTS (RM 13.2.): tlrule[11] and trule[12] made more \ restrictive: inhibiting thus a recursion if {n5,m5} equals {0,0}.\ \>", "Text"], Cell["\<\ COMMENTS (RM 12.2.): tlrule[15] made safer (in order to not get 0 \ :> 0 ); TFIRecurse made safer (to not \ get into a recursion); There is still something \ wrong with the tlrule's ; since TFIRecurse[TFI[D, pp, {0, 0, 0, 1, \ 3}, {{1, MW}, {1, MZ}, {0, 0}, {1, MZ}, {1, MW}}]] doesn't work ..\ \>", "Text"], Cell["\<\ COMMENTS (RM 5.2.): tlrule[10] slightly changed to cover more \ cases.\ \>", "Text"], Cell["\<\ COMMENTS (RM 2.2.): FunctionExpand added in tlrule[9]. Option \ TimeConstraint added to TarcerRecurse (because TimeConstrained is buggy under \ Linux).\ \>", "Text"], Cell[TextData[{ "COMMENTS (RM 1.2.): Changed TarcerRecurse. New TLR ", ButtonBox["definition", ButtonData:>"TLRdef", ButtonStyle->"Hyperlink"], ". \n default $RankLimit={0,6};" }], "Text"], Cell[BoxData[ \($Remember = False; \)], "Input"], Cell["\<\ COMMENTS (RM 19.1.): changes are: tlrule[22] and tlrule[23], \ minor efficiency changes (Expand3 = Identity) and other small programming \ optimizations.\ \>", "Text"], Cell["\<\ COMMENTS (RM 22.1.): changes are: bug in tlrule[23] fixed, new \ tlrule[24], new option Factor to TarcerReduce (doesn't change anything by \ default, but allows for improved Factor-ing).\ \>", "Text"], Cell[TextData[{ "See also: ", ButtonBox["hep-ph/9801383", ButtonData:>{ URL[ "http://xxx.lanl.gov/abs/hep-ph/9801383"], None}, ButtonStyle->"Hyperlink"], ", published in Comput. Phys. Commun. 111 (1998) 265-273" }], "Text", Editable->False], Cell[CellGroupData[{ Cell["Table of contents", "Section", CellDingbat->"\[FilledSmallCircle]"], Cell[TextData[ButtonBox["Preliminaries", ButtonData:>"T1.1.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Usages", ButtonData:>"T1.2.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Creating the tarcerij.mx file", ButtonData:>"T1.2.1.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Prologue (setting of $RankLimit)", ButtonData:>"T1.3.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Typesetting rules", ButtonData:>"T1.3.1.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["The Palettes", ButtonData:>"T1.3.2.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["OperatorApply", ButtonData:>"T1.3.3.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MassDerivative", ButtonData:>"T1.3.4.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["TarasovT", ButtonData:>"T1.3.5.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["ApplyTarasovT", ButtonData:>"T1.3.6.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Misc", ButtonData:>"T1.3.7.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Colors", ButtonData:>"T1.3.7.1.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["PQ", ButtonData:>"T1.3.7.2.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["PNQ", ButtonData:>"T1.3.7.3.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["FactorC", ButtonData:>"T1.3.7.4.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["TFI", ButtonData:>"T1.3.7.5.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["TJI", ButtonData:>"T1.3.7.6.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["TBI", ButtonData:>"T1.3.7.7.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["TAI", ButtonData:>"T1.3.7.8.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["Definitions and notation", ButtonData:>"T1.4.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[StyleBox[ButtonBox["ToArgs", ButtonData:>"T1.4.1.1", ButtonStyle->"Hyperlink"], FontColor->RGBColor[0.2, 0.6, 1]]], "Text"], Cell[TextData[StyleBox[ButtonBox["Cayley", ButtonData:>"T1.4.2.1", ButtonStyle->"Hyperlink"], FontColor->RGBColor[1, 0, 0.4]]], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{ RowBox[{ StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]], "[", "i", "]"}], "=", \(\[CapitalDelta]\_i\)}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.4.3.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TextForm]]]], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{ RowBox[{ StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]], "[", "i", "]"}], "=", \(\[CapitalDelta]\_i/\[CapitalDelta]\)}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.4.4.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TextForm]]]], "Text"], Cell[TextData[ButtonBox["Utility Functions", ButtonData:>"T1.5.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun and friends", ButtonData:>"T1.5.1.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Interchange", ButtonData:>"T1.5.1.1.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[{ ButtonBox["\[Nu]", ButtonData:>"T1.5.2.1", ButtonStyle->"Hyperlink"], ButtonBox["explicit", ButtonData:>"T1.5.2.1", ButtonStyle->"Hyperlink"] }], "Text"], Cell[TextData[ButtonBox["TA", ButtonData:>"T1.5.2.1.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["CheckRecursion", ButtonData:>"T1.5.3.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["CheckTVIRecursion", ButtonData:>"T1.5.3.1.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["CheckTJIRecursion", ButtonData:>"T1.5.3.2.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["Recurrence Relations Input and Recursion Function \ Generation", ButtonData:>"T1.6.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (35)", ButtonData:>"T1.6.1.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (35)", ButtonData:>"T1.6.2.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{ FormBox[\(1\^\(\(+\)\(\ \)\)\), "TraditionalForm"], \(\(\ \)\((\(35 _\) 1)\)\)}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.2.1.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "SmallText"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{ FormBox[\(2\^\(\(+\)\(\ \)\)\), "TraditionalForm"], \(\(\ \)\((\(35 _\) 2)\)\)}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.2.2.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "SmallText"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{ FormBox[\(3\^\(\(+\)\(\ \)\)\), "TraditionalForm"], \(\(\ \)\((\(35 _\) 3)\)\)}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.2.3.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "SmallText"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{ FormBox[\(4\^\(\(+\)\(\ \)\)\), "TraditionalForm"], \(\(\ \)\((\(35 _\) 4)\)\)}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.2.4.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "SmallText"], Cell[TextData[ButtonBox["Input (3501)", ButtonData:>"T1.6.3.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{\(\(MakeFun\ \((3501)\)\ \[CapitalDelta]\)\(=\)\(0\)\(\ \ \)\), FormBox[\((p\^2 = m\^2)\), "TraditionalForm"]}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.4.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "Text"], Cell[TextData[ButtonBox["Input (3502)", ButtonData:>"T1.6.5.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{\(\(MakeFun\ \((3502)\)\ \[CapitalDelta]\)\(=\)\(0\)\(\ \ \)\), FormBox[\((p\^2 = m\^2)\), "TraditionalForm"]}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.6.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{\(\(MakeFun\ \((3503)\)\ \[CapitalDelta]\)\(=\)\(0\)\(\ \ \)\), FormBox[\((p\^2 = m\^2)\), "TraditionalForm"]}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.7.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ ButtonBox[ StyleBox[ RowBox[{\(\(MakeFun\ \((3504)\)\ \[CapitalDelta]\)\(=\)\(0\)\(\ \ \)\), FormBox[\((p\^2 = m\^2)\), "TraditionalForm"]}], SingleLetterItalics->False], ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), ButtonData:>"T1.6.8.1", Active->True, Background->GrayLevel[1], ButtonNote->ButtonData], TraditionalForm]]]], "Text"], Cell[TextData[ButtonBox["Input (41)", ButtonData:>"T1.6.9.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (41)", ButtonData:>"T1.6.10.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (43)", ButtonData:>"T1.6.11.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (44)", ButtonData:>"T1.6.12.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (45)", ButtonData:>"T1.6.13.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (43) and (44)", ButtonData:>"T1.6.14.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (50)", ButtonData:>"T1.6.15.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (51)", ButtonData:>"T1.6.16.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (51)", ButtonData:>"T1.6.17.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (52)", ButtonData:>"T1.6.18.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (52)", ButtonData:>"T1.6.19.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (53)", ButtonData:>"T1.6.20.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (54)", ButtonData:>"T1.6.21.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (54)", ButtonData:>"T1.6.22.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (55)", ButtonData:>"T1.6.23.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (55)", ButtonData:>"T1.6.24.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (56)", ButtonData:>"T1.6.25.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (56)", ButtonData:>"T1.6.26.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (59)", ButtonData:>"T1.6.27.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (59)", ButtonData:>"T1.6.28.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (60)", ButtonData:>"T1.6.29.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (60)", ButtonData:>"T1.6.30.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (61)", ButtonData:>"T1.6.31.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (61)", ButtonData:>"T1.6.32.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (6153)", ButtonData:>"T1.6.33.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (62)", ButtonData:>"T1.6.34.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (62)", ButtonData:>"T1.6.35.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (63)", ButtonData:>"T1.6.36.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (63)", ButtonData:>"T1.6.37.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (6552)", ButtonData:>"T1.6.38.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (6552)", ButtonData:>"T1.6.39.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (6553)", ButtonData:>"T1.6.40.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (66)", ButtonData:>"T1.6.41.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (66)", ButtonData:>"T1.6.42.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (alternative67)", ButtonData:>"T1.6.43.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (67)", ButtonData:>"T1.6.44.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (67)", ButtonData:>"T1.6.45.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (6713)", ButtonData:>"T1.6.46.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (68)", ButtonData:>"T1.6.47.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (68)", ButtonData:>"T1.6.48.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (6813)", ButtonData:>"T1.6.49.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (70)", ButtonData:>"T1.6.50.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (70)", ButtonData:>"T1.6.51.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (71)", ButtonData:>"T1.6.52.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (71)", ButtonData:>"T1.6.53.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (7123)", ButtonData:>"T1.6.54.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (7113)", ButtonData:>"T1.6.55.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (78)", ButtonData:>"T1.6.56.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (78)", ButtonData:>"T1.6.57.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (80)", ButtonData:>"T1.6.58.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (80)", ButtonData:>"T1.6.59.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (81)", ButtonData:>"T1.6.60.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (81)", ButtonData:>"T1.6.61.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (8123)", ButtonData:>"T1.6.62.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (8113)", ButtonData:>"T1.6.63.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (82)", ButtonData:>"T1.6.64.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (82)", ButtonData:>"T1.6.65.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (8213)", ButtonData:>"T1.6.66.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (8212)", ButtonData:>"T1.6.67.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (83)", ButtonData:>"T1.6.68.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (83)", ButtonData:>"T1.6.69.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (87)", ButtonData:>"T1.6.70.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["(88)", ButtonData:>"T1.6.70.1.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["(89)", ButtonData:>"T1.6.70.2.1", ButtonStyle->"Hyperlink"]], "SmallText"], Cell[TextData[ButtonBox["MakeFun (87)", ButtonData:>"T1.6.71.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (90)", ButtonData:>"T1.6.72.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (90)", ButtonData:>"T1.6.73.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (91)", ButtonData:>"T1.6.74.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (911)", ButtonData:>"T1.6.75.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (912)", ButtonData:>"T1.6.76.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (913)", ButtonData:>"T1.6.77.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (914)", ButtonData:>"T1.6.78.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (92)", ButtonData:>"T1.6.79.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (93)", ButtonData:>"T1.6.80.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (93)", ButtonData:>"T1.6.81.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (94)", ButtonData:>"T1.6.82.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (94)", ButtonData:>"T1.6.83.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (9401)", ButtonData:>"T1.6.84.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (9402)", ButtonData:>"T1.6.85.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (95)", ButtonData:>"T1.6.86.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (95)", ButtonData:>"T1.6.87.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (96)", ButtonData:>"T1.6.88.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (96)", ButtonData:>"T1.6.89.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (97)", ButtonData:>"T1.6.90.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (97)", ButtonData:>"T1.6.91.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (98)", ButtonData:>"T1.6.92.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (98)", ButtonData:>"T1.6.93.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (99)", ButtonData:>"T1.6.94.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (99)", ButtonData:>"T1.6.95.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (9912)", ButtonData:>"T1.6.96.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (9913)", ButtonData:>"T1.6.97.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (100)", ButtonData:>"T1.6.98.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (100)", ButtonData:>"T1.6.99.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (1002)", ButtonData:>"T1.6.100.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (1003)", ButtonData:>"T1.6.101.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (1004)", ButtonData:>"T1.6.102.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (1005)", ButtonData:>"T1.6.103.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (1006)", ButtonData:>"T1.6.104.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (150)", ButtonData:>"T1.6.105.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (150)", ButtonData:>"T1.6.106.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (151)", ButtonData:>"T1.6.107.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (151)", ButtonData:>"T1.6.108.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (152)", ButtonData:>"T1.6.109.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (152)", ButtonData:>"T1.6.110.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (153)", ButtonData:>"T1.6.111.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (153)", ButtonData:>"T1.6.112.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (200)", ButtonData:>"T1.6.113.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (200)", ButtonData:>"T1.6.114.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (201)", ButtonData:>"T1.6.115.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (202)", ButtonData:>"T1.6.116.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (203)", ButtonData:>"T1.6.117.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (204)", ButtonData:>"T1.6.118.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["MakeFun (205)", ButtonData:>"T1.6.119.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Input (1xxxx)", ButtonData:>"T1.6.120.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["five -> four", ButtonData:>"T1.6.121.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["four -> three", ButtonData:>"T1.6.122.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["three -> two", ButtonData:>"T1.6.123.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["two -> one", ButtonData:>"T1.6.124.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["TarcerRecurse and TFIRecurse", ButtonData:>"T1.7.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["TFIRecurse", ButtonData:>"T1.7.1.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["T*IS", ButtonData:>"T1.7.2.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["TComment", ButtonData:>"T1.7.3.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["TarcerRecurse", ButtonData:>"T1.7.4.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["TarcerExpand", ButtonData:>"T1.8.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Construct T's", ButtonData:>"T1.9.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["$BasisIntegrals", ButtonData:>"T1.10.1", ButtonStyle->"Hyperlink"]], "Text"], Cell[TextData[ButtonBox["Save", ButtonData:>"T1.9.1", ButtonStyle->"Hyperlink"]], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Preliminaries", "Section", CellDingbat->"\[FilledSmallCircle]", CellTags->"T1.1.1"], Cell[TextData[{ "This is free software.\nYou may use it, distribute it, change it, improve \ it, etc..\nIf you have ", StyleBox["Mathematica", FontSlant->"Italic"], " questions, ask them to support@wolfram.com or to your local ", StyleBox["Mathematica", FontSlant->"Italic"], " reseller." }], "SmallText", Editable->False], Cell["\<\ We consider the following type of integrals, where a,b,u,v,r,s,t \ are non-negative integers.\ \>", "Text"], Cell[TextData[{ Cell[BoxData[ \(TraditionalForm\`\(\(TFI\)\([\)\(d, p\^2, \[CapitalDelta]p, {a, b}, {u, v, r, s, t}\)\)\)]], ", ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ FormBox[\({{\[Nu]\_1, m\_1}, {\(\[Nu]\_2\)\(,\)\), "TraditionalForm"], \(m\_2\)}], "}"}], ",", \({\[Nu]\_3, m\_3}\), ",", \({\[Nu]\_4, m\_4}\), ",", \({\[Nu]\_5, m\_5}\)}], "}"}], "]"}], " ", "="}], " "}], TraditionalForm]]], "\n\n", Cell[BoxData[ \(TraditionalForm\`1\/\[Pi]\^d\)]], "\[Integral] \[Integral] ", Cell[BoxData[ FormBox[ FractionBox[ RowBox[{ FormBox[\(\(d\^d\) k\_1\ \(d\^d\) k\_2\ \(\((\[CapitalDelta]\[CenterDot] k\_1)\)\^a\) \((\[CapitalDelta]\[CenterDot]k\_1)\)\^b\ \), "TraditionalForm"], \(\((k\_1\%2)\)\^u\), \(\((k\_2\%2)\)\^v\), \ \(\((p\[CenterDot]k\_1)\)\^r\), \(\((p\[CenterDot] k\_2)\)\^s\), \(\((k\_1\[CenterDot] k\_2)\)\^t\)}], \(\(\(\(\(\(\([\)\(k\_1\%2 - m\_1\%2\)\(]\)\)\^\[Nu]\_1\)[ k\_2\%2 - m\_2\%2]\^\[Nu]\_2\)[\((k\_1 - p)\)\^2 - m\_3\%2]\^\[Nu]\_3\)[\((k\_2 - p)\)\^2 - m\_4\%2]\^\[Nu]\_4\)[\((k\_1 - k\_2)\)\^2 - m\_5\%2]\^\[Nu]\_5\)], TraditionalForm]]] }], "Text"], Cell["\<\ Putting the $Post = (#;)&; instruction after Unset[$Post] suppresses all output cells. Putting Unset[$Post] behind $Post=(#:)&; will produce a lot of typsetted reduction formulae.\ \>", "Text"], Cell[BoxData[ \(Unset[$Post]; \)], "Input"], Cell[BoxData[ \($Post\ = \ \((#; )\) &; \)], "Input"], Cell[BoxData[ \(If[$Notebooks =!= True, $Post\ = \ \((#; )\) &]; \)], "Input"], Cell[BoxData[ \($HistoryLength = 0; \)], "Input"], Cell["\<\ This determines the directory into which the resulting file \ tarcer.mx is written.\ \>", "Text"], Cell[BoxData[ \(If[$Notebooks, SetDirectory[ ToFileName[ First["\" /. NotebookInformation[InputNotebook[]]]]]]\)], "Input"], Cell[TextData[{ "Somehow ", StyleBox["Mathematica", FontSlant->"Italic"], " crashes on my (R.M.) good old NeXTStation if I don't open all cells first \ ...; this opens all cells automatically:" }], "SmallText"], Cell[BoxData[ \(If[$System === "\", SelectionMove[EvaluationNotebook[], All, Notebook]; FrontEndExecute[{FrontEnd`FrontEndToken[ EvaluationNotebook[], "\"]}]]\)], "Input"], Cell[BoxData[ \(Off[General::spell]; \)], "Input"], Cell[BoxData[ \(Off[General::spell1]; \)], "Input"], Cell[CellGroupData[{ Cell["Creating the tarcerij.mx file", "Subsubsection", CellTags->"T1.2.1.1"], Cell[TextData[{ "Running this notebook will produce a tarcerij.mx file where ij will be \ replaced by \nthe two number set by the variable $RankLimit (default 33). \n\ In the same directory as this notebook which can be loaded into ", StyleBox["Mathematica", FontSlant->"Italic"], " by <"Italic"], "as \nmyshellprompt> math -initfile tarcer33.mx" }], "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Usages", "Section", CellDingbat->"\[FilledSmallCircle]", CellTags->"T1.2.1"], Cell[BoxData[""], "Input"], Cell[BoxData[ \(\(BeginPackage["\"];\)\)], "Input"], Cell[BoxData[ \(TarcerRecurse::usage = "\"; \)], \ "Input"], Cell[BoxData[ \(TarcerExpand::usage = "\ (4+e), order] or \ TarcerExpand[epxr, d -> (4-e), order] or TarcerExpand[expr, d -> (4 - 2 \ om)substitutes integrals as specified by the option TarcerRules, and does a \ Laurent expansion in the variable around 0 at the right hand side of the \ second argument (i.e., you can use whatever convention you like ...). The \ same effect as TarcerExpand[TarcerRecurse[expr], ...] can be achieved by \ setting the option TarcerRecurse of TarcerExpand to True. TarcerExpand[expr, \ d -> (4+e)] is equivalent to TarcerExpand[expr, d -> (4+e), 0].\>"; \)], \ "Input"], Cell[BoxData[ \(TarcerReduce::usage = "\"; \)], "Input"], Cell[BoxData[ \(Cayley::usage = "\"; \)], "Input"], Cell[BoxData[ \(Cayleyu::usage = "\"; \)], "Input"], Cell[BoxData[ \(CayleyD::usage = "\"; \)], "Input"], Cell[BoxData[ \(Prefactor1::usage = "\"; \)], "Input"], Cell[BoxData[ \(SEpsilon::usage = "\"; \)], "Input"], Cell["\<\ TFI::\"usage\" = \"TFI[d, pp, {{n1,m1},{n2,m2},{n3,m3},{n4,m4},{n5,m5}}] is the 2-loop d-dimensional integral 1/( (q1^2 - m1^2)^n1 (q2^2 - m2^2)^n2 ((q1-p)^2 - m3^2)^n3 * ((q2-p)^2 - m4^2)^n4 ((q1-q2)^2 - m5^2)^n5 ) . TFI[d, pp, {x,y,z,v,w}, {{n1,m1},{n2,m2},{n3,m3},{n4,m4},{n5,m5}}] has as additional factors in the numerator (q1^2)^x*(q2^2)^y*(q1.p)^z* (q2.p)^v*(q1.q2)^w . TFI[d, pp, dp, {a,b}, {{n1,m1},{n2,m2},{n3,m3},{n4,m4},{n5,m5}}] has as additional factors in the numerator (OPEDelta.q1)^a * \ (OPEDelta.q2)^b; dp is (OPEDelta.p).\";\ \>", "Input"], Cell[BoxData[ \(TFIRecurse::usage = "\"; \)], "Input"], Cell[BoxData[ \(TFISimplify::usage = "\"; \)], "Input"], Cell[BoxData[ \(TVI::usage = "\"; \)], \ "Input"], Cell[BoxData[ \(TJI::usage = "\"; \)], "Input"], Cell[BoxData[ \(TKI::usage = "\"; \)], "Input"], Cell[BoxData[ \(TBI::usage = "\"; \)], \ "Input"], Cell[BoxData[ \(TAI::usage = "\"; \)], "Input"], Cell[BoxData[ \(TFR::usage = "\"; \)], "Input"], Cell[BoxData[ \(TVR::usage = "\"; \)], "Input"], Cell[BoxData[ \(TJR::usage = "\"; \)], "Input"], Cell[BoxData[ \(TBR::usage = "\"; \)], "Input"], Cell[BoxData[ \(TAR::usage = "\"; \)], "Input"], Cell[BoxData[ \($RankLimit::usage = "\<$RankLimit is the list of integers specifying \ the highest possible sums of exponents of scalar products; i.e., {a+b, r+s} \ means that at most (Delta.k1)^a * (Delta.k2)^2 * (p.k1)^r * (p.k2)^s in the \ numerator will be calculated (a,b,r,s have to be non-negative integares). \ $RankLimit has to be set in the TARCER.nb notebook. In the tarcer.mx file \ this is not possible anymore.\>"; \)], "Input"], Cell[BoxData[ \($TarcerRecursed::usage = "\"; \ \)], "Input"], Cell[BoxData[ \($BasisIntegrals::usage = "\<$BasisIntegrals is a list of some basis \ integrals. It is the default setting of TarcerReduce of TarcerExpand.\>"; \ \)], "Input"], Cell[BoxData[ \($Comment::usage = "\<$Comment can be set to True or False. If set to \ False no comments are generated.\>"; \)], "Input"], Cell[BoxData[ \($CommentNotebook::usage = "\<$Comment can be set to True or False. \ Setting it to True will generate a separate notebook (if and only if $Comment \ is True) where the used recursion relations are displayed.\>"; \)], "Input"], Cell[BoxData[ \($TTable::usage = "\<$TTable is a list of precomputed reductions. \ $TTable is the default setting of the option Table of TarcerRecurse. \>"; \ \)], "Input"], Cell[BoxData[ \(Begin["\<`Private`\>"]; \)], "Input"], Cell[BoxData[ \(Expand3 = Identity; \)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Prologue (setting of $RankLimit)", "Section", CellDingbat->"\[FilledSmallCircle]", CellTags->"T1.3.1"], Cell[TextData[{ "This sets the limit up to which the ", Cell[BoxData[ \(TraditionalForm\`T\)]], "-operators are constructed automatically, i.e., $RankLimit = {a+b, r+s} , \ concerning: ", Cell[BoxData[ \(TraditionalForm\`\(\(\((\[CapitalDelta]\[CenterDot] k\_1)\)\^a\)\(\ \)\)\)]], Cell[BoxData[ \(TraditionalForm\`\((\[CapitalDelta]\[CenterDot]k\_2)\)\^b\)]], " ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{"(", FormBox[\(p\[CenterDot]k\_1\), "TraditionalForm"], ")"}], "r"], TraditionalForm]]], Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{"(", FormBox[\(p\[CenterDot]k\_2\), "TraditionalForm"], ")"}], "s"], TraditionalForm]]] }], "Text"], Cell[BoxData[ \(\($RankLimit = {2, 6};\)\)], "Input"], Cell[BoxData[ \(\($RankLimit = {0, 6};\)\)], "Input"], Cell["Check recursion relations by changing False to True here:", "Text"], Cell[BoxData[ \($CheckRecursion = False; \)], "Input"], Cell["\<\ Change False to True for getting the input palettes for entering \ new recursion relations.\ \>", "Text"], Cell[BoxData[ \($PutPalettes = False; \)], "Input"], Cell[TextData[{ "Notice: Instead of using shift operators", Cell[BoxData[ FormBox[ RowBox[{ FormBox[ RowBox[{" ", StyleBox[\(1\^+\), FontWeight->"Bold"]}], "TraditionalForm"], ",", StyleBox[\(2\^+\), FontWeight->"Bold"]}], TraditionalForm]]], " etc. the \[Nu]-indices are colored blue; instead of ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[ RowBox[{" ", StyleBox[\(1\^-\), FontWeight->"Bold"]}], "TraditionalForm"], ",", StyleBox[\(2\^-\), FontWeight->"Bold"]}], TraditionalForm]]], " etc. the \[Nu]-indices are colored red." }], "Text"], Cell[CellGroupData[{ Cell["Typesetting rules", "Subsection", CellTags->"T1.3.1.1"], Cell[BoxData[ \(atime = AbsoluteTime[]; \)], "Input"], Cell[BoxData[ \(SEpsilon /: MakeBoxes[SEpsilon[d_], fmt_] := InterpretationBox @@ {StyleBox[ SubscriptBox["\", First[Variables[d]]], FontWeight \[Rule] "\"], SEpsilon[d], Editable \[Rule] False}\)], "Input"], Cell[BoxData[ \(MakeBoxes[SEpsilon[d_]\^n_, fmt_] := InterpretationBox @@ {StyleBox[ SubsuperscriptBox["\", First[Variables[d]], n], FontWeight \[Rule] "\"], SEpsilon[d], Editable \[Rule] False}\)], "Input"], Cell[BoxData[ \(Prefactor1 /: MakeBoxes[Prefactor1[d_], fmt_] := InterpretationBox @@ {MakeBoxes[d, fmt], Prefactor1[d], Editable -> False}\)], "Input"], Cell["\<\ Don't mess with the InterpretationBox's !! (important for the \ palette and OperatorApply).\ \>", "Text"], Cell[BoxData[ \(MakeBoxes[Schiebe[i_, pm_String]\ , fmt_] := InterpretationBox[ StyleBox[SuperscriptBox[i, pm], FontWeight -> "\"], Schiebe[i, pm], Editable -> True]\)], "Input"], Cell[BoxData[ \(CayleyD /: MakeBoxes[\(CayleyD[i_Integer]\)[args_], fmt_] := FractionBox[ SubscriptBox["\<\[CapitalDelta]\>", \ i], "\<\[CapitalDelta]\>"]; \)], "Input"], Cell[BoxData[ \(CayleyD /: MakeBoxes[\(CayleyD[i_Integer, j_Integer]\)[args_], fmt_] := FractionBox[ SubscriptBox["\<\[CapitalDelta]\>", 10\ i + j], "\<\[CapitalDelta]\>"]; \)], "Input"], Cell[BoxData[ \(CayleyD /: MakeBoxes[\(CayleyD[i_Integer, j_Integer, k_Integer]\)[args_], fmt_] := FractionBox[ SubscriptBox["\<\[CapitalDelta]\>", 100\ \ i + 10 j + k], "\<\[CapitalDelta]\>"]; \)], "Input"], Cell[BoxData[ \(Cayley /: MakeBoxes[\(Cayley[i_Integer]\)[args_], fmt_] := SubscriptBox["\<\[CapitalDelta]\>", \ i]; \)], "Input"], Cell[BoxData[ \(Cayley /: MakeBoxes[\(Cayley[i_Integer, j_Integer]\)[args_], fmt_] := SubscriptBox["\<\[CapitalDelta]\>", 10\ i + j]; \)], "Input"], Cell[BoxData[ \(Cayley /: MakeBoxes[\(Cayley[i_Integer, j_Integer, k_Integer]\)[args_], fmt_] := SubscriptBox["\<\[CapitalDelta]\>", 100\ \ i + 10 j + k]; \)], "Input"], Cell[BoxData[ \(Cayleyu /: MakeBoxes[\(Cayleyu[i_Integer, j_Integer, k_Integer]\)[args_], fmt_] := SubscriptBox["\", 100\ \ i + 10 j + k]; \)], "Input"], Cell["\<\ MakeBoxes[PP, fm_] := InterpretationBox[SuperscriptBox[p, 2], PP]; MakeBoxes[m1^(p_), _] := InterpretationBox[SubsuperscriptBox[m, 1, p], m1^p]; \ MakeBoxes[m2^(p_), _] := InterpretationBox[SubsuperscriptBox[m, 2, p], m2^p]; \ MakeBoxes[m3^(p_), _] := InterpretationBox[SubsuperscriptBox[m, 3, p], m3^p]; \ MakeBoxes[m4^(p_), _] := InterpretationBox[SubsuperscriptBox[m, 4, p], m4^p]; \ MakeBoxes[m5^(p_), _] := InterpretationBox[SubsuperscriptBox[m, 5, p], m5^p]; \ m6 = Sqrt[PP]; \ \>", "Input"], Cell[BoxData[ \(MakeBoxes[m1, _] := InterpretationBox[SubscriptBox[m, 1], m1]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[m2, _] := InterpretationBox[SubscriptBox[m, 2], m2]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[m3, _] := InterpretationBox[SubscriptBox[m, 3], m3]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[m4, _] := InterpretationBox[SubscriptBox[m, 4], m4]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[m5, _] := InterpretationBox[SubscriptBox[m, 5], m5]; \)], "Input"], Cell[BoxData[ \(mbt[z_] := ToBoxes[z, TraditionalForm]; \)], "Input"], Cell[BoxData[ \(redblue[z_ /; Head[z] =!= Plus] := mbt[z]; \)], "Input"], Cell[BoxData[ \(redblue[z_ - 1] := StyleBox[mbt[z], FontColor \[Rule] RGBColor[1, 0, 0]]; \)], "Input"], Cell[BoxData[ \(redblue[z_Subscript - 2] := StyleBox[SubscriptBox[ OverscriptBox[ z\[LeftDoubleBracket]1\[RightDoubleBracket], "\<_\>"], z\[LeftDoubleBracket]2\[RightDoubleBracket]], FontColor \[Rule] RGBColor[1, 0, 0]]; \)], "Input"], Cell[BoxData[ \(redblue[z_ - 2] := StyleBox[OverscriptBox[mbt[z], "\<_\>"], FontColor \[Rule] RGBColor[1, 0, 0]]; \)], "Input"], Cell[BoxData[ \(redblue[z_ - 3] := StyleBox[UnderscriptBox[OverscriptBox[mbt[z], "\<_\>"], "\<_\>"], FontColor \[Rule] RGBColor[1, 0, 0]]; \)], "Input"], Cell[BoxData[ \(redblue[z_ + 1] := StyleBox[mbt[z], FontColor \[Rule] RGBColor[0, 0, 1]]; \)], "Input"], Cell[BoxData[ \(redblue[z_ + 2] := StyleBox[OverscriptBox[mbt[z], "\<_\>"], FontColor \[Rule] RGBColor[0, 0, 1]]; \)], "Input"], Cell[BoxData[ \(redblue[z_Subscript + 2] := StyleBox[SubscriptBox[ OverscriptBox[ z\[LeftDoubleBracket]1\[RightDoubleBracket], "\<_\>"], z\[LeftDoubleBracket]2\[RightDoubleBracket]], FontColor \[Rule] RGBColor[0, 0, 1]]; \)], "Input"], Cell[BoxData[ \(TFI /: MakeBoxes[TFI[d_, pp_, {ur__}, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>", "\< \>", ur}]], \n\t\tTFI[d, pp, {ur}, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TFI /: MakeBoxes[TFI[d_, pp_, dp_, any__, {den__}], fmt_] := \n\t\(\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>", "\< \>", Apply[Sequence, Flatten[{any}]]}]], \n\t\tTFI[d, pp, dp, any, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\) /; Head[dp] =!= List; \)], "Input"], Cell[BoxData[ \(TFI /: MakeBoxes[TFI[dpp__, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[First[{dpp}], TraditionalForm], "\<)\>"}]], \n\t\tTFI[dpp, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt] && Head[Last[{dpp}]] =!= List; \)], "Input"], Cell[BoxData[ \(TVI /: MakeBoxes[TVI[dpp__, {den__}], fmt_] := \n\((\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[{dpp}[\([\)\(1\)\(]\)], TraditionalForm], "\<)\>"}]], \n\t\(Hold[TVI]\)[ dpp, {den}], Editable -> True})\) /. Hold[TVI] -> TVI)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt] && Head[Last[{dpp}]] =!= List; \)], "Input"], Cell[BoxData[ \({TVI[d, {\[Alpha], \[Beta], \[Gamma], \[Delta]}], TVI[d, {\[Alpha] + 1, \[Beta], \[Gamma], \[Delta]}], TVI[d, {\[Alpha] - 1, \[Beta], \[Gamma], \[Delta]}]}\)], "Input"], Cell[BoxData[ \(TJI /: MakeBoxes[TJI[d_, 0, {den__}], fmt_] := \t\((\n\((\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\t\(Hold[ TJI]\)[d, 0, {den}], Editable -> True})\) /. Hold[TJI] -> TJI)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\n\t)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\)], "Input"], Cell[BoxData[ \(TJI /: MakeBoxes[TJI[dpp__, {den__}], fmt_] := \t\((\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[{dpp}[\([\)\(1\)\(]\)], TraditionalForm], "\<)\>"}]], \n\t\t\(Hold[TJI]\)[ dpp, {den}], Editable -> True})\) /. Hold[TJI] -> TJI)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\)], "Input"], Cell[BoxData[ \(TKI /: MakeBoxes[TKI[d_, pp___, {den__}], fmt_] := \n\t\((SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]])\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TKI /: MakeBoxes[TKI[dpp__, {den__}], fmt_] := \t\((\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[{dpp}[\([\)\(1\)\(]\)], TraditionalForm], "\<)\>"}]], \n\t\t\(Hold[TKI]\)[ dpp, {den}], Editable -> True})\) /. Hold[TKI] -> TKI)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\)], "Input"], Cell[BoxData[ \({TKI[d, {\[Alpha], \[Beta], \[Gamma]}], TKI[d, {\[Alpha] + 1, \[Beta], \[Gamma]}], TKI[d, {\[Alpha] - 1, \[Beta], \[Gamma]}]}\)], "Input"], Cell[BoxData[ \(TBI /: MakeBoxes[TBI[d_, pp___, {den__}], fmt_] := \n\t\((SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]])\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TBI /: MakeBoxes[TBI[d_, pp___, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\tTBI[d, pp, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \({TBI[d, {\[Alpha], \[Beta]}], TBI[d, {\[Alpha] + 1, \[Beta]}], TBI[d, {\[Alpha] - 1, \[Beta]}]}\)], "Input"], Cell[BoxData[ \(TAI /: MakeBoxes[TAI[d_, pp___, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\tTAI[ d, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \({TAI[d, {\[Alpha]}], TAI[d, {\[Alpha] + 1}], TAI[d, {\[Alpha] - 1}]}\)], "Input"], Cell["\<\ T*IC are just like T*I , but used only for commentary in the recursion (TComment).\ \>", "Text"], Cell[BoxData[ \(TFIC /: MakeBoxes[TFIC[d_, pp_, {0, 0, i_, 0, 0}, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>", "\< \>", i, "\<0\>"}]], \n\t\tTFIC[d, pp, {0, 0, i, 0, 0}, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TFIC /: MakeBoxes[TFIC[d_, pp_, {0, 0, 0, i_, 0}, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>", "\< \>", "\<0\>", i}]], \n\t\tTFIC[d, pp, {0, 0, 0, i, 0}, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TFIC /: MakeBoxes[TFIC[dpp__, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[First[{dpp}], TraditionalForm], "\<)\>"}]], \n\t\tTFIC[dpp, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt] && Head[Last[{dpp}]] =!= List; \)], "Input"], Cell[BoxData[ \(TVIC /: MakeBoxes[TVIC[dpp__, {den__}], fmt_] := \n\((\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[{dpp}[\([\)\(1\)\(]\)], TraditionalForm], "\<)\>"}]], \n\t\(Hold[TVIC]\)[ dpp, {den}], Editable -> True})\) /. Hold[TVIC] -> TVIC)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt] && Head[Last[{dpp}]] =!= List; \)], "Input"], Cell[BoxData[ \(TJIC /: MakeBoxes[TJIC[d_, 0, {den__}], fmt_] := \t\((\n\((\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\t\(Hold[ TJIC]\)[d, 0, {den}], Editable -> True})\) /. Hold[TJIC] -> TJIC)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\n\t)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\)], "Input"], Cell[BoxData[ \(TJIC /: MakeBoxes[TJIC[dpp__, {den__}], fmt_] := \t\((\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[{dpp}[\([\)\(1\)\(]\)], TraditionalForm], "\<)\>"}]], \n\t\t\(Hold[TJIC]\)[ dpp, {den}], Editable -> True})\) /. Hold[TJIC] -> TJIC)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\)], "Input"], Cell[BoxData[ \(TBIC /: MakeBoxes[TBIC[d_, pp___, {den__}], fmt_] := \n\t\((SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]])\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TBIC /: MakeBoxes[TBIC[d_, pp___, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\tTBIC[d, pp, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TAIC /: MakeBoxes[TAIC[d_, pp___, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\tTAIC[ d, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TFR /: MakeBoxes[TFR[d_, pp_, {0, 0, i_, 0, 0}, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>", "\< \>", i, "\<0\>"}]], \n\t\tTFR[d, pp, {0, 0, i, 0, 0}, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TFR /: MakeBoxes[TFR[d_, pp_, {0, 0, 0, i_, 0}, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>", "\< \>", "\<0\>", i}]], \n\t\tTFR[d, pp, {0, 0, 0, i, 0}, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TFR /: MakeBoxes[TFR[dpp__, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[First[{dpp}], TraditionalForm], "\<)\>"}]], \n\t\tTFR[dpp, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt] && Head[Last[{dpp}]] =!= List; \)], "Input"], Cell[BoxData[ \(TVR /: MakeBoxes[TVR[dpp__, {den__}], fmt_] := \n\((\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[{dpp}[\([\)\(1\)\(]\)], TraditionalForm], "\<)\>"}]], \n\t\(Hold[TVR]\)[ dpp, {den}], Editable -> True})\) /. Hold[TVR] -> TVR)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt] && Head[Last[{dpp}]] =!= List; \)], "Input"], Cell[BoxData[ \(TJR /: MakeBoxes[TJR[d_, 0, {den__}], fmt_] := \t\((\n\((\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\t\(Hold[ TJR]\)[d, 0, {den}], Editable -> True})\) /. Hold[TJR] -> TJR)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\n\t)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\)], "Input"], Cell[BoxData[ \(TJR /: MakeBoxes[TJR[dpp__, {den__}], fmt_] := \t\((\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[{dpp}[\([\)\(1\)\(]\)], TraditionalForm], "\<)\>"}]], \n\t\t\(Hold[TJR]\)[ dpp, {den}], Editable -> True})\) /. Hold[TJR] -> TJR)\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]\)], "Input"], Cell[BoxData[ \(TBR /: MakeBoxes[TBR[d_, pp___, {den__}], fmt_] := \n\t\((SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]])\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TBR /: MakeBoxes[TBR[d_, pp___, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\tTBR[d, pp, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(TAR /: MakeBoxes[TAR[d_, pp___, {den__}], fmt_] := \n\t\((InterpretationBox @@ {SubsuperscriptBox[ StyleBox["\", SingleLetterItalics -> False, FontWeight -> "\"], RowBox @@ {\((redblue /@ {den})\)}, RowBox[{"\<(\>", ToBoxes[d, TraditionalForm], "\<)\>"}]], \n\t\tTAR[ d, {den}], Editable -> True})\) /; MemberQ[{StandardForm, TraditionalForm}, fmt]; \)], "Input"], Cell[BoxData[ \(n1 /: MakeBoxes[n1, TraditionalForm] := SubscriptBox["\<\[Nu]\>", 1]; \)], "Input"], Cell[BoxData[ \(n2 /: MakeBoxes[n2, TraditionalForm] := SubscriptBox["\<\[Nu]\>", 2]; \)], "Input"], Cell[BoxData[ \(n3 /: MakeBoxes[n3, TraditionalForm] := SubscriptBox["\<\[Nu]\>", 3]; \)], "Input"], Cell[BoxData[ \(n4 /: MakeBoxes[n4, TraditionalForm] := SubscriptBox["\<\[Nu]\>", 4]; \)], "Input"], Cell[BoxData[ \(n5 /: MakeBoxes[n5, TraditionalForm] := SubscriptBox["\<\[Nu]\>", 5]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[ParD[i_]\^j_, TraditionalForm] := SubsuperscriptBox["\<\[PartialD]\>", i, j]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[ParD[i_], TraditionalForm] ^= SubscriptBox["\<\[PartialD]\>", i]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[DPlus, TraditionalForm] := StyleBox[SuperscriptBox["\", "\<+\>"], FontWeight \[Rule] "\", SingleLetterItalics \[Rule] False]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[TpD[_, b_], TraditionalForm] := MakeBoxes[b, TraditionalForm]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["The Palettes", "Subsection", CellTags->"T1.3.2.1"], Cell[BoxData[ \(If[$PutPalettes === True, \n\t\(\(tobut[a_]\ := \ ButtonBox[ToBoxes[a, StandardForm], \ ButtonStyle -> "\"]; \)\(\n\)\(\ \)\(If[ Head[pal1] === NotebookObject, \n\t NotebookClose[pal1]]; \)\(\n\)\(\t\)\(pal1 = NotebookPut[ Notebook[{Cell[ BoxData[ GridBox[\n\t\t\t\t\t\t\tJoin[ Transpose@{\n\t\t\t\t\t\t\t\t\tTable[ tobut@\(m\_j\^2\), {j, 5}], \n\t\t\t\t\t\t\t\t\tTable[ tobut@\[Nu]\_j, {j, 5}], \n\t\t\t\t\t\t\t\t\tTable[ tobut@Schiebe[i, "\<+\>"], {i, 5}], \n\t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Table[tobut@Schiebe[i, "\<-\>"], {i, 5}]}, \n\t\t\t\t\t\t\t\(\({\t tobut /@ {PP, \[CapitalDelta]\_\[Placeholder], u\_\[Placeholder], \[ScriptCapitalC]\ }}\)\(\n\ \)\)\t\t\t\t\t\t\t], RowSpacings -> 0, \n\ \ \ \ \ \ ColumnSpacings -> 0]], NotebookDefault]}, \n\tEditable -> True, \n WindowToolbars -> {}, \nWindowSize -> {Fit, \ Fit}, \n WindowMargins -> {{0, \ Automatic}, \ {0, Automatic}}, \n WindowFrame -> "\", \nWindowElements -> {}, \n WindowFrameElements -> "\", \n WindowClickSelect -> False, \n ScrollingOptions -> {"\" -> True}, \n ShowCellBracket -> False, \n CellMargins -> {{0, \ 0}, \ {0, \ 0}}, \nActive -> True, \n CellOpen -> True, \nShowCellLabel -> False, \n ShowCellTags -> False, \n ImageMargins -> {{0, \ 0}, \ {0, \ 0}}, \nMagnification -> 2, Visible -> True]]; \)\(\n\)\(SetOptions[pal1, WindowMargins -> {{0, Automatic}, {Automatic, 0}}]; \)\(\n\)\(SetOptions[pal1, Visible -> True, WindowSize -> {Fit, Fit}]; \)\(\n\)\(\ \)\(If[ Head[pal2] === NotebookObject, \n\t NotebookClose[pal2]]; \)\(\n\)\(\t\)\(pal2 = NotebookPut[ Notebook[{Cell[ BoxData[ GridBox[\n\t\t\t\t\t\t\tJJJ = Join[{tobut /@ {TFI[ d + 2, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3, \[Nu]\ \_4, \[Nu]\_5}], TVI[d + 2, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3, \[Nu]\_4}], TJI[d + 2, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3}], TKI[d, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3}], TBI[d, {\[Nu]\_1, \[Nu]\_2}], TAI[ d, {\[Nu]\_1}]}}, \n\t\t\t\t\t\t\t\t\ \(\({tobut /@ {TFI[d, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3, \[Nu]\_4, \[Nu]\_5}], TVI[d, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3, \ \[Nu]\_4}], TJI[d, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3}], TKI[d - 2, {\[Nu]\_1, \[Nu]\_2, \[Nu]\_3}], TBI[d - 2, {\[Nu]\_1, \[Nu]\_2}], TAI[d - 2, {\[Nu]\_1}]}}\)\(\n\)\)\t\t\t\t\t\t\t\ ], RowSpacings -> 0, \n\ \ \ \ \ \ ColumnSpacings -> 0]], NotebookDefault]}, \n\tEditable -> True, \n WindowToolbars -> {}, \nWindowSize -> {FitAll, \ FitAll}, \n WindowMargins -> {{0, Automatic}, \ {0, Automatic}}, \n WindowFrame -> "\", \nWindowElements -> {}, \n WindowFrameElements -> "\", \n WindowClickSelect -> False, \n ScrollingOptions -> {"\" -> True}, \n ShowCellBracket -> False, \n CellMargins -> {{0, 0}, \ {0, 0}}, \nActive -> True, \n CellOpen -> True, \nShowCellLabel -> False, \n ShowCellTags -> False, \n ImageMargins -> {{0, 0}, \ {0, \ 0}}, \nMagnification -> 2, Visible -> True]]; \)\(\n\)\(SetOptions[pal2, WindowMargins -> {{Automatic, 15}, {Automatic, 4}}]; \)\(\n\)\(SetOptions[pal2, Visible -> True, WindowSize -> {Fit, Fit}]; \)\(\n\)\(\t\)\(SetOptions[pal2, WindowSize -> {Fit, Fit}]\)\(\n\)\)\t]; \)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["OperatorApply", "Subsection", CellTags->"T1.3.3.1"], Cell[BoxData[ \(OperatorApplyF[x_ == y_] := Block[{sch}, \n\t\tsch\ = \ {Schiebe[i_, "\<+\>"]\^ni_. \ TFI[ d_, {n15__}] :> \n\t\t\t\t\tTFI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] + ni, i]], \n\t\t\t\t\(\(Schiebe[i_, "\<-\>"]\^ni_. \ TFI[ d_, {n15__}] :> \n\t\t\t\t\tTFI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] - ni, i]]\)\(\n\)\)\t\t\t}; Map[Collect[Expand[#] //. sch, TFI[__], Factor] &, \n\t\t\tx == y]]; \)], "Input"], Cell[BoxData[ \(OperatorApplyV[x_ == y_] := Block[{sch}, \n\t\tsch\ = \ {Schiebe[i_, "\<+\>"]\^ni_. \ TVI[ d_, {n15__}] :> \n\t\t\t\t\tTVI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] + ni, i]], \n\t\t\t\t\(\(Schiebe[i_, "\<-\>"]\^ni_. \ TVI[ d_, {n15__}] :> \n\t\t\t\t\tTVI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] - ni, i]]\)\(\n\)\)\t\t\t}; Map[Collect[Expand[#] //. sch, TVI[__], Factor] &, \n\t\t\tx == y]]; \)], "Input"], Cell[BoxData[ \(OperatorApplyJ[x_ == y_] := Block[{sch}, \n\t\tsch\ = \ {Schiebe[i_, "\<+\>"]\^ni_. \ TJI[ d_, {n15__}] :> \n\t\t\t\t\tTJI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] + ni, i]], \n\t\t\t\t\(\(Schiebe[i_, "\<-\>"]\^ni_. \ TJI[ d_, {n15__}] :> \n\t\t\t\t\tTJI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] - ni, i]]\)\(\n\)\)\t\t\t}; Map[Collect[Expand[#] //. sch, TJI[__], Factor] &, \n\t\t\tx == y]]; \)], "Input"], Cell[BoxData[ \(OperatorApplyK[x_ == y_] := Block[{sch}, \n\t\tsch\ = \ {Schiebe[i_, "\<+\>"]\^ni_. \ TKI[ d_, {n15__}] :> \n\t\t\t\t\tTKI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] + ni, i]], \n\t\t\t\t\(\(Schiebe[i_, "\<-\>"]\^ni_. \ TKI[ d_, {n15__}] :> \n\t\t\t\t\tTKI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] - ni, i]]\)\(\n\)\)\t\t\t}; Map[Collect[Expand[#] //. sch, TKI[__], Factor] &, \n\t\t\tx == y]]; \)], "Input"], Cell[BoxData[ \(OperatorApplyK[x_ == y_] := Block[{sch}, \n\t\tsch\ = \ {Schiebe[i_, "\<+\>"]\^ni_. \ TKI[ d_, {n15__}] :> \n\t\t\t\t\tTKI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] + ni, i]], \n\t\t\t\t\(\(Schiebe[i_, "\<-\>"]\^ni_. \ TKI[ d_, {n15__}] :> \n\t\t\t\t\tTKI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] - ni, i]]\)\(\n\)\)\t\t\t}; Map[Collect[Expand[#] //. sch, TKI[__], Factor] &, \n\t\t\tx == y]]; \)], "Input"], Cell[BoxData[ \(OperatorApplyB[x_ == y_] := Block[{sch}, \n\t\tsch\ = \ {Schiebe[i_, "\<+\>"]\^ni_. \ TBI[ d_, {n15__}] :> \n\t\t\t\t\tTBI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] + ni, i]], \n\t\t\t\t\(\(Schiebe[i_, "\<-\>"]\^ni_. \ TBI[ d_, {n15__}] :> \n\t\t\t\t\tTBI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] - ni, i]]\)\(\n\)\)\t\t\t}; Map[Collect[Expand[#] //. sch, TBI[__], Factor] &, \n\t\t\tx == y]]; \)], "Input"], Cell[BoxData[ \(OperatorApplyA[x_ == y_] := Block[{sch}, \n\t\tsch\ = \ {Schiebe[i_, "\<+\>"]\^ni_. \ TAI[ d_, {n15__}] :> \n\t\t\t\t\tTAI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] + ni, i]], \n\t\t\t\t\(\(Schiebe[i_, "\<-\>"]\^ni_. \ TAI[ d_, {n15__}] :> \n\t\t\t\t\tTAI[d, ReplacePart[{n15}, {n15}[\([\)\(i\)\(]\)] - ni, i]]\)\(\n\)\)\t\t\t}; Map[Collect[Expand[#] //. sch, TAI[__], Factor] &, \n\t\t\tx == y]]; \)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["MassDerivative", "Subsection", CellTags->"T1.3.4.1"], Cell[BoxData[ RowBox[{ RowBox[{\(MassDerivative[ STLI[any__, {\n\ \ \ \ \ \ \ {al_, m1_}, {be_, m2_}, {ga_, m3_}, {de_, m4_}, {ep_, m5_}}], {{0, d1_}, {0, d2_}, \ {0, d3_}, \ {0, d4_}, \ {0, d5_}}]\), StyleBox[" ", FontWeight->"Plain"], StyleBox[":=", FontWeight->"Plain"], "\n", \(\((\ \(Pochhammer[al, d1]\ Pochhammer[be, d2]\ Pochhammer[ga, d3]\)*\n\ \ Pochhammer[de, d4]\ Pochhammer[ep, d5]\ )\)\ *\n\ STLI[any, {{al + d1, m1}, \ {be + d2, m2}, \ {ga + d3, m3}, \ {de + d4, m4}, \ {ep + d5, m5}}]\)}], ";"}]], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["TarasovT", "Subsection", CellTags->"T1.3.5.1"], Cell["\<\ TarasovT[abrs__, qq_ /; Head[qq] =!= List] := TarasovT[abrs, qq, {\"g\", \"g\", \"g\", \"g\", \"g\"}]\ \>", "Input"], Cell[BoxData[ \(TarasovT[r_, \ s_, \ qq_, \ {alp1_, alp2_, \ alp3_, alp4_, alp5_}]\ := \n Block[{\ al1, al2, al3, al4, al5, alrul, new, Q1, Q11, Q12, Q2, Q22, dum1, dum2}, \n\ \(If[alp1\ === \ 0, \ al1\ = \ 0]; \ If[alp2\ === \ 0, \ al2\ = \ 0]; \)\n\ \(If[alp3\ === \ 0, \ al3\ = \ 0]; \)\n\(If[alp4\ === \ 0, \ al4\ = \ 0]; \ If[alp5\ === \ 0, \ al5\ = \ 0]; \)\n\ \(alrul\ = \ Select[{al1 :> I\ ParD[1], \ al2 :> I\ ParD[2], \ al3 :> I\ ParD[3], \n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ al4 :> I\ ParD[4], \ al5 :> I\ ParD[5]}, \ \(! MatchQ[#, \ 0 :> _]\) &]; \)\n\ \(Q1\ = \ al3\ al5\ + \ al4\ al5\ + \ al2\ al3\ + \ al3\ al4; \)\n\ \(Q2\ = \ al4\ al5\ + \ al3\ al5\ + \ al1\ al4\ + \ al3\ al4; \)\n\ \(Q11\ = 1/\((\(-4\))\)\ \((\ al2\ + \ al4\ + \ al5\ )\); \)\n\ \(Q22\ = 1/\((\(-4\))\)\ \((\ al1\ + \ al3\ + \ al5\ )\); \)\n\ \(Q12\ = 1/\((\(-2\))\)\ al5; \)\n\t\t\(new = \n\ I^\((\(-r\) - s)\) \((\ D[\ Exp[\ I\ qq\ \((\n\ \ \ \ be1\ Q1\ + \ be2\ Q2\ + be1^2\ Q11\ + be2^2\ Q22\ + \ be1\ be2\ Q12\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ )\)\ rho\ ], {be1, r}, {be2, s}\n\t\t\t\t]\ )\) /. \n\ \((\ Join[alrul, \ {be1\ :> \ 0, be2\ :> \ 0, \ rho\ :> \ \(-Pi^2\)/ Pi^2\ DPlus\ }])\); \(\(Map[\((Select[#, \ \((FreeQ[#, ParD] && FreeQ[#, DPlus])\) &]\ TpD[qq, Select[#, \((\(! \((FreeQ[#, ParD] && FreeQ[#, DPlus])\)\))\) &]])\) &, \(\((Expand[new, ParD] + \ dum1\ dum2)\)\(\n\)\)\t\t] /. {dum1 :> 0, dum2 :> 0}\)\(\n\)\)\)\t\t]; \)], "Input"], Cell[BoxData[ \(\(\(\n\)\(TarasovT[r_, \ s_, \ pp_, \ dp_ /; Head[dp] =!= List]\ := \ TarasovT[r, s, pp, dp, {"\", "\", "\", "\", "\"}]\)\)\)], "Input"], Cell[TextData[{ Cell[BoxData[ \(TraditionalForm\`\((\[CapitalDelta]\ q\_1)\)\^a\)]], Cell[BoxData[ \(TraditionalForm\`\((\[CapitalDelta]\ q\_2)\)\^b\)]], Cell[BoxData[ \(TraditionalForm\`\((p\ q\_1)\)\^r\)]], Cell[BoxData[ \(TraditionalForm\`\((p\ q\_2)\)\^s\)]] }], "Text"], Cell[BoxData[ \(\(\(\n\)\(TarasovT[a_, b_, r_, s_, pp_, dp_, {alp1_, alp2_, alp3_, alp4_, alp5_}] := Block[{al1, al2, al3, al4, al5, alrul, new, Q1, Q11, Q12, Q2, Q22, dum1, dum2}, If[alp1 === 0, al1 = 0]; If[alp2 === 0, al2 = 0]; If[alp3 === 0, al3 = 0]; If[alp4 === 0, al4 = 0]; If[alp5 === 0, al5 = 0]; alrul = Select[{al1 \[RuleDelayed] I\ ParD[1], al2 \[RuleDelayed] I\ ParD[2], al3 \[RuleDelayed] I\ ParD[3], al4 \[RuleDelayed] I\ ParD[4], al5 \[RuleDelayed] I\ ParD[5]}, \(\(\[InvisibleSpace]\)\(! \((MatchQ[#1, 0 \[RuleDelayed] _])\)\)\) &]; Q1 = al3\ al5 + al4\ al5 + al2\ al3 + al3\ al4; Q2 = al4\ al5 + al3\ al5 + al1\ al4 + al3\ al4; Q11 = \(-\(1\/4\)\)\ \((al2 + al4 + al5)\); Q22 = \(-\(1\/4\)\)\ \((al1 + al3 + al5)\); Q12 = \(-\(al5\/2\)\); new = I\^\(\(-r\) - s - a - b\)\ \[PartialD]\_\({be1, r}, {be2, s}, \ {ga1, a}, {ga2, b}\)Exp[ I\ \((\((be1\ pp + ga1\ dp)\)\ Q1 + \((be2\ pp + ga2\ dp)\)\ Q2 + be1\ \((be1\ pp + 2\ ga1\ dp)\)\ Q11 + be2\ \((be2\ pp + 2\ ga2\ dp)\)\ Q22 + \((be1\ be2\ pp + \((be1\ \ ga2 + be2\ ga1)\)\ dp)\)\ Q12)\)\ rho] /. Join[alrul, {be1 \[RuleDelayed] 0, be2 \[RuleDelayed] 0, ga1 :> 0, ga2 :> 0, rho \[RuleDelayed] \(-\(\(\[Pi]\^2\ DPlus\)\/\[Pi]\^2\)\)}]; \ \((Select[#1, FreeQ[#1, ParD] && FreeQ[#1, DPlus] &]\ TpD[pp, Select[#1, \(\(\[InvisibleSpace]\)\(! \((FreeQ[#1, ParD] && FreeQ[#1, DPlus])\)\)\) &]] &)\) /@ \((Expand[ new] + dum1\ dum2)\) /. {dum1 \[RuleDelayed] 0, dum2 \[RuleDelayed] 0}]; \)\)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["ApplyTarasovT", "Subsection", CellTags->"T1.3.6.1"], Cell[BoxData[ \(ApplyTarasovT[tij_, \ exp_] := Block[{dump}, \n\t\tdump = Product[ParD[j]^dummy, {j, 5}]; \n\t\tExpand[ tij\ exp] /. \n\((STLI[de_, pp_, pe__List]\ TpD[tpp_, DPlus^i_. \ t_])\) :> \n\t MassDerivative[ STLI[\ de /. de :> \((de\ + \ 2\ i)\), pp, pe], \n\t\t\t\t\t\t\t\(\(t\ dump\ /. Times -> List\) /. Power[_, n_] :> {0, n}\) /. dummy -> 0]]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Misc", "Subsection", CellTags->"T1.3.7.1"], Cell[BoxData[ \(Prefactor1 /: \t\tPrefactor1[a_]^n_ := Prefactor1[a^n]\)], "Input"], Cell[CellGroupData[{ Cell["Colors", "Subsubsection", CellTags->"T1.3.7.1.1"], Cell[TextData[{ StyleBox["TFI", FontColor->RGBColor[1, 0.6, 0]], " ", StyleBox["TVI ", FontColor->RGBColor[0.2, 0.4, 0.8]], StyleBox["TFR ", FontColor->RGBColor[0, 0.6, 0]], StyleBox["TVR ", FontColor->RGBColor[0.2, 0.8, 1]], StyleBox["MakeFun ", FontColor->RGBColor[1, 0.6, 0.6]], StyleBox["Cayley ", FontColor->RGBColor[1, 0, 0.4]], StyleBox["CayleyD ", FontColor->RGBColor[1, 0.2, 1]], StyleBox["Cayleyu", FontColor->RGBColor[0.8, 0.8, 0.4]], StyleBox[" ", FontColor->RGBColor[1, 0.2, 1]], StyleBox["IFF ", FontColor->RGBColor[0.6, 0.4, 1]], StyleBox["ToArgs ", FontColor->RGBColor[0.2, 0.6, 1]], StyleBox["Block", FontSize->16, FontWeight->"Bold", FontColor->RGBColor[1, 0.2, 0.2]] }], "Text"], Cell[BoxData[ \(MakeBoxes[Block, StandardForm] := StyleBox["\", FontSize \[Rule] 16, FontWeight \[Rule] "\", FontColor \[Rule] RGBColor[1, 0.2, 0.2]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[Cayley, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[1, 0, 0.4]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[CayleyD, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[1, 0.2, 1]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[Cayleyu, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[0.8, 0.8, 0.4]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[IFF, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[0.6, 0.4, 1]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[MakeFun, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[1, 0.6, 0.6]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[TFI, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[1, 0.6, 0]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[TFR, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[0, 0.6, 0]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[ToArgs, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[0.2, 0.6, 1]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[TVI, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[0.2, 0.4, 0.8]]; \)], "Input"], Cell[BoxData[ \(MakeBoxes[TVR, StandardForm] := StyleBox["\", FontColor \[Rule] RGBColor[0.2, 0.8, 1]]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["PQ", "Subsubsection", CellTags->"T1.3.7.2.1"], Cell[BoxData[ \(PQ[_Integer?Positive]\ := \ True; \)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["PNQ", "Subsubsection", CellTags->"T1.3.7.3.1"], Cell[BoxData[ \(PNQ[0] = True; \)], "Input"], Cell[BoxData[ \(PNQ[_Integer?Positive]\ := \ True; \)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["FactorC", "Subsubsection", CellTags->"T1.3.7.4.1"], Cell[BoxData[ \(FactorC[z_] := \(FactorC[z] = Factor[z]\)\)], "Input"], Cell["\<\ TFI[depp__,{a___,b_Integer,c___}]:=TFI[depp,{a,{b,0},c}]; TFI[depp__,{a___,{0,m_/;m=!=0},b___}]:=TFI[depp,{a,{0,0},b}]; TFI[a__,{0,0},b__List]:=TFI[a,b]; TFI[d_,pp_,dp_,{0,0},{x1_,x2_,x3_,x4_,x5_},list_List]:= TFI[d,pp,{x1,x2,x3,x4,x5},list]; TFI[d_,pp_,dp_,{a_,b_},{0,0,0,0,0},list_List]:=TFI[d,pp,dp,{a,b},list]; TFI[d_,pp_,dp_/;Head[dp]=!=List,{0,0,0,0,0},list_List]:=TFI[d,pp,list]; TFI[d_,pp_,dp_/;Head[dp]=!=List,list_List]:=TFI[d,pp,list]; TFI[d_,pp_,dp_/;Head[dp]=!=List,{x1_,x2_,x3_,x4_,x5_},list_List]:= TFI[d,pp,{x1,x2,x3,x4,x5},list]; TFI[__,{{_,_},{0,0},{_,_},{0,0},{_,0}}]:=0; TFI[__,{{0,0},{_,_},{0,0},{_,_},{_,0}}]:=0; TFI[__,{{0,0},{_,_},{_,0},{_,_},{0,0}}]:=0; TFI[__,{{_,0},{_,_},{0,0},{_,_},{0,0}}]:=0; TFI[__,{{_,_},{_,0},{_,_},{0,0},{0,0}}]:=0; TFI[__,{{_,_},{0,0},{_,_},{_,0},{0,0}}]:=0; TFI[__,{{0,0},{0,0},{0,0},{_,0},{_,_}}]:=0; TFI[__,{{0,0},{0,0},{_,0},{0,0},{_,_}}]:=0; TFI[__,{{0,0},{_,0},{0,0},{0,0},{_,_}}]:=0; TFI[__,{{_,0},{0,0},{0,0},{0,0},{_,_}}]:=0; TFI[__,{{_,_},{_,0},{0,0},{0,0},{0,0}}]:=0; TFI[__,{{_,0},{_,_},{0,0},{0,0},{0,0}}]:=0; TFI[__,{{_,_},{0,0},{0,0},{_,0},{0,0}}]:=0; TFI[__,{{_,0},{0,0},{0,0},{_,_},{0,0}}]:=0; TFI[__,{{0,0},{_,0},{_,_},{0,0},{0,0}}]:=0; TFI[__,{{0,0},{_,_},{_,0},{0,0},{0,0}}]:=0; TFI[__,{{0,0},{0,0},{_,_},{_,0},{0,0}}]:=0; TFI[__,{{0,0},{0,0},{_,0},{_,_},{0,0}}]:=0; If[$Notebooks, mbt[z_] := ToBoxes[z, TraditionalForm]; redblue[z_ /; Head[z] =!= Plus] := mbt[z]; redblue[(z_) - 1] := StyleBox[mbt[z], FontColor -> RGBColor[1, 0, 0]]; redblue[(z_Subscript) - 2] := StyleBox[SubscriptBox[OverscriptBox[z[[1]], \"_\"], z[[2]]], FontColor -> RGBColor[1, 0, 0]]; redblue[(z_) - 2] := StyleBox[OverscriptBox[mbt[z], \"_\"], FontColor -> RGBColor[1, 0, 0]]; redblue[(z_) - 3] := StyleBox[UnderscriptBox[OverscriptBox[mbt[z], \"_\"], \"_\"], FontColor -> RGBColor[1, 0, 0]]; redblue[(z_) + 1] := StyleBox[mbt[z], FontColor -> RGBColor[0, 0, 1]]; redblue[(z_) + 2] := StyleBox[OverscriptBox[mbt[z], \"_\"], FontColor -> RGBColor[0, 0, 1]]; redblue[(z_Subscript) + 2] := StyleBox[SubscriptBox[OverscriptBox[z[[1]], \"_\"], z[[2]]], FontColor -> RGBColor[0, 0, 1]]; TFI/: MakeBoxes[TFI[d_, pp_, {ur__}, {den__}], TraditionalForm] := InterpretationBox @@ {SubsuperscriptBox[StyleBox[\"F\", Rule[SingleLetterItalics, False], Rule[FontWeight, \"Bold\"]], RowBox @@ {redblue /@ {den}}, RowBox[{\"(\", ToBoxes[d, TraditionalForm], \")\", \" \", ur}]], TFI[d, pp, {ur}, {den}], Editable -> True} /; MemberQ[{StandardForm, TraditionalForm}, TraditionalForm]; TFI/: MakeBoxes[TFI[d_, pp_, dp_, any__, {den__}], TraditionalForm] := (InterpretationBox @@ {SubsuperscriptBox[StyleBox[\"F\", Rule[SingleLetterItalics, False], Rule[FontWeight, \"Bold\"]], RowBox @@ {redblue /@ {den}}, RowBox[{\"(\", ToBoxes[d, TraditionalForm], \")\", \" \", Sequence @@ Flatten[{any}]}]], TFI[d, pp, dp, any, {den}], Editable -> True}) /; Head[dp] =!= List; TFI/: MakeBoxes[TFI[dpp__, {den__}], TraditionalForm] := InterpretationBox @@ {SubsuperscriptBox[StyleBox[\"F\", Rule[SingleLetterItalics, False], Rule[FontWeight, \"Bold\"]], RowBox @@ {redblue /@ {den}}, RowBox[{\"(\", ToBoxes[First[{dpp}], TraditionalForm], \")\"}]], TFI[dpp, {den}], Editable -> True} /; MemberQ[{StandardForm, TraditionalForm}, TraditionalForm] && Head[Last[{dpp}]] =!= List; ];\ \>", "Input"] }, Open ]], Cell[CellGroupData[{ Cell["TJI", "Subsubsection", CellTags->"T1.3.7.6.1"], Cell[BoxData[ \(TJI[de_, pp_, {{n1_Integer, m1_}, {n2_Integer, m2_}, {n3_Integer, m3_}}] := \((TJI[de, pp, {{n1, m1}, {n2, m2}, {n3, m3}}] = TJI[de, pp, Reverse[Sort[{{n1, m1}, {n2, m2}, {n3, m3}}]]])\) /; \(\(\[InvisibleSpace]\)\(! \ \((OrderedQ[{{n3, m3}, {n2, m2}, {n1, m1}}])\)\)\)\)], "Input"], Cell[BoxData[ \(TJI[d, pp, {{1, m1}, {1, m2}, {1, m3}}]\)], "Input"], Cell[BoxData[ \(TJI[d_, 0, {{_, 0}, {_, 0}, {_, 0}}] := 0\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["TBI", "Subsubsection", CellTags->"T1.3.7.7.1"], Cell[BoxData[ RowBox[{ RowBox[{ StyleBox["TBI", FontColor->RGBColor[1, 0.6, 0]], "[", \(de_, pp_, {{n1_Integer, m1_}, {n2_Integer, m2_}}\), "]"}], ":=", RowBox[{ RowBox[{"(", RowBox[{\(TJI[de, pp, {{n1, m1}, {n2, m2}}]\), "=", RowBox[{ StyleBox["TBI", FontColor->RGBColor[1, 0.6, 0]], "[", \(de, pp, Reverse@\(Sort@{{n1, m1}, {n2, m2}}\)\), "]"}]}], ")"}], "/;", "\[InvisibleSpace]", \(! \((OrderedQ[{{n2, m2}, {n1, m1}}])\)\)}]}]], "Input"], Cell[BoxData[ \(TBI[d_, 0, {{_, 0}, {_, 0}}] := 0\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["TAI", "Subsubsection", CellTags->"T1.3.7.8.1"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ StyleBox["TAI", FontColor->RGBColor[1, 0.6, 0]], "[", \(de_, pp_, {{n1_Integer, 0}}\), "]"}], ":=", "0"}], ";"}]], "Input"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Definitions and notation", "Section", CellDingbat->"\[FilledSmallCircle]", CellTags->"T1.4.1"], Cell[BoxData[ RowBox[{ RowBox[{"\[CapitalDelta]\[ScriptCapitalC]", "=", RowBox[{\(-\(1\/2\)\), RowBox[{"Det", "[", " ", RowBox[{"(", GridBox[{ {"0", "1", "1", "1", "1"}, {"1", "0", \(\[Mu]\_6\), \(\[Mu]\_4\), \(\[Mu]\_3\)}, {"1", \(\[Mu]\_6\), "0", \(\[Mu]\_2\), \(\[Mu]\_1\)}, {"1", \(\[Mu]\_4\), \(\[Mu]\_2\), "0", \(\[Mu]\_5\)}, {"1", \(\[Mu]\_3\), \(\[Mu]\_1\), \(\[Mu]\_5\), "0"} }], ")"}], "]"}]}]}], ";"}]], "Input"], Cell[BoxData[ \(checkli\ = \ {\n\t\t\[ScriptCapitalC] -> \[CapitalDelta]\ \[ScriptCapitalC], \n\[CapitalDelta]\_i_ :> \[PartialD]\_\(\[Mu]\_i\)\ \[CapitalDelta]\[ScriptCapitalC], \n\t\t\[Mu]\_6 :> PP, \[Mu]\_i_ :> ToExpression["\" <> ToString[i]]^2, \n\t\tm\_1 :> \@m1\^2, m\_2 :> \@m2\^2, m\_3 :> \@m3\^2, m\_4 :> \@m4\^2, m\_5 :> \@m5\^2, \n\[CapitalDelta]\_\(i_, j_, k_\) :> \[Mu]\_i\%2 + \ \[Mu]\_j\%2 + \[Mu]\_k\%2 - 2 \((\(\[Mu]\_i\) \[Mu]\_j + \(\[Mu]\_j\) \[Mu]\_k + \(\[Mu]\_k\) \ \[Mu]\_i)\), \n u\_\(i_, j_, k_\) :> \[Mu]\_i - \[Mu]\_j - \[Mu]\_k, \n\ \[CapitalSigma]\_i_ :> 3\ d\ - 2\ \((\[Sum]\_\(j = 1\)\%i \[Nu]\_j)\) - 2, \n\t\[Nu]\_1 \[RuleDelayed] n1, \[Nu]\_2 \[RuleDelayed] n2, \[Nu]\_3 \[RuleDelayed] n3, \[Nu]\_4 \[RuleDelayed] n4, \[Nu]\_5 \[RuleDelayed] n5}; \)], "Input"], Cell[TextData[{ "Define symmetry property for ", Cell[BoxData[ \(TraditionalForm\`\[CapitalDelta]\_\(i, j, k\)\)]] }], "Text"], Cell[BoxData[ \(\[CapitalDelta]\_\(i_, j_, k_\) := \[CapitalDelta]\_\(Sequence @@ \ Sort[{i, j, k}]\) /; \(! OrderedQ[{i, j, k}]\)\)], "Input"], Cell[BoxData[ \(\[CapitalDelta]\_\(3, 1, 2\)\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]]], "Subsection", CellTags->"T1.4.1.1"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", "z_", "]"}], ":=", \(Expand[z //. checkli]\)}], ";"}]], "Input"], Cell[BoxData[ \(ToArgs[\[CapitalSigma]\_4] // InputForm\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]]], "Subsection", CellTags->"T1.4.2.1"], Cell[TextData[{ "This is (40). ( p = ", Cell[BoxData[ \(TraditionalForm\`\@p\^2\)]], ")" }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{"setd", "[", RowBox[{ RowBox[{"hCayley", "[", RowBox[{ RowBox[{ InterpretationBox[\(m\_1\), m1], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_2\), m2], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_3\), m3], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_4\), m4], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_5\), m5], ":", "_"}], ",", "p_"}], "]"}], ",", RowBox[{"set", "[", RowBox[{ RowBox[{"hCayley", "[", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "]"}], ",", RowBox[{"factor", "[", RowBox[{ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", "\[ScriptCapitalC]", "]"}], "/.", RowBox[{ InterpretationBox[\(p\^2\), PP], "\[Rule]", \(p\^2\)}]}], "]"}]}], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"hCayley", "\[RuleDelayed]", StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]]}], ",", \(setd \[RuleDelayed] SetDelayed\), ",", \(set \[RuleDelayed] Set\), ",", \(factor \[RuleDelayed] Factor\)}], "}"}]}]], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]], "[", "i", "]"}], "=", \(\[CapitalDelta]\_i\)}]], "Subsection", CellTags->"T1.4.3.1"], Cell[BoxData[ RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"setd", "[", RowBox[{ RowBox[{\(hCayley[i]\), "[", RowBox[{"{", RowBox[{ RowBox[{ InterpretationBox[\(m\_1\), m1], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_2\), m2], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_3\), m3], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_4\), m4], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_5\), m5], ":", "_"}], ",", "p_"}], "}"}], "]"}], ",", RowBox[{"set", "[", RowBox[{ RowBox[{\(hCayley[i]\), "[", RowBox[{"{", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "}"}], "]"}], ",", RowBox[{"factor", "[", RowBox[{ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_i\), "]"}], "/.", RowBox[{ InterpretationBox[\(p\^2\), PP], "\[Rule]", \(p\^2\)}]}], "]"}]}], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"hCayley", "\[RuleDelayed]", StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]]}], ",", \(setd \[RuleDelayed] SetDelayed\), ",", \(set \[RuleDelayed] Set\), ",", \(factor \[RuleDelayed] Factor\)}], "}"}]}], ",", \({i, 6}\)}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_\(1, 2, 6\)\), "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{ StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]], "[", \(i_, j_, k_\), "]"}], "[", "m_List", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{ StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]], "[", \(i, j, k\), "]"}], "[", "m", "]"}], "=", \(Block[{mm = m}, \n\t\t\tWhile[Length[mm] < 7, AppendTo[mm, Last[mm]]]; \n\t\t\tFactorC[ mm\[LeftDoubleBracket]i\[RightDoubleBracket]\^4 - 2\ mm\[LeftDoubleBracket]j\[RightDoubleBracket]\^2\ mm\ \[LeftDoubleBracket]i\[RightDoubleBracket]\^2 - 2\ mm\[LeftDoubleBracket]k\[RightDoubleBracket]\^2\ mm\ \[LeftDoubleBracket]i\[RightDoubleBracket]\^2 + mm\[LeftDoubleBracket]j\[RightDoubleBracket]\^4 + mm\[LeftDoubleBracket]k\[RightDoubleBracket]\^4 - 2\ mm\[LeftDoubleBracket]j\[RightDoubleBracket]\^2\ mm\ \[LeftDoubleBracket]k\[RightDoubleBracket]\^2]]\)}]}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{ StyleBox["Cayleyu", FontColor->RGBColor[0.8, 0.8, 0.4]], "[", \(i_, j_, k_\), "]"}], "[", "m_List", "]"}], ":=", RowBox[{ RowBox[{ RowBox[{ StyleBox["Cayleyu", FontColor->RGBColor[0.8, 0.8, 0.4]], "[", \(i, j, k\), "]"}], "[", "mm", "]"}], "=", \(Block[{mm = m}, \n\t\t\t\t\tWhile[Length[mm] < 7, AppendTo[mm, Last[mm]]]; FactorC[mm\[LeftDoubleBracket]i\[RightDoubleBracket]\^2 - mm\[LeftDoubleBracket]j\[RightDoubleBracket]\^2 - mm\[LeftDoubleBracket]k\[RightDoubleBracket]\^2]]\)}]}], ";"}]], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]], "[", "i", "]"}], "=", \(\[CapitalDelta]\_i\/\[CapitalDelta]\)}]], "Subsection", CellTags->"T1.4.4.1"], Cell[BoxData[ RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"setd", "[", RowBox[{ RowBox[{\(hCayleyD[i]\), "[", RowBox[{"{", RowBox[{ RowBox[{ InterpretationBox[\(m\_1\), m1], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_2\), m2], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_3\), m3], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_4\), m4], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_5\), m5], ":", "_"}], ",", "p_"}], "}"}], "]"}], ",", RowBox[{"set", "[", RowBox[{ RowBox[{\(hCayleyD[i]\), "[", RowBox[{"{", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "}"}], "]"}], ",", RowBox[{"factor", "[", FractionBox[ RowBox[{ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_i\), "]"}], "/.", RowBox[{ InterpretationBox[\(p\^2\), PP], "\[Rule]", \(p\^2\)}]}], RowBox[{"\[ScriptCapitalC]", "[", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "]"}]], "]"}]}], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"hCayleyD", "\[RuleDelayed]", StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]]}], ",", \(setd \[RuleDelayed] SetDelayed\), ",", \(set \[RuleDelayed] Set\), ",", \(factor \[RuleDelayed] Factor\), ",", RowBox[{"\[ScriptCapitalC]", "\[RuleDelayed]", StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]]}]}], "}"}]}], ",", \({i, 6}\)}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"setd", "[", RowBox[{ RowBox[{\(hCayleyD[1, 2, 5]\), "[", RowBox[{"{", RowBox[{ RowBox[{ InterpretationBox[\(m\_1\), m1], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_2\), m2], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_3\), m3], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_4\), m4], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_5\), m5], ":", "_"}], ",", "p_"}], "}"}], "]"}], ",", RowBox[{"set", "[", RowBox[{ RowBox[{\(hCayleyD[1, 2, 5]\), "[", RowBox[{"{", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "}"}], "]"}], ",", RowBox[{"factor", "[", FractionBox[ RowBox[{ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_\(1, 2, 5\)\), "]"}], "/.", RowBox[{ InterpretationBox[\(p\^2\), PP], "\[Rule]", \(p\^2\)}]}], RowBox[{"\[ScriptCapitalC]", "[", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "]"}]], "]"}]}], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"hCayleyD", "\[RuleDelayed]", StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]]}], ",", \(setd \[RuleDelayed] SetDelayed\), ",", \(set \[RuleDelayed] Set\), ",", \(factor \[RuleDelayed] Factor\), ",", RowBox[{"\[ScriptCapitalC]", "\[RuleDelayed]", StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]]}]}], "}"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"setd", "[", RowBox[{ RowBox[{\(hCayleyD[1, 3, 6]\), "[", RowBox[{"{", RowBox[{ RowBox[{ InterpretationBox[\(m\_1\), m1], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_2\), m2], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_3\), m3], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_4\), m4], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_5\), m5], ":", "_"}], ",", "p_"}], "}"}], "]"}], ",", RowBox[{"set", "[", RowBox[{ RowBox[{\(hCayleyD[1, 3, 6]\), "[", RowBox[{"{", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "}"}], "]"}], ",", RowBox[{"factor", "[", FractionBox[ RowBox[{ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_\(1, 3, 6\)\), "]"}], "/.", RowBox[{ InterpretationBox[\(p\^2\), PP], "\[Rule]", \(p\^2\)}]}], RowBox[{"\[ScriptCapitalC]", "[", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "]"}]], "]"}]}], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"hCayleyD", "\[RuleDelayed]", StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]]}], ",", \(setd \[RuleDelayed] SetDelayed\), ",", \(set \[RuleDelayed] Set\), ",", \(factor \[RuleDelayed] Factor\), ",", RowBox[{"\[ScriptCapitalC]", "\[RuleDelayed]", StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]]}]}], "}"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"setd", "[", RowBox[{ RowBox[{\(hCayleyD[3, 4, 5]\), "[", RowBox[{"{", RowBox[{ RowBox[{ InterpretationBox[\(m\_1\), m1], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_2\), m2], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_3\), m3], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_4\), m4], ":", "_"}], ",", RowBox[{ InterpretationBox[\(m\_5\), m5], ":", "_"}], ",", "p_"}], "}"}], "]"}], ",", RowBox[{"set", "[", RowBox[{ RowBox[{\(hCayleyD[3, 4, 5]\), "[", RowBox[{"{", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "}"}], "]"}], ",", RowBox[{"factor", "[", FractionBox[ RowBox[{ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_\(3, 4, 5\)\), "]"}], "/.", RowBox[{ InterpretationBox[\(p\^2\), PP], "\[Rule]", \(p\^2\)}]}], RowBox[{"\[ScriptCapitalC]", "[", RowBox[{ InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5], ",", "p"}], "]"}]], "]"}]}], "]"}]}], "]"}], "/.", RowBox[{"{", RowBox[{ RowBox[{"hCayleyD", "\[RuleDelayed]", StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]]}], ",", \(setd \[RuleDelayed] SetDelayed\), ",", \(set \[RuleDelayed] Set\), ",", \(factor \[RuleDelayed] Factor\), ",", RowBox[{"\[ScriptCapitalC]", "\[RuleDelayed]", StyleBox["Cayley", FontColor->RGBColor[1, 0, 0.4]]}]}], "}"}]}]], "Input"], Cell[BoxData[ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_\(i, j, k\)\), "]"}]], "Input"], Cell[BoxData[ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(\[CapitalDelta]\_\(1, 2, 6\)\), "]"}]], "Input"], Cell[BoxData[ RowBox[{ StyleBox["ToArgs", FontColor->RGBColor[0.2, 0.6, 1]], "[", \(u\_\(i, j, k\)\), "]"}]], "Input"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Utility Functions", "Section", CellDingbat->"\[FilledSmallCircle]", CellTags->"T1.5.1"], Cell[CellGroupData[{ Cell["MakeFun and friends", "Subsection", CellTags->"T1.5.1.1"], Cell["\<\ This function generates the recursion function definitions for TARCER starting from the entered relations.\ \>", "Text"], Cell["The idea is to recurse TFR into TFI's step by step.", "Text"], Cell[TextData[{ "Define: S cD[ijk__] := ", Cell[BoxData[ \(TraditionalForm\`\(\[ScriptCapitalC]\^\(-1\)\) \ \[CapitalDelta]\_ijk\)]] }], "Text"], Cell[BoxData[ \(nutonand\[CapitalDelta]u[w_, 5] := \(w /. {\[Nu]\_1 \[RuleDelayed] n1, \[Nu]\_2 \[RuleDelayed] n2, \[Nu]\_3 \[RuleDelayed] n3, \[Nu]\_4 \[RuleDelayed] n4, \[Nu]\_5 \[RuleDelayed] n5, \[CapitalDelta]\_ijk__ \[RuleDelayed] \[ScriptCapitalC]\ cD[ ijk], u\_ijk__ \[RuleDelayed] cu[ijk], \n\t\tD\_ijk__ :> TA[D, ijk], \[Rho]\_ijk__ :> TA[\[Rho], ijk], \[Phi]\_\(\(ijk__\)\(\ \)\) :> TA[\[Phi], ijk], \n\t\t\t\[Sigma]\_\(i_, j_, k_\) :> TA[\[Sigma], d, i, j, k, \[Nu]\_i, \[Nu]\_j, \[Nu]\_k], h\_\(i_, j_, k_\) :> TA[h, d, i, j, k, \[Nu]\_i, \[Nu]\_j, \[Nu]\_k], S\_\(i_, j_, k_\) :> TA[S, d, i, j, k, \[Nu]\_i, \[Nu]\_j, \[Nu]\_k], \n\t\t\t\(\(\[CapitalSigma]\ \_i_ :> ToArgs[\[CapitalSigma]\_i]\)\(\n\)\)\t\t}\) /. {\t\[Nu]\_1 \ \[RuleDelayed] n1, \[Nu]\_2 \[RuleDelayed] n2, \[Nu]\_3 \[RuleDelayed] n3, \[Nu]\_4 \[RuleDelayed] n4, \[Nu]\_5 \[RuleDelayed] n5, m\_1 :> m1, m\_2 :> m2, m\_3 :> m3, m\_4 :> m4, m\_5 :> m5}; \)], "Input"], Cell[BoxData[ \(nutonand\[CapitalDelta]u[ w_] := \(w /. {\[Nu]\_1 \[RuleDelayed] n1, \[Nu]\_2 \[RuleDelayed] n2, \[Nu]\_3 \[RuleDelayed] n3, \[Nu]\_4 \[RuleDelayed] n4, \[Nu]\_5 \[RuleDelayed] n5, \[CapitalDelta]\_ijk__ \[RuleDelayed] cD[ijk], u\_ijk__ \[RuleDelayed] cu[ijk], D\_ijk__ \[RuleDelayed] TA[D, ijk], \[Rho]\_ijk__ \[RuleDelayed] TA[\[Rho], ijk], \[Phi]\_ijk__ \[RuleDelayed] TA[\[Phi], ijk], \[Sigma]\_\(i_, j_, k_\) \[RuleDelayed] TA[\[Sigma], d, i, j, k, \[Nu]\_i, \[Nu]\_j, \[Nu]\_k], h\_\(i_, j_, k_\) \[RuleDelayed] TA[h, d, i, j, k, \[Nu]\_i, \[Nu]\_j, \[Nu]\_k], S\_\(i_, j_, k_\) \[RuleDelayed] TA[S, d, i, j, k, \[Nu]\_i, \[Nu]\_j, \[Nu]\_k], \[CapitalSigma]\_i_ \ \[RuleDelayed] ToArgs[\[CapitalSigma]\_i]}\) /. {\[Nu]\_1 \[RuleDelayed] n1, \[Nu]\_2 \[RuleDelayed] n2, \[Nu]\_3 \[RuleDelayed] n3, \[Nu]\_4 \[RuleDelayed] n4, \[Nu]\_5 \[RuleDelayed] n5, m\_1 \[RuleDelayed] m1, m\_2 \[RuleDelayed] m2, m\_3 \[RuleDelayed] m3, m\_4 \[RuleDelayed] m4, m\_5 \[RuleDelayed] m5}; \)], "Input"], Cell[BoxData[ \(addPeP[TFR[d_, pp_, li1_, rest_]] := TFR[d, pp, li1, rest]; \)], "Input"], Cell[BoxData[ \(addPeP[TFI[d_, pp_, li1_List]] := TFI[d, pp, li1]; \)], "Input"], Cell[BoxData[ \(addPeP[TFR[d_, pp_, dp_Symbol, li1_, rest_]] := TFR[d, pp, dp, li1, rest]; \)], "Input"], Cell[BoxData[ \(addPeP[TFI[d_, pp_, dp_Symbol, li1_List]] := TFI[d, pp, dp, li1]; \)], "Input"], Cell[BoxData[ \(addPeP[TVI[d_, pp_, li1_List]] := TVI[d, pp, li1]; \)], "Input"], Cell[BoxData[ \(nnnnnaddPeP[any_[d_, pp_, li1_List, rest__List]] := any[d, pp, li1, rest] /; any =!= List\)], "Input"], Cell[BoxData[ \(addPeP[z_List] := Append[z, \@PP]; \)], "Input"], Cell["addPeP[TFI[d_, z_List]] := TFI[d, PP, z]; ", "Input"], Cell[BoxData[ \(addPeP[TVI[d_, z_List]] := TVI[d, PP, z]; \)], "Input"], Cell[BoxData[ \(addPeP[TJI[d_, z_List]] := TJI[d, PP, z]; \)], "Input"], Cell[BoxData[ \(addPeP[TFR[d_, z_List]] := TFR[d, PP_, z]; \)], "Input"], Cell[BoxData[ \(addPeP[TFR[d_, pl_List, z_List]] := TFR[d, PP_, pl, z]; \)], "Input"], Cell[BoxData[ \(addPeP[TVR[d_, z__List]] := TVR[d, PP_, z]; \)], "Input"], Cell[BoxData[ \(addPeP[TJR[d_, z__List]] := TJR[d, PP_, z]; \)], "Input"], Cell[BoxData[ \(nutomass[ w_] := \(\(w /. {\[Nu]\_1 + i1_. \[RuleDelayed] {n1 + i1, m1}, \[Nu]\_2 + i2_. \[RuleDelayed] {n2 + i2, m2}, \[Nu]\_3 + i3_. \[RuleDelayed] {n3 + i3, m3}, \[Nu]\_4 + i4_. \[RuleDelayed] {n4 + i4, m4}, \[Nu]\_5 + i5_. \[RuleDelayed] {n5 + i5, m5}}\) /. {in1_Integer, in2_Integer, in3_Integer, in4_Integer} \[RuleDelayed] {{in1, m1}, {in2, m2}, {in3, m3}, {in4, m4}}\) /. {in1_Integer, in2_Integer, in3_Integer} \[RuleDelayed] {{in1, m1}, {in2, m2}, {in3, m3}}; \)], "Input"], Cell[BoxData[ \(Clear[maybeF]; \)], "Input"], Cell[BoxData[ \(maybeF[z_Times] := FactorC[z] /; FreeQ[z, TFI] && FreeQ[z, TVI] && FreeQ[z, TJI] && Length[Cases[z, cD[__], \(-1\)]] > 1; \)], "Input"], Cell[BoxData[ \(maybeF[z_] := z; SetAttributes[top, Listable]; \)], "Input"], Cell["This is the function for the information of side conditions.", "Text"], Cell[BoxData[ RowBox[{ RowBox[{"SetAttributes", "[", RowBox[{ StyleBox["IFF", FontColor->RGBColor[0.6, 0.4, 1]], ",", "HoldAll"}], "]"}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"Clear", "[", StyleBox["MakeFun", FontColor->RGBColor[1, 0.6, 0.6]], "]"}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ StyleBox["MakeFun", FontColor->RGBColor[1, 0.6, 0.6]], "[", RowBox[{ RowBox[{ RowBox[{"c_.", " ", RowBox[{ StyleBox["TFI", FontColor->RGBColor[1, 0.6, 0]], "[", "t__", "]"}]}], "==", "rhs_"}], ",", "eqn_String", ",", RowBox[{ StyleBox["IFF", FontColor->RGBColor[0.6, 0.4, 1]], "[", "conds_", "]"}], ",", \(mrel_ : {}\)}], "]"}], ":=", RowBox[{ StyleBox["Block", CellFrame->True, FontSize->16, FontWeight->"Bold", FontColor->RGBColor[1, 0.2, 0.2]], "[", RowBox[{\({nm}\), ",", RowBox[{\(nmrel = Select[Flatten[{mrel}], FreeQ[#1, Factor] &]\), ";", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"HoldForm", "@@", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"setdel", "[", RowBox[{ RowBox[{ RowBox[{"addPeP", "[", RowBox[{ StyleBox["TFR", FontColor->RGBColor[0, 0.6, 0]], "@@", \(top /@ nutomass[{t}]\)}], "]"}], "/.", "nmrel"}], ",", RowBox[{\(Hold[Condition]\), "[", RowBox[{ RowBox[{\(Hold[CompoundExpression]\), "[", "\t", RowBox[{\(\(Hold[TComment]\)[ eqn, \(\(\(addPeP[nutomass[TFR[t]]] /. TFR -> TFIC\) /. {Pattern :> pat, Blank :> blank}\) /. pat[PP, blank[]] :> PP\) /. nmrel]\), ",", RowBox[{ RowBox[{"Collect", "[", RowBox[{ RowBox[{"TT", "=", RowBox[{"Expand3", "[", RowBox[{ "nutonand\[CapitalDelta]u", "[", RowBox[{ RowBox[{\(1\/c\), RowBox[{"(", RowBox[{"rhs", "/.", RowBox[{ RowBox[{ StyleBox["TFI", FontColor->RGBColor[1, 0.6, 0]], "[", "te__", "]"}], "\[RuleDelayed]", RowBox[{"addPeP", "[", RowBox[{"nutomass", "[", RowBox[{ StyleBox["TFI", FontColor->RGBColor[1, 0.6, 0]], "[", "te", "]"}], "]"}], "]"}]}]}], ")"}]}], ",", "5"}], "]"}], "]"}]}], ",", RowBox[{ StyleBox["TFI", FontColor->RGBColor[1, 0.6, 0]], "[", "__", "]"}], ",", \(maybeF[\((Collect[ Numerator[#1], cD[__], Factor]/Collect[Denominator[#1], cD[__], Factor] &)\) /@ Factor[#1]] &\)}], "]"}], "/.", "nmrel"}]}], "]"}], ",", RowBox[{ "nutonand\[CapitalDelta]u", "[", RowBox[{ RowBox[{ StyleBox["IFF", FontColor->RGBColor[0.6, 0.4, 1]], "[", "conds", "]"}], ",", "5"}], "]"}]}], "]"}]}], "]"}], "/.", \(top[i_Integer] \[Rule] i\)}], "/.", \(top \[RuleDelayed] \ \((patternTest[pattern[#1, blank[]], PQ] &)\)\)}], "/.", RowBox[{ RowBox[{"patternTest", "[", RowBox[{ RowBox[{"pattern", "[", RowBox[{ RowBox[{"dm_", "/;", RowBox[{"MemberQ", "[", RowBox[{ RowBox[{"{", RowBox[{"d", ",", InterpretationBox[\(p\^2\), PP], ",", "DP", ",", InterpretationBox[\(m\_1\), m1], ",", InterpretationBox[\(m\_2\), m2], ",", InterpretationBox[\(m\_3\), m3], ",", InterpretationBox[\(m\_4\), m4], ",", InterpretationBox[\(m\_5\), m5]}], "}"}], ",", "dm"}], "]"}]}], ",", \(blank[]\)}], "]"}], ",", "_"}], "]"}], "\[RuleDelayed]", \(pattern[dm, blank[]]\)}]}], "/.", "\n", "\t\t\t\t\t", \({blank \[RuleDelayed] Blank, pattern \[RuleDelayed] Pattern, patternTest \[RuleDelayed] PatternTest}\)}], "}"}]}], "/.", RowBox[{\(cD[ijk__]\), "\[Rule]", RowBox[{ RowBox[{"Hold", "[", RowBox[{ StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]], "[", "ijk", "]"}], "]"}], "[", \(addPeP[ BLA = \(nutomass[Last[{t}]] /. nmrel\) /. {nuu_, ma_} \[RuleDelayed] ma]\), "]"}]}]}], "/.", \(addPeP -> Identity\)}], "/.", \(Hold[CompoundExpression] \[Rule] CompoundExpression\)}], "/.", RowBox[{ RowBox[{\(Hold[Condition]\), "[", RowBox[{"a_", ",", RowBox[{ StyleBox["IFF", FontColor->RGBColor[0.6, 0.4, 1]], "[", "b_", "]"}]}], "]"}], "\[Rule]", \(a /; b\)}]}], "/.", \(Hold[Set] \[Rule] Set\)}], "/.", \(Hold[TComment] -> TComment\)}], "/.", RowBox[{ RowBox[{"Hold", "[", RowBox[{ StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]], "[", "ijk__", "]"}], "]"}], "\[Rule]", RowBox[{ StyleBox["CayleyD", FontColor->RGBColor[1, 0.2, 1]], "[", "ijk", "]"}]}]}], "/.", \({setdel \[RuleDelayed] SetDelayed}\)}], ")"}], "/.", \(Identity -> identit\)}], "/.", \(identit[a_] -> a\)}]}]}], "]"}]}], ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ StyleBox["MakeFun", FontColor->RGBColor[1, 0.6, 0.6]], "[", RowBox[{ RowBox[{ RowBox[{"c_.", " ", RowBox[{ StyleBox["TFI", FontColor->RGBColor[1, 0.6, 0]], "[", "t__", "]"}]}], "==", "rhs_"}], ",", "eqn_String", ",", \(mrel_ : {}\)}], "]"}], ":=", RowBox[{ RowBox[{ StyleBox["Block", CellFrame->True, FontSize->16, FontWeight->"Bold", FontColor->RGBColor[1, 0.2, 0.2]], "[", RowBox[{\({nm}\), ",", RowBox[{\(nmrel = Select[Flatten[{mrel}], FreeQ[#1, Factor] &]\), ";", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"HoldForm", "@@", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"setdel", "[", RowBox[{ RowBox[{ RowBox[{"addPeP", "[", RowBox[{ StyleBox["TFR", FontColor->RGBColor[0, 0.6, 0]], "@@", \(top /@ nutomass[{t}]\)}], "]"}], "/.", "nmrel"}], ",", RowBox[{\(Hold[CompoundExpression]\), "[", RowBox[{\(\(Hold[TComment]\)[ eqn, \(\(\(addPeP[nutomass[TFR[t]]] /. TFR -> TFIC\) /. {Pattern :> pat, Blank :> blank}\) /. pat[PP, blank[]] :> PP\) /. nmrel]\), ",", RowBox[{ RowBox[{"Collect", "[", RowBox[{ RowBox[{"TT", "=", RowBox[{"Expand3", "[", RowBox[{ "nutonand\[CapitalDelta]u", "[", RowBox[{\(1\/c\), RowBox[{"(", RowBox[{"rhs", "/.", RowBox[{ RowB