GR tensors

259 views
Skip to first unread message

miliosan

unread,
Dec 9, 2010, 4:08:11 AM12/9/10
to xAct Tensor Computer Algebra
Hi all,
I have a question for you, becouse I don't know if with xAct is
possible to do what I'm going to explain. When I work with VarD, for
example in the context of General Relativity (like in the package
manual), before running this function, I have to explicit RicciScalar
in function of the metric and it's derivatives, with commands like
RiemannToChristoffel, ChristoffelTMetric. Then I have to apply VarD.
The result is the Einstein tensor, but expressed in term of metric and
derivatives.. I'm asking if exists a way to recover Einstein tensor in
a simple form (i.e. in the form EinsteinCD[-b,-c], instead of a
complicated and not immediately recognizable combination of metric..).
I'm trying to use MakeRule, to recover Christoffel symbols with a
command like this

rule = MakeRule[{metric[b, e] PD[-e][metric[-c, -d]],
metric[b, e] PD[-c][metric[-d, -e]] +
metric[b, e] PD[-d][metric[-c, -e]] - 2*ChristoffelCD[b, -c, -d]},
UseSymmetries -> True, MetricOn -> All]

but I think it's not the best way..

Thank you all!
Cheers
Emilio

Leo Stein

unread,
Dec 9, 2010, 2:13:41 PM12/9/10
to miliosan, xAct Tensor Computer Algebra
Hi Emilio,

I've found that the easiest way to do this is by using the
capabilities of xPert in combination with VarD. What follows is the
example for metric GR (I haven't thought about doing Palatini
variation or metric-affine; somebody else may chime in).

Define a manifold, metric, and metric perturbation. I'll call my
metric met[-a,-b] and my metric perturbation metpert[LI[1], -a, -b].

Define the action, with the volume element:
LEH = Sqrt[-Detmet[]] RicciScalarCD[]

Find the first perturbed of the action:
LEHpert1 = Perturbation[LEH] // ExpandPerturbation // ContractMetric
// ToCanonical

It is a property of Lagrangians that varying the first perturbed
action with respect to the first perturbation gives the zeroth order
Euler-Lagrange equations (this is not a really deep statement). Go
ahead and vary the first perturbed action:
EOM0 = VarD[metpert[LI[1], a, b], CD][-LEHpert1]/Sqrt[-Detmet[]] /.
delta[-LI[1], LI[1]] -> 1 // ToCanonical

You will find the result:
RicciCD[-a, -b] - 1/2 met[-a, -b] RicciScalarCD[]

A few comments about this: you need the volume element in the action
(Sqrt[-Detmet[]]), and then you divide through by it in the end to get
the normal looking field equations. The default derivative operator
that VarD assumes is PD, which does not lead to covariant equations.
Putting the volume element in there and specifying CD as the second
argument to VarD gives you the correct covariant equations of motion.
The metric perturbation has a label index which is used to denote the
order of the perturbation; after the variation, VarD makes a bunch of
delta functions on the label index. If you had multiple orders in
there (if say you did second order perturbation theory on the action)
you would end up with delta[-LI[1], LI[2]], for example. These delta
functions are not automatically simplified, so you have to replace
them yourself. You can do this procedure on an arbitrary action to get
the equations of motion of some modified gravity theory (I've been
doing this).

Alternatively, you can dig into the guts of VarD, define
ImplicitTensorDepQ for various curvature tensors to be dependent on
the metric, and define (by hand) the variation of those curvature
tensors with respect to the metric. This would work but would also be
a lot of work on your part. xPert already does all of the work that
you would have to do in order to get the above to work, so using xPert
is easier. I think if you wanted to do Palatini variation, you would
have to use the latter approach and define how the variation of
curvature tensors depend on the connection.

Hope this helps,
Leo

miliosan

unread,
Dec 10, 2010, 6:13:45 AM12/10/10
to xAct Tensor Computer Algebra
Hi Leo,
thank you very much!! It works very well!
I tested it with lagrangians involving scalar fields, and the results
are perfects!
Now I don't have time to try with Palatini or metric-affine
formalisms, but I'll control as soon as possible!

Cheers
Emilio

Minkyu Park

unread,
Aug 16, 2017, 9:17:59 AM8/16/17
to xAct Tensor Computer Algebra
Hi,

That is implemented in xTras.
We can just use RicciScalar in VarD instead of expanding it in terms of metric.

This is for other people's information.

Best,
Minkyu

2010년 12월 10일 금요일 오후 8시 13분 45초 UTC+9, miliosan 님의 말:
Reply all
Reply to author
Forward
0 new messages