Failure of Deriving a CovD from a Metric

58 views
Skip to first unread message

灯夏璃

unread,
Nov 28, 2025, 4:27:29 AMNov 28
to xAct Tensor Computer Algebra
Hi! All

I am a freshmen to use the `xAct` (the version I use is 1.2.0). I have some trouble setting up a CovD, namely `ECD`, from the metric `g`, although I have used the option `FromMetric`. Besides, I also found that `ECD` was not in the list of `CovDOfMetric[g]`, and the rule `ChristoffelToMetric` doesn't work as well. I have attached my notebook. May you help me fix the problem? 
CovDTest.nb

Juan Margalef

unread,
Dec 8, 2025, 12:47:17 PMDec 8
to xAct Tensor Computer Algebra
When you define the metric, the associated Levi-Civita connection is defined (the one you denoted LCD). That is the one stored in CovDOfMetric[g] (which is unique!). You can see that ECD is associated with the metric using: MetricOfCovD[ECD].

The command ChristoffelToGradMetric (equivalent to ChristoffelToMetric, which is depracated and only kept for backwards compatibility) expands the Levi-Civita Christoffel tensor in terms of PD@metric. However, in your code you have the Christoffel tensor of the metric compatible CovD "ECD", which is not the same as the Levi-Civita (the one associated with "LCD"). Thus, the command does nothing. You need to turn the former into the latter using, for instance, BreakChristoffel. This rewrites Christoffel[covd1] in terms of Christoffel[covd2] and Christoffel[covd1,covd2]:

BreakChristoffel[ECD[-a][V[b]] // CovDToChristoffel,  LCD] // ChristoffelToGradMetric

I am not entirely sure what you want to achieve, but I hope this helps.

Best,
Juan Margalef
Reply all
Reply to author
Forward
0 new messages