Quit[]

Perturbation theory on generic curved background using xAct

Loading package

For download and installation, visit http://www.xact.es/

This xPert package expands any finite-order perturbation of any of the GR-relevant curvature tensors in terms of metric perturbations.

The package xPert runs on top of xTensor, a free package for fast manipulation of abstract tensor expressions in Mathematica.

<<xAct`xTensor`
<<xAct`xPert`

Definitions

Defining a manifold

DefManifold[M,4,{μ,ν,α,β,γ,δ,λ,ρ,σ}]

Defining a metric and connection on the manifold

DefMetric[-1,g[-μ,-ν], CD,{";","D"}]

Relabeling important tensors

PrintAs[RiemannCD]^="R";
PrintAs[RicciCD]^="R";
PrintAs[RicciScalarCD]^="R";
PrintAs[ChristoffelCD]^="Γ";
PrintAs[EinsteinCD]^="G";

RiemannCD[μ,-ν,-ρ,-σ]
RicciCD[-μ,-ν]
RicciScalarCD[]
ChristoffelCD[ρ,-μ,-ν]
Determinant[g][]

Contractions

The xTensor package allow us to perform tensor contractions, e.g,

RicciCD[-μ,-ν]
RicciCD[-μ,-ν]g[ν,ρ]
RicciCD[-μ,-ν]g[ν,ρ]//ContractMetric

Perturbations

Defining the metric perturbation

DefMetricPerturbation[g,h,ϵ]

Metric perturbation up to O((ϵ^5))

Perturbed[g[-μ,-ν],5]

Perturbation[g[-μ,-ν]]

With “Perturbed”, we obtain the perturbation series up to a chosen order, e.g.,

Perturbed[RicciScalarCD[],2]

while “Perturbation” gives the coefficient of a chosen order, e.g.,

Perturbation[RicciScalarCD[],2]

Expand Perturbations

We use “ExpandPerturbation” to get the expansion in terms of h, e.g., 

For the inverse metric (g^(μν)) up to O((ϵ^2))

g[μ,ν]

Perturbed[g[μ,ν],2]//ExpandPerturbation

For the Ricci tensor (R^(μν)) up to O((ϵ^1))

Perturbed[RicciCD[μ,ν],1]//ExpandPerturbation

We use “ToCanonical”, which may help to relabel indices and simplify expression:

Perturbed[RicciCD[μ,ν],1]//ExpandPerturbation//ToCanonical

Now, for the Riemann tensor (Subscript[R, μναβ]) up to O((ϵ^1)):

(Perturbed[RiemannCD[-μ,-ν,-ρ,-σ],1]//ExpandPerturbation//ContractMetric//ToCanonical)//FullSimplify

In the flat background, we have:

(Perturbed[RiemannCD[-μ,-ν,-ρ,-σ],1]//ExpandPerturbation//ContractMetric//ToCanonical)/.{RiemannCD[α_,β_,γ_,δ_]:>0}//FullSimplify

Simplifying a little:

(Perturbed[RiemannCD[-μ,-ν,-ρ,-σ],1]//ExpandPerturbation//ContractMetric//ToCanonical)/.{RiemannCD[α_,β_,γ_,δ_]:>0,CD[-ν][CD[-μ][h[LI[1], -ρ, -σ]]]->CD[-μ][CD[-ν][h[LI[1], -ρ, -σ]]]}//FullSimplify

and changing the covariant derivatives by partial derivatives:

Out[90]/.CD[α_]:>PD[α]/.PD[-ν][PD[-μ][h[LI[1], -α, -β]]]->PD[-μ][PD[-ν][h[LI[1], -α, -β]]]//FullSimplify

This is the same as Eq. (1.13) of Maggiore’s GW book:

Einstein’s equation linearized

For the Einstein tensor, we have

EinsteinCD[μ,ν]

Or, we can build it explicitly:

RicciCD[-μ,-ν]-(1/2)RicciScalarCD[]*g[-μ,-ν]

Expanding it around a generic curved background:

(RicciCD[-μ,-ν]-(1/2)RicciScalarCD[]*g[-μ,-ν]//Perturbed[#,1]&//ExpandPerturbation//ContractMetric//ToCanonical)

Around flat spacetime, we get:

Out[42]/.{RiemannCD[α_,β_,γ_,δ_]:>0,RicciCD[α_,β_]:>0,RicciScalarCD[]->0}//FullSimplify

Here we define a tensor (Subscript[η, μν]):

DefTensor[eta[μ,ν],M,PrintAs->"η"]

and we also define the trace-reverse perturbation:

DefTensor[hbar[μ,ν],M,PrintAs->"(OverBar[h])"]

h[LI[1], μ_, ν_]:>hbar[μ,ν]-(1/2)eta[μ,ν]hbar[α,-α]

Then, the linearized Einstein tensor on flat spacetime becomes:

Out[44]/.h[LI[1], μ_, ν_]:>hbar[μ,ν]-(1/2)g[μ,ν]hbar[α,-α]//ContractMetric//ToCanonical//Simplification

and then:

Out[62]/.g[α_,β_]:>eta[α,β]

Multiplying the Einstein tensor by -2, we get precisely the LHS of Eq. (1.17):

Ricci tensor in curved background

For the Ricci tensor around a generic curved background, we get:

To O((ϵ^0)) we simply have the Ricci tensor for the background metric:

RicciCD[-μ,-ν]//Perturbation[#,0]&//ExpandPerturbation//ContractMetric//ToCanonical

For the O((ϵ^1)) coefficient, we get Eq. (1.113)

RicciCD[-μ,-ν]//Perturbation[#,1]&//ExpandPerturbation//ContractMetric//ToCanonical

For the O((ϵ^2)) coefficient, we get Eq. (1.114)

(1/2)*(RicciCD[-μ,-ν]//Perturbation[#,2]&//ExpandPerturbation//ContractMetric//ToCanonical)/.h[LI[2],α_,β_]:>0//Simplification//Expand

And, for the O((ϵ^2)) coefficient on flat spacetime, we get Eq. (1.131):

(1/2)*(RicciCD[-μ,-ν]//Perturbation[#,2]&//ExpandPerturbation//ContractMetric//ToCanonical)/.h[LI[2],α_,β_]:>0//Simplification//Expand

Out[75]/.CD[α_]:>PD[α]