> I am essentially new to using xACT, xTensor, xCoba. I am interested
> in using it for working out perturbation theory for cosmology, so I
> know the class of metrics I am interested in. The xCoba example (spherical
> symmetry) on the wepage actually specifies a metric in terms of a
> particular coordinate system, but I gather from the some of the older
> posts on this group, that this is not the suggested way. Is there an
> example explaining, perhaps one on the discussion forum that the experts
> would recommend, on how this choice should be specified?
It depends very much on the computation you want to do. The package
xPert is designed mainly for abstract computations in perturbation
theory, with a general background metric. Computations in that setting
are usually simpler and more illuminating, because you do not need to
choose a coordinate system more or less arbitrarily, and you can keep
a higher level of geometrical interpretation. For background metrics
with much symmetry, this is typically possible, by introducing a few
objects describing the background metric and a few rules implementing
the symmetry properties of the background.
For instance for perturbations around Minkowski you just need a rule
killing the background curvature tensors. Note that you first have to
perturb the background, and then make its background curvature zero.
If you declare initially the metric as flat, then there is no
curvature to perturb! That's how xPert works.
For perturbations around a FRW spacetime in xAct, I always recommend
working with the 4d objects and their perturbations, using the 3+1
decomposition functionality of xTensor, but I don't have any example
notebook.
For perturbations around a general metric you do need xCoba, but you
need to guide yourself the interaction between xPert and xCoba.
> 1. Canonicalization: I understand that an attractive feature of xAct is
> its ability to bring expressions with different indeces summed over
> to a canonical form and perform algebraic operations.
> However, when I introduce a scalar field in the expression, ToCanonical
> throws an error I do not
> understand. Could you point out the correct way of doing this?
You are declaring \[Psi] as a scalar funcion, and I think it should be
a scalar field. That is, you need DefTensor[ \[Psi][], M] instead. See
this post for an explanation of the difference:
As with any other scalar field in xAct, you have to use it always as \
[Psi][], with its empty pair of brackets. Otherwise xTensor cannot
identify it as a scalar.
> 2. I would like to compute expressions for variables such as the Christoffel
> symbols for a metric in a particular coordinate system. While there seems
> to be a way to calculate the Christoffel coefficients, I do not understand
> how to see the results (attached notebook).
What you compute with xCoba is not ChristoffelCD, which is the
Christoffel tensor of the connection CD from the fiducial ordinary
connection PD of xTensor, but the connection ChristoffelCDPDB,
relating CD with the ordinary connection PDB associated to the chart B
you have declared. Hence you need the command
TensorValues[ ChristoffelCDPDB ]
Recall that xAct uses Christoffel *tensors*, the difference between
two connections, to treat them as you treat any other tensor. That is
why the names contain two connections. The name ChristoffelCD really
means ChristoffelCDPD.
Cheers,
Jose.