ToCanonical and Simplify functions keeps on running.

21 views
Skip to first unread message

Matteo Marrone

unread,
Aug 18, 2024, 11:36:01 AMAug 18
to xAct Tensor Computer Algebra
I was trying to do some calculations to prove a few equations of the following paper  2004.08362 (arxiv.org) named "Derivation of regularized field equations for the Einstein-Gauss-Bonnet theory in four dimensions" by Pedro Fernandes et al.

In this paper we work with two metrics, the original one "g" and the conformally related one, "g tilde"=exp(2p)"g", where p is certain scalar function. We also work with a general D-dimensional spacetime.

First, I was trying to recover the equation (16) in which it relates the conformal Ricci scalar in terms of the original Ricci scalar and derivatives of the conformal factor. I wrote the following code in order to do so.

<< xAct`xTensor`
$PrePrint = ScreenDollarIndices

DefParameter[dim, PrintAs -> "D"]
DefManifold[M, dim, {a, b, c, i, j, k, l, m, n}]
DefMetric[-1, g[-a, -b], cd, SymbolOfCovD -> {";", "\[Del]"}]
DefTensor[\[Phi][], M]
DefMetric[-1, gc[-a, -b], cdConf,
 SymbolOfCovD -> {"|", "\[CapitalDifferentialD]"},
 PrintAs -> "\[Gamma]"]

confRules = {gc[a_, b_] -> Exp[2 \[Phi][]] g[a, b],
  Invgc[a_, b_] -> Exp[-2 \[Phi][]] g[a, b]}

RicciScalarcdConf[] - Exp[-2 \[Phi][]] RicciScalarcd[] //
   RiemannToChristoffel // NoScalar // ChristoffelToGradMetric

% /. confRules

ToCanonical[%, UseMetricOnVBundle -> None]

Simplify[%]

ChangeCovD[%, PD, cd]

ContractMetric[%, OverDerivatives -> True]

ToCanonical[%, UseMetricOnVBundle -> None]

Simplify[%]

% // ChristoffelToGradMetric

Simplification[%]

Obtaining the desired result. I believe this code can be efficiently improved by omitting some of the steps and/or reordering the functions applied in each step, but this was my best option in order to obtain the same result as the paper and avoid messy terms involving derivatives of the metric.

Now, my main objective was in fact obtain the same result as the paper for the GaussBonnet term, not the Ricci scalar (which was in fact just an introductory example to the method presented in the paper). This is, equation (24). 

First, I tried to apply the functions RiemannDownToRiemann and RiemannToChristoffel to the Kretschmann scalar but these did not work as expected. So I tried to define the Kretschmann scalar and the conformal K scalar by myself. Having done that, I defined the Gauss-Bonnet term and applied the same steps I did with the Ricci scalar previously, but the problem is that the steps involving ToCanonical[%,...] and Simplify[%] keeps on running endlessly without any response.

So my question is: Is there any way to obtain the desired result of the paper in a reasonable amount of computation time? And if so, how can I change my code in order to obtain that result?

I'll attach an example file .nb where all of the steps are explained better.

Thank you very much.
Matteo.
GaussBonnet_functionsKeepOnRunning.nb
Reply all
Reply to author
Forward
0 new messages