Quit[]

Preliminaries

Loading xAct packages

packageList["xAct"] = {
"xAct`xPerm`",
"xAct`xTensor`",
"xAct`xPert`",
"xAct`Invar`",
"xAct`xCoba`",
"xAct`SymManipulator`",
"xAct`xTras`",
"xAct`TexAct`",
};
Block[  {Print},
Needs/@packageList["xAct"];
];

Pre-defined functions

tensorSim::usage = "x//ContractMetric//Simplification";
tensorSim[expr_] :=
    expr//xAct`xTensor`ContractMetric//xAct`xTensor`Simplification;

(i) Hides the dollar symbols of local variables.
(ii) Hides the definition messages of objects.
(iii) Prints the covariant derivative as a prefix.

System`$PrePrint = xAct`xTensor` ScreenDollarIndices;
xAct`xTensor`$DefInfoQ = False;
xAct`xTensor`$CovDFormat = "Prefix";

Conventions

(i) The sign convention for the extrinsic curvature is K[-a,-b] = -1/2 LieD[n]@gamma[-a,b].
(ii) We enforce the sign convention for the acceleration that is usually used in numerical relativity.

$ExtrinsicKSign=-1;
$AccelerationSign=-1;

Definitions

3-dimensional manifold and metric

DefManifold[M,3,IndexRange[a,m]]; 
DefMetric[+1,gamma[-a,-b],cd,SymbolOfCovD-> {"|","D"},PrintAs->"γ"];

Note the positive signature here as we are working on a hypersurface with a Riemannian metric.

Conformal metric

We define a conformal metric  with  the conformal factor.

DefTensor[chi[], M, PrintAs -> "χ"]
DefMetric[+1,gammabar[-a,-b],cdbar,{",","(OverBar[D])"},ConformalTo->{gamma[-a,-b],chi[]},PrintAs->"(OverBar[γ])"]

Here is a rule that says that the trace of the conformal metric three is. We put this in the automatic rules such that we don’t have to worry about it later.

gammabarRule = MakeRule[{gammabar[a,b]gammabar[-a,-b],3}];
AutomaticRules[gammabar,gammabarRule];

As  is our main metric, all expressions will be put in terms of  . Let me therefore define three rules that expresses  in terms of . We have to define three rules because the power of the conformal factor is dependent on where the indices are. We define three rules: (i) one where both indices are up, (ii) one where one index is down, one index is up and (iii) lastly, one where both indices are down.

ruleGammabarToGammaBot= MakeRule[{gammabar[-a,-b],(chi[])^(1) gamma[-a,-b]},MetricOn->None];
ruleGammabarToGammaMid =  MakeRule[{gammabar[-a,b],gamma[-a,b]},MetricOn->None];
ruleGammabarToGammaTop= MakeRule[{gammabar[a,b],(chi[])^(-1) gamma[a,b]},MetricOn->None];

The command “MetricOn -> None” ensures that the rule will not apply when indices are on different heights (for instance, “RuleGammaToGammabarBot” will do nothing when both indices of the metric are up).

Lapse function and shift vector

DefTensor[α[],M]
DefTensor[β[a],M]

Auxiliary metrics

We define the scalar functions “a” and “b” by “p” and “q” respectively as “a” and “b” are already used as indices. However, we let these quantities print as “a” and “b”.

DefScalarFunction[p,PrintAs->"a"];
DefScalarFunction[q,PrintAs->"b"];
DefTensor[x[],M];

Unit vector

DefTensor[xi[a],M,PrintAs-> "ξ"]
xi/:xi[-a_]xi[a_]:=1

Well-posedness

We start by defining a 10 by 10 matrix containing all zeroes.

mat1=Table[Table[0,{10}],{10}];

Next, we fill in all the non-zero elements.

mat1[[1,3]] =-2α[]gammabar[-i,c]gammabar[-j,d](*delta[-i,c]delta[-j,d]*);
mat1[[1,8]] =2I Symmetrize[gammabar[-h,-i]xi[-j],{-i,-j}]-2I/3 gammabar[-i,-j]xi[-h];

mat1[[2,4]] =2/3chi[]α[];
mat1[[2,8]] = -2I/3chi[]xi[-h];

mat1[[3,1]] = 1/2α[](delta[-a,e]delta[-b,f]-1/3gammabar[-a,-b]gammabar[e,f]);
mat1[[3,2]] = -α[]/2(xi[-a]xi[-b]-1/(3chi[])gammabar[-a,-b]);
mat1[[3,6]] =I α[]chi[](Symmetrize[gammabar[-g,-a]xi[-b],{-a,-b}]-1/3gammabar[-a,-b]xi[-g]);
mat1[[3,7]] = chi[](xi[-a]xi[-b]-1/(3chi[])gammabar[-a,-b]);

mat1[[4,1]] = 3q[x[]]α[]/(4(1+q[x[]]))(1/chi[]xi[e]xi[f]-1/2gammabar[e,f])+1/2gammabar[e,f]α[](4+q[x[]])/(4(1+q[x[]]));
mat1[[4,2]] = -2/chi[]α[](4+q[x[]])/(4(1+q[x[]]));
mat1[[4,6]] =I α[]chi[]xi[-g];
mat1[[4,7]] = 1;

mat1[[5,1]] = α[]/(2(1+q[x[]]))gammabar[e,f]/2+ q[x[]]α[]/(2(1+q[x[]]))(xi[e]xi[f]/chi[]-gammabar[e,f]/2);
mat1[[5,2]] = -α[]/(2(1+q[x[]]))2/chi[];
mat1[[5,6]] = I α[]chi[]xi[-g]/2;

mat1[[6,3]] = I α[]/(chi[](1+q[x[]]))(-2chi[]q[x[]]xi[-d]delta[k,-c]);
mat1[[6,4]] = I α[]/(chi[](1+q[x[]]))(-4/3 xi[k]);
mat1[[6,5]] =I α[]/(chi[](1+q[x[]])) 2xi[k];
mat1[[6,8]] = -1/chi[](delta[-h,k]+xi[k]xi[-h]/3);

mat1[[7,4]] = -2α[]/(1+p[x[]]);
mat1[[7,5]] = 4α[]/(1+p[x[]]);

mat1[[8,6]] =3/(4(1+p[x[]]))delta[l,-g];
mat1[[8,7]] = -I p[x[]]/(1+p[x[]])α[]xi[l];

mat1[[9,10]] = -α[];

mat1[[10,9]] = -α[];

mat1/.ruleGammabarToGammaBot/.ruleGammabarToGammaTop//tensorSim//MatrixForm

Eigenvalues[mat1]//.ruleGammabarToGammaTop//.ruleGammabarToGammaBot//.{gamma[a_,b_]xi[-a_]xi[-b_]:>1}//.{gamma[-a_,-b_]xi[a_]xi[b_]:>1}