(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 8.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 157, 7] NotebookDataLength[ 221033, 5667] NotebookOptionsPosition[ 200922, 5220] NotebookOutlinePosition[ 202823, 5274] CellTagsIndexPosition[ 202478, 5263] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell[TextData[StyleBox["Basics", FontSize->24]], "Title", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552595494219086*^9, 3.55259549611101*^9}, {3.560718987793573*^9, 3.560718991024536*^9}, { 3.568513089941624*^9, 3.568513121362194*^9}}, FontSize->18], Cell["\<\ This notebook gives examples of the functions in GRQUICK. First we load the \ package. To install the package go to: 1.) go to File->Install 2.) in the dialouge box that pops up select: 3.) Source->From File 4.) find and select the file GRQUICK.m 5.) In \[OpenCurlyDoubleQuote]Install Name\[CloseCurlyDoubleQuote] type in \ \[OpenCurlyDoubleQuote]GRQUICK.m To load the package use the \[OpenCurlyDoubleQuote]<<\[CloseCurlyDoubleQuote] \ command below.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, 3.552613331840693*^9, { 3.552710585476957*^9, 3.552710836899137*^9}, 3.568513121362315*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"<<", "GRQUICK.m"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589995992825*^9, 3.552589997013619*^9}, { 3.5525900458808*^9, 3.552590069162892*^9}, 3.56851312136248*^9}], Cell[BoxData[ SuperscriptBox["\<\"The convention for this program follow Sean M. Carroll's \ (Spacetime and Geometry) and the indices run from 0 \\nto D-1.\\n\\nWhile \ working do not use the variables GARRAY,RARRAY,RsARRAY, CHARRAY, \ SPEEDOFLIGHT. \\n\\nType ?helpGRQUICK for a list of functions or ?Function \ for a function description.\\n\\nMore functions and improvements coming \ soon!!\"\>", "\[Prime]", MultilineFunction->None]], "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{ 3.552590090419687*^9, 3.55259066493573*^9, 3.55259088638709*^9, 3.55259114740325*^9, {3.552591956566758*^9, 3.552591985354392*^9}, 3.552592135087528*^9, 3.552595062627717*^9, 3.552605648306927*^9, 3.552608516253122*^9, 3.552613336236185*^9, {3.552623659569702*^9, 3.552623685536447*^9}, 3.552624241362084*^9, 3.552625392650727*^9, { 3.552625433904914*^9, 3.552625450663157*^9}, 3.552625543466976*^9, 3.552625586921843*^9, 3.552625792578124*^9, 3.552666455602923*^9, 3.552671129897141*^9, 3.552671249643887*^9, 3.552671386970053*^9, 3.552671565181435*^9, 3.552671723266546*^9, 3.552671800660243*^9, 3.55267753374205*^9, 3.552678480997388*^9, 3.552681303874423*^9, 3.552681513511284*^9, 3.552681601765394*^9, 3.552681901243169*^9, 3.552710573779533*^9, 3.552710849864393*^9, 3.552718180035351*^9, 3.560718954176862*^9, 3.5607203079513273`*^9, 3.561953510612239*^9, 3.5640081108333673`*^9, 3.5640081492519827`*^9, 3.568513121362586*^9, 3.568562806134715*^9, 3.568563200114206*^9}], Cell["\<\ Here we load a list of functions and obtain information on the Ricci function.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.55259106606812*^9, 3.552591070481884*^9}, { 3.552591215283935*^9, 3.55259129168974*^9}, {3.552591374914863*^9, 3.55259141451068*^9}, {3.552591488848388*^9, 3.552591497515505*^9}, { 3.55261225176137*^9, 3.552612273483694*^9}, 3.568513121362689*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"?", "helpGRQUICK"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552591294082596*^9, 3.552591298473542*^9}, 3.55259209452191*^9, 3.568513121362791*^9}], Cell[BoxData[ StyleBox["\<\"To begin one must input a metric using Metin. Type in ?Metin \ for usage. For the usage of any function use ?function\\n\\n\\nStandard \ Differential Geometry objects are: Metric, IMetric, \ Christoffel,Riemann,\\nWeyl,Ricci,Rscalar,Einstein, Kretschmann, Metprod, \ Metnorm, Normalizevec, RaiseVector, LowerVector, and Setlight. \ \\n\\nFunctions usefull for geodesic analysis are: Geodesics, Geoplot, Issol, \ ReplaceCoords\\n\\n\\nFunctions which operate on tensore are: Coderv, and \ Tenstr.\\n\\nRaychaudhuri functions are: SpatialMetric, BExpansion, \ ThetaExpansion, Shear, and Twist. \\nThe vector inputs to these function must \ be properly timelike normalized (I have not implemented a null formulation as \ of yet). For definitions \\nsee Wald's General Relativity \ text.\\n\\n\\nImportant objects/tensors can be displayed using the commands: \ (GINV; GMET; DIM; COORDINATES)\\n,CHARRAY, GARRAY, RARRAY, RSARRAY, \ SPEEDOFLIGHT, and GEOSOL. \\nThese object are populated once the functions \ (Metin), Christoffel,\\nEinstein, Ricci, Rscalar, Setlight, and Geoplot have \ been computed respectively.\"\>", "MSG"]], "Print", "PrintUsage", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.568562807838223*^9, 3.568562931805383*^9}, CellTags->"Info3568544807-4957217"], Cell[BoxData[ RowBox[{"?", "Ricci"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552591565727766*^9, 3.552591572889137*^9}, 3.568513121362995*^9}], Cell[BoxData[ StyleBox["\<\"The Ricci tensor Ricci[i,j] = \!\(\*SubscriptBox[\(R\), \(\(ij\ \)\(\\\\\\\\n\)\)]\)\"\>", "MSG"]], "Print", "PrintUsage", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.568562809760356*^9, 3.568562931805486*^9}, CellTags->"Info3568544809-4957217"], Cell["\<\ The starting point of GRQUICK is to input a metric using \ \[OpenCurlyDoubleQuote]Metin\[CloseCurlyDoubleQuote]. We first use the \ auto-loader and then we input our own spherically symmetric metric.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, 3.552612525695407*^9, { 3.552619528516401*^9, 3.552619528811102*^9}, {3.552623727326807*^9, 3.55262373018783*^9}, {3.55262377396218*^9, 3.552623784569835*^9}, 3.552625815030057*^9, {3.564008172430436*^9, 3.564008190356227*^9}, 3.568513121363224*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"?", "Metin"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552591883156248*^9, 3.552591884557333*^9}, 3.552625551643244*^9, 3.568513121363315*^9}], Cell[BoxData[ StyleBox["\<\"For a dxd matrix g and d dimensional vector vec, Metin[g,vec] \ sets the working Metric to g and the coordinates to vec (default {t,x,y,z}). \ One can also use default metrics by inputing certain strings. For a list of \ metrics type ?DefaultMet\"\>", "MSG"]], "Print", "PrintUsage", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.568562811463298*^9, 3.56856293180559*^9}, CellTags->"Info3568544811-4957217"], Cell["The schwarchild metric can be loaded as", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, 3.552612525695407*^9, { 3.552619528516401*^9, 3.552619528811102*^9}, {3.552623727326807*^9, 3.55262373018783*^9}, {3.55262377396218*^9, 3.552623784569835*^9}, 3.552625815030057*^9, {3.564008172430436*^9, 3.5640082086517467`*^9}, 3.56851312136359*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metin", "[", "\"\\"", "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.564008210190421*^9, 3.564008214749641*^9}, 3.56851312136369*^9}], Cell[BoxData["\<\"Metric Success\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.564008215223221*^9, 3.568512476771838*^9, 3.568512800071622*^9, 3.568513121363785*^9, 3.56856281343356*^9}], Cell["\<\ A list of defualt metrics can be loaded using ?DefaultMet\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, 3.552612525695407*^9, { 3.552619528516401*^9, 3.552619528811102*^9}, {3.552623727326807*^9, 3.55262373018783*^9}, {3.55262377396218*^9, 3.552623784569835*^9}, 3.552625815030057*^9, {3.564008172430436*^9, 3.564008232059812*^9}, 3.568513121363879*^9, {3.568562838780504*^9, 3.568562851434663*^9}}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"?", "DefaultMet"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.568562853091666*^9, 3.56856286108551*^9}, 3.568562931805702*^9}], Cell[BoxData[ StyleBox["\<\"The load decault metrics use Metin[string] with one of the \ following strings\\n\\n\\nSchwar = Schwarchild metric with COORDINATES={t,r,\ \[Theta],\[Phi]} for a central mass of mass M;\\n\\nFRW = Friedman walker \ metric with curvature k and coordinates {t,r,\[Theta],\[Phi]} and expansion \ function a[t];\\n\\nReissner = Charged black hole with total charge \ q;\\n\\nKerr = rotating black hole with total angular momentum \ J;\\n\\nKerr-Newman = charged rotating black hole with charge q and angular \ momentum J;\\n\\nDS static = Static desitter coordinates \ {t,r,\[Theta],\[Phi]} with the cosmological horizon at r=\[Alpha] = \ \!\(\*SqrtBox[\(3/\[CapitalLambda]\)]\); \\n\\nDS universe = Desitter \ universe with a[t]=\!\(\*SuperscriptBox[\(e\), \(H\\\\ t\)]\) where H is the \ hubble constant;\\n\\nDS-Schwar = De-sitter Schwarzchild metric where \ \[CapitalLambda] is the cosmological constant and M is the mass of the black \ hole.\\n\\n\\nNote: we use geometrical units in which G=c=1. The metrics are \ taken from Wikipedia and I make no claim to their accuracy.\"\>", "MSG"]], "Print", "PrintUsage", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.568562880692236*^9, 3.568562931805801*^9}, CellTags->"Info3568544880-4957217"], Cell["Or we can use our own metric matrices", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, 3.552612525695407*^9, { 3.552619528516401*^9, 3.552619528811102*^9}, {3.552623727326807*^9, 3.55262373018783*^9}, {3.55262377396218*^9, 3.552623784569835*^9}, 3.552625815030057*^9, {3.564008172430436*^9, 3.564008232059812*^9}, 3.568513121363879*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metin", "[", RowBox[{ RowBox[{"DiagonalMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{"a", "[", RowBox[{"t", ",", "x"}], "]"}], ",", RowBox[{"b", "[", RowBox[{"t", ",", "x"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "x"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.568512528049403*^9, 3.568512569769252*^9}, 3.568513121363976*^9}], Cell[BoxData["\<\"Metric Success\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.568512570377627*^9, 3.568512801997171*^9, 3.568513121364074*^9, 3.56856281916136*^9, 3.568562887748265*^9}], Cell["\<\ Note, dimension does not matter. We shall focus on 4-d spherically symmetric \ space-times for now.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, 3.552612525695407*^9, { 3.552619528516401*^9, 3.552619528811102*^9}, {3.552623727326807*^9, 3.55262373018783*^9}, {3.55262377396218*^9, 3.552623784569835*^9}, 3.552625815030057*^9, {3.564008172430436*^9, 3.564008232059812*^9}, { 3.568512622643604*^9, 3.568512653617545*^9}, 3.568513121364176*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metin", "[", RowBox[{ RowBox[{"DiagonalMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], ",", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], ",", SuperscriptBox["r", "2"], ",", RowBox[{ SuperscriptBox["r", "2"], SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552591991698039*^9, 3.55259202923681*^9}, 3.552625594111742*^9, 3.568513121364279*^9}], Cell[BoxData["\<\"Metric Success\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{ 3.552592031744219*^9, 3.55259214418475*^9, 3.552595068370581*^9, 3.552605665115821*^9, 3.552608522966613*^9, 3.55261335722489*^9, 3.55262371534552*^9, 3.552623796234758*^9, 3.55262559510585*^9, 3.552666461403608*^9, 3.552671135557068*^9, 3.552677541600857*^9, 3.552678485749945*^9, 3.552681309047455*^9, 3.552681532553038*^9, 3.552681636488088*^9, 3.552681905834289*^9, 3.552710856309155*^9, 3.552718186437503*^9, 3.5607189621205873`*^9, 3.560720317014738*^9, 3.561953519699069*^9, {3.56400823421945*^9, 3.564008253733346*^9}, 3.568512479781204*^9, 3.568512655217984*^9, 3.568512803437822*^9, 3.568513121364374*^9, 3.568562824426463*^9}], Cell[BoxData[""], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.568512481945391*^9, 3.568512485185359*^9}, 3.568513121364466*^9}], Cell["\<\ Now that we have used \[OpenCurlyDoubleQuote]Metin\[CloseCurlyDoubleQuote] we \ can look at the metric tensor using GMET.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261253882941*^9}, {3.552623802845453*^9, 3.55262384585855*^9}, 3.552625826177082*^9, {3.564008267013238*^9, 3.564008269356453*^9}, 3.568513121364574*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"MatrixForm", "[", "GMET", "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552592187724792*^9, 3.552592212135799*^9}, 3.568513121364669*^9}], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ { RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "0", "0", "0"}, {"0", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "0", "0"}, {"0", "0", SuperscriptBox["r", "2"], "0"}, {"0", "0", "0", RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552592190115397*^9, 3.552592212617951*^9}, 3.552595070142049*^9, 3.552605667350975*^9, 3.552608524649815*^9, 3.552613360171156*^9, 3.552625597319025*^9, 3.552666462809936*^9, 3.552671136822091*^9, 3.552677542880823*^9, 3.552678486914696*^9, 3.552681310501324*^9, 3.552681533686273*^9, 3.552681637719264*^9, 3.552681907307904*^9, 3.552710857675411*^9, 3.552718187827328*^9, 3.560718964390424*^9, 3.560720318866415*^9, 3.561953523023696*^9, 3.5640082709320374`*^9, 3.568512658899786*^9, 3.568512805412805*^9, 3.568513121364996*^9}], Cell["\<\ Similarly, \[OpenCurlyDoubleQuote]GINV\[CloseCurlyDoubleQuote] can be used to \ display all of the inverse metric.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612549969472*^9}, {3.552623851177416*^9, 3.552623869424928*^9}, { 3.552625833962984*^9, 3.552625837307243*^9}, 3.568513121365152*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData["GINV"], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552595158142695*^9, 3.552595159196828*^9}, { 3.552625600421314*^9, 3.552625600987864*^9}, 3.568513121365276*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ FractionBox["1", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]], ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", FractionBox["1", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]], ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", FractionBox["1", SuperscriptBox["r", "2"]], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", FractionBox[ SuperscriptBox[ RowBox[{"Csc", "[", "\[Theta]", "]"}], "2"], SuperscriptBox["r", "2"]]}], "}"}]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552595159646538*^9, 3.552605669034366*^9, 3.552608527142215*^9, 3.552613362610511*^9, 3.552625601680591*^9, 3.552666464466161*^9, 3.552671138168289*^9, 3.552677544428211*^9, 3.552678488047739*^9, 3.552681312264514*^9, 3.552681534977355*^9, 3.552681639035753*^9, 3.552681908753586*^9, 3.552710860047689*^9, 3.552718190353538*^9, 3.560718966007227*^9, 3.560720320497682*^9, 3.561953524964332*^9, 3.564008273897665*^9, 3.568512807102713*^9, 3.568513121365886*^9}], Cell[TextData[{ "After a metric has been input we can calculate relevant geometric objects. \ For example we calculate ", Cell[BoxData[ FormBox[ SubscriptBox[ SuperscriptBox["\[CapitalGamma]", "0"], "00"], TraditionalForm]]] }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612560893702*^9}, {3.552613383523743*^9, 3.552613390789999*^9}, 3.552623880987702*^9, {3.552623917948088*^9, 3.552623963753813*^9}, 3.568513121366196*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Christoffel", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "}"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552592278638689*^9, 3.552592290516175*^9}, 3.568513121366309*^9}], Cell[BoxData[ FractionBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552592291936067*^9, 3.552595071566769*^9, 3.552605670649382*^9, 3.552608528741012*^9, 3.552613364808796*^9, 3.552625604276222*^9, 3.552666465874225*^9, 3.552671139426632*^9, 3.552677545948734*^9, 3.552678489152315*^9, 3.55268131363149*^9, 3.552681536027041*^9, 3.552681640236585*^9, 3.552681910034527*^9, 3.552710861537281*^9, 3.552718192175473*^9, 3.560718967423481*^9, 3.56072032186386*^9, 3.561953526277573*^9, 3.568512809638942*^9, 3.568513121366651*^9}], Cell[TextData[{ ", and or ", Cell[BoxData[ FormBox[ SubscriptBox[ SuperscriptBox["R", "0"], "101"], TraditionalForm]]], " (notice the index structure of the tensor!!!)." }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612575355903*^9}, {3.552613376325642*^9, 3.552613403948812*^9}, { 3.552623968403059*^9, 3.552623968797671*^9}, 3.568513121366843*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Riemann", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0", ",", "1"}], "}"}]}], "}"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552592354921056*^9, 3.55259236054435*^9}, { 3.552592392499748*^9, 3.55259239548566*^9}, {3.552592757448764*^9, 3.552592764184027*^9}, {3.552605672843491*^9, 3.552605674100535*^9}, 3.568513121366939*^9}], Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "+", RowBox[{ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], RowBox[{"4", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552592395901069*^9, 3.552592765290898*^9, 3.552595073168949*^9, 3.55260567482933*^9, 3.552608530457851*^9, 3.552613369145671*^9, 3.552613410190432*^9, 3.552625606397188*^9, 3.552666467948954*^9, 3.552671140632429*^9, 3.552677547228383*^9, 3.552678490339604*^9, 3.552681314998062*^9, 3.552681537090567*^9, 3.552681641382675*^9, 3.552681911305856*^9, 3.5527108630874*^9, 3.552718193683828*^9, 3.560718969008175*^9, 3.5607203241480417`*^9, 3.56195352750685*^9, 3.564008280331991*^9, 3.568512814818304*^9, 3.568513121367147*^9}], Cell["\<\ We can also obtain specific components of the metric and inverse metric using \ \[OpenCurlyDoubleQuote]Metric\[CloseCurlyDoubleQuote] and \ \[OpenCurlyDoubleQuote]Imetric\[CloseCurlyDoubleQuote]. \ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612585168244*^9}, {3.552623988986255*^9, 3.552624042894687*^9}, { 3.552625854372522*^9, 3.552625857080211*^9}, 3.568513121367281*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metric", "[", RowBox[{"0", ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552593360765822*^9, 3.552593363129335*^9}, 3.552625611016291*^9, 3.568513121367369*^9}], Cell[BoxData[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552593363490549*^9, 3.552595074534258*^9, 3.552605678020579*^9, 3.552608533229657*^9, 3.552613411784361*^9, 3.552625611786558*^9, 3.552666468546369*^9, 3.552671141933755*^9, 3.5526775485153*^9, 3.552678491503972*^9, 3.552681316573669*^9, 3.55268153832889*^9, 3.552681642561905*^9, 3.552681912506139*^9, 3.552710864405271*^9, 3.552718195628688*^9, 3.560718970389529*^9, 3.56072032589625*^9, 3.56195352885094*^9, 3.564008282012931*^9, 3.564008366153141*^9, 3.568512817396841*^9, 3.568513121367574*^9}], Cell[BoxData[ RowBox[{"IMetric", "[", RowBox[{"0", ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552608536631546*^9, 3.552608539499526*^9}, { 3.552625613486268*^9, 3.552625615236742*^9}, 3.560718972842514*^9, 3.568513121367698*^9}], Cell[BoxData[ FractionBox["1", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552608540086278*^9, 3.552613413499015*^9, 3.552625615908087*^9, 3.552666469969993*^9, 3.552671142694103*^9, 3.552677549925954*^9, 3.552678492092374*^9, 3.552681317405377*^9, 3.552681539567072*^9, 3.552681643280654*^9, 3.552681914796623*^9, 3.552710865261479*^9, 3.55271819658517*^9, 3.5607189734894*^9, 3.560720327295986*^9, 3.56195352964654*^9, 3.564008283613142*^9, 3.564008367053101*^9, 3.568512818966628*^9, 3.568513121367888*^9}], Cell["We can also calculate the Ricci and Einstein tensors.", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612585168244*^9}, {3.552623988986255*^9, 3.552624060249183*^9}, 3.568513121368051*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Simplify", "[", RowBox[{"Ricci", "[", RowBox[{"0", ",", "0"}], "]"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552593299138862*^9, 3.552593315026025*^9}, 3.568513121368144*^9}], Cell[BoxData[ RowBox[{ FractionBox["1", RowBox[{"4", " ", "r", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], RowBox[{"(", RowBox[{ RowBox[{"r", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], "+", RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"r", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "-", RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"r", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}], ")"}]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552593315398606*^9, 3.552593365378847*^9, 3.552595076180935*^9, 3.552605679183583*^9, 3.552608541874868*^9, 3.552613415577673*^9, 3.552625618415613*^9, 3.552666471529379*^9, 3.552671143971131*^9, 3.552677551186175*^9, 3.552678493840503*^9, 3.552681321857462*^9, 3.552681540751494*^9, 3.55268164447843*^9, 3.552681916209585*^9, 3.552710866816932*^9, 3.552718198301583*^9, 3.5607189754805737`*^9, 3.560720328717558*^9, 3.56195353095836*^9, 3.56400828547902*^9, 3.5640083689138107`*^9, 3.568512820841597*^9, 3.568513121368337*^9}], Cell[BoxData[ RowBox[{"Einstein", "[", RowBox[{"0", ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552593290093572*^9, 3.552593292994816*^9}, 3.568513121368473*^9}], Cell[BoxData[ RowBox[{"-", FractionBox[ RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552593294130861*^9, 3.552593317445586*^9}, 3.552593367479843*^9, 3.552595077735559*^9, 3.552605680859816*^9, 3.552608545519823*^9, 3.552613418028406*^9, 3.552625620525508*^9, 3.552666473680996*^9, 3.552671145318589*^9, 3.55267755297382*^9, 3.552678495335919*^9, 3.552681323726278*^9, 3.552681542073385*^9, 3.552681646123328*^9, 3.552681918312176*^9, 3.552710868627442*^9, 3.552718200657047*^9, 3.560718977047962*^9, 3.560720329972107*^9, 3.561953532825271*^9, 3.564008369925312*^9, 3.568512823528209*^9, 3.568513121368666*^9}], Cell["Rscalar gives the ricci scalar.", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612607203302*^9}, 3.552624066635987*^9, 3.568513121368781*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData["Rscalar"], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.55259338203121*^9, 3.552593383632424*^9}, 3.568513121368862*^9}], Cell[BoxData[ RowBox[{ FractionBox["1", RowBox[{"2", " ", SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], RowBox[{"(", RowBox[{ RowBox[{"4", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], "+", RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], "+", RowBox[{"r", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"r", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "-", RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"r", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}], ")"}]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{ 3.552593384237455*^9, 3.552595079073735*^9, 3.552605682619425*^9, 3.552608547505846*^9, 3.552613420566413*^9, 3.552625624269583*^9, 3.552666475974318*^9, 3.552671146770427*^9, 3.552677554699682*^9, 3.552678496547135*^9, 3.552681325430042*^9, 3.552681543249629*^9, 3.552681647291411*^9, {3.552681919989988*^9, 3.55268193790555*^9}, 3.552710871211106*^9, 3.552718203024448*^9, 3.5607189792252283`*^9, 3.560720331882187*^9, 3.561953534399377*^9, 3.564008371238823*^9, 3.56851282527089*^9, 3.568513121369033*^9}], Cell["\<\ If we wish we can display all of the einstein tensor as a NxN matrix using \ GARRAY. Similar arrays exist for the other tensors as well but they can only \ be called either if 1) said tensor has been computed or 2) the Einstein tensor has been computed (see ?helpGRQUICK).\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612634514184*^9}, {3.552624084596861*^9, 3.552624187844452*^9}, 3.568513121369141*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Simplify", "[", "GARRAY", "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.55259342687428*^9, 3.55259344406469*^9}, { 3.552593492963575*^9, 3.552593493853155*^9}, 3.568513121369228*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox[ RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]]}], ",", FractionBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], RowBox[{"r", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}]], ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ FractionBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], RowBox[{"r", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}]], ",", FractionBox[ RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "-", RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}]], ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", RowBox[{ FractionBox["1", RowBox[{"4", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], RowBox[{"r", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{"r", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], "+", RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "r"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "+", RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{"r", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", RowBox[{ FractionBox["1", RowBox[{"4", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], RowBox[{"r", " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{"r", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], "+", RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "r"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "+", RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{"r", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}]}], "}"}]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552593433534744*^9, 3.552593444558741*^9}, 3.552593494264695*^9, 3.552595080464914*^9, 3.552605684278238*^9, 3.552608550631439*^9, 3.552613427375391*^9, 3.552625627851939*^9, 3.552666478488219*^9, 3.552671148784683*^9, 3.552677557326814*^9, 3.552678498262034*^9, 3.552681327657871*^9, 3.552681545216407*^9, 3.552681649283028*^9, 3.552681940088354*^9, 3.552710873414552*^9, 3.55271820873122*^9, 3.5607189812732563`*^9, 3.560720334214552*^9, 3.561953536778767*^9, 3.5640083755915413`*^9, 3.568512828312153*^9, 3.568513121369396*^9}], Cell[TextData[{ "GRQUICK can also perform basic operations on ", StyleBox["contravariant", FontFamily->"Utopia", FontWeight->"Bold"], " vectors. For example, the norm of the position vector:" }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612658988927*^9}, {3.552613439258313*^9, 3.552613498513366*^9}, { 3.552622415868895*^9, 3.552622418698041*^9}, 3.552624302513501*^9, 3.568513121369504*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metnorm", "[", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.5525939244877*^9, 3.552593932819134*^9}, 3.552625630733676*^9, 3.568513121369583*^9}], Cell[BoxData[ RowBox[{ RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox["\[Theta]", "2"]}], "+", RowBox[{ SuperscriptBox["t", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox["\[Phi]", "2"], " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552593933851212*^9, 3.552595082798737*^9, 3.552605686663001*^9, 3.552608553400339*^9, 3.552613548930477*^9, 3.552625631334235*^9, 3.55266648015149*^9, 3.552671150524999*^9, 3.552677559245746*^9, 3.552678499491951*^9, 3.552681329553917*^9, 3.55268154680897*^9, 3.552681651043918*^9, 3.552681941741598*^9, 3.55271087509896*^9, 3.552718211792494*^9, 3.560718982905148*^9, 3.560720337178565*^9, 3.561953539005706*^9, 3.5640083782514553`*^9, 3.568512831145286*^9, 3.568513121369745*^9}], Cell[TextData[{ "The scalar product of two ", StyleBox["contravariant", FontFamily->"Utopia", FontWeight->"Bold"], " vectors is:" }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612666673385*^9}, 3.552622438877321*^9, 3.568513121369868*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metprod", "[", RowBox[{ RowBox[{"{", RowBox[{"a", ",", "b", ",", "c", ",", "d"}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.55259422511832*^9, 3.552594245982412*^9}, { 3.552594365350075*^9, 3.552594402036661*^9}, 3.552625633636248*^9, 3.568513121369948*^9}], Cell[BoxData[ RowBox[{ RowBox[{"c", " ", SuperscriptBox["r", "2"], " ", "\[Theta]"}], "+", RowBox[{"a", " ", "t", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"b", " ", "r", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"d", " ", SuperscriptBox["r", "2"], " ", "\[Phi]", " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.552594402411561*^9, 3.552595084324978*^9, 3.552605690075032*^9, 3.552608555225399*^9, 3.552613551216787*^9, 3.552625634280686*^9, 3.552666481894363*^9, 3.55267115171052*^9, 3.552677560853908*^9, 3.552678500629482*^9, 3.552681331152661*^9, 3.552681547983122*^9, 3.55268165269301*^9, 3.552681942914865*^9, 3.552710876450699*^9, 3.552718213372569*^9, 3.560718984504884*^9, 3.560720338378529*^9, 3.561953547236072*^9, 3.5640083796014853`*^9, 3.568512834226049*^9, 3.568513121370114*^9}], Cell[BoxData[ RowBox[{"?", "Metprod"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552594599726702*^9, 3.552594601212002*^9}, 3.552625637105704*^9, 3.568513121370232*^9}], Cell[BoxData[ StyleBox["\<\"product of two CONTRAVARIANT vectors, Metprod[vec1,vec2] \ \\ngives the scalar product in curved spacetime, namely vec1^i g_{i,j} \ vec2^j.\"\>", "MSG"]], "Print", "PrintUsage", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.568512836532901*^9, 3.568513121370328*^9}, CellTags->"Info3568494836-3534030"], Cell["We can also normalize vectors:", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612666673385*^9}, 3.552622438877321*^9, {3.552671412571288*^9, 3.552671419520459*^9}, 3.568513121370418*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Normalizevec", "[", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552671421462425*^9, 3.552671428399139*^9}, { 3.55267147042653*^9, 3.552671488784755*^9}, 3.568513121370497*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ FractionBox["t", SqrtBox[ RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox["r", "2"]}], " ", SuperscriptBox["\[Theta]", "2"]}], "-", RowBox[{ SuperscriptBox["t", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox["\[Phi]", "2"], " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]]], ",", FractionBox["r", SqrtBox[ RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox["r", "2"]}], " ", SuperscriptBox["\[Theta]", "2"]}], "-", RowBox[{ SuperscriptBox["t", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox["\[Phi]", "2"], " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]]], ",", FractionBox["\[Theta]", SqrtBox[ RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox["r", "2"]}], " ", SuperscriptBox["\[Theta]", "2"]}], "-", RowBox[{ SuperscriptBox["t", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox["\[Phi]", "2"], " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]]], ",", FractionBox["\[Phi]", SqrtBox[ RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox["r", "2"]}], " ", SuperscriptBox["\[Theta]", "2"]}], "-", RowBox[{ SuperscriptBox["t", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox["\[Phi]", "2"], " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}]]]}], "}"}]], "Output",\ CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.55267143096337*^9, 3.552671489146906*^9}, 3.552677564520288*^9, 3.552678503480552*^9, 3.552681333880262*^9, 3.552681550332076*^9, 3.552681655336413*^9, 3.552681945772472*^9, 3.552710879855474*^9, 3.552718217434623*^9, 3.560718986822723*^9, 3.560720340829767*^9, 3.564008382285845*^9, 3.568512838386919*^9, 3.568513121370704*^9}], Cell["\<\ If entering the covariant vector is easier then one can use RaiseVector to \ switch, for example\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612666673385*^9}, 3.552622438877321*^9, {3.552671412571288*^9, 3.552671419520459*^9}, {3.561953568330144*^9, 3.561953609204179*^9}, 3.568513121370826*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"RaiseVector", "[", RowBox[{"{", RowBox[{"a", ",", "b", ",", "c", ",", "d"}], "}"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.561953616807579*^9, 3.561953623292772*^9}, 3.568513121370918*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ FractionBox["a", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]], ",", FractionBox["b", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]], ",", FractionBox["c", SuperscriptBox["r", "2"]], ",", FractionBox[ RowBox[{"d", " ", SuperscriptBox[ RowBox[{"Csc", "[", "\[Theta]", "]"}], "2"]}], SuperscriptBox["r", "2"]]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.561953625781102*^9, 3.5640083837406683`*^9, 3.568512840569796*^9, 3.568513121371252*^9}], Cell["Or we can lower the vector", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.552612666673385*^9}, 3.552622438877321*^9, {3.552671412571288*^9, 3.552671419520459*^9}, {3.561953568330144*^9, 3.561953640557972*^9}, 3.568513121371384*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"LowerVector", "[", RowBox[{"{", RowBox[{"a", ",", "b", ",", "c", ",", "d"}], "}"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{{3.561953646768828*^9, 3.561953647397315*^9}, 3.568513121371514*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"a", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}], ",", RowBox[{"b", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], ",", RowBox[{"c", " ", SuperscriptBox["r", "2"]}], ",", RowBox[{"d", " ", SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellChangeTimes->{3.561953648089795*^9, 3.5640083855506697`*^9, 3.568512842540851*^9, 3.568513121371709*^9}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Geodesics", FontSize->24]], "Title", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552595494219086*^9, 3.55259549611101*^9}, {3.560718987793573*^9, 3.560718991024536*^9}, { 3.568513180553652*^9, 3.56851319809988*^9}, 3.568513498419791*^9, 3.568566381565668*^9}, FontSize->18], Cell["\<\ Now we look at what GRQUICK can do with geodesics. We focus on the \ Schwarchild metric for simplicity.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, 3.568513180553834*^9, 3.568513498419943*^9, 3.568566381565789*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metin", "[", RowBox[{ RowBox[{"DiagonalMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{"1", "-", FractionBox[ RowBox[{"2", " ", "M"}], "r"]}], ")"}]}], ",", SuperscriptBox[ RowBox[{"(", RowBox[{"1", "-", FractionBox[ RowBox[{"2", " ", "M"}], "r"]}], ")"}], RowBox[{"-", "1"}]], ",", SuperscriptBox["r", "2"], ",", RowBox[{ SuperscriptBox["r", "2"], SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596182332336*^9, 3.552596213938552*^9}, 3.5526256411508*^9, {3.552771636220793*^9, 3.552771636847021*^9}, 3.568513180554014*^9, 3.568513498420066*^9, 3.568566381565899*^9}], Cell[BoxData["\<\"Metric Success\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.552596214640163*^9, 3.552605694493704*^9, 3.552608560652807*^9, 3.552613556272605*^9, 3.552625641810167*^9, 3.552666484737893*^9, 3.552671155305209*^9, 3.552671261603683*^9, 3.552671491743399*^9, 3.552671579842456*^9, 3.552671730105487*^9, 3.552671814237705*^9, 3.552677568999009*^9, 3.552678505242901*^9, 3.552681337065686*^9, 3.552681552348428*^9, 3.552681657199363*^9, 3.552681947827522*^9, 3.55271088338415*^9, 3.552718220048549*^9, 3.560718992837051*^9, 3.560720343802573*^9, 3.561953660405558*^9, 3.5640083889169416`*^9, 3.568512854491374*^9, 3.568513180554175*^9, 3.568513498420167*^9, 3.568562308812163*^9, 3.568562938577273*^9, 3.56856320586321*^9, 3.568563514422967*^9, 3.568566381565997*^9, 3.568566720771092*^9}], Cell["\<\ A faster way of loading default metrics is by inputing a string\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.560720352915743*^9, 3.560720394555149*^9}, 3.568513180554359*^9, {3.568513323312503*^9, 3.568513347795834*^9}, 3.568513498420307*^9, 3.568566381566106*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metin", "[", "\"\\"", "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.56072037185745*^9, 3.560720379244104*^9}, 3.568513180554522*^9, 3.568513498420417*^9, 3.568566381566201*^9}], Cell[BoxData["\<\"Metric Success\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.560720380056562*^9, 3.561953664111448*^9, 3.564008390283679*^9, 3.568512856200595*^9, 3.568513180554675*^9, 3.568513498420577*^9, 3.568562310664995*^9, 3.568562939879387*^9, 3.568563207101078*^9, 3.568563515782986*^9, 3.568566381566288*^9, 3.568566722192228*^9}], Cell["\<\ We have just loaded the Schwarchild metric instantly. For a list of default \ metrics see ?DefaultMet. (Future releases will allow saving of metrics).\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, 3.552612725329054*^9, {3.55262260609529*^9, 3.552622640161052*^9}, {3.560720403251185*^9, 3.560720462187392*^9}, 3.568513180554833*^9, 3.568513498420704*^9, {3.568562946379093*^9, 3.568562951028378*^9}, 3.568566381566386*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell["\<\ We populate the arrays GARRAY, CHARRAY, RsARRAY, and RARRAY by using \ Einstein[0,0].\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, 3.552612725329054*^9, {3.55262260609529*^9, 3.552622640161052*^9}, 3.568513180554983*^9, 3.568513498420801*^9, 3.568566381566475*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"Einstein", "[", RowBox[{"0", ",", "0"}], "]"}], ";"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596247466968*^9, 3.552596251540437*^9}, 3.568513180555133*^9, 3.56851349842091*^9, 3.568566381566565*^9}], Cell[TextData[{ "Now we can find the geodesic equation, namely ", Cell[BoxData[ FormBox[ RowBox[{ FractionBox[ RowBox[{ SuperscriptBox["d", "2"], SuperscriptBox["x", "\[Mu]"]}], SuperscriptBox["d\[Tau]", "2"]], "+", RowBox[{ SubscriptBox[ SuperscriptBox["\[CapitalGamma]", "\[Mu]"], "\[Alpha]\[Beta]"], "(", RowBox[{ FractionBox[ RowBox[{"d", " ", SuperscriptBox["x", "\[Alpha]"]}], "d\[Tau]"], FractionBox[ RowBox[{"d", " ", SuperscriptBox["x", "\[Beta]"]}], "d\[Tau]"]}], ")"}]}], TraditionalForm]]], " by using the \[OpenCurlyDoubleQuote]Geodesics\[CloseCurlyDoubleQuote] \ function." }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612732966305*^9}, 3.55262436653511*^9, {3.552625963635822*^9, 3.552625973341938*^9}, 3.568513180555286*^9, 3.568513498421011*^9, 3.56856638156665*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"MatrixForm", "[", RowBox[{"Geodesics", "[", "\[Tau]", "]"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596522097216*^9, 3.552596542913849*^9}, { 3.552596583596619*^9, 3.552596586511472*^9}, 3.552625647482512*^9, 3.568513180555489*^9, 3.568513498421112*^9, 3.568566381566736*^9}], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", TagBox[GridBox[{ { RowBox[{ RowBox[{"-", FractionBox[ RowBox[{"2", " ", "M", " ", RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], " ", RowBox[{ SuperscriptBox["t", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}], RowBox[{ RowBox[{"2", " ", "M", " ", RowBox[{"r", "[", "\[Tau]", "]"}]}], "-", SuperscriptBox[ RowBox[{"r", "[", "\[Tau]", "]"}], "2"]}]]}], "+", RowBox[{ SuperscriptBox["t", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}]}, { RowBox[{ FractionBox[ RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], "2"]}], RowBox[{ RowBox[{"2", " ", "M", " ", RowBox[{"r", "[", "\[Tau]", "]"}]}], "-", SuperscriptBox[ RowBox[{"r", "[", "\[Tau]", "]"}], "2"]}]], "+", FractionBox[ RowBox[{"M", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "M"}], "+", RowBox[{"r", "[", "\[Tau]", "]"}]}], ")"}], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["t", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], "2"]}], SuperscriptBox[ RowBox[{"r", "[", "\[Tau]", "]"}], "3"]], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "M"}], "-", RowBox[{"r", "[", "\[Tau]", "]"}]}], ")"}], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "M"}], "-", RowBox[{"r", "[", "\[Tau]", "]"}]}], ")"}], " ", SuperscriptBox[ RowBox[{"Sin", "[", RowBox[{"\[Theta]", "[", "\[Tau]", "]"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], "2"]}], "+", RowBox[{ SuperscriptBox["r", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}]}, { RowBox[{ FractionBox[ RowBox[{"2", " ", RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}], RowBox[{"r", "[", "\[Tau]", "]"}]], "-", RowBox[{ RowBox[{"Cos", "[", RowBox[{"\[Theta]", "[", "\[Tau]", "]"}], "]"}], " ", RowBox[{"Sin", "[", RowBox[{"\[Theta]", "[", "\[Tau]", "]"}], "]"}], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], "2"]}], "+", RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}]}, { RowBox[{ FractionBox[ RowBox[{"2", " ", RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}], RowBox[{"r", "[", "\[Tau]", "]"}]], "+", RowBox[{"2", " ", RowBox[{"Cot", "[", RowBox[{"\[Theta]", "[", "\[Tau]", "]"}], "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}], "+", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Tau]", "]"}]}]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.5599999999999999]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], Column], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{ 3.552596543767904*^9, 3.552596587032018*^9, 3.552605698265687*^9, 3.55260856784782*^9, 3.552613560182526*^9, {3.552625647994264*^9, 3.552625651849638*^9}, 3.552666487675383*^9, 3.552671158244857*^9, 3.552671264272438*^9, 3.552671493992513*^9, 3.552671582819689*^9, 3.552671732622177*^9, 3.552671817338699*^9, 3.552677573659816*^9, 3.552678508484474*^9, 3.552681340348882*^9, 3.552681554986476*^9, 3.552681659723083*^9, 3.552681950449915*^9, 3.552710887017548*^9, 3.552718223427974*^9, 3.5607189952373457`*^9, 3.560720474182435*^9, 3.561953671258811*^9, 3.564008394114915*^9, 3.568512872912275*^9, 3.568513180555903*^9, 3.568513498421236*^9, 3.568562315109421*^9, 3.568562958600894*^9, 3.568563210876774*^9, 3.568563518655281*^9, 3.568566381569658*^9, 3.568566725372017*^9}], Cell["\<\ Similarly we can use a different parameter for the geodesic equations (such \ as an affine parameter).\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612746181205*^9}, { 3.552624370884642*^9, 3.552624394897539*^9}, 3.568513180556106*^9, 3.568513498421344*^9, 3.568566381569854*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"MatrixForm", "[", RowBox[{"Geodesics", "[", "\[Lambda]", "]"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596572794273*^9, 3.552596576447197*^9}, { 3.552596629913048*^9, 3.552596640617944*^9}, 3.552625654540554*^9, 3.568513180556272*^9, 3.568513498421431*^9, 3.568566381569951*^9}], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", TagBox[GridBox[{ { RowBox[{ RowBox[{"-", FractionBox[ RowBox[{"2", " ", "M", " ", RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], " ", RowBox[{ SuperscriptBox["t", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}], RowBox[{ RowBox[{"2", " ", "M", " ", RowBox[{"r", "[", "\[Lambda]", "]"}]}], "-", SuperscriptBox[ RowBox[{"r", "[", "\[Lambda]", "]"}], "2"]}]]}], "+", RowBox[{ SuperscriptBox["t", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}]}, { RowBox[{ FractionBox[ RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], "2"]}], RowBox[{ RowBox[{"2", " ", "M", " ", RowBox[{"r", "[", "\[Lambda]", "]"}]}], "-", SuperscriptBox[ RowBox[{"r", "[", "\[Lambda]", "]"}], "2"]}]], "+", FractionBox[ RowBox[{"M", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "M"}], "+", RowBox[{"r", "[", "\[Lambda]", "]"}]}], ")"}], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["t", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], "2"]}], SuperscriptBox[ RowBox[{"r", "[", "\[Lambda]", "]"}], "3"]], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "M"}], "-", RowBox[{"r", "[", "\[Lambda]", "]"}]}], ")"}], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", "M"}], "-", RowBox[{"r", "[", "\[Lambda]", "]"}]}], ")"}], " ", SuperscriptBox[ RowBox[{"Sin", "[", RowBox[{"\[Theta]", "[", "\[Lambda]", "]"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], "2"]}], "+", RowBox[{ SuperscriptBox["r", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}]}, { RowBox[{ FractionBox[ RowBox[{"2", " ", RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}], RowBox[{"r", "[", "\[Lambda]", "]"}]], "-", RowBox[{ RowBox[{"Cos", "[", RowBox[{"\[Theta]", "[", "\[Lambda]", "]"}], "]"}], " ", RowBox[{"Sin", "[", RowBox[{"\[Theta]", "[", "\[Lambda]", "]"}], "]"}], " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], "2"]}], "+", RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}]}, { RowBox[{ FractionBox[ RowBox[{"2", " ", RowBox[{ SuperscriptBox["r", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}], RowBox[{"r", "[", "\[Lambda]", "]"}]], "+", RowBox[{"2", " ", RowBox[{"Cot", "[", RowBox[{"\[Theta]", "[", "\[Lambda]", "]"}], "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}], "+", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "\[Lambda]", "]"}]}]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.5599999999999999]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], Column], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.55259657713741*^9, 3.552596640987468*^9, 3.552605701255584*^9, 3.552608570444115*^9, 3.552613562415705*^9, 3.552625655188164*^9, 3.552666490151682*^9, 3.552671160000399*^9, 3.552671265431843*^9, 3.55267149623942*^9, 3.552671584331617*^9, 3.552671734225458*^9, 3.552677575676208*^9, 3.552678510669507*^9, 3.552681342269083*^9, 3.552681556762209*^9, 3.552681661497112*^9, 3.552681952205034*^9, 3.552710889276577*^9, 3.552718225928634*^9, 3.560718996887351*^9, 3.5607204759460907`*^9, 3.561953673357484*^9, 3.564008395749892*^9, 3.56851287678536*^9, 3.56851318055658*^9, 3.568513498421527*^9, 3.568562317009014*^9, 3.568562960412741*^9, 3.568563212337074*^9, 3.568563520761757*^9, 3.568566381573277*^9, 3.56856672707096*^9}], Cell["\<\ If the metric does not have any non-numerical variables other than the \ coordinates, we can plot the geodesic solutions. Let us set M=1 and the \ speed of light to 1:\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612755451077*^9}, 3.55261962612021*^9, {3.552624434883701*^9, 3.552624461250274*^9}, { 3.552625993353044*^9, 3.55262603135279*^9}, 3.568513180556803*^9, 3.568513498421642*^9, 3.568566381573555*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"Setlight", "[", "1", "]"}], ";", RowBox[{"M", "=", "1"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596778484526*^9, 3.552596789690138*^9}, 3.552625657671103*^9, 3.568513180556956*^9, 3.568513498421742*^9, 3.568566381573676*^9}], Cell[BoxData["1"], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.552596790446863*^9, 3.552605703381924*^9, 3.552608573875672*^9, 3.552613564387631*^9, 3.552625658164794*^9, 3.55266649210648*^9, 3.552671162194297*^9, 3.552671267070451*^9, 3.55267149876146*^9, 3.55267158592209*^9, 3.552671735875956*^9, 3.552671820218399*^9, 3.552677577918722*^9, 3.552678513595383*^9, 3.552681344357428*^9, 3.552681558767061*^9, 3.552681663281041*^9, 3.552681954367868*^9, 3.552710891242077*^9, 3.552718228871995*^9, 3.560718998352807*^9, 3.5607204776950397`*^9, 3.561953675554822*^9, 3.564008397432149*^9, 3.568512879424213*^9, 3.568513180557296*^9, 3.568513498421842*^9, 3.568562318732876*^9, 3.568562962237304*^9, 3.568563213992634*^9, 3.568563522912229*^9, 3.568566381576919*^9, 3.568566728866878*^9}], Cell["\<\ Here the Setlight function is used to set the speed of light to 1. The \ default light speed is c=1 but it is necessary to properly define c for the \ units used for the metric. If we know the initial conditions for the geodesic, we can plot it. Let us \ take the initial position and 4-velocity to be.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612766615469*^9}, { 3.552613569266259*^9, 3.552613594588475*^9}, {3.552624468204907*^9, 3.552624549154318*^9}, {3.5526245881157*^9, 3.55262468001585*^9}, 3.552625950525937*^9, 3.568513180557541*^9, 3.568513498421957*^9, 3.568566381577153*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"init", "=", RowBox[{"{", RowBox[{"0", ",", "3", ",", "0", ",", "0"}], "}"}]}], ";"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596933096864*^9, 3.552596954046594*^9}, 3.568513180557699*^9, 3.568513498422045*^9, 3.568566381577253*^9}], Cell[BoxData[ RowBox[{ RowBox[{"vinit", "=", RowBox[{"{", RowBox[{ FractionBox["1", SqrtBox[ RowBox[{"1", "-", FractionBox["2", "3"]}]]], ",", "0", ",", "0", ",", "0"}], "}"}]}], ";"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596972908019*^9, 3.552596992638686*^9}, 3.552597564657265*^9, 3.568513180557851*^9, 3.568513498422127*^9, 3.568566381577337*^9}], Cell["\<\ For the above initial conditions, we plot \[OpenCurlyDoubleQuote]t\ \[CloseCurlyDoubleQuote] and \[OpenCurlyDoubleQuote]r\[CloseCurlyDoubleQuote] \ with \[Tau]\[Element]{0,3}. (NOTE: just like any differential equation, one \ needs to pay attention to the initial conditions and watch out for any \ coordinate singularities)\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.55261280181743*^9}, 3.55262467669969*^9, {3.552719944170848*^9, 3.552720001389334*^9}, 3.568513180557998*^9, 3.568513498422219*^9, 3.568566381577422*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Geoplot", "[", RowBox[{"\[Tau]", ",", "init", ",", "vinit", ",", RowBox[{"{", RowBox[{"0", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "r"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596865186044*^9, 3.552596874814419*^9}, { 3.552597005259478*^9, 3.552597009858267*^9}, 3.552625663179822*^9, 3.568513180558149*^9, 3.568513498422317*^9, 3.56856638157751*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1:eJwVjn081HccwM/jF8Vdxd1vOhbp8lCzFxGJzwdbyoq2iToPOc+7hCzJ41Ak 3emwWlJk5oVYoaXFeQ7X8vCqTC/VFXrQ0crDjRDW/ni/3v+9X2+DgMjvghVp NNqeT/zvD99EXN4bGeXA8KeSd8YmOmQEbTTu47hBcdGw33U2F3reveQLOX6g 91jx12NsPkzccBaEcyKgyqzgEZcdD2nMabYPJxnspecZbuwsuNfl+up7TjZA sNjElX0RIq8cu+vOKYQhely4B/sqtAoEDXs412AgOZ2eya4HFdVoIuM3w6bb SdJy63uw6yde+k3PLngg+MLC36YfbsUFS0vv94JtUbfZ6ZuPYZB7yDw69iGc zE+uFQ8NwSoXYUgrPoI/0kbXXzN7CYz+4Nqt3k/A4q9zb8VNo7B+XXhFesBz 6HWNrpl0Ggcb6eF7jrnDYJTe4ZgleAet8ym7+wteAL86u1tMn4SwZomkKe0V 8CWG9hriKcgPLNPV8R+F2JxLzRY8OWzePzyzFCwDrdQLi2KzGXg27d6Lu8Zh UD3NyWZwFqaef/Ylc98/cMQwt6m2ag5ElfGhXl7voQyr+G1xC8Chq+05XjAB v7QYN/SZLEJdVEpldtEkqG6T2A3SlqF/Qx75NncKrgiOz8f70tDoxENj3/xp eKOVq3jUTQFt9z7fUlQgh+6OxsSC7YoojUp3EAr+heTzjIO72EpYa3tAsyNn Btq5odFnGcrI9OwaLE+fBXU7NXHwjDLCCC2n7egHePq7i07yoArmM8M0Ocfn 4HrzG8b8fVVMK/zhlBV/HnKCzNs+NhC83HuhMztqAaLbvxazxGqYFJE3oRf9 EWhzYUzrenUc5xlTBwIWwfqo9bueCg08szim/CxkCVRL1HVLqldg/VuX91rc ZTgz94KnWLESBzbYjGwzomH1NGdbRpEmhpkEmueV0vDvZvm5imta2OrpneCo r4DhMfYx7tfpaLl/rEK7WAFLWJ6mb4MYGH5ixyP7tYqY4LDCR3mcgZkhavMK eYp42Mx5tjpqFTbq8ZbHtJVQ3t5i7qO8Gm8vZSiZZiuhgbRU9kq0GntvOI8J Vyljj0bv1kOb1mDHupBOQa4yirq7T16VrMGTt/YVD2uoYINnncdrX230MXzq 5y1UQVcr5othJR1cqDNfa0ZUMVPTw4RTooOJSrLuc8mqeGlpd1mjMxOZRra8 DTSCp63WyVJnmRgb4SnXiCNYw7EcUC9lIds6SMJJIOgbeOqgfjkLWxaPXHJK Irhmy41gy0oWagiFX8WnEuyTimR+NSwsrLzzs+w0QbFN2EBDIws731hYSS5+ 6o07JQkHWKgdSD+WLiZ4YEt1X44ahbdN9VyLmwguOXz+Y90KCv2mTPUbWwiO XRAXPNGisDx1R6f8DsE60cWkjToU2l1JYgb1EPxTnH+mw4DCAOl4ndMzgrF3 1elr7SgkpXNZfkMEt4vLOTsdKKwKJwfjRwj6m050xThSOLNgSGpfE5wsKSx/ 4EJhli7Xy+A9wcFTorFcDwrNR0LN7CcJ6sszve54UdhfEbO8f/rTv27i3hku hfq2OWWiWYLGkSmj3jwK22lFCVVzBNtYJhlngygMk1S5SxYI0vkLNe2hFK4U 1a9/uUgw8DfnQx/4FNZ4SWaXlwk6WbrVbo6g8D8ngyYe "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, AxesLabel->{ FormBox["\[Tau]", TraditionalForm], FormBox[ RowBox[{"t", "(", "\[Tau]", ")"}], TraditionalForm]}, AxesOrigin->{0, 0}, Method->{}, PlotRange->{{0, 3}, {0., 6.107596193335498}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}], ",", GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1: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 b4sJ9D+3d5rF "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, AxesLabel->{ FormBox["\[Tau]", TraditionalForm], FormBox[ RowBox[{"r", "(", "\[Tau]", ")"}], TraditionalForm]}, AxesOrigin->{0, 2.46}, Method->{}, PlotRange->{{0, 3}, {2.4681703428923147`, 3.}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.552681667532918*^9, 3.552681960410408*^9, 3.552710897906259*^9, 3.55271823463615*^9, 3.56071900349811*^9, 3.560720485771076*^9, 3.561953681027604*^9, 3.564008402494091*^9, 3.568512888482772*^9, 3.568513180558471*^9, 3.568513498422423*^9, 3.56856232440435*^9, 3.568562966712405*^9, 3.568563218927642*^9, 3.568563527748859*^9, 3.568566381580506*^9, 3.568566734033603*^9}], Cell["\<\ NOTE: Geoplot requires a properly normalized vector to function. For example:\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678563089933*^9, 3.55267858752056*^9}, 3.568513180558677*^9, 3.568513498422534*^9, 3.568566381580713*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Geoplot", "[", RowBox[{"\[Tau]", ",", "init", ",", RowBox[{"{", RowBox[{ FractionBox["4", SqrtBox[ RowBox[{"1", "-", FractionBox["2", "3"]}]]], ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "r"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552597626087955*^9, 3.55259762924947*^9}, 3.552625675067909*^9, 3.552681375870566*^9, 3.568513180558841*^9, 3.568513498422618*^9, 3.568566381580811*^9}], Cell[BoxData["\<\"Invalid timelike or null normilazation, \\nor divergent \ Metric at initial point.\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.552681671878737*^9, 3.552681965238631*^9, 3.552710899690656*^9, 3.552718236507861*^9, 3.560719005152402*^9, 3.5607204872778673`*^9, 3.561953684193406*^9, 3.564008404248081*^9, 3.568512890738458*^9, 3.568513180558995*^9, 3.568513498422706*^9, 3.568562325923441*^9, 3.568562967901036*^9, 3.568563220385214*^9, 3.568563529153934*^9, 3.568566381580898*^9, 3.568566735298605*^9}], Cell[TextData[{ "For ", StyleBox["time-like ", FontFamily->"Utopia", FontWeight->"Bold"], StyleBox["vectors we can input ", FontFamily->"Utopia"], Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"\"\\"", ",", FractionBox[ SuperscriptBox["dx", "1"], "d\[Tau]"], ",", FractionBox[ SuperscriptBox["dx", "2"], "d\[Tau]"], ",", FractionBox[ SuperscriptBox["dx", "3"], "d\[Tau]"]}], ")"}], TraditionalForm]]], " and have Geoplot properly normalize ", Cell[BoxData[ FormBox[ FractionBox[ SuperscriptBox["dx", "0"], "d\[Tau]"], TraditionalForm]]], " (NOTE: the normalization must be accurate to", StyleBox[" 10^-10 precission)", FontFamily->"Utopia"], ". \n\nAs an example we look at an object orbiting in the plane ", Cell[BoxData[ FormBox[ RowBox[{"\[Theta]", "=", FractionBox["\[Pi]", "2"]}], TraditionalForm]]], "." }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552666511417824*^9, 3.552666523652648*^9}, {3.552666919420004*^9, 3.552667030829336*^9}, {3.552667270624042*^9, 3.552667310063065*^9}, { 3.552667925301115*^9, 3.552667962235434*^9}, {3.552669432538961*^9, 3.552669439426965*^9}, {3.552669564009863*^9, 3.5526696571829*^9}, 3.552669734150443*^9, {3.552669813855245*^9, 3.552669862899763*^9}, { 3.5526699554888*^9, 3.552669987395506*^9}, {3.552670587829495*^9, 3.552670605280853*^9}, {3.552677785665134*^9, 3.552677812519661*^9}, 3.55267798019024*^9, {3.552678613041244*^9, 3.552678634203288*^9}, { 3.552678692831271*^9, 3.552678712098238*^9}, {3.552678762843216*^9, 3.552678784023943*^9}, {3.552679624613554*^9, 3.552679624779122*^9}, 3.568513180559158*^9, 3.568513498422797*^9, 3.568566381580991*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"init", "=", RowBox[{"{", RowBox[{"0", ",", "4", ",", FractionBox["\[Pi]", "2"], ",", "0"}], "}"}]}], ";"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596933096864*^9, 3.552596954046594*^9}, { 3.552666982904839*^9, 3.552666985499522*^9}, {3.552669880236238*^9, 3.552669880507101*^9}, {3.552669999851834*^9, 3.55267000014303*^9}, { 3.552677729738188*^9, 3.552677734486451*^9}, {3.552678310931885*^9, 3.552678316766415*^9}, {3.552678802147815*^9, 3.552678805687819*^9}, 3.568513180559316*^9, 3.568513498422904*^9, 3.568566381581081*^9}], Cell[BoxData[ RowBox[{ RowBox[{"vinit", "=", RowBox[{"{", RowBox[{"\"\\"", ",", "0", ",", "0", ",", "1"}], "}"}]}], ";"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552596972908019*^9, 3.552596992638686*^9}, 3.552597564657265*^9, {3.552666689791942*^9, 3.552666693095254*^9}, { 3.552666773758683*^9, 3.552666776823458*^9}, 3.552667316295108*^9, { 3.552671279526307*^9, 3.5526712834462*^9}, {3.552677623244474*^9, 3.552677628004277*^9}, {3.552678321007666*^9, 3.552678322657509*^9}, { 3.552678810267672*^9, 3.552678827332578*^9}, {3.552678897901472*^9, 3.552678913352884*^9}, 3.568513180559502*^9, 3.568513498422989*^9, 3.568566381581166*^9}], Cell[BoxData[ RowBox[{"Geoplot", "[", RowBox[{"\[Tau]", ",", "init", ",", "vinit", ",", RowBox[{"{", RowBox[{"0", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Phi]"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552677818443665*^9, 3.552677818679546*^9}, 3.552678331091079*^9, {3.55267881991904*^9, 3.552678835963853*^9}, { 3.552678917266139*^9, 3.552678938448752*^9}, 3.552679183434697*^9, 3.568513180559656*^9, 3.568513498423072*^9, 3.56856638158125*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1:eJwVyn881HcAx/Hzs3HHA0VE7s6HLj+jFArft/uuVZIfcWpsi8uvJprikTnU RDJLV/QD3QyltSIVNWthQi5cSfoxt3j4EUmP6Lpyaln74/V4/vPiCndtjlZn MBibPvW/kkyhtktUvveK5CndmbdXvVt7OX5bODuo6hc+GSGBx6i59sYDHM73 1Kqg5DD7wApK0nyYrcXJozylX84zCrxC7fRKSXjHLqaUkh59RUAL1fs+rmiK fZ6SL487Uhxwn5rXP8R7yW6gKhg6umv9h6jyO2VJL9hSas4q0Ul9w2uq5lJe /06nv6kdgvCBWaU6Yqme4sndw5Tp2QOvQt8ykThqO1xX85wqdbo3LNxgBF1u Nm/AfYryt9Z++PSeCQoMOu3KIxTUVs/N96KeLYKwP6RJo+stVetXqz7fno2k tmzhLt4sVRpwMcCxhIvL37GCTTf8S2WalnBOxxOUi+InnLcw0JTTIRsItkFW 2YegN5NqEA0/1u/Q44HRO4g/0zSQyZ6133p1KZYkx6SG2Gnhp3178myS7DCi PBnKvKmNyHPM3/bOc4Dv6LcZx5I+Q4S1ToHkmiP8R8T2lpa62JMWOnhUsAwT t4T7O6qZOO6gDPwY5wwnw4eL6W16MNG6+6O5qwt0KWWkXKGP2IQAluYrF6x7 GfbOSmAAdvmTgalry/G4JUotzMEQJWcKH8lTV6D+UOs3HKUh2qrH1w3YuyJG K2VQJjOC1IYoFky6YvtuUT2rZD6MDIj5tGQllsXay/wiFyBUr8F52ncV7ho5 MFM8jBFh0fy7u5YbbtRklTpomOArbsGFJ5fdIFKzC+z6xwQJqUmim/Hu0JWn rU+sW4j21TopFlwPjFZxi8rSTfFL1SwrTOqBoqVmmg0CM3TF0DPyzNUQl8Tc juQsQnFbfLWItwZhRV/LWGOL8Gzyrq9h1xrMfH5WVdZojjmdDIvnGZ4YHuWn tuRawPiYzGYZ8UKFl4t5d+RiuBofNKjp80J1TophrKMlhJ7bRbdE3sgVbN+o obTEHa1fWUaWFFbKy8/ndrOhaazvXthN4ZRtaXX3Rg72v+usSHIH9jUfPrWx gQOdNzaZNWJgk7ng7B1rLpbbdoQajQE+ibfDDfO4SB1fNZns5oMyC6F1l5IL RyvH+rgCH1jfOnfCP9wKe4euH4oZ8IHYscXufqMV9r3JN69w4iNGodkjtSOo 9DnuFp/Nh/Dya07eEYIxlZ9awAM+dmYFf/A9ShBJSNTVPj5SgusesQoJGCN6 rQsf8XFImVIgPkEQlEVEg0/4qPFQvT8pIbA4sq09aYAP1V9zD6suEAjcJT2F E3yI77MOt94mSBW4N/UxaJRUJsQdlBJ4/tzc5qFOozJZRq/v/PSP75JKNGhc MxHPdsoIClvWdkRr05CHzY/r7SMID3laqWTS4A2b0UPDBIp89C5YSMO5Ls3y zChBRGD6xVRTGqtz+lXRYwSbmONZcjMafjxJ7fMJgjWng3hnLGjsjudYTk8T nKhK919hRSPd8wfVFQUB//Q6w5OERo7e0INkJUGi4oueWWsapy5V5s/MENyY GVnfwqNRsV8z9o9ZgtqmbMYSWxoXgqL56R8Ius3C6/PsaNRZtS/2/khgUhgX +9KeRqNiiWpujiD2erVJkCON/wAm4RYr "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, AxesLabel->{ FormBox["\[Tau]", TraditionalForm], FormBox[ RowBox[{"t", "(", "\[Tau]", ")"}], TraditionalForm]}, AxesOrigin->{0, 0}, Method->{}, PlotRange->{{0, 10}, {0., 38.354037127325505`}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}], ",", GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1: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 "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, AxesLabel->{ FormBox["\[Tau]", TraditionalForm], FormBox[ RowBox[{"r", "(", "\[Tau]", ")"}], TraditionalForm]}, AxesOrigin->{0, 4.}, Method->{}, PlotRange->{{0, 10}, {4.00000000000002, 25.595392800981838`}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}], ",", GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1:eJwlzmlQU2cUgOEk92JtCJSwCUaSCxdkUxC1U8Xid0poFYwrIFMsUiKyuECw UGmgFUHEjMZGRUQWERBbxgGrEywoEolRRCDIKpo4KJFhqbRAiBAE6e30x5l3 nh/nzHEUJu7az6DRaFup+a/FvwgX+USf3shI/7+qLkIQRsQjyavYghCqC48b sgjiJ/SUmZG5lGrxAynPhJAg8zce8eM8CTrkl3J4mncZlXu58Cqpdn2Iyx3n VSLRZyERd7mV6BPNgOsYrw7ZayPpSzh1qPRpSdJfvGak1dQ2lrGaUfVNieaQ 10vkLGZ+Leh7gWJRx+V3R3RoejT4fu7wAEoYdNfJq0eQNSerQ506jJiOJ1z7 142jk+frA98v+RudtWjxKP1ej24kOfReTZ5AQk2IAmt9j9KEuHtjpx4lPToh THSdRcfuVA/fHzKgWyJWsF3gPAo66NvqdW0alaYdHF0VRoMaE1re3A4jyiyZ 2zn1jg5+pLLIVj6LaF2voV6MATFx2i1i9ANanhyTGuJhAoXR/RKpzTx6a7i0 2/T+IvDMSpzsNfuIggYP/Hw+aTFUXWGKKuY/om1vZZ5cLhOuZK/L4LcvoNGH wownVaaQt8HfJwLRwIvd68CPNIM3q8UZjIs0YCJDlFZvDtofrLxcXtFg01j4 tFOoBSTt+meTjqRDnzKaHr6CDb24n14lpEPNKdVewsCG0o41N7/Jp0OMScpr tdoS/NYwgkPb6LDvSFoNq8AKElVcF8UsHbxjPdWCKGt4PPK8rJtkQLvlCtOU 9TYw2XeFPy1gwL3qzMIVmC3wNwREHxUxII3usaP1lS1419q6ELkMYGrFmxPk S+Dq63uT5+UMGLzumFuSbgcaO0Vt0zMG5LrZ43Wh9vBQoL28e4wBsoKYpihi KQRFbXcLWIRBeG6EmjW0FCzdQhb7OmAwE1BhLGngwIF4YUXpWgx0g/6pypxl 0DjyxYxnIAZlfj6ctigHUKhjfVz2YlCVncKOXcmFfCmHXyzCICd03xbMwIXD 5tWgPI7B59rSypw2HqyeMpF9dwGDfPfCqrYtBJz4UXhmrAyDYw+k+VvqCIhf tblo7DYGWzmhFU+dHWHKsqexsxGDrxKa9rAljoDJOAGm7RiULBM6txocwfBo wfe2FgPnh7/lbdvjBJG7Vey+YQxkK5UenQ1OMFRp/tJ3CoMYPd7R7EHCRQs5 41MaDsJbk4TkVxLavUn1OSYOhzKD54LOkVDvHtijoJwSLH/OukCCbqeya4zy KUPKWVkeCVk9f94JNMWher3xw6ViElxs9NZ0Fg7GxoXe6zeo/XHl2gQzHGSd LKmqiYS7qXst/S1wKCg/HHeymYT+ozmLEymXJ6v5m1tIEPG3vy+kfMdWNtui pu6LVbUGytpwq7iuHhLCurNf/M7GwVVnzx/QkWCuiT5jZoXDKrmYe22QBEWT dH49Zd9sjXH/EAmupuKYGMoC1+I/RkZJ6C2s4CkoHzlIcCcmSHDuz/EWWeOQ /uVx42099e9xZmQR5Wyzge5kAwnhScKTTyjn3yw/PTNDQjxZWE/Y4FCWgcfe nSWh7tuMFgHlGzv3+6fPkdCi4nemUpY7PXbY+JEEadHQs2uUG/TLjQsLJPDs EpqeUf4XJdgUcw== "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, AxesLabel->{ FormBox["\[Tau]", TraditionalForm], FormBox[ RowBox[{"\[Phi]", "(", "\[Tau]", ")"}], TraditionalForm]}, AxesOrigin->{0, 0}, Method->{}, PlotRange->{{0, 10}, {0., 2.5106521206353274`}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{ 3.552671289964244*^9, 3.5526715115525*^9, 3.552671596202321*^9, 3.55267174718519*^9, 3.552671828796384*^9, 3.552677630671471*^9, { 3.55267772322194*^9, 3.552677736906409*^9}, 3.552677819784292*^9, { 3.552678325818283*^9, 3.552678331825997*^9}, {3.552678820985667*^9, 3.552678837069901*^9}, {3.552678903324463*^9, 3.552678959742025*^9}, 3.55267918434398*^9, 3.552681680614867*^9, 3.552681969701511*^9, 3.55271090427012*^9, 3.552718241442379*^9, 3.560719010556885*^9, 3.560720490552528*^9, 3.561953688757088*^9, 3.5640084078489037`*^9, 3.568512913299509*^9, 3.568513180559986*^9, 3.568513498423168*^9, 3.568562331237219*^9, 3.568562971405181*^9, 3.568563224422229*^9, 3.568563533282024*^9, 3.568566381584027*^9, 3.568566739127357*^9}], Cell[TextData[{ "The normalization has been automatically done for us. The text \ \[OpenCurlyDoubleQuote]Max\[CloseCurlyDoubleQuote] tells us to use the \ maximum solution, ", Cell[BoxData[ FormBox[ FractionBox[ SuperscriptBox["dx", "0"], "d\[Tau]"], TraditionalForm]]], ", of\n", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox["c", "2"]}], "-", RowBox[{ SubscriptBox["g", "ij"], "(", RowBox[{ FractionBox[ SuperscriptBox["dx", "i"], "d\[Tau]"], FractionBox[ SuperscriptBox["dx", "j"], "d\[Tau]"]}], " ", ")"}]}], "=", RowBox[{ SuperscriptBox[ RowBox[{ SubscriptBox["g", "00"], "(", FractionBox[ SuperscriptBox["dx", "0"], "d\[Tau]"], ")"}], "2"], "+", RowBox[{"2", RowBox[{ SubscriptBox["g", RowBox[{"0", "i"}]], "(", RowBox[{ FractionBox[ SuperscriptBox["dx", "i"], "d\[Tau]"], FractionBox[ SuperscriptBox["dx", "0"], "d\[Tau]"]}], ")"}]}]}]}], TraditionalForm]]], ".\nIf we want the minimum solution one replaces \[OpenCurlyDoubleQuote]Max\ \[CloseCurlyDoubleQuote] with \[OpenCurlyDoubleQuote]Min\ \[CloseCurlyDoubleQuote].\n" }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552666511417824*^9, 3.552666523652648*^9}, {3.552666919420004*^9, 3.552667030829336*^9}, {3.552667270624042*^9, 3.552667310063065*^9}, { 3.552667925301115*^9, 3.552667962235434*^9}, {3.552669432538961*^9, 3.552669439426965*^9}, {3.552669564009863*^9, 3.5526696571829*^9}, 3.552669734150443*^9, {3.552669813855245*^9, 3.552669862899763*^9}, { 3.5526699554888*^9, 3.552669987395506*^9}, {3.552670587829495*^9, 3.552670605280853*^9}, {3.552677785665134*^9, 3.552677812519661*^9}, { 3.55267797420018*^9, 3.552678205533665*^9}, 3.568513180560187*^9, 3.568513498423268*^9, 3.568566381584224*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell["\<\ Once Geoplot has been used, an interpolation object called \ \[OpenCurlyDoubleQuote]GEOSOL\[CloseCurlyDoubleQuote] is created that \ contains the solutions to the geodesic equations.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678968464877*^9, 3.552678969332082*^9}, 3.56851318056034*^9, 3.568513498423354*^9, 3.568566381584312*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData["GEOSOL"], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552597137375774*^9, 3.552597138541319*^9}, { 3.552625666039968*^9, 3.552625670404469*^9}, 3.568513180560496*^9, 3.568513498423493*^9, 3.568566381584408*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"t", "\[Rule]", TagBox[ RowBox[{"InterpolatingFunction", "[", RowBox[{ RowBox[{"{", RowBox[{"{", RowBox[{"0.`", ",", "10.`"}], "}"}], "}"}], ",", "\<\"<>\"\>"}], "]"}], False, Editable->False]}], ",", RowBox[{"r", "\[Rule]", TagBox[ RowBox[{"InterpolatingFunction", "[", RowBox[{ RowBox[{"{", RowBox[{"{", RowBox[{"0.`", ",", "10.`"}], "}"}], "}"}], ",", "\<\"<>\"\>"}], "]"}], False, Editable->False]}], ",", RowBox[{"\[Theta]", "\[Rule]", TagBox[ RowBox[{"InterpolatingFunction", "[", RowBox[{ RowBox[{"{", RowBox[{"{", RowBox[{"0.`", ",", "10.`"}], "}"}], "}"}], ",", "\<\"<>\"\>"}], "]"}], False, Editable->False]}], ",", RowBox[{"\[Phi]", "\[Rule]", TagBox[ RowBox[{"InterpolatingFunction", "[", RowBox[{ RowBox[{"{", RowBox[{"{", RowBox[{"0.`", ",", "10.`"}], "}"}], "}"}], ",", "\<\"<>\"\>"}], "]"}], False, Editable->False]}]}], "}"}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.552597139430148*^9, 3.552605712949758*^9, 3.552608583887742*^9, 3.552613609037914*^9, 3.552625671058116*^9, 3.552671274575596*^9, 3.552671507079668*^9, 3.552671592001*^9, 3.552671743370344*^9, 3.552671825665435*^9, 3.552677615787785*^9, 3.552678971176699*^9, 3.552679186494611*^9, 3.55268168373459*^9, 3.552681974588207*^9, 3.552710907885481*^9, 3.552718245121945*^9, 3.560719014485063*^9, 3.560720493193864*^9, 3.561953701555212*^9, 3.564008410672757*^9, 3.568512933554416*^9, 3.568513180560809*^9, 3.568513498423595*^9, 3.568562334832841*^9, 3.568562973989914*^9, 3.56856322725194*^9, 3.568563535786704*^9, 3.568566381587131*^9, 3.568566741203537*^9}], Cell["\<\ \[OpenCurlyDoubleQuote]GEOSOL\[CloseCurlyDoubleQuote] be used to manipulate \ the numerical geodesic solutions. For example, for the previous initial \ conditions, we can plot the particle trajectory in the x-y plane:\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678968464877*^9, 3.552678969332082*^9}, {3.552679016795217*^9, 3.55267907991383*^9}, 3.568513180561025*^9, 3.568513498423717*^9, 3.568566381587368*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"ParametricPlot", "[", RowBox[{ RowBox[{"Evaluate", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"r", "[", "\[Tau]", "]"}], " ", RowBox[{"Cos", "[", RowBox[{"\[Phi]", "[", "\[Tau]", "]"}], "]"}]}], ",", RowBox[{ RowBox[{"r", "[", "\[Tau]", "]"}], " ", RowBox[{"Sin", "[", RowBox[{"\[Phi]", "[", "\[Tau]", "]"}], "]"}]}]}], "}"}], "/.", "GEOSOL"}], "]"}], ",", RowBox[{"{", RowBox[{"\[Tau]", ",", "0", ",", "10"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552679136286126*^9, 3.552679193254708*^9}, 3.568513180561179*^9, 3.568513498423815*^9, 3.56856638158748*^9}], Cell[BoxData[ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1: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 "]]}}, Axes->True, AxesOrigin->{0, 0}, Method->{}, PlotRange->{{-20.66759017711435, 4.}, {0., 15.098836941127145`}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552679144725721*^9, 3.552679156098991*^9}, { 3.552679188033986*^9, 3.55267919363247*^9}, 3.552681689870304*^9, 3.552681979794596*^9, 3.552710909937392*^9, 3.552718246953005*^9, 3.5607190161262493`*^9, 3.5607204943932467`*^9, 3.561953703547978*^9, 3.564008412180937*^9, 3.568512936839551*^9, 3.568513180561478*^9, 3.568513498424121*^9, 3.568562337181472*^9, 3.568562975785387*^9, 3.568563228711018*^9, 3.568563537280543*^9, 3.568566381590934*^9, 3.568566742825256*^9}], Cell[BoxData[ RowBox[{"Clear", "[", "M", "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568513476582466*^9, 3.568513498424265*^9}, 3.568566381591133*^9}], Cell[BoxData[""], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568565370521536*^9, 3.568565372905648*^9}, 3.568566381591555*^9}], Cell[TextData[{ "It is also usefull to have a function which checks wheter a specific ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["x", "\[Mu]"], "(", "u", ")"}], TraditionalForm]]], " is a solution. ", Cell[BoxData[ FormBox[ RowBox[{"Issol", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ SubscriptBox["x", "0"], "(", "u", ")"}], ",", RowBox[{ SubscriptBox["x", "1"], "(", "u", ")"}], ",", RowBox[{ SubscriptBox["x", "2"], "(", "u", ")"}], ",", RowBox[{ SubscriptBox["x", "3"], "(", "u", ")"}]}], "}"}], ",", "u"}], "]"}], TraditionalForm]]], " returns either True, False, or an expression which must be equal to zero \ if the four vector is to be a geodesic. Let us see if the trajectory\n ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["x", "\[Mu]"], "(", "\[Tau]", ")"}], TraditionalForm]]], "={\[Tau], R, ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ FractionBox["\[Pi]", "2"], ",", "0"}], "}"}], " "}], TraditionalForm]]], " is a solution to the geodesic equation" }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678968464877*^9, 3.552678969332082*^9}, {3.552679016795217*^9, 3.55267907991383*^9}, 3.568513180561025*^9, 3.568513498423717*^9, { 3.568513530681515*^9, 3.568513603300352*^9}, {3.568513686847738*^9, 3.568513702822191*^9}, {3.56856234920259*^9, 3.568562420986471*^9}, 3.568563730832139*^9, {3.568563837899924*^9, 3.568563943835692*^9}, { 3.568564185756036*^9, 3.568564239654247*^9}, 3.568566381591669*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Issol", "[", RowBox[{ RowBox[{"{", RowBox[{"\[Tau]", ",", "R", ",", " ", FractionBox["\[Pi]", "2"], ",", "0"}], "}"}], ",", "\[Tau]"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568562502104293*^9, 3.568562523428951*^9}, 3.568563544229028*^9, 3.568566381591763*^9}], Cell[BoxData[ FractionBox[ RowBox[{ SuperscriptBox["M", "2"], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "M"}], "+", "R"}], ")"}], "2"]}], SuperscriptBox["R", "6"]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{ 3.568562980678666*^9, 3.56856323339525*^9, 3.568563545232988*^9, 3.568563592995044*^9, 3.568563745101643*^9, {3.568564881661496*^9, 3.568564885086514*^9}, 3.568565387895109*^9, 3.568566381594901*^9, 3.568566755597882*^9}], Cell[TextData[{ "Thus ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["x", "\[Mu]"], " "}], TraditionalForm]]], "is a solution if ", Cell[BoxData[ FormBox[ RowBox[{"R", "=", "\[Infinity]", " "}], TraditionalForm]]], " (Note: R=2M should always be treated with care because the metric is \ singular in these coordinates. Any expression given by Issol that gives ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"g", "(", SuperscriptBox["x", "\[Mu]"], ")"}], "=", "\[Infinity]", " "}], TraditionalForm]]], "should be checked clearly.) " }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678968464877*^9, 3.552678969332082*^9}, {3.552679016795217*^9, 3.55267907991383*^9}, 3.568513180561025*^9, 3.568513498423717*^9, { 3.568513530681515*^9, 3.568513603300352*^9}, {3.568513686847738*^9, 3.568513702822191*^9}, {3.56856234920259*^9, 3.568562420986471*^9}, 3.568563730832139*^9, {3.568563837899924*^9, 3.568563943835692*^9}, { 3.568564185756036*^9, 3.568564239654247*^9}, {3.568564914272068*^9, 3.568565033012346*^9}, {3.568565123362476*^9, 3.568565193678348*^9}, { 3.568565859860584*^9, 3.568565865396928*^9}, 3.568566381595111*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"?", "Issol"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568513555816142*^9, 3.568513559420302*^9}, 3.568566381595206*^9}], Cell[BoxData[ StyleBox["\<\"Issol[x[\[Tau]],\[Tau]] will give True if the four vector x[\ \[Tau]] is a solution to the geodesic equations and False otherwise. Issol \ may also give an expression which must be zero for \ \!\(\*SuperscriptBox[\(x\), \(\[Mu]\)]\) to be a geodesic\"\>", "MSG"]], "Print", "PrintUsage", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.568566758103199*^9, 3.56856679251321*^9}, CellTags->"Info3568548757-7777553"], Cell["\<\ DISCLAIMER: Issol is by no means perfect. If Issol gives false it does not \ mean your geodesic is not a solution it might mean that the program has not \ done enough simplifications or taken into account algebraic identities.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678968464877*^9, 3.552678969332082*^9}, {3.552679016795217*^9, 3.55267907991383*^9}, 3.568513180561025*^9, 3.568513498423717*^9, { 3.568513530681515*^9, 3.568513603300352*^9}, {3.568513686847738*^9, 3.568513702822191*^9}, {3.56856234920259*^9, 3.568562420986471*^9}, 3.568563730832139*^9, {3.568563837899924*^9, 3.568563943835692*^9}, { 3.568564185756036*^9, 3.568564239654247*^9}, {3.568564914272068*^9, 3.568565033012346*^9}, {3.568565123362476*^9, 3.568565193678348*^9}, { 3.568565859860584*^9, 3.568565970715901*^9}, 3.568566381595404*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell["Finally", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678968464877*^9, 3.552678969332082*^9}, {3.552679016795217*^9, 3.55267907991383*^9}, 3.568513180561025*^9, 3.568513498423717*^9, { 3.568513530681515*^9, 3.568513603300352*^9}, {3.568513686847738*^9, 3.568513702822191*^9}, {3.56856234920259*^9, 3.568562420986471*^9}, 3.568563730832139*^9, {3.568563837899924*^9, 3.568563943835692*^9}, { 3.568564185756036*^9, 3.568564239654247*^9}, {3.568564914272068*^9, 3.568565033012346*^9}, {3.568565123362476*^9, 3.568565193678348*^9}, { 3.568565859860584*^9, 3.568565970715901*^9}, {3.568566090003491*^9, 3.56856612590828*^9}, 3.56856638159549*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"?", "ReplaceCoords"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568566096283062*^9, 3.568566110204214*^9}, 3.568566381595578*^9}], Cell[BoxData[ StyleBox["\<\"ReplaceCoords[exp,coords] replaces the default coordinates \ (COORDINATES) to thos specified in coords.\"\>", "MSG"]], "Print", \ "PrintUsage", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.568566760580651*^9, 3.568566792513427*^9}, CellTags->"Info3568548760-7777553"], Cell["\<\ This function is usefull when wanting to input a particular value to your \ coordinates. For example\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552624691225004*^9, 3.552624707505748*^9}, 3.552625943751855*^9, { 3.552678968464877*^9, 3.552678969332082*^9}, {3.552679016795217*^9, 3.55267907991383*^9}, 3.568513180561025*^9, 3.568513498423717*^9, { 3.568513530681515*^9, 3.568513603300352*^9}, {3.568513686847738*^9, 3.568513702822191*^9}, {3.56856234920259*^9, 3.568562420986471*^9}, 3.568563730832139*^9, {3.568563837899924*^9, 3.568563943835692*^9}, { 3.568564185756036*^9, 3.568564239654247*^9}, {3.568564914272068*^9, 3.568565033012346*^9}, {3.568565123362476*^9, 3.568565193678348*^9}, { 3.568565859860584*^9, 3.568565970715901*^9}, {3.568566090003491*^9, 3.568566169934625*^9}, 3.568566381595759*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"ReplaceCoords", "[", RowBox[{"GMET", ",", RowBox[{"{", RowBox[{"\[Tau]", ",", " ", "R", ",", " ", FractionBox["\[Pi]", "2"], ",", "0"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568566171488983*^9, 3.56856619178594*^9}, 3.568566381595903*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "1"}], "+", FractionBox[ RowBox[{"2", " ", "M"}], "R"]}], ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", FractionBox["R", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", "M"}], "+", "R"}]], ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", SuperscriptBox["R", "2"], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", SuperscriptBox["R", "2"]}], "}"}]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{3.568566192520325*^9, 3.568566381598643*^9, 3.568566762426216*^9}], Cell[BoxData[ RowBox[{"ReplaceCoords", "[", RowBox[{ RowBox[{"Christoffel", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "1", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"\[Tau]", ",", " ", "R", ",", " ", FractionBox["\[Pi]", "2"], ",", "0"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568566209691771*^9, 3.568566229035205*^9}, { 3.568566293950301*^9, 3.568566327799961*^9}, 3.568566381598825*^9}], Cell[BoxData[ FractionBox["M", RowBox[{ RowBox[{"2", " ", "M", " ", "R"}], "-", SuperscriptBox["R", "2"]}]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{ 3.568566229486307*^9, {3.568566296018619*^9, 3.568566328261613*^9}, 3.568566381601413*^9, 3.56856676456016*^9}], Cell[BoxData[ RowBox[{"Christoffel", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "1", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}], "}"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{{3.568566301629555*^9, 3.568566306965527*^9}, 3.568566381601592*^9}], Cell[BoxData[ FractionBox["M", RowBox[{ RowBox[{"2", " ", "M", " ", "r"}], "-", SuperscriptBox["r", "2"]}]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellChangeTimes->{ 3.568566247404575*^9, {3.56856629759002*^9, 3.568566307686595*^9}, 3.568566381604384*^9, 3.568566767514563*^9}] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Covariant Derivatives and Tensor Definitions", FontSize->24]], "Title", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552595494219086*^9, 3.55259549611101*^9}, {3.552597370058186*^9, 3.55259737880731*^9}, { 3.5607204959803257`*^9, 3.5607204982117167`*^9}, 3.568513264752695*^9}], Cell["", "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552595508832512*^9, 3.552595528694728*^9}, {3.552596164326572*^9, 3.552596181007564*^9}, { 3.552596233095316*^9, 3.552596246447999*^9}, {3.552596650220758*^9, 3.55259665352302*^9}, {3.552596739761773*^9, 3.55259677568024*^9}, { 3.55259692435776*^9, 3.552596929765367*^9}, {3.552596964329389*^9, 3.55259696810932*^9}, {3.552597024762704*^9, 3.552597067509601*^9}, { 3.552597148694466*^9, 3.552597173609168*^9}, {3.552597230490004*^9, 3.552597277732334*^9}, {3.552597475894618*^9, 3.552597477905568*^9}, 3.5685132647528*^9}], Cell["\<\ The index structure in GRQUICK is {{top indices},{bottom indices}}. For a \ purely covariant tensor one can use {bottom indices}, and for a pure \ contravariant one must use {{top indices},{}} (this will be fixed in the \ future). We switch to our original spherical symmetric metric.\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612884861876*^9}, {3.552621316278845*^9, 3.552621324488097*^9}, 3.568513264752895*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metin", "[", RowBox[{ RowBox[{"DiagonalMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], ",", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], ",", SuperscriptBox["r", "2"], ",", RowBox[{ SuperscriptBox["r", "2"], SuperscriptBox[ RowBox[{"Sin", "[", "\[Theta]", "]"}], "2"]}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{3.552625680183596*^9, 3.568513264752999*^9}], Cell[BoxData["\<\"Metric Success\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{ 3.55260419400703*^9, 3.552605721503298*^9, 3.55260859088052*^9, 3.552613624838828*^9, 3.55262568061328*^9, 3.552671454469674*^9, 3.552681696466923*^9, {3.552682005407775*^9, 3.552682020242308*^9}, 3.552710920130396*^9, 3.552718250973822*^9, 3.560719019217355*^9, 3.560720500692316*^9, 3.561953707641145*^9, 3.564008418146405*^9, 3.568512945169225*^9, 3.568513264753093*^9, 3.56856680266698*^9}], Cell["Einstein[0,0] Re-Populates arrays", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612915156335*^9}, 3.552626069101272*^9, 3.568513264753176*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"Einstein", "[", RowBox[{"0", ",", "0"}], "]"}], ";"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552604225877375*^9, 3.552604244381773*^9}, 3.568513264753269*^9}], Cell[TextData[{ "We calculate ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["\[Del]", "0"], SubscriptBox["G", "00"]}], TraditionalForm]]] }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, 3.568513264753356*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552604091274518*^9, 3.552604111627978*^9}, { 3.552625683860424*^9, 3.552625684589063*^9}, 3.568513264753458*^9}], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"r", " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], "+", FractionBox[ RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "3"]}]], "-", FractionBox[ RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{ 3.552604309181858*^9, 3.552605724421767*^9, 3.552608596789403*^9, 3.552613628006081*^9, 3.552625685263364*^9, 3.552681699039497*^9, { 3.552681993959756*^9, 3.552682022513897*^9}, 3.552710922868845*^9, 3.552718254543048*^9, 3.560719022701685*^9, 3.560720503110548*^9, 3.561953710940856*^9, 3.5640084210652113`*^9, 3.568512948434353*^9, 3.56851326475382*^9, 3.568566805330117*^9}], Cell["coderv also works with more complex tensor such as:", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, 3.568513264755373*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0", ",", "1"}], "}"}]}], "}"}], ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552605792121572*^9, 3.552605793546713*^9}, 3.5526256870925*^9, 3.568513264755534*^9}], Cell[BoxData[ RowBox[{ RowBox[{"-", RowBox[{ FractionBox["1", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "3"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}]], RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "+", RowBox[{ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}]}], "-", RowBox[{ FractionBox["1", RowBox[{"2", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], RowBox[{ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "+", RowBox[{ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}], "+", RowBox[{ FractionBox["1", RowBox[{"4", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}]], RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}], ")"}]}], "+", RowBox[{ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"2", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}]}], "+", RowBox[{ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}], "+", RowBox[{ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{ RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "-", RowBox[{"2", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}], "-", RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "2"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], "+", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"3", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552605768311744*^9, 3.552605794707077*^9}, 3.552608608317138*^9, 3.552613629907469*^9, 3.552625687641682*^9, 3.552681700287438*^9, 3.552682023706833*^9, 3.552710924362741*^9, 3.552718256177582*^9, 3.560719024403116*^9, 3.560720504745391*^9, 3.56195371274504*^9, 3.5640084225826283`*^9, 3.568512950312842*^9, 3.56851326475658*^9, 3.568566807010342*^9}], Cell["We now do a quick check of coderv.", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, 3.552613034471162*^9, 3.552624791657332*^9, 3.56851326475689*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"check", "=", RowBox[{"(", RowBox[{ RowBox[{"D", "[", RowBox[{ RowBox[{"Riemann", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0", ",", "1"}], "}"}]}], "}"}], "]"}], ",", "t"}], "]"}], "+", "\[IndentingNewLine]", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"Christoffel", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "ss"}], "}"}]}], "}"}], "]"}], " ", RowBox[{"Riemann", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "ss", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0", ",", "1"}], "}"}]}], "}"}], "]"}]}], ",", RowBox[{"{", RowBox[{"ss", ",", "0", ",", "3"}], "}"}]}], "]"}], "\[IndentingNewLine]", "-", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"Christoffel", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "ss", "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], "]"}], RowBox[{"Riemann", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"ss", ",", "0", ",", "1"}], "}"}]}], "}"}], "]"}]}], ",", RowBox[{"{", RowBox[{"ss", ",", "0", ",", "3"}], "}"}]}], "]"}], "\[IndentingNewLine]", "-", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"Christoffel", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "ss", "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], "}"}], "]"}], RowBox[{"Riemann", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "ss", ",", "1"}], "}"}]}], "}"}], "]"}]}], ",", RowBox[{"{", RowBox[{"ss", ",", "0", ",", "3"}], "}"}]}], "]"}], "\[IndentingNewLine]", "-", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"Christoffel", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "ss", "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], "]"}], RowBox[{"Riemann", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0", ",", "ss"}], "}"}]}], "}"}], "]"}]}], ",", RowBox[{"{", RowBox[{"ss", ",", "0", ",", "3"}], "}"}]}], "]"}]}], ")"}]}], ";"}], "\[IndentingNewLine]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552605838832026*^9, 3.552605874893335*^9}, { 3.55260596418948*^9, 3.552606155303406*^9}, 3.5526070973131*^9, { 3.552608200870889*^9, 3.55260820680949*^9}, 3.568513264756998*^9}], Cell[BoxData[ RowBox[{"FullSimplify", "[", RowBox[{"Expand", "[", RowBox[{"check", "-", RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0", ",", "1"}], "}"}]}], "}"}], ",", "0"}], "]"}]}], "]"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552606164235484*^9, 3.552606184259878*^9}, { 3.552607566882311*^9, 3.552607573217778*^9}, 3.552625697726774*^9, 3.568513264757083*^9}], Cell[BoxData["0"], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{ 3.55260618484303*^9, 3.552606451669174*^9, 3.552607166146887*^9, 3.552607267456574*^9, 3.552607574361357*^9, {3.552608256689185*^9, 3.552608270035837*^9}, 3.552608750716056*^9, 3.552613633853721*^9, 3.552625698272184*^9, 3.552681706225951*^9, 3.55268202681861*^9, 3.552710931381382*^9, 3.552718261049218*^9, 3.560719027632799*^9, 3.560720507358325*^9, 3.561953715788992*^9, 3.5640084258460903`*^9, 3.568512954177085*^9, 3.568513264757386*^9, 3.568566810586281*^9}], Cell[TextData[{ "Along with the standard tensors we can define new tensors exactly the way \ one defines functions in mathematica (I am working on a define tensor \ function but for now this works). Here is an example of a tensor definition \ of ", Cell[BoxData[ FormBox[ SubscriptBox[ SuperscriptBox["G", "\[Mu]"], "\[Nu]"], TraditionalForm]]], ":" }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613080470975*^9}, 3.568513264758076*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"Gupdn", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "a_", "}"}], ",", RowBox[{"{", "b_", "}"}]}], "}"}], "]"}], ":=", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"IMetric", "[", RowBox[{"a", ",", "jj"}], "]"}], RowBox[{"Einstein", "[", RowBox[{"jj", ",", "b"}], "]"}]}], ",", RowBox[{"{", RowBox[{"jj", ",", "0", ",", "3"}], "}"}]}], "]"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552608900899832*^9, 3.552608910819222*^9}, { 3.552608951705913*^9, 3.552608999997161*^9}, 3.552625703267957*^9, 3.5607190420524187`*^9, 3.568513264758211*^9}], Cell["Now we can take covariant derivatives of the new object.", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613091229197*^9}, 3.552624805632592*^9, 3.568513264758295*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", "0", "}"}]}], "}"}], ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552609034892941*^9, 3.552609055281443*^9}, 3.552625705972319*^9, 3.568513264758378*^9}], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"r", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], "+", FractionBox[ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "3"]}]], "-", FractionBox[ RowBox[{ RowBox[{"-", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], RowBox[{ SuperscriptBox["r", "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{ 3.552609056067646*^9, 3.552613638737721*^9, 3.552625706446243*^9, 3.552681709174747*^9, 3.552682030536155*^9, 3.552710935441727*^9, 3.552718264268994*^9, {3.560719031322352*^9, 3.560719044749374*^9}, 3.5607205098932467`*^9, {3.561953729765525*^9, 3.561953743480197*^9}, 3.564008430313031*^9, 3.568512958696931*^9, 3.568513264758643*^9, 3.568566813962151*^9}], Cell["\<\ We now define a rank 2 contravariant tensor and take a covariant derivative \ (the bad notation for pure contravariant tensors will be fixed later).:\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613104841639*^9}, 3.55262481559764*^9, 3.568513264758759*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"Gupup", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"a_", ",", "b_"}], "}"}], ",", RowBox[{"{", "}"}]}], "}"}], "]"}], ":=", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"IMetric", "[", RowBox[{"b", ",", "ss"}], "]"}], RowBox[{"Gupdn", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "a", "}"}], ",", RowBox[{"{", "ss", "}"}]}], "}"}], "]"}]}], ",", RowBox[{"{", RowBox[{"ss", ",", "0", ",", "3"}], "}"}]}], "]"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552609330785227*^9, 3.552609389619201*^9}, 3.55262571185743*^9, 3.5607190509486094`*^9, 3.568513264758846*^9}], Cell[BoxData[ RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}], ",", RowBox[{"{", "}"}]}], "}"}], ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552611732063578*^9, 3.552611785492434*^9}, 3.552625713297313*^9, 3.568513264758926*^9}], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{ RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"r", " ", SuperscriptBox[ RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]], "+", FractionBox[ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "3"]}]], "-", FractionBox[ RowBox[{ RowBox[{"-", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], "+", RowBox[{"r", " ", RowBox[{ SuperscriptBox["n", TagBox[ RowBox[{"(", RowBox[{"1", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}]}], RowBox[{ SuperscriptBox["r", "2"], " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}], " ", SuperscriptBox[ RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}], "2"]}]]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.55261178252299*^9, 3.552611786111696*^9}, 3.552613642300919*^9, 3.552625713866895*^9, 3.552681711890873*^9, 3.552682035859202*^9, 3.552710938209673*^9, 3.552718266624721*^9, 3.5607190534648247`*^9, 3.561953748220259*^9, 3.5640084340793447`*^9, 3.568512961705117*^9, 3.568513264759102*^9, 3.568566818114111*^9}], Cell["\<\ Finally for rank 2 covariant tensor we can take their trace as :\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613129509235*^9}, 3.552621664403956*^9, 3.568513264759216*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"Tenstr", "[", "\"\\"", "]"}], "-", RowBox[{"Sum", "[", RowBox[{ RowBox[{"Gupdn", "[", RowBox[{"{", RowBox[{ RowBox[{"{", "aa", "}"}], ",", RowBox[{"{", "aa", "}"}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"aa", ",", "0", ",", "3"}], "}"}]}], "]"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552609136400888*^9, 3.552609201661502*^9}, 3.552625715614052*^9, 3.568513264759302*^9}], Cell[BoxData["0"], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{3.552609166733635*^9, 3.552609202133863*^9, 3.552611809160966*^9, 3.552613644078941*^9, 3.552625716147003*^9, 3.552681713337652*^9, 3.552682037526342*^9, 3.552710940340258*^9, 3.552718268071091*^9, 3.5607190553959703`*^9, 3.560720513257648*^9, 3.561953749851718*^9, 3.564008435628626*^9, 3.568512964375796*^9, 3.568513264759509*^9, 3.568566819589086*^9}], Cell[TextData[StyleBox["Vectors", FontSize->24]], "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552595494219086*^9, 3.55259549611101*^9}, {3.552614899876412*^9, 3.552614900984614*^9}, 3.568513264759655*^9}, FontSize->18], Cell[TextData[{ "Vectors have a special place in GRQUICK because one can either put them \ directly into \[OpenCurlyDoubleQuote]coderv\[CloseCurlyDoubleQuote] or \ functionally define them.\n\nFor example let us take ", Cell[BoxData[ FormBox[ SubscriptBox["\[Del]", "0"], TraditionalForm]]], " ", Cell[BoxData[ FormBox[ SuperscriptBox["x", "0"], TraditionalForm]]], ":" }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617711600415*^9}, { 3.552617935470457*^9, 3.55261793560385*^9}, {3.552618027829839*^9, 3.552618028557699*^9}, {3.552618065007819*^9, 3.552618090096455*^9}, 3.568513264759743*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"x", "=", RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}]}]], "Input",\ CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552617681994726*^9, 3.552617686312291*^9}, { 3.552618031575342*^9, 3.5526180330495*^9}, 3.568513264759847*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{3.552617686961451*^9, 3.552618033879665*^9, 3.552625719007599*^9, 3.552681716542958*^9, 3.55268203978483*^9, 3.552718270248688*^9, 3.5607190577627287`*^9, 3.5607205152908907`*^9, 3.561953754110761*^9, 3.564008437927507*^9, 3.568512967457928*^9, 3.568513264760035*^9, 3.568566823105583*^9}], Cell[BoxData[ RowBox[{ RowBox[{"X", "[", "a_", "]"}], ":=", RowBox[{"x", "[", RowBox[{"[", RowBox[{"a", "+", "1"}], "]"}], "]"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552617688892785*^9, 3.552617700800665*^9}, { 3.552618037838784*^9, 3.55261804823361*^9}, 3.568513264760168*^9}], Cell["\<\ NOTE: the +1 comes from the fact that we want the index to start at zero but \ mathematica starts the index at 1. We can now take a covariant derivative in two ways:\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617788101739*^9}, 3.568513264760259*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", "}"}]}], "}"}], ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552617790203073*^9, 3.552617827460365*^9}, 3.552618054019506*^9, {3.552618198291114*^9, 3.552618201596003*^9}, { 3.552625722160301*^9, 3.55262572329639*^9}, 3.568513264760352*^9}], Cell[BoxData[ RowBox[{"1", "+", FractionBox[ RowBox[{"r", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}]], "+", FractionBox[ RowBox[{"t", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}]]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{3.552617828396174*^9, 3.552618056168198*^9, 3.552618202302579*^9, 3.552625724009594*^9, 3.552681719601814*^9, 3.552682043230664*^9, 3.552718273036354*^9, 3.5607190601628227`*^9, 3.560720517907755*^9, 3.561953757354886*^9, 3.564008440378125*^9, 3.568512971657521*^9, 3.568513264760547*^9, 3.568566826479312*^9}], Cell[BoxData[ RowBox[{"Coderv", "[", RowBox[{ RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", "}"}]}], "}"}], ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.55261783007907*^9, 3.552617869400642*^9}, { 3.552618206270965*^9, 3.552618209166384*^9}, 3.552625725252768*^9, 3.568513264760677*^9}], Cell[BoxData[ RowBox[{"1", "+", FractionBox[ RowBox[{"r", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}]], "+", FractionBox[ RowBox[{"t", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}]]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552617849757117*^9, 3.552617869902065*^9}, 3.552618058178987*^9, 3.552618209961684*^9, 3.552625725771448*^9, 3.552681721132737*^9, 3.552682044684932*^9, 3.552718274623412*^9, 3.560719061629417*^9, 3.560720519090934*^9, 3.561953758888546*^9, 3.564008441259576*^9, 3.568512973550594*^9, 3.568513264760849*^9, 3.568566828458149*^9}], Cell[BoxData[ RowBox[{ RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", "}"}]}], "}"}], ",", "0"}], "]"}], "-", RowBox[{"Coderv", "[", RowBox[{ RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", "0", "}"}], ",", RowBox[{"{", "}"}]}], "}"}], ",", "0"}], "]"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552618215094589*^9, 3.552618219172664*^9}, { 3.552625726824936*^9, 3.552625729904377*^9}, 3.568513264760961*^9}], Cell[BoxData["0"], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{3.55261821976957*^9, 3.552625730437876*^9, 3.552681722634324*^9, 3.552682045831191*^9, 3.552718275532282*^9, 3.56071906297858*^9, 3.5607205202400923`*^9, 3.561953764041782*^9, 3.5640084420270977`*^9, 3.568512976199162*^9, 3.568513264761208*^9, 3.568566829996699*^9}], Cell["\<\ NOTE: a vector in \[OpenCurlyDoubleQuote]coderv\[CloseCurlyDoubleQuote] is \ defined to be covariant or contravariant based solely on the input of the \ index structure. For example: \ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617788101739*^9}, { 3.552617891526216*^9, 3.552618012325761*^9}, {3.552618106443363*^9, 3.552618120543802*^9}, 3.568513264761391*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Coderv", "[", RowBox[{ RowBox[{"{", RowBox[{"t", ",", "r", ",", "\[Theta]", ",", "\[Phi]"}], "}"}], ",", RowBox[{"{", "0", "}"}], ",", "0"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552618128835456*^9, 3.55261813336297*^9}, { 3.552618225920513*^9, 3.552618226632131*^9}, 3.552625731874071*^9, 3.568513264761512*^9}], Cell[BoxData[ RowBox[{"1", "+", FractionBox[ RowBox[{"r", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"2", " ", RowBox[{"n", "[", RowBox[{"t", ",", "r"}], "]"}]}]], "-", FractionBox[ RowBox[{"t", " ", RowBox[{ SuperscriptBox["m", TagBox[ RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], Derivative], MultilineFunction->None], "[", RowBox[{"t", ",", "r"}], "]"}]}], RowBox[{"2", " ", RowBox[{"m", "[", RowBox[{"t", ",", "r"}], "]"}]}]]}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{3.552618134499345*^9, 3.552618227422829*^9, 3.55262573252503*^9, 3.552681723879394*^9, 3.552682047276681*^9, 3.552718276918824*^9, 3.56071906436226*^9, 3.560720521723894*^9, 3.561953765845589*^9, 3.56400844334505*^9, 3.568512984876238*^9, 3.568513264761733*^9, 3.568566832106615*^9}], Cell[TextData[{ "takes the input vector to be ", StyleBox["covariant", FontFamily->"Utopia", FontWeight->"Bold"] }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617788101739*^9}, { 3.552617891526216*^9, 3.552618012325761*^9}, {3.552618106443363*^9, 3.55261817310441*^9}, {3.552618232464037*^9, 3.552618233529216*^9}, { 3.552622470494655*^9, 3.552622474119892*^9}, 3.568513264761861*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Clear", "[", RowBox[{"x", ",", "X"}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552718352214369*^9, 3.552718355976584*^9}, 3.568513264761963*^9}], Cell[TextData[StyleBox["Double Derivatives", FontSize->24]], "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552595494219086*^9, 3.55259549611101*^9}, {3.552614899876412*^9, 3.552614900984614*^9}, { 3.552710970332144*^9, 3.552710974494666*^9}, 3.568513264762048*^9}, FontSize->18], Cell["\<\ Double (or higher) covariant derivatives require a bit more work to obtain \ but it\[CloseCurlyQuote]s not that bad. (Future work will automate higher \ covariant derivatives). In order to show the abilities of GRQUICK we now switch to an arbritrary \ diagonal matrix (we dont use a fully arbritrary metric because it takes a \ fair amount of time and memory).\ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617788101739*^9}, { 3.552617891526216*^9, 3.552618012325761*^9}, {3.552618106443363*^9, 3.55261817310441*^9}, {3.552618232464037*^9, 3.552618233529216*^9}, { 3.552622470494655*^9, 3.552622474119892*^9}, {3.552711017131455*^9, 3.552711197033784*^9}, {3.55271281795617*^9, 3.552712835784302*^9}, 3.568513264762132*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"Metin", "[", RowBox[{ RowBox[{"DiagonalMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{"f00", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}], ",", RowBox[{"f11", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}], ",", RowBox[{"f22", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}], ",", RowBox[{"f33", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "}"}]}], "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552706176823246*^9, 3.552706201836632*^9}, { 3.552706238404661*^9, 3.552706297762928*^9}, 3.568513264762229*^9}], Cell[BoxData["\<\"Metric Success\"\>"], "Print", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{ 3.55270629854443*^9, 3.552706370980459*^9, {3.55270686452664*^9, 3.552706873708716*^9}, 3.552710304387022*^9, 3.552710374937491*^9, 3.552710486058011*^9, 3.552711199030621*^9, {3.552718285826802*^9, 3.552718325127121*^9}, 3.55271835929469*^9, 3.5607190680114183`*^9, 3.560720525556241*^9, 3.56195377030323*^9, 3.56400844960972*^9, 3.568512994802062*^9, 3.568513264762321*^9, 3.568566836320002*^9}], Cell[BoxData[ RowBox[{"MatrixForm", "[", "GMET", "]"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552711201071398*^9, 3.55271120634734*^9}, 3.568513264762422*^9}], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ { RowBox[{"f00", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}], "0", "0", "0"}, {"0", RowBox[{"f11", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}], "0", "0"}, {"0", "0", RowBox[{"f22", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}], "0"}, {"0", "0", "0", RowBox[{"f33", "[", RowBox[{"t", ",", "x", ",", "y", ",", "z"}], "]"}]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{ 3.552711207143038*^9, {3.552718286927303*^9, 3.552718293657637*^9}, 3.552718326119156*^9, 3.552718360116442*^9, 3.560719069195319*^9, 3.5607205264067583`*^9, 3.561953771264351*^9, 3.564008450493758*^9, 3.568512998455527*^9, 3.568513264762607*^9, 3.568566837701354*^9}], Cell["For the new metric, we populate the relevant arrays", "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617788101739*^9}, { 3.552617891526216*^9, 3.552618012325761*^9}, {3.552618106443363*^9, 3.55261817310441*^9}, {3.552618232464037*^9, 3.552618233529216*^9}, { 3.552622470494655*^9, 3.552622474119892*^9}, {3.552711256156276*^9, 3.552711280142274*^9}, 3.568513264762722*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{ RowBox[{"Einstein", "[", RowBox[{"0", ",", "0"}], "]"}], ";"}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552710375873307*^9, 3.552710380647873*^9}, 3.56851326476282*^9}], Cell[TextData[{ "Now we define a vector and the covariant derivative of the vector: ", Cell[BoxData[ FormBox[ SubscriptBox[ SuperscriptBox["R", "s"], RowBox[{"a", " ", "b", " ", "v"}]], TraditionalForm]]] }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617788101739*^9}, { 3.552617891526216*^9, 3.552618012325761*^9}, {3.552618106443363*^9, 3.55261817310441*^9}, {3.552618232464037*^9, 3.552618233529216*^9}, { 3.552622470494655*^9, 3.552622474119892*^9}, {3.552711256156276*^9, 3.552711304578427*^9}, {3.552711544707012*^9, 3.552711553748089*^9}, { 3.55271162221158*^9, 3.552711668622336*^9}, 3.568513264762902*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"A", "=", RowBox[{"{", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ")"}], "1"], ",", SuperscriptBox[ RowBox[{"(", RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ")"}], "2"], ",", SuperscriptBox[ RowBox[{"(", RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ")"}], "3"], ",", SuperscriptBox[ RowBox[{"(", RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ")"}], "4"]}], "}"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552709332328944*^9, 3.552709338469131*^9}, { 3.552709888644208*^9, 3.55270993512511*^9}, 3.552711358123817*^9, 3.568513264762998*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ",", SuperscriptBox[ RowBox[{"(", RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ")"}], "2"], ",", SuperscriptBox[ RowBox[{"(", RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ")"}], "3"], ",", SuperscriptBox[ RowBox[{"(", RowBox[{"t", "+", "x", "+", "y", "+", "z"}], ")"}], "4"]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{ 3.552709339964675*^9, {3.552709935746663*^9, 3.552709945775467*^9}, 3.552710311336098*^9, 3.552710382735322*^9, 3.552710494816081*^9, 3.552711310032708*^9, 3.552711358940056*^9, 3.552711767665973*^9, 3.552718368302491*^9, 3.560719074794187*^9, 3.560720531505801*^9, 3.561953776643655*^9, 3.564008455560178*^9, 3.568513006739715*^9, 3.56851326476317*^9, 3.568566847128144*^9}], Cell[BoxData[ RowBox[{ RowBox[{"Dvec", "[", RowBox[{"{", RowBox[{"v_", ",", "p_"}], "}"}], "]"}], ":=", RowBox[{"Coderv", "[", RowBox[{"A", ",", RowBox[{"{", "v", "}"}], ",", "p"}], "]"}]}]], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.55270945254839*^9, 3.552709466138909*^9}, 3.552718377945487*^9, 3.56851326476328*^9}], Cell[TextData[{ "Now we prove ", Cell[BoxData[ FormBox[ SubscriptBox["\[Del]", "\[Sigma]"], TraditionalForm]]], " ", Cell[BoxData[ FormBox[ SubscriptBox["\[Del]", "p"], TraditionalForm]]], Cell[BoxData[ FormBox[ SubscriptBox["A", "v"], TraditionalForm]]], " -", Cell[BoxData[ FormBox[ SubscriptBox["\[Del]", "p"], TraditionalForm]]], " ", Cell[BoxData[ FormBox[ SubscriptBox["\[Del]", "\[Sigma]"], TraditionalForm]]], Cell[BoxData[ FormBox[ SubscriptBox["A", "v"], TraditionalForm]]], "= ", Cell[BoxData[ FormBox[ SubscriptBox["A", "s"], TraditionalForm]]], Cell[BoxData[ FormBox[ SubscriptBox[ SuperscriptBox["R", "s"], RowBox[{"v", " ", "p", " ", "\[Sigma]"}]], TraditionalForm]]] }], "Text", CellFrame->{{0, 0}, {0, 2}}, CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552614909130362*^9, 3.55261493947355*^9}, {3.552615086376346*^9, 3.552615118449031*^9}, {3.552617676543335*^9, 3.552617788101739*^9}, { 3.552617891526216*^9, 3.552618012325761*^9}, {3.552618106443363*^9, 3.55261817310441*^9}, {3.552618232464037*^9, 3.552618233529216*^9}, { 3.552622470494655*^9, 3.552622474119892*^9}, {3.552711256156276*^9, 3.552711401865743*^9}, {3.552711524550062*^9, 3.55271161827304*^9}, { 3.552711676033175*^9, 3.55271174357435*^9}, 3.568513264763365*^9}, FontSize->16, Background->GrayLevel[0.85]], Cell[BoxData[ RowBox[{"FullSimplify", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"v", ",", "p"}], "}"}], ",", "\[Sigma]"}], "]"}], "-", RowBox[{"Coderv", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"v", ",", "\[Sigma]"}], "}"}], ",", "p"}], "]"}]}], ")"}], "\[IndentingNewLine]", "-", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"A", "[", RowBox[{"[", "kk", "]"}], "]"}], " ", RowBox[{"Riemann", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"kk", "-", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"v", ",", "p", ",", "\[Sigma]"}], "}"}]}], "}"}], "]"}]}], ",", RowBox[{"{", RowBox[{"kk", ",", "1", ",", "4"}], "}"}]}], "]"}]}], ",", RowBox[{"{", RowBox[{"v", ",", "0", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"p", ",", "0", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"\[Sigma]", ",", "0", ",", "3"}], "}"}]}], "]"}], "]"}]], "Input",\ CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552709327537541*^9, 3.552709397866454*^9}, { 3.552709471793857*^9, 3.552709472530562*^9}, {3.552709505323736*^9, 3.552709694187642*^9}, 3.552711762094555*^9, 3.568513264763515*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}]}], "}"}]], "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552709681391442*^9, 3.552709695956992*^9}, { 3.552709944109491*^9, 3.552709951258772*^9}, 3.552710503457762*^9, { 3.552711749610394*^9, 3.552711771127131*^9}, 3.552718392577749*^9, 3.5607190870846148`*^9, 3.560720540257341*^9, 3.56195378620861*^9, 3.5640084642627363`*^9, 3.568513035164918*^9, 3.568513264763704*^9, 3.568566862796181*^9}], Cell[BoxData[""], "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}, CellChangeTimes->{{3.552718399515945*^9, 3.552718400600275*^9}, 3.568513264763813*^9}] }, Closed]], Cell["\<\ These are all of the functions GRQUICK has. Future plans include a define \ tensor function, which makes defining a tensor easier (i.e. implicit dummy \ summation) as well as a covariant derivative function which can take multiple \ co-derivatives. \ \>", "Text", CellFrame->{{0, 0}, {0, 2}}, CellChangeTimes->{{3.552589881436382*^9, 3.552589924804912*^9}, { 3.552589993696897*^9, 3.552590038413604*^9}, {3.552612525695407*^9, 3.55261268578203*^9}, {3.552612725329054*^9, 3.552612819735833*^9}, { 3.552612878919135*^9, 3.552612922729832*^9}, {3.552612955343905*^9, 3.552612956605495*^9}, {3.552613034471162*^9, 3.552613218428646*^9}, { 3.552619805434132*^9, 3.552619808025595*^9}, {3.552711775464144*^9, 3.552711847228512*^9}}, FontSize->16, Background->GrayLevel[0.85]] }, WindowSize->{1366, 744}, WindowMargins->{{-7, Automatic}, {Automatic, 0}}, PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, ShowSelection->True, FrontEndVersion->"9.0 for Linux x86 (32-bit) (November 20, 2012)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "Info3568544807-4957217"->{ Cell[4329, 104, 1333, 19, 395, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544807-4957217"]}, "Info3568544809-4957217"->{ Cell[5861, 131, 305, 5, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544809-4957217"]}, "Info3568544811-4957217"->{ Cell[7122, 160, 466, 7, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544811-4957217"]}, "Info3568544880-4957217"->{ Cell[9450, 212, 1300, 19, 423, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544880-4957217"]}, "Info3568494836-3534030"->{ Cell[56408, 1497, 360, 6, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568494836-3534030"]}, "Info3568548757-7777553"->{ Cell[125679, 3133, 472, 8, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellTags->"Info3568548757-7777553"]}, "Info3568548760-7777553"->{ Cell[128663, 3190, 326, 6, 43, "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellTags->"Info3568548760-7777553"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Info3568544807-4957217", 201322, 5232}, {"Info3568544809-4957217", 201489, 5236}, {"Info3568544811-4957217", 201653, 5240}, {"Info3568544880-4957217", 201817, 5244}, {"Info3568494836-3534030", 201984, 5248}, {"Info3568548757-7777553", 202150, 5252}, {"Info3568548760-7777553", 202317, 5256} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[579, 22, 384, 7, 69, "Title", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[966, 31, 818, 21, 249, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[1787, 54, 241, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[2031, 60, 1559, 24, 157, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[3593, 86, 510, 10, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[4106, 98, 220, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[4329, 104, 1333, 19, 395, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544807-4957217"], Cell[5665, 125, 193, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[5861, 131, 305, 5, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544809-4957217"], Cell[6169, 138, 732, 14, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[6904, 154, 215, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[7122, 160, 466, 7, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544811-4957217"], Cell[7591, 169, 564, 10, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[8158, 181, 215, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[8376, 187, 233, 3, 23, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[8612, 192, 635, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[9250, 206, 197, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[9450, 212, 1300, 19, 423, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568544880-4957217"], Cell[10753, 233, 561, 10, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[11317, 245, 488, 14, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[11808, 261, 233, 3, 23, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[12044, 266, 678, 13, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[12725, 281, 715, 20, 37, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[13443, 303, 797, 12, 23, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[14243, 317, 171, 3, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[14417, 322, 581, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[15001, 336, 211, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[15215, 342, 1572, 38, 89, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[16790, 382, 550, 11, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[17343, 395, 221, 3, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[17567, 400, 1271, 32, 55, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[18841, 434, 686, 16, 55, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[19530, 452, 332, 9, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[19865, 463, 868, 21, 56, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[20736, 486, 606, 15, 55, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[21345, 503, 482, 11, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[21830, 516, 3264, 101, 60, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[25097, 619, 632, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[25732, 633, 249, 5, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[25984, 640, 673, 11, 32, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[26660, 653, 300, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[26963, 661, 627, 11, 52, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[27593, 674, 435, 8, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[28031, 684, 262, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[28296, 692, 4016, 119, 83, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[32315, 813, 229, 5, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[32547, 820, 1405, 37, 60, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[33955, 859, 385, 7, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[34343, 868, 177, 3, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[34523, 873, 4733, 143, 83, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[39259, 1018, 665, 14, 117, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[39927, 1034, 255, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[40185, 1040, 11982, 343, 216, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[52170, 1385, 648, 15, 52, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[52821, 1402, 307, 7, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[53131, 1411, 1083, 26, 34, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[54217, 1439, 486, 13, 52, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[54706, 1454, 452, 11, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[55161, 1467, 1024, 22, 34, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[56188, 1491, 217, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[56408, 1497, 360, 6, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10000.}, CellTags->"Info3568494836-3534030"], Cell[56771, 1505, 434, 8, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[57208, 1515, 337, 7, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[57548, 1524, 2955, 90, 119, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[60506, 1616, 558, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[61067, 1630, 276, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[61346, 1638, 604, 18, 55, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[61953, 1658, 480, 9, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[62436, 1669, 276, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10000.}], Cell[62715, 1677, 595, 17, 37, "Output", CellGroupingRules->{GroupTogetherGrouping, 10000.}] }, Closed]], Cell[CellGroupData[{ Cell[63347, 1699, 437, 8, 43, "Title", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[63787, 1709, 490, 11, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[64280, 1722, 993, 28, 57, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[65276, 1752, 880, 13, 23, "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[66159, 1767, 546, 11, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[66708, 1780, 259, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[66970, 1786, 397, 6, 23, "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[67370, 1794, 706, 13, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[68079, 1809, 543, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[68625, 1823, 291, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[68919, 1831, 1185, 32, 71, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[70107, 1865, 365, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[70475, 1873, 5797, 146, 156, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[76275, 2021, 585, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[76863, 2035, 368, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[77234, 2043, 5826, 145, 156, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[83063, 2190, 721, 14, 73, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[83787, 2206, 322, 7, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[84112, 2215, 859, 13, 32, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[84974, 2230, 908, 19, 139, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[85885, 2251, 328, 7, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[86216, 2260, 453, 13, 89, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[86672, 2275, 827, 15, 73, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[87502, 2292, 483, 10, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[87988, 2304, 6394, 122, 148, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[94385, 2428, 632, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[95020, 2442, 619, 16, 89, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[95642, 2460, 580, 8, 43, "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[96225, 2470, 2114, 50, 147, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[98342, 2522, 647, 12, 53, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[98992, 2536, 730, 14, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[99725, 2552, 570, 11, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[100298, 2565, 9067, 174, 145, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[109368, 2741, 2301, 58, 177, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[111672, 2801, 736, 14, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[112411, 2817, 271, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[112685, 2823, 1979, 55, 55, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[114667, 2880, 822, 15, 73, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[115492, 2897, 765, 20, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[116260, 2919, 4360, 77, 248, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[120623, 2998, 203, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[120829, 3004, 171, 3, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[121003, 3009, 1979, 51, 112, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[122985, 3062, 363, 9, 53, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[123351, 3073, 555, 15, 53, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[123909, 3090, 1571, 35, 75, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[125483, 3127, 193, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[125679, 3133, 472, 8, 62, "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellTags->"Info3568548757-7777553"], Cell[126154, 3143, 1239, 20, 73, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[127396, 3165, 1060, 17, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[128459, 3184, 201, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[128663, 3190, 326, 6, 43, "Print", CellGroupingRules->{GroupTogetherGrouping, 10001.}, CellTags->"Info3568548760-7777553"], Cell[128992, 3198, 1163, 20, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[130158, 3220, 348, 8, 53, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[130509, 3230, 778, 25, 49, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[131290, 3257, 564, 14, 53, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[131857, 3273, 321, 8, 50, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[132181, 3283, 332, 9, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10001.}], Cell[132516, 3294, 321, 8, 50, "Output", CellGroupingRules->{GroupTogetherGrouping, 10001.}] }, Closed]], Cell[CellGroupData[{ Cell[132874, 3307, 435, 6, 43, "Title", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[133312, 3315, 739, 11, 31, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[134054, 3328, 771, 16, 117, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[134828, 3346, 666, 19, 37, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[135497, 3367, 538, 8, 23, "Print", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[136038, 3377, 486, 9, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[136527, 3388, 248, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[136778, 3396, 578, 15, 53, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[137359, 3413, 347, 7, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[137709, 3422, 3178, 105, 60, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[140890, 3529, 528, 9, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[141421, 3540, 412, 11, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[141836, 3553, 15166, 482, 255, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[157005, 4037, 558, 10, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[157566, 4049, 3175, 91, 143, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[160744, 4142, 587, 15, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[161334, 4159, 592, 9, 32, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[161929, 4170, 885, 20, 75, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[162817, 4192, 693, 19, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[163513, 4213, 605, 10, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[164121, 4225, 372, 9, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[164496, 4236, 2994, 101, 60, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[167493, 4339, 705, 13, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[168201, 4354, 747, 22, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[168951, 4378, 394, 10, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[169348, 4390, 3102, 104, 60, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[172453, 4496, 621, 12, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[173077, 4510, 525, 14, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[173605, 4526, 470, 7, 32, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[174078, 4535, 363, 7, 42, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[174444, 4544, 1197, 26, 99, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[175644, 4572, 319, 7, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[175966, 4581, 479, 8, 32, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[176448, 4591, 346, 8, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[176797, 4601, 846, 17, 95, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[177646, 4620, 458, 10, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[178107, 4632, 1115, 33, 56, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[179225, 4667, 485, 12, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[179713, 4681, 1145, 34, 56, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[180861, 4717, 665, 18, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[181529, 4737, 379, 6, 32, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[181911, 4745, 959, 17, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[182873, 4764, 413, 9, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[183289, 4775, 1088, 33, 56, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[184380, 4810, 977, 19, 52, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[185360, 4831, 226, 5, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[185589, 4838, 420, 7, 42, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[186012, 4847, 1331, 24, 117, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[187346, 4873, 786, 19, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[188135, 4894, 541, 8, 23, "Print", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[188679, 4904, 210, 4, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[188892, 4910, 1343, 33, 98, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[190238, 4945, 964, 15, 51, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[191205, 4962, 247, 6, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[191455, 4970, 1224, 23, 53, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[192682, 4995, 732, 20, 37, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[193417, 5017, 899, 21, 37, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[194319, 5040, 389, 10, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[194711, 5052, 1747, 48, 56, "Text", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[196461, 5102, 1493, 41, 55, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[197957, 5145, 1972, 50, 55, "Output", CellGroupingRules->{GroupTogetherGrouping, 10002.}], Cell[199932, 5197, 171, 3, 32, "Input", CellGroupingRules->{GroupTogetherGrouping, 10002.}] }, Closed]], Cell[200118, 5203, 800, 15, 70, "Text"] } ] *) (* End of internal cache information *)