Confusing behaviour of ToBasis

54 views
Skip to first unread message

Andrew Kovachik

unread,
Apr 17, 2025, 12:09:33 AMApr 17
to xAct Tensor Computer Algebra
Hi Everyone,

I seem to be unable to understand how ToBasis function works in regards to covariant derivatives. I have attached to this a minimal working example file that shows effectively what I don't understand. Specifically it is the behavior surrounding creating christoffel symbols with up/down indicies that I would not expect to have and that are not created/evaluated by xAct.
MinimalWorkingConfusion.nb

Juan Margalef

unread,
Apr 17, 2025, 8:36:18 PMApr 17
to xAct Tensor Computer Algebra
Hi Andrew,

I am not sure if I understand your question but I see that you mentioned in your notebook that "Since christoffels do not transform like a tensor". Notice that this is not the approach taken by xAct which might cause your confussion. In xAct, they are defined as tensors. You can check that using xTensorQ[ChristoffelCDPDEFr], which returns True.

If you read the documentation (for instance xTensordoc.nb) you will see that xAct follows the convention of the book "General Relativity" by Wald. Long story short and without getting into too much detail, the difference of two connections is always a tensor (indeed, the space of connections forms an affine space with underlying vector space the space of (1,2)-tensors). Thus Christoffel[der1,der2] is always a tensor associated to two concrete (and fixed!) Covariant Derivatives der1 and der2. Finally, PD is a connection (defined using some coordinates but once defined, you can forget about them).

What people mean when they say that the Christoffels do not transform as a vector is because they are comparing Christoffel[der,PD1] with Christoffel[der,PD2] where PD1 and PD2 are "partial derivatives" associated with different coordinates. Thus, they are changing the coordinates AND the covariant derivatives (loosely speaking, you can say that Christoffel[der, . ] is not a tensor).

I hope this helps!

Andrew Kovachik

unread,
Apr 20, 2025, 2:30:58 PMApr 20
to xAct Tensor Computer Algebra
Yes, I think I see. I am less familiar with Wald. I've mostly used Poisson, and MTW for GR. In these texts the Christoffel is just defined as the difference required to make a single CovD transform as a tensor, leaving the Christoffel to not transform as a tensor. In the case of xAct if the christoffels are transforming as tensors and xAct know the values of Christoffel(upper,lower,lower) why does it not also know the values of Christoffel(upper,upper,lower)?

Cheers,
Andrew

Juan Margalef

unread,
Apr 22, 2025, 5:21:12 PMApr 22
to xAct Tensor Computer Algebra
Hi Andrew,

I recommend that you read the xCoba documentation carefully to understand the issue you are trying to address (specifically CTensor and SetCMetric). Also, check the forum since there are similar questions (for instance, https://groups.google.com/g/xact/c/C0Nx9aZuLsI ).

Best of luck!
Juan

Reply all
Reply to author
Forward
0 new messages