Dear all,
I have a question related to signs of Ricci and Riemann tensor in the package xPert. In the source code, I do not find any mention of global variables $RicciSign and $RiemannSign so I deduce that variations are computed for standard Wald's conventions (both these signs plus). I checked explicitly that the package results are not sensitive to setting the sign variables in the first lines of the program (just after loading xTensor). However, I know that these signs should appear in expressions for variations of elementary curvature tensors, precisely for: Ricci scalar, Ricci and Riemann tensor if a general convention for signs is to be used. Moreover, there is a sign dependence in variations of Einstein tensor, Weyl tensor, trace-free Ricci tensor and Kretschmann scalar (in the last if written using background Riemann tensor). I wonder where in the code of this package I shall insert these global variables. Since I am not an author of this package I have only limited knowledge and understanding of programmers' ideas used here but my proposal would be to modify the following parts of the code (the two functions DefGenPertRiemann and DefGenPertRicci):
DefGenPertRiemann[vbundle_,covd_,pert_,riemann_[-a_,-b_,-c_,d_]]:=(ExpandPerturbation1[Perturbation[riemann[-a_Symbol,-b_Symbol,-c_Symbol,d_Symbol],order_.]] :=$RiemannSign*genpertriemann[vbundle,covd,pert,IndexList[-a,-b,-c,d],order];
ExpandPerturbation1[Perturbation[riemann[-a_Symbol,-b_Symbol,-c_Symbol,-d_Symbol],order_.]]:=With[{dummy=DummyAs[c],metric=
xAct`xTensor`Private`FirstMetricOfVBundle[VBundleOfIndex[d],True]},ExpandPerturbation@Perturbation[riemann[-a,-b,-c,dummy]metric[-dummy,-d],order]]);
DefGenPertRicci[vbundle_,covd_,pert_,riemann_,ricci_[-a_,-b_]]:=(ExpandPerturbation1[Perturbation[ricci[-a_Symbol,-b_Symbol],order_.]] :=Module[{dummy=DummyIn[vbundle]},$RicciSign*$RiemannSign*genpertriemann[vbundle,covd,pert,IndexList[-a,-dummy,-b,dummy],order]]);
(Modifications proposed are in red.)
Can someone (maybe from the original contributors of the package xPert) tell me whether such modifications are valid for the goal above? I tested the modified package on few very simple examples and it worked but maybe there are some other places in the package where I also should insert these signs. For the sign of Riemann $RiemannSign, I decided to include it as a front factor in DefGenPertRiemann rather than in genpertriemann function but I guess the result would be the same. The definitions for other variations (of Ricci scalar, Einstein tensor, Weyl tensor) should not be modified since they are dependent on the variations of Ricci and Riemann tensors directly and in the definitions of those tensors, none of the two signs appear explicitly. For Weyl tensor, the WeylToRiemann function is used explicitly in the code for variation, so there is no issue with signs there.
Thanks for your help and attention.
With greetings,
Leslaw Rachwal
PS. In the package, the variations of trace-free Ricci tensor and Kretschmann scalar remain undefined despite that these tensors were defined in xTensor.