(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 12.3' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 40906, 1098] NotebookOptionsPosition[ 36304, 1029] NotebookOutlinePosition[ 36704, 1045] CellTagsIndexPosition[ 36661, 1042] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Disformal transformations", "Title", CellChangeTimes->{{3.961487145508994*^9, 3.961487170213089*^9}, { 3.9618162575203247`*^9, 3.961816261539056*^9}},ExpressionUUID->"ba88ec85-75c0-49d1-80b2-\ 6641510e2a5a"], Cell["Brief usage example of the xAct and xTensor packages", "Subtitle", CellChangeTimes->{{3.961816264464439*^9, 3.961816272470974*^9}},ExpressionUUID->"b018e75e-e77d-49a3-97f1-\ 49d0c09e55d6"], Cell["\<\ In this tutorial, we expand upon our previous example of conformal \ transformations using xTensor by considering the more complex generalization \ of disformal transformations. The results are compared to arXiv:2010.00956v3 \ \ \>", "Text", CellChangeTimes->{{3.961816275735003*^9, 3.961816378898946*^9}, { 3.961928221227026*^9, 3.961928254309105*^9}, {3.961928468956491*^9, 3.961928482613648*^9}},ExpressionUUID->"0aa0f52b-c974-49cf-9086-\ 59c435a58c84"], Cell[CellGroupData[{ Cell["Load xAct", "Section", CellChangeTimes->{{3.961487177565716*^9, 3.96148719995726*^9}},ExpressionUUID->"4830c5a5-771e-454a-a318-\ 7f69ea58bc6b"], Cell["As before, we start by loading the necessary xAct packages", "Text", CellChangeTimes->{{3.961816398886516*^9, 3.961816412771872*^9}},ExpressionUUID->"bdad0219-10d5-49d8-acf0-\ a72eabfdcf2b"], Cell[BoxData[{ RowBox[{ RowBox[{"<<", "xAct`xTensor`"}], ";"}], "\n", RowBox[{ RowBox[{"<<", "xAct`TexAct`"}], ";"}]}], "Input", CellChangeTimes->{{3.961487201754071*^9, 3.961487201756053*^9}, { 3.9617324200070257`*^9, 3.961732420852291*^9}}, CellLabel->"In[1]:=",ExpressionUUID->"54e49347-b133-44e5-84de-8f5735aafb1d"] }, Open ]], Cell[CellGroupData[{ Cell["Define objects", "Section", CellChangeTimes->{{3.9614872162246532`*^9, 3.961487220962121*^9}},ExpressionUUID->"c485d7f0-3c00-413e-bcec-\ bd882fce411c"], Cell["\<\ As usual, we declare a 4D manifold together with a Lorentz metric and its \ covariant derivative\ \>", "Text", CellChangeTimes->{{3.961816927410487*^9, 3.961817010543487*^9}},ExpressionUUID->"3ac81ccd-b7d0-40df-963a-\ d9f1da9b7eb6"], Cell[BoxData[{ RowBox[{ RowBox[{"DefManifold", "[", RowBox[{"M4", ",", " ", "4", ",", " ", RowBox[{"{", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "d", ",", " ", "e", ",", " ", "f", ",", " ", "\[Mu]", ",", " ", "\[Nu]", ",", " ", "\[Alpha]", ",", " ", "\[Beta]"}], "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DefMetric", "[", RowBox[{ RowBox[{"-", "1"}], ",", " ", RowBox[{"g", "[", RowBox[{ RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "]"}], ",", " ", "CD"}], "]"}], ";"}]}], "Input", CellChangeTimes->{{3.961604202234742*^9, 3.961604211196697*^9}, 3.961675668978712*^9, {3.961928594316819*^9, 3.9619285944776163`*^9}}, CellLabel->"In[3]:=",ExpressionUUID->"79f3ae5d-dd1f-4929-8879-570a057b0f57"] }, Open ]], Cell[CellGroupData[{ Cell["Define new metric", "Section", CellChangeTimes->{{3.9616060037010183`*^9, 3.961606016045141*^9}},ExpressionUUID->"c0b987f9-7ee8-49d1-bb0e-\ f2b27abb31be"], Cell[TextData[{ "The family of metrics we are interested in are of the form ", Cell[BoxData[ FormBox[ TemplateBox[Association["boxes" -> FormBox[ RowBox[{ SubscriptBox[ StyleBox["h", "TI"], RowBox[{ StyleBox["a", "TI"], StyleBox["b", "TI"]}]], "\[LongEqual]", StyleBox["A", "TI"], RowBox[{"[", "\[Phi]", "]"}], SubscriptBox[ StyleBox["g", "TI"], RowBox[{ StyleBox["a", "TI"], StyleBox["b", "TI"]}]], "+", StyleBox["B", "TI"], RowBox[{"[", "\[Phi]", "]"}], RowBox[{"(", RowBox[{ SubscriptBox["\[Del]", StyleBox["a", "TI"]], "\[Phi]"}], ")"}], RowBox[{"(", RowBox[{ SubscriptBox["\[Del]", StyleBox["b", "TI"]], "\[Phi]"}], ")"}]}], TraditionalForm], "errors" -> {}, "input" -> "h_{ab} = A[\\phi] g_{ab} + B[\\phi](\\nabla_a \\phi)(\\nabla_b \\phi)", "state" -> "Boxes"], "TeXAssistantTemplate"], TraditionalForm]],ExpressionUUID-> "cc350e5b-b41c-4ba8-b27d-2758002997fd"], ". Hence, we declare a tensor field \[Phi] and scalar functions A and B \ before introducing the new metric ", Cell[BoxData[ FormBox["h", TraditionalForm]],ExpressionUUID-> "93896a64-40cf-4ef3-bfe2-2f6bdcbe6b63"] }], "Text", CellChangeTimes->{{3.961817069411599*^9, 3.961817092079064*^9}, { 3.96192829684568*^9, 3.9619283351351347`*^9}, {3.9619286063885508`*^9, 3.961928742011408*^9}, {3.961928891434943*^9, 3.961928902731022*^9}, { 3.961928946835045*^9, 3.961929010169528*^9}},ExpressionUUID->"71816ef1-3512-4578-a390-\ 9e3e9ab122ba"], Cell[BoxData[{ RowBox[{ RowBox[{"DefTensor", "[", RowBox[{ RowBox[{"\[Phi]", "[", "]"}], ",", " ", "M4"}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DefScalarFunction", "[", "A", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DefScalarFunction", "[", "B", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DefTensor", "[", RowBox[{ RowBox[{"h", "[", RowBox[{ RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], ",", " ", "M4", ",", " ", RowBox[{"Symmetric", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "}"}], "]"}]}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DefCovD", "[", RowBox[{ RowBox[{"hCD", "[", RowBox[{"-", "a"}], "]"}], ",", " ", RowBox[{"SymbolOfCovD", "->", RowBox[{"{", RowBox[{"\"\<|\>\"", ",", " ", "\"\\""}], "}"}]}]}], "]"}], ";"}]}], "Input", CellChangeTimes->{ 3.961675545121482*^9, {3.961929092171259*^9, 3.961929099252941*^9}}, CellLabel->"In[5]:=",ExpressionUUID->"6bdaa93c-7e7e-4f0e-ae9c-de4d53691bd2"], Cell[TextData[{ "Next, we provide the definition of ", Cell[BoxData[ FormBox["h", TraditionalForm]], FormatType->TraditionalForm,ExpressionUUID-> "2bd6d3c0-10a4-4965-af66-270e552111b9"] }], "Text", CellChangeTimes->{{3.961929115770512*^9, 3.961929132043511*^9}},ExpressionUUID->"cf416cc3-fcdb-4e4b-9e96-\ b5a05b6167cf"], Cell[BoxData[ RowBox[{ RowBox[{"h", "[", RowBox[{ RowBox[{"a_", "?", "DownIndexQ"}], ",", " ", RowBox[{"b_", "?", "DownIndexQ"}]}], "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"A", "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], " ", RowBox[{"g", "[", RowBox[{"a", ",", " ", "b"}], "]"}]}], " ", "+", " ", RowBox[{ RowBox[{"B", "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], RowBox[{ RowBox[{"CD", "[", "a", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], RowBox[{ RowBox[{"CD", "[", "b", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}]}]}]}]], "Input", CellChangeTimes->{{3.961599876080517*^9, 3.961599997694065*^9}, { 3.961600045030251*^9, 3.961600056726857*^9}, {3.961602889032404*^9, 3.9616028922826366`*^9}, {3.961606025786344*^9, 3.9616060272706623`*^9}}, CellLabel->"In[10]:=",ExpressionUUID->"82a94a00-491b-4f8d-bcdc-f13c092615a5"], Cell["\<\ Unfortunately, xTensor does not seem to provide a method to calculate the \ inverse of a general metric. In this particular case, we can use the \ Sherman-Morrison formula.\ \>", "Text", CellChangeTimes->{{3.961929135997801*^9, 3.9619291800020113`*^9}, { 3.961929300041912*^9, 3.961929386513522*^9}},ExpressionUUID->"e3001df4-c40c-4caf-b2bf-\ 154b116a6e65"], Cell[BoxData[ RowBox[{ RowBox[{"ShermanMorrisonRule", "=", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"A_", " ", RowBox[{"M_", "[", RowBox[{"x_", ",", "y_"}], "]"}]}], "+", RowBox[{"B_", RowBox[{"(", RowBox[{"u", ":", RowBox[{ RowBox[{"CD", "[", "x_", "]"}], "[", "f_", "]"}]}], ")"}], RowBox[{"(", RowBox[{"v", ":", RowBox[{ RowBox[{"CD", "[", "y_", "]"}], "[", "f_", "]"}]}], ")"}]}]}], "->", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"M", "[", RowBox[{ RowBox[{"-", "x"}], ",", " ", RowBox[{"-", "y"}]}], "]"}], "/", "A"}], " ", "-", " ", RowBox[{ RowBox[{"M", "[", RowBox[{"\[Mu]", ",", " ", RowBox[{"-", "x"}]}], "]"}], RowBox[{"M", "[", RowBox[{"\[Nu]", ",", RowBox[{"-", "y"}]}], "]"}], " ", RowBox[{"A", "^", RowBox[{"-", "2"}]}], " ", "B", " ", RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "\[Mu]"}], "]"}], "[", "f", "]"}], " ", RowBox[{ RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "\[Nu]"}], "]"}], "[", "f", "]"}], " ", "/", " ", RowBox[{"(", RowBox[{"1", " ", "+", " ", RowBox[{ RowBox[{"B", " ", "/", " ", "A"}], " ", RowBox[{"M", "[", RowBox[{"\[Alpha]", ",", "\[Beta]"}], "]"}], RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "\[Alpha]"}], "]"}], "[", "f", "]"}], " ", RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "\[Beta]"}], "]"}], "[", "f", "]"}]}]}], ")"}]}]}]}]}]}], ";"}]], "Input", CellChangeTimes->{{3.961665650422555*^9, 3.961665669061883*^9}, 3.961665976964859*^9, {3.96166693600566*^9, 3.961666938816921*^9}}, CellLabel->"In[11]:=",ExpressionUUID->"50a4565c-b25d-4bab-a635-707aac7298a9"], Cell["\<\ Because we only need to invert a single matrix, it is not really necessary to \ define a special rule for this. However, this shows a further limitation of \ xTensor. If we recall the previous tutorial, one notices the lack of the \ MakeRule function to avoid issues with indices. MakeRule only supports \ expressions with a single term in the LHS. Nonetheless, here is the inverse \ of the metric.\ \>", "Text", CellChangeTimes->{{3.961929392316183*^9, 3.961929571153182*^9}, { 3.961936045901784*^9, 3.961936062597961*^9}},ExpressionUUID->"b0afa4de-f060-4cdf-9de6-\ 1680d94dfef0"], Cell[BoxData[ RowBox[{ RowBox[{"h", "[", RowBox[{ RowBox[{"a_", "?", "UpIndexQ"}], ",", " ", RowBox[{"b_", "?", "UpIndexQ"}]}], "]"}], ":=", RowBox[{ RowBox[{ RowBox[{"h", "[", RowBox[{ RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], "/.", "ShermanMorrisonRule"}], "//", "Simplification"}]}]], "Input", CellChangeTimes->{{3.961665582659449*^9, 3.961665612430623*^9}, { 3.961665663856451*^9, 3.961665687852578*^9}, 3.961665719380528*^9, { 3.961665781979435*^9, 3.961665783051107*^9}, {3.961665939594838*^9, 3.961665942237843*^9}, {3.961666006038941*^9, 3.961666012595249*^9}, { 3.9616673221233683`*^9, 3.961667323654879*^9}, 3.961929589225335*^9}, CellLabel->"In[12]:=",ExpressionUUID->"1f51b2d2-1d12-4fbc-9007-2a1b91c3872d"], Cell[BoxData[ RowBox[{"h", "[", RowBox[{"a", ",", " ", "b"}], "]"}]], "Input", CellChangeTimes->{{3.961666019119231*^9, 3.9616660210589437`*^9}}, CellLabel->"In[15]:=",ExpressionUUID->"98b4c6c2-f587-46ed-bb2d-f247807226e0"], Cell[TextData[{ "We also introduce the simplification ", Cell[BoxData[ FormBox[ TemplateBox[Association["boxes" -> FormBox[ RowBox[{ StyleBox["X", "TI"], "\[LongEqual]", "-", FractionBox["1", "2"], SubscriptBox[ StyleBox["g", "TI"], RowBox[{ StyleBox["a", "TI"], StyleBox["b", "TI"]}]], RowBox[{"(", RowBox[{ SuperscriptBox["\[Del]", StyleBox["a", "TI"]], "\[Phi]"}], ")"}], RowBox[{"(", RowBox[{ SuperscriptBox["\[Del]", StyleBox["b", "TI"]], "\[Phi]"}], ")"}]}], TraditionalForm], "errors" -> {}, "input" -> "X = - \\frac{1}{2} g_{ab} (\\nabla^a \\phi) (\\nabla^b \\phi)", "state" -> "Boxes"], "TeXAssistantTemplate"], TraditionalForm]],ExpressionUUID-> "8534d52b-6476-409b-be69-99165788053a"], " and define rules for replacing different ways to write ", Cell[BoxData[ FormBox["X", TraditionalForm]],ExpressionUUID-> "dee613ad-5c8d-40ec-a577-27a1bcf13639"] }], "Text", CellChangeTimes->{{3.961929669452847*^9, 3.961929683040999*^9}, { 3.961929758272118*^9, 3.961929762132545*^9}, {3.96192985365656*^9, 3.961929895922144*^9}},ExpressionUUID->"122fad18-5739-4988-b02c-\ f132c81e4318"], Cell[BoxData[{ RowBox[{ RowBox[{"DefTensor", "[", RowBox[{ RowBox[{"X", "[", "]"}], ",", " ", "M4"}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"XRule", " ", "=", " ", RowBox[{"MakeRule", "[", RowBox[{"{", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"g", "[", RowBox[{"a", ",", "b"}], "]"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "a"}], "]"}], "[", RowBox[{"f_", "[", "]"}], "]"}], ")"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "b"}], "]"}], "[", RowBox[{"f_", "[", "]"}], "]"}], ")"}]}], ")"}], ",", RowBox[{ RowBox[{"-", "2"}], RowBox[{"X", "[", "]"}]}]}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"X2Rule", " ", "=", " ", RowBox[{"MakeRule", "[", RowBox[{"{", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"g", "[", RowBox[{ RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", "a", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], ")"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", "b", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], ")"}]}], ")"}], ",", RowBox[{ RowBox[{"-", "2"}], RowBox[{"X", "[", "]"}]}]}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"X3Rule", " ", "=", " ", RowBox[{"MakeRule", "[", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"CD", "[", "a", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "a"}], "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}]}], ",", RowBox[{ RowBox[{"-", "2"}], RowBox[{"X", "[", "]"}]}]}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"X4Rule", " ", "=", " ", RowBox[{"MakeRule", "[", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "a"}], "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], RowBox[{ RowBox[{"CD", "[", "a", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}]}], ",", " ", RowBox[{ RowBox[{"-", "2"}], RowBox[{"X", "[", "]"}]}]}], "}"}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.961750306238142*^9, 3.961750371500346*^9}, { 3.961750443332234*^9, 3.961750451891913*^9}, {3.961750525099535*^9, 3.9617505726702013`*^9}, {3.961757951471224*^9, 3.961758031372036*^9}, { 3.961758209801778*^9, 3.9617582153401117`*^9}, {3.961758247976275*^9, 3.961758253947639*^9}, {3.961758289463806*^9, 3.961758307859269*^9}, { 3.961758425279564*^9, 3.961758481793292*^9}, {3.961758521324361*^9, 3.961758527738944*^9}, {3.961759071762727*^9, 3.961759116937051*^9}, { 3.961929921177088*^9, 3.961929931616068*^9}, {3.961931325823265*^9, 3.961931326767213*^9}}, CellLabel->"In[13]:=",ExpressionUUID->"fcf81ffa-c405-4b8b-976b-245ebc8ba97d"], Cell["\<\ In principle it should be possible to use a single rule. However, this does \ not seem to work.\ \>", "Text", CellChangeTimes->{{3.961929947495626*^9, 3.961930001791171*^9}},ExpressionUUID->"476ae229-2d29-497a-a409-\ 3eb6683def0b"], Cell[BoxData[ RowBox[{"(*", "\[IndentingNewLine]", RowBox[{"XRule", " ", "=", " ", RowBox[{"MakeRule", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"g", "[", RowBox[{"a", ",", "b"}], "]"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "a"}], "]"}], "[", RowBox[{"f_", "[", "]"}], "]"}], ")"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "b"}], "]"}], "[", RowBox[{"f_", "[", "]"}], "]"}], ")"}]}], ")"}], " ", "\[IndentingNewLine]", "|", RowBox[{"(", RowBox[{ RowBox[{"g", "[", RowBox[{ RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", "a", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], ")"}], RowBox[{"(", RowBox[{ RowBox[{"CD", "[", "b", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], ")"}]}], ")"}], "\[IndentingNewLine]", "|", RowBox[{ RowBox[{ RowBox[{"CD", "[", "d", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "d"}], "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}]}], "\[IndentingNewLine]", "|", RowBox[{ RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "d"}], "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], RowBox[{ RowBox[{"CD", "[", "d", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"-", "2"}], RowBox[{"X", "[", "]"}]}]}], "}"}], ",", " ", RowBox[{"ContractMetrics", "->", "True"}]}], "]"}]}], "\[IndentingNewLine]", "*)"}]], "Input", CellChangeTimes->{{3.961929990634079*^9, 3.9619299950324793`*^9}},ExpressionUUID->"d47dca0d-e8dd-4510-bf1c-\ 6f58759250e2"] }, Open ]], Cell[CellGroupData[{ Cell["Christoffel symbols", "Section", CellChangeTimes->{{3.961675609932601*^9, 3.961675618392254*^9}, { 3.961930025479988*^9, 3.9619300369097757`*^9}},ExpressionUUID->"e98071d4-f812-4ee8-9007-\ 35f65d25138d"], Cell["\<\ For xTensor to use the explicit formula of the Christoffel symbols we \ introduce their definition as a rule\ \>", "Text", CellChangeTimes->{{3.961930053269621*^9, 3.961930095839295*^9}},ExpressionUUID->"f20f9bac-f708-4376-a1aa-\ 6ce93b14b9e0"], Cell[BoxData[ RowBox[{ RowBox[{"ChristoffelRule", "=", RowBox[{"MakeRule", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"h", "[", RowBox[{"c", ",", "d"}], "]"}], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"PD", "[", RowBox[{"-", "a"}], "]"}], "[", RowBox[{"h", "[", RowBox[{ RowBox[{"-", "b"}], ",", RowBox[{"-", "d"}]}], "]"}], "]"}], "+", RowBox[{ RowBox[{"PD", "[", RowBox[{"-", "b"}], "]"}], "[", RowBox[{"h", "[", RowBox[{ RowBox[{"-", "a"}], ",", RowBox[{"-", "d"}]}], "]"}], "]"}], "-", RowBox[{ RowBox[{"PD", "[", RowBox[{"-", "d"}], "]"}], "[", RowBox[{"h", "[", RowBox[{ RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], "]"}]}], ")"}], "/", "2"}]}]}], "}"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{3.9617599929894447`*^9}, CellLabel->"In[18]:=",ExpressionUUID->"77fdd20d-25d6-49a6-ac2d-c0bd305cafd6"], Cell["\<\ Next, our goal is to expand the definition of the Christoffel symbols and \ express it in terms of the Christoffel symbols of the original metric\ \>", "Text", CellChangeTimes->{{3.961930138399126*^9, 3.961930183015472*^9}},ExpressionUUID->"70ce7fc8-dec0-44e7-8efa-\ b727ffdcbb05"], Cell[BoxData[{ RowBox[{ RowBox[{"christoffel", "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], "/.", "ChristoffelRule"}], "//", "GradMetricToChristoffel"}], "//", "ScreenDollarIndices"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], " ", "==", " ", "christoffel"}]}], "Input", CellChangeTimes->{{3.9619301954078283`*^9, 3.961930200895067*^9}, { 3.9619303690153723`*^9, 3.9619303913589773`*^9}, {3.961931202885298*^9, 3.9619312055328197`*^9}}, CellLabel->"In[19]:=",ExpressionUUID->"28b9bdc7-bade-47b7-9bbd-ffd19c93f6d5"], Cell["\<\ In order to be able to use Simplification function of the xTensor package we \ need to remove all references to partial derivatives by rewriting them in \ terms of the covariant derivative and Christoffel symbols\ \>", "Text", CellChangeTimes->{{3.961930233226757*^9, 3.9619302629587193`*^9}},ExpressionUUID->"5eeccf4f-459d-4cdc-b4c0-\ 20bba03294e5"], Cell[BoxData[ RowBox[{" ", RowBox[{ RowBox[{ RowBox[{"christoffel", " ", "=", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"ChangeCovD", "[", RowBox[{"christoffel", ",", "PD", ",", " ", "CD"}], "]"}], "//", "ContractMetric"}], "//", "Simplification"}], "//", "ToCanonical"}], "//", "ScreenDollarIndices"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], " ", "==", " ", "christoffel"}]}]}]], "Input", CellChangeTimes->{{3.9617557645090427`*^9, 3.961755777345799*^9}, 3.96175608602944*^9, {3.961930286414671*^9, 3.961930298280725*^9}, { 3.961930404920363*^9, 3.9619304112248917`*^9}, {3.961931224229299*^9, 3.961931240645007*^9}}, CellLabel->"In[21]:=",ExpressionUUID->"f87cac7e-d1ee-4172-a757-882638dc28b4"], Cell["\<\ This still generates a long statement that we need to further simplify. Note \ the terms containing the Christoffel symbols of the original metric can be \ grouped together. Same with the Kronecker deltas. However, Mathematica does \ not seem able to recognize this and requires some manual assistance. We define a function that takes an expression and a pattern. It extracts the \ terms matching the pattern, simplifies them separated from the main \ expression and finally concatenates back the result to the rest of the \ expression.\ \>", "Text", CellChangeTimes->{{3.961930328586007*^9, 3.96193034855866*^9}, { 3.961930419910136*^9, 3.96193056771743*^9}, {3.96193061496621*^9, 3.961930734712248*^9}, {3.961936137349429*^9, 3.961936147445394*^9}},ExpressionUUID->"b9c68867-c4ec-495d-966b-\ ad83d57e2ee0"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"FactorOutTerm", "[", RowBox[{"expr_", ",", " ", "pattern_"}], "]"}], " ", ":=", " ", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"positions", ",", " ", "head", " ", ",", " ", "tail"}], " ", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"positions", "=", RowBox[{"Position", "[", RowBox[{"expr", ",", " ", "pattern"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"head", " ", "=", RowBox[{"Simplification", "[", RowBox[{"expr", "[", RowBox[{"[", RowBox[{"Map", "[", RowBox[{ RowBox[{"x", "|->", RowBox[{"First", "[", "x", "]"}]}], ",", " ", "positions"}], "]"}], "]"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"tail", " ", "=", " ", RowBox[{"Delete", "[", RowBox[{"expr", ",", " ", RowBox[{"Map", "[", RowBox[{ RowBox[{"x", "|->", RowBox[{"{", RowBox[{"First", "[", "x", "]"}], "}"}]}], ",", " ", "positions"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", " ", RowBox[{"Plus", "[", RowBox[{"head", ",", " ", "tail"}], "]"}]}]}], "]"}]}], ";"}]], "Input",\ CellChangeTimes->{{3.961755037709597*^9, 3.961755065692853*^9}, { 3.9617551181652107`*^9, 3.961755245468793*^9}, {3.9617553012782993`*^9, 3.961755360029107*^9}, {3.961755390910637*^9, 3.961755393947906*^9}, { 3.961755430641355*^9, 3.9617554339664392`*^9}, {3.9617555917303867`*^9, 3.961755658331533*^9}, {3.96175569511992*^9, 3.961755730428755*^9}, { 3.96175579368503*^9, 3.961755838316286*^9}, {3.961756079393505*^9, 3.961756082265319*^9}, {3.961756854587082*^9, 3.961756867364666*^9}, { 3.961757871099299*^9, 3.961757872156228*^9}, {3.961759217086542*^9, 3.961759217314715*^9}, {3.961930736887236*^9, 3.961930743053652*^9}}, CellLabel->"In[23]:=",ExpressionUUID->"30c5c34a-b2b1-458e-8bc9-dbdbdc252764"], Cell["\<\ A similar function works on all terms that match every patterns in a list\ \>", "Text", CellChangeTimes->{{3.9619307620697317`*^9, 3.961930785453714*^9}, { 3.961936169821807*^9, 3.9619361716610117`*^9}},ExpressionUUID->"49dfc5f6-7bd0-4f60-bb74-\ 8ea75e252d5c"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"FactorOutTerms", "[", RowBox[{"expr_", ",", " ", RowBox[{"patterns_", "?", "ListQ"}]}], "]"}], " ", ":=", " ", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"positions", ",", " ", "head", " ", ",", " ", "tail"}], " ", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"positions", "=", RowBox[{"Intersection", "@@", RowBox[{"Map", "[", RowBox[{ RowBox[{"pat", "|->", RowBox[{"Map", "[", RowBox[{"First", ",", " ", RowBox[{"Position", "[", RowBox[{"expr", ",", " ", "pat"}], "]"}]}], "]"}]}], ",", "patterns"}], " ", "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"head", " ", "=", RowBox[{"Simplification", "[", RowBox[{"expr", "[", RowBox[{"[", "positions", "]"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"tail", " ", "=", " ", RowBox[{"Delete", "[", RowBox[{"expr", ",", " ", RowBox[{"Map", "[", RowBox[{"List", ",", " ", "positions"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", " ", RowBox[{"Plus", "[", RowBox[{"head", ",", " ", "tail"}], "]"}]}]}], "]"}]}], ";"}]], "Input",\ CellLabel->"In[24]:=",ExpressionUUID->"c725c215-ebb2-408c-ad41-7be7df602a1c"], Cell["\<\ If you plan to use this function for your own work, please note that it only \ works for sums and is really only designed to work for a specific set of \ problems. Now equipped with the appropriate tools, we continue with our original task\ \>", "Text", CellChangeTimes->{{3.961930807753233*^9, 3.961930831376679*^9}, { 3.961930943221382*^9, 3.961931034124943*^9}, {3.9619361937732162`*^9, 3.961936194013116*^9}},ExpressionUUID->"b6af87cc-1d76-4996-85df-\ d5a6a5ff262a"], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], "==", "christoffel"}], "/.", "XRule"}], "/.", "X2Rule"}], "/.", "X3Rule"}], "/.", "X4Rule"}], "//", "ToCanonical"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], "==", RowBox[{"FactorOutTerm", "[", RowBox[{ RowBox[{"%", "[", RowBox[{"[", "2", "]"}], "]"}], ",", " ", RowBox[{"ChristoffelCD", "[", RowBox[{"c", ",", " ", RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "]"}]}], "]"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], "==", RowBox[{"FactorOutTerm", "[", RowBox[{ RowBox[{"%", "[", RowBox[{"[", "2", "]"}], "]"}], ",", " ", RowBox[{"delta", "[", RowBox[{ RowBox[{"-", "a_"}], ",", " ", "b_"}], "]"}]}], "]"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"christoffel", " ", "=", " ", RowBox[{"FactorOutTerms", "[", RowBox[{ RowBox[{"%", "[", RowBox[{"[", "2", "]"}], "]"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "a"}], "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], ",", RowBox[{ RowBox[{"CD", "[", RowBox[{"-", "b"}], "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}], ",", " ", RowBox[{ RowBox[{"CD", "[", "c", "]"}], "[", RowBox[{"\[Phi]", "[", "]"}], "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", RowBox[{"-", "a"}], ",", RowBox[{"-", "b"}]}], "]"}], " ", "==", " ", "christoffel"}]}], "Input", CellChangeTimes->{{3.961931041517449*^9, 3.9619310629894047`*^9}, { 3.96193127427712*^9, 3.961931278268722*^9}, {3.961931355629595*^9, 3.961931396349092*^9}, {3.961931426485098*^9, 3.9619314688928022`*^9}}, CellLabel->"In[25]:=",ExpressionUUID->"5711f4ad-6c07-4b19-8e2a-3916dbe2cff9"], Cell["\<\ Note we did not use any _ in the last pattern, as this would match all terms \ containing a derivative. We now have obtained the result we expected\ \>", "Text", CellChangeTimes->{{3.9617577687629957`*^9, 3.961757798950304*^9}, { 3.961931071012889*^9, 3.9619311247408733`*^9}},ExpressionUUID->"390380f2-c18f-477a-aee9-\ 77ba44200bef"] }, Open ]], Cell[CellGroupData[{ Cell["Riemann curvature tensor", "Section", CellChangeTimes->{{3.961931134524992*^9, 3.9619311423167353`*^9}},ExpressionUUID->"2ad6ea7c-ba22-463e-b391-\ 8b5c765c966b"], Cell[TextData[{ "Finally, we consider the Riemann curvature tensor. Here, we express the \ Christoffel symbols of ", Cell[BoxData[ FormBox["h", TraditionalForm]],ExpressionUUID-> "d9aed9f9-844e-46e1-a338-a1eb37fa738b"], " as the original Christoffel symbols plus a second symbol ", Cell[BoxData[ FormBox["CC", TraditionalForm]],ExpressionUUID-> "c666e9c9-8aeb-488e-8ecc-88ec3691ad5e"] }], "Text", CellChangeTimes->{{3.961935484493515*^9, 3.9619355732970867`*^9}, { 3.962288373978361*^9, 3.962288374242277*^9}},ExpressionUUID->"0f3cb50c-4426-4ad9-9f4d-\ 1aecbf7439c5"], Cell[BoxData[{ RowBox[{ RowBox[{"DefTensor", "[", RowBox[{ RowBox[{"CC", "[", RowBox[{"\[Alpha]", ",", " ", RowBox[{"-", "\[Mu]"}], ",", " ", RowBox[{"-", "\[Nu]"}]}], "]"}], ",", " ", "M4"}], "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CCRule", "=", RowBox[{"MakeRule", "[", RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"\[Alpha]", ",", " ", RowBox[{"-", "\[Mu]"}], ",", " ", RowBox[{"-", "\[Nu]"}]}], "]"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelCD", "[", RowBox[{"\[Alpha]", ",", " ", RowBox[{"-", "\[Mu]"}], ",", " ", RowBox[{"-", "\[Nu]"}]}], "]"}], "+", RowBox[{"CC", "[", RowBox[{"\[Alpha]", ",", " ", RowBox[{"-", "\[Mu]"}], ",", " ", RowBox[{"-", "\[Nu]"}]}], "]"}]}]}], "}"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChristoffelhCD", "[", RowBox[{"c", ",", " ", RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "]"}], " ", "==", " ", RowBox[{ RowBox[{"ChristoffelCD", "[", RowBox[{"c", ",", " ", RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "]"}], "+", RowBox[{"CC", "[", RowBox[{"c", ",", " ", RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "]"}]}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CC", "[", RowBox[{"c", ",", " ", RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "]"}], " ", "==", " ", RowBox[{"christoffel", "-", RowBox[{"ChristoffelCD", "[", RowBox[{"c", ",", " ", RowBox[{"-", "a"}], ",", " ", RowBox[{"-", "b"}]}], "]"}]}]}]}], "Input", CellChangeTimes->{{3.961932272548141*^9, 3.9619323174872217`*^9}, { 3.961935583300427*^9, 3.9619355894809*^9}, {3.9622884189730387`*^9, 3.962288520490644*^9}}, CellLabel->"In[33]:=",ExpressionUUID->"fcb6feda-9ce5-4073-b4b9-85901f9a26bc"], Cell["\<\ We express the Riemann curvature tensor using Christoffel symbols and \ substitute with the sum\ \>", "Text", CellChangeTimes->{{3.9619356614379873`*^9, 3.96193570647069*^9}},ExpressionUUID->"6e6de889-6763-4626-b2f4-\ 726cf3edcfe5"], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"RiemannhCD", "[", RowBox[{ RowBox[{"-", "\[Mu]"}], ",", RowBox[{"-", "\[Beta]"}], ",", " ", RowBox[{"-", "\[Nu]"}], ",", " ", "\[Alpha]"}], "]"}], "//", "RiemannToChristoffel"}], "//", "ScreenDollarIndices"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"riemann", " ", "=", " ", RowBox[{ RowBox[{"%", "/.", "CCRule"}], "//", "Expand"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"RiemannhCD", "[", RowBox[{ RowBox[{"-", "\[Mu]"}], ",", RowBox[{"-", "\[Beta]"}], ",", " ", RowBox[{"-", "\[Nu]"}], ",", " ", "\[Alpha]"}], "]"}], "==", "riemann"}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{{3.961932195971921*^9, 3.9619322530822067`*^9}, { 3.9619323230663137`*^9, 3.961932337473771*^9}, {3.961935465898197*^9, 3.961935478048335*^9}, {3.961935588098175*^9, 3.961935632615512*^9}, { 3.9619357171032963`*^9, 3.961935750671403*^9}}, CellLabel->"In[40]:=",ExpressionUUID->"b1d05769-7eb9-4a35-b629-519d6d24f23c"], Cell["\<\ We introduce the Riemann curvature tensor of the original metric by \ subtracting and adding the difference back\ \>", "Text", CellChangeTimes->{{3.961935768142284*^9, 3.961935856854388*^9}, { 3.962288558641974*^9, 3.962288561977989*^9}},ExpressionUUID->"fd17110f-2e17-499a-8ecf-\ 92ca3407158d"], Cell[BoxData[{ RowBox[{ RowBox[{"rest", "=", RowBox[{ RowBox[{"riemann", "-", RowBox[{"(", RowBox[{ RowBox[{"RiemannCD", "[", RowBox[{ RowBox[{"-", "\[Mu]"}], ",", RowBox[{"-", "\[Beta]"}], ",", " ", RowBox[{"-", "\[Nu]"}], ",", " ", "\[Alpha]"}], "]"}], "//", "RiemannToChristoffel"}], ")"}]}], "//", "Simplification"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"RiemannhCD", "[", RowBox[{ RowBox[{"-", "\[Mu]"}], ",", RowBox[{"-", "\[Beta]"}], ",", " ", RowBox[{"-", "\[Nu]"}], ",", " ", "\[Alpha]"}], "]"}], " ", "==", RowBox[{ RowBox[{"RiemannCD", "[", RowBox[{ RowBox[{"-", "\[Mu]"}], ",", RowBox[{"-", "\[Beta]"}], ",", " ", RowBox[{"-", "\[Nu]"}], ",", " ", "\[Alpha]"}], "]"}], " ", "+", " ", "rest"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChangeCovD", "[", RowBox[{"%", ",", " ", "PD", ",", " ", "CD"}], "]"}], "//", "Simplification"}]}], "Input", CellChangeTimes->{{3.9619358784148617`*^9, 3.961935905136517*^9}, { 3.962288567610468*^9, 3.962288621011722*^9}}, CellLabel->"In[43]:=",ExpressionUUID->"06304f7e-85c9-4451-b92d-aa1d74a50b7c"] }, Open ]] }, Open ]] }, WindowSize->{2866.5, 1168.5}, WindowMargins->{{6.75, Automatic}, {6.75, Automatic}}, FrontEndVersion->"12.3 for Linux x86 (64-bit) (June 19, 2021)", StyleDefinitions->"Default.nb", ExpressionUUID->"41ac3a39-10d4-4e68-9f93-f608780e4609" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[580, 22, 219, 4, 98, "Title",ExpressionUUID->"ba88ec85-75c0-49d1-80b2-6641510e2a5a"], Cell[802, 28, 198, 3, 53, "Subtitle",ExpressionUUID->"b018e75e-e77d-49a3-97f1-49d0c09e55d6"], Cell[1003, 33, 472, 9, 35, "Text",ExpressionUUID->"0aa0f52b-c974-49cf-9086-59c435a58c84"], Cell[CellGroupData[{ Cell[1500, 46, 153, 3, 68, "Section",ExpressionUUID->"4830c5a5-771e-454a-a318-7f69ea58bc6b"], Cell[1656, 51, 200, 3, 35, "Text",ExpressionUUID->"bdad0219-10d5-49d8-acf0-a72eabfdcf2b"], Cell[1859, 56, 330, 7, 51, "Input",ExpressionUUID->"54e49347-b133-44e5-84de-8f5735aafb1d"] }, Open ]], Cell[CellGroupData[{ Cell[2226, 68, 161, 3, 68, "Section",ExpressionUUID->"c485d7f0-3c00-413e-bcec-bd882fce411c"], Cell[2390, 73, 246, 6, 35, "Text",ExpressionUUID->"3ac81ccd-b7d0-40df-963a-d9f1da9b7eb6"], Cell[2639, 81, 815, 19, 51, "Input",ExpressionUUID->"79f3ae5d-dd1f-4929-8879-570a057b0f57"] }, Open ]], Cell[CellGroupData[{ Cell[3491, 105, 164, 3, 68, "Section",ExpressionUUID->"c0b987f9-7ee8-49d1-bb0e-f2b27abb31be"], Cell[3658, 110, 1711, 44, 36, "Text",ExpressionUUID->"71816ef1-3512-4578-a390-9e3e9ab122ba"], Cell[5372, 156, 1144, 36, 113, "Input",ExpressionUUID->"6bdaa93c-7e7e-4f0e-ae9c-de4d53691bd2"], Cell[6519, 194, 331, 9, 35, "Text",ExpressionUUID->"cf416cc3-fcdb-4e4b-9e96-b5a05b6167cf"], Cell[6853, 205, 920, 24, 29, "Input",ExpressionUUID->"82a94a00-491b-4f8d-bcdc-f13c092615a5"], Cell[7776, 231, 373, 8, 35, "Text",ExpressionUUID->"e3001df4-c40c-4caf-b2bf-154b116a6e65"], Cell[8152, 241, 1928, 55, 72, "Input",ExpressionUUID->"50a4565c-b25d-4bab-a635-707aac7298a9"], Cell[10083, 298, 597, 11, 35, "Text",ExpressionUUID->"b0afa4de-f060-4cdf-9de6-1680d94dfef0"], Cell[10683, 311, 794, 18, 29, "Input",ExpressionUUID->"1f51b2d2-1d12-4fbc-9007-2a1b91c3872d"], Cell[11480, 331, 229, 4, 29, "Input",ExpressionUUID->"98b4c6c2-f587-46ed-bb2d-f247807226e0"], Cell[11712, 337, 1309, 34, 51, "Text",ExpressionUUID->"122fad18-5739-4988-b02c-f132c81e4318"], Cell[13024, 373, 3190, 94, 113, "Input",ExpressionUUID->"fcf81ffa-c405-4b8b-976b-245ebc8ba97d"], Cell[16217, 469, 245, 6, 35, "Text",ExpressionUUID->"476ae229-2d29-497a-a409-3eb6683def0b"], Cell[16465, 477, 2164, 61, 175, "Input",ExpressionUUID->"d47dca0d-e8dd-4510-bf1c-6f58759250e2"] }, Open ]], Cell[CellGroupData[{ Cell[18666, 543, 215, 4, 68, "Section",ExpressionUUID->"e98071d4-f812-4ee8-9007-35f65d25138d"], Cell[18884, 549, 258, 6, 35, "Text",ExpressionUUID->"f20f9bac-f708-4376-a1aa-6ce93b14b9e0"], Cell[19145, 557, 1345, 39, 71, "Input",ExpressionUUID->"77fdd20d-25d6-49a6-ac2d-c0bd305cafd6"], Cell[20493, 598, 295, 6, 35, "Text",ExpressionUUID->"70ce7fc8-dec0-44e7-8efa-b727ffdcbb05"], Cell[20791, 606, 788, 20, 51, "Input",ExpressionUUID->"28b9bdc7-bade-47b7-9bbd-ffd19c93f6d5"], Cell[21582, 628, 364, 7, 35, "Text",ExpressionUUID->"5eeccf4f-459d-4cdc-b4c0-20bba03294e5"], Cell[21949, 637, 929, 23, 51, "Input",ExpressionUUID->"f87cac7e-d1ee-4172-a757-882638dc28b4"], Cell[22881, 662, 829, 15, 81, "Text",ExpressionUUID->"b9c68867-c4ec-495d-966b-ad83d57e2ee0"], Cell[23713, 679, 2056, 45, 133, "Input",ExpressionUUID->"30c5c34a-b2b1-458e-8bc9-dbdbdc252764"], Cell[25772, 726, 276, 6, 35, "Text",ExpressionUUID->"49dfc5f6-7bd0-4f60-bb74-8ea75e252d5c"], Cell[26051, 734, 1416, 36, 133, "Input",ExpressionUUID->"c725c215-ebb2-408c-ad41-7be7df602a1c"], Cell[27470, 772, 487, 10, 81, "Text",ExpressionUUID->"b6af87cc-1d76-4996-85df-d5a6a5ff262a"], Cell[27960, 784, 2295, 67, 113, "Input",ExpressionUUID->"5711f4ad-6c07-4b19-8e2a-3916dbe2cff9"], Cell[30258, 853, 351, 9, 81, "Text",ExpressionUUID->"390380f2-c18f-477a-aee9-77ba44200bef"] }, Open ]], Cell[CellGroupData[{ Cell[30646, 867, 171, 3, 68, "Section",ExpressionUUID->"2ad6ea7c-ba22-463e-b391-8b5c765c966b"], Cell[30820, 872, 585, 14, 35, "Text",ExpressionUUID->"0f3cb50c-4426-4ad9-9f4d-1aecbf7439c5"], Cell[31408, 888, 1989, 55, 133, "Input",ExpressionUUID->"fcb6feda-9ce5-4073-b4b9-85901f9a26bc"], Cell[33400, 945, 246, 6, 35, "Text",ExpressionUUID->"6e6de889-6763-4626-b2f4-726cf3edcfe5"], Cell[33649, 953, 1069, 27, 92, "Input",ExpressionUUID->"b1d05769-7eb9-4a35-b629-519d6d24f23c"], Cell[34721, 982, 311, 7, 35, "Text",ExpressionUUID->"fd17110f-2e17-499a-8ecf-92ca3407158d"], Cell[35035, 991, 1241, 34, 71, "Input",ExpressionUUID->"06304f7e-85c9-4451-b92d-aa1d74a50b7c"] }, Open ]] }, Open ]] } ] *)