# Why are Christoffels vanishing depending on choice of basis (xAct)?

Hi all (probably Jose),

I am not sure if I am misunderstanding some fundamental GR topic or if I am using the package wrong. I would at some point like to contract over the components of the metric tensor which should involve expanding covariant derivatives into Christoffels then into derivatives of the metric (c.f. my last question). I then assume that I would need to have my elements expressed in a specific basis, say cartesian for ease. So, the way I call elements changes from u[-a] to u[{-a,-cartesian}].

So, I'm a little confused though when I take the covariant derivative of an arbitrary vector and depending on using or not using a basis get different answers. Consider the following:

Clear["Global*"]
<< xActxCoba
\$PrePrint = ScreenDollarIndices
DefManifold[M,4,{a,b,c,d,e,f,i,j,k,m,n,p,q,r,s}]
DefBasis[cartesian, TangentM, {0,1,2,3}]
DefTensor[u[-a],M]
CovDToChristoffel[PDcartesian[-a][u[b]]]
CovDToChristoffel[PDcartesian[{-a,-cartesian}][u[b]]]
CovDToChristoffel[PDcartesian[-a][u[{b,cartesian}]]]
CovDToChristoffel[PDcartesian[{-a,-cartesian}][u[{b,cartesian}]]]


Which gives me 4 output lines of:

Beyond the color coding to indicate a basis, I don't think I understand why the Christoffels are vanishing in the last two examples. Appologies if this is a fundamental geometry question I'm missing.

The notation u[{a, B}] in xCoba means the product u[b] Basis[-b, {a, B}], which is a scalar. A vector field is an object with a free abstract index. Basis indices like {a, B} do not count. Therefore u[a] is a vector field, but u[{a, B}] is a scalar field in xCoba. All covariant derivatives of scalar fields coincide, so there is no need to add Christoffel terms when changing from your PDcartesian to PD.
Similarly, PD[{-a, -cartesian}][...] is equivalent to the product Basis[{-a, -cartesian}, b] PD[-b][...].
You may find more standard to use the alternative notation TensorDerivative[u, PD][a, -b] instead of PD[-b][u[a]]. Now TensorDerivative[u, PD] is a tensor with two abstract indices (note the differentiation index is placed last), and you can take components as TensorDerivative[u, PD][{a, B}, {-b, -B}]` without the basis vectors being differentiated.