The Spinorial Description of General Relativity and Applications to Black Hole Physics (notebook associated to the lecture notes)

Quit[]

This code comes with the lecture notes The Spinor Description of General Relativity and Applications to Black Hole Physics by David Pereñiguez.

This code makes use of the mathematica package diffgeo (download here https://github.com/bryango/diffgeoM ) as well as several xAct mathematica packages (download here  https://josmar493.dreamhosters.com/ ).

The Kerr Solution in GHP Language

1. The Kerr Metric and a Kinnersley Tetrad

In B-L coordinates, the Kerr metric is:

coord = {t,r,x,ϕ};
$Assumptions= And[t∈Reals,r∈Reals,x∈Reals,ϕ∈Reals,M∈Reals,a∈Reals,Q∈Reals,P∈Reals,r>0,-1<x<1,0<ϕ<2π];
metric=-DiagonalMatrix[{-(Δ[r]-(a^2) (1-(x^2)))/Σ[r,x],Σ[r,x]/Δ[r],((Σ[r,x])/((1-(x^2)))),((((((r^2)+(a^2)))^2)-Δ[r](a^2)(1-(x^2)))/Σ[r,x])(1-(x^2))}]-{{0,0,0,-a (1-(x^2)) (((r^2)+(a^2)-Δ[r])/(Σ[r,x]))},{0,0,0,0},{0,0,0,0},{-a (1-(x^2)) (((r^2)+(a^2)-Δ[r])/(Σ[r,x])),0,0,0}};
metricsign=-1;
<<diffgeo.m 
metric // MatrixForm
inverse // MatrixForm

It is useful to define some functions that evaluate the metric on-shell, where Δ[r] and Σ[r,x] are given by:

OnShell={Σ->Function[{r,x},(r^2)+(a^2) (x^2)],Δ-> Function[r,(r^2)+(a^2)-2M  r]}
OnShell$Σ={Σ->Function[{r,x},(r^2)+(a^2) (x^2)]}
OnShell$Δ={Δ-> Function[r,(r^2)+(a^2)-2M  r]}

For example, we can check that the metric above on shell satisfies the Einstein equations:

Simplify[(Einstein/.OnShell)==0]

Next we introduce the following Kinnersley null tetrad (a tetrad that as we will show next is aligned with the repeated PNDs of Kerr):

ℓUP={((((a^2)+(r^2)))/(Δ[r])),1,0,(a/(Δ[r]))};(*outoing repeated PND, with index up*)
𝓃UP={((((a^2)+(r^2)))/(2((r^2)+(a^2) (x^2)))),((-Δ[r])/(2((r^2)+(a^2) (x^2)))),0,(a/(2((r^2)+(a^2) (x^2))))};(*ingoing repeated PND, with index up*)
𝓂UP=(1/((Sqrt[2])(r+I a x))){I a (Sqrt[1-(x^2)]),0,-(Sqrt[1-(x^2)]),(I/(Sqrt[1-(x^2)]))};(*index up*)
𝓂CUP=(1/((Sqrt[2])(r-I a x))){-I a (Sqrt[1-(x^2)]),0,-(Sqrt[1-(x^2)]),-(I/(Sqrt[1-(x^2)]))}; (*index up*)
ℓ=lower[ℓUP];(*index down*)

𝓃=lower[𝓃UP]; (*index down*)

𝓂=lower[𝓂UP]; (*index down*)

𝓂C=lower[𝓂CUP]; (*index down*)

We can check they satisfy the null-frame orthogonality relations:

Simplify[(contract[ℓ**ℓ]/.OnShell)==0]
Simplify[(contract[𝓃**𝓃]/.OnShell)==0]
Simplify[(contract[𝓂**𝓂]/.OnShell)==0]
Simplify[(contract[𝓂C**𝓂C]/.OnShell)==0]
Simplify[(contract[ℓ**𝓃]/.OnShell)==1]
Simplify[(contract[𝓂**𝓂C]/.OnShell)==-1]
Simplify[(contract[ℓ**𝓂]/.OnShell)==0]
Simplify[(contract[𝓃**𝓂]/.OnShell)==0]

We can also check that both (ℓ^a) and (𝓃^a) are geodesic, although only (l^a) is affinely parametrised (with a GHP transformation one can make (𝓃^a) affinely parametrised instead):

contract[ℓ**covariant[ℓ],{1,2}]/.OnShell
(contract[𝓃**covariant[𝓃],{1,2}]-(((-M (r^2)+(a^2) (r+M (x^2)-r (x^2)))/((((r^2)+(a^2) (x^2)))^2)))𝓃)/.OnShell//Simplify

2. The GHP Quantities

We will obtain the GHP quantities leaving the function Δ[r] arbitrary, while we will be specifying Σ[r,x] to its value on shell.

2.1. Spin Coefficients

We first compute the covariant derivatives of the frame (everything with indices down):

Covℓ=Simplify[covariant[ℓ]/.OnShell$Σ];
Cov𝓃=Simplify[covariant[𝓃]/.OnShell$Σ];
Cov𝓂=Simplify[covariant[𝓂]/.OnShell$Σ];
Cov𝓂C=Simplify[covariant[𝓂C]/.OnShell$Σ];

Next we compute the spin coefficients following their definition given in Geroch-Held-Penrose (1973) in terms of the null frame. We will also keep track of their weights. For the properly-weighted coefficients we have:

Print["κ"]
κ={Simplify[Sum[Covℓ[[i,j]]ℓUP[[i]]𝓂UP[[j]],{i,1,4},{j,1,4}]],3,1}
Print["(OverBar[κ])"]
κC={Simplify[Conjugate[κ[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals}],1,3}
(**)
Print["σ"]
σ={Simplify[Sum[Covℓ[[i,j]]𝓂UP[[i]]𝓂UP[[j]],{i,1,4},{j,1,4}]],3,-1}
Print["(OverBar[σ])"]
σC={Simplify[Conjugate[σ[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals}],-1,3}
(**)
Print["ρ"]
ρ={Simplify[Sum[Covℓ[[i,j]]𝓂CUP[[i]]𝓂UP[[j]],{i,1,4},{j,1,4}]],1,1}
Print["(OverBar[ρ])"]
ρC={Simplify[Conjugate[ρ[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals}],1,1}
(**)
Print["τ"]
τ={Simplify[Sum[Covℓ[[i,j]]𝓃UP[[i]]𝓂UP[[j]],{i,1,4},{j,1,4}]],1,-1}
Print["(OverBar[τ])"]
τC={Simplify[Conjugate[τ[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals,(Sqrt[1- (x^2)])∈Reals}],-1,1}
(**)
(**)
Print["κ'"]
κp={Simplify[Sum[Cov𝓃[[i,j]]𝓃UP[[i]]𝓂CUP[[j]],{i,1,4},{j,1,4}]],-3,-1}
Print["(OverBar[κ])'"]
κpC={Simplify[Conjugate[κp[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals}],-1,-3}
(**)
Print["σ'"]
σp={Simplify[Sum[Cov𝓃[[i,j]]𝓂CUP[[i]]𝓂CUP[[j]],{i,1,4},{j,1,4}]],-3,1}
Print["(OverBar[σ])'"]
σpC={Simplify[Conjugate[σp[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals}],1,-3}
(**)
Print["ρ'"]
ρp={Simplify[Sum[Cov𝓃[[i,j]]𝓂UP[[i]]𝓂CUP[[j]],{i,1,4},{j,1,4}]],-1,-1}
Print["(OverBar[ρ])'"]
ρpC={FullSimplify[Conjugate[ρp[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals}],-1,-1}
(**)
Print["τ'"]
τp={Simplify[Sum[Cov𝓃[[i,j]]ℓUP[[i]]𝓂CUP[[j]],{i,1,4},{j,1,4}]],-1,1}
Print["(OverBar[τ])'"]
τpC={FullSimplify[Conjugate[τp[[1]]],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals,(1/(Sqrt[2-2 (x^2)]))∈Reals}],1,-1}
(**)
Print["ϵ"]
ε=Simplify[(1/2)(Sum[Covℓ[[i,j]]ℓUP[[i]]𝓃UP[[j]],{i,1,4},{j,1,4}]-Sum[Cov𝓂[[i,j]]ℓUP[[i]]𝓂CUP[[j]],{i,1,4},{j,1,4}])]
Print["(OverBar[ϵ])"]
εC=Simplify[Conjugate[ε],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals,(1/(Sqrt[2-2 (x^2)]))∈Reals}]
(**)
Print["β"]
β=Simplify[(1/2)(Sum[Covℓ[[i,j]]𝓂UP[[i]]𝓃UP[[j]],{i,1,4},{j,1,4}]-Sum[Cov𝓂[[i,j]]𝓂UP[[i]]𝓂CUP[[j]],{i,1,4},{j,1,4}])]
Print["(OverBar[β])"]
βC=Simplify[Conjugate[β],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals,(1/(Sqrt[2-2 (x^2)]))∈Reals}]
(**)
Print["ϵ'"]
εp=Simplify[(1/2)(Sum[Cov𝓃[[i,j]]𝓃UP[[i]]ℓUP[[j]],{i,1,4},{j,1,4}]-Sum[Cov𝓂C[[i,j]]𝓃UP[[i]]𝓂UP[[j]],{i,1,4},{j,1,4}])]
Print["(OverBar[ϵ])'"]
εpC=FullSimplify[Conjugate[εp],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals,(1/(Sqrt[2-2 (x^2)]))∈Reals}]
(**)
Print["β'"]
βp=Simplify[(1/2)(Sum[Cov𝓃[[i,j]]𝓂CUP[[i]]ℓUP[[j]],{i,1,4},{j,1,4}]-Sum[Cov𝓂C[[i,j]]𝓂CUP[[i]]𝓂UP[[j]],{i,1,4},{j,1,4}])]
Print["(OverBar[β])'"]
βpC=FullSimplify[Conjugate[βp],Assumptions->{Δ[r]∈Reals,a∈Reals,r∈Reals,x∈Reals,(1/(Sqrt[2-2 (x^2)]))∈Reals}]

We have found that (ℓ^a) and (𝓃^a) are geodesic and shearfree. Then, by the Goldberg--Sachs theorem they must be aligned with repeated PNDs and the space must be type D. We can confirm this below by computing the Weyl scalars.

Simplify[τp[[1]]-(((r+I a x )/(r-I a x))τ[[1]])]
Simplify[ρp[[1]]-(-((Δ[r] )/(2((r^2)+(a^(2 ))(x^2))))ρ[[1]])]

2.2. Weyl Scalars

Since the spacetime is Ricci-flat, we do not need to compute the Weyl scalar since it coincides with the Riemann. First we compute the Riemann with all indices down:

Rie=Simplify[lower[Riemann,{4}]/.OnShell$Σ];(*We compute the Riemann with all indices down*)

Next we apply the definition of the Weyl scalars (see e.g. Newman--Penrose (1962) or Chandrasekar (1983)):

Ψ0={-Simplify[Sum[Rie[[i,j,k,l]]ℓUP[[i]]𝓂UP[[j]]ℓUP[[k]]𝓂UP[[l]],{i,1,4},{j,1,4},{k,1,4},{l,1,4}]],4,0}
Ψ1={-Simplify[Sum[Rie[[i,j,k,l]]ℓUP[[i]]𝓂UP[[j]]ℓUP[[k]]𝓃UP[[l]],{i,1,4},{j,1,4},{k,1,4},{l,1,4}]],2,0}
Ψ2={-Simplify[Sum[Rie[[i,j,k,l]]ℓUP[[i]]𝓂UP[[j]]𝓂CUP[[k]]𝓃UP[[l]],{i,1,4},{j,1,4},{k,1,4},{l,1,4}]],0,0}
Ψ3={-Simplify[Sum[Rie[[i,j,k,l]]ℓUP[[i]]𝓃UP[[j]]𝓂CUP[[k]]𝓃UP[[l]],{i,1,4},{j,1,4},{k,1,4},{l,1,4}]],-2,0}
Ψ4={-Simplify[Sum[Rie[[i,j,k,l]]𝓂CUP[[i]]𝓃UP[[j]]𝓂CUP[[k]]𝓃UP[[l]],{i,1,4},{j,1,4},{k,1,4},{l,1,4}]],-4,0}

We have indeed found (Subscript[Ψ, 0])=(Subscript[Ψ, 2])=(Subscript[Ψ, 3])=(Subscript[Ψ, 4])=0, as it should for a type D space in a tetrad aligned with the repeated PNDs. The value of (Subscript[Ψ, 2]) on shell is:

Ψ2[[1]]/.OnShell//Simplify

3. Some GHP Operators

3.1. General Operators on (Subscript[L, p,q]) GHP bundles

Here we introduce some GHP operators that keep track of the GHP weights of the quantities they act upon:

Π[a_,b_]:={a[[1]]b[[1]],a[[2]]+b[[2]],a[[3]]+b[[3]]}(*Product of GHP quantities*)
Θ[f_]:={covariant[f[[1]]]-f[[2]](-εp ℓ+ε 𝓃+βp 𝓂-β 𝓂C)**f[[1]]-f[[3]](-εpC ℓ+εC 𝓃+βpC 𝓂C-βC 𝓂)**f[[1]],f[[2]],f[[3]]}(*Line bundle GHP covariant derivative*)
þ[f_]:={contract[ℓ**Θ[f][[1]],{1,2}],f[[2]]+1,f[[3]]+1}  (*Thorn*)
þp[f_]:={contract[𝓃**Θ[f][[1]],{1,2}],f[[2]]-1,f[[3]]-1}(*Thorn'*)
ð[f_]:={contract[𝓂**Θ[f][[1]],{1,2}],f[[2]]+1,f[[3]]-1}(*Eth*)
ðp[f_]:={contract[𝓂C**Θ[f][[1]],{1,2}],f[[2]]-1,f[[3]]+1} (*Eth'*)
(*Convenient modifications of thorn and eth operators*)
Þ[f_,ψ_]:={þ[ψ][[1]]+f ψ[[1]],ψ[[2]]+1,ψ[[3]]+1}
Þp[f_,ψ_]:={þp[ψ][[1]]+f ψ[[1]],ψ[[2]]-1,ψ[[3]]-1}
Ð[f_,ψ_]:={ð[ψ][[1]]+f ψ[[1]],ψ[[2]]+1,ψ[[3]]-1}
Ðp[f_,ψ_]:={ðp[ψ][[1]]+f ψ[[1]],ψ[[2]]-1,ψ[[3]]+1}
(*Modified line bundle covariant derivatives*)
ℬa=-(ρ[[1]]𝓃-τ[[1]]𝓂C);
ℬpa=-(ρp[[1]]ℓ-τp[[1]]𝓂);
Θ1T[f_]:={Θ[f][[1]]+4ℬa**f[[1]],f[[2]],f[[3]]}
Θ2T[f_]:={Θ[f][[1]]-4ℬa**f[[1]],f[[2]],f[[3]]}
Θp1T[f_]:={Θ[f][[1]]+4ℬpa**f[[1]],f[[2]],f[[3]]}
Θp2T[f_]:={Θ[f][[1]]-4ℬpa**f[[1]],f[[2]],f[[3]]}
(*factors of Σ*)
ζ[r_,x_]:=r-I a x
ζC[r_,x_]:=r+I a x
(*Teukolsky Operators and Adjoints version in 2406.12510*)
O0[φ_]:=Þ[-4 ρ[[1]]-ρC[[1]],Þp[-ρp[[1]],φ]][[1]]-Ð[-4 τ[[1]]-τpC[[1]],Ðp[-τp[[1]],φ]][[1]]-3 Ψ2[[1]]φ[[1]]
O4[φ_]:=Þp[-4 ρp[[1]]-ρpC[[1]],Þ[-ρ[[1]],φ]][[1]]-Ðp[-4 τp[[1]]-τC[[1]],Ð[-τ[[1]],φ]][[1]]-3 Ψ2[[1]]φ[[1]]
𝒜O0[φ_]:=((ζ[r,x])^4)O4[((ζ[r,x])^(-4))φ]
𝒜O4[φ_]:=((ζ[r,x])^4)O0[((ζ[r,x])^(-4))φ]

3.2. Spin-weighted Spherical Harmonics

Introducing them as sections of a line-bundle on the sphere:

ðS[f_]:={-(((((Sqrt[1-(x^2)])))^(f[[2]])))(-(Sqrt[1-(x^2)])D[((((Sqrt[1-(x^2)])))^(-f[[2]]))f[[1]],x]+(I/(Sqrt[1-(x^2)]))D[((((Sqrt[1-(x^2)])))^(-f[[2]]))f[[1]],χ]),f[[2]]+1}
ðSC[f_]:={-(((((Sqrt[1-(x^2)])))^(-f[[2]])))(-(Sqrt[1-(x^2)])D[((((Sqrt[1-(x^2)])))^(f[[2]]))f[[1]],x]-(I/(Sqrt[1-(x^2)]))D[((((Sqrt[1-(x^2)])))^(f[[2]]))f[[1]],χ]),f[[2]]-1}
𝒴[s_,l_,m_,x_,χ_]:=Simplify[If[s>=0,(Sqrt[((Factorial[l-s])/(Factorial[l+s]))])Nest[ðS,{SphericalHarmonicY[l,m,ArcCos[x],χ],0},s][[1]],(((-1))^s)(Sqrt[((Factorial[l+s])/(Factorial[l-s]))])Nest[ðSC,{SphericalHarmonicY[l,m,ArcCos[x],χ],0},-s][[1]]]]
𝒴C[s_,l_,m_,x_,χ_]:=Simplify[Conjugate[𝒴[s ,l,m,x,χ]],Assumptions->{x∈Reals,χ∈Reals,(Sqrt[1- (x^2)])∈Reals,(1/(Sqrt[2- 2(x^2)]))∈Reals}]

The replacement rule for its second derivative is (see derivation below):

Harm$Rep$Rupe={S''[x]->(((4+(m^2)+4 m x+l (-1+(x^2))+(l^2) (-1+(x^2))) S[x]-2 x (-1+(x^2)) S'[x])/(((-1+(x^2)))^2))}

3.2.1. Deriving a replacement rule for the spin-weighted spherical harmonics

Consider the sphere:

coord = {x,χ};
$Assumptions= And[x∈Reals,χ∈Reals,-1<x<1,0<χ<2π];
metric=DiagonalMatrix[{(1/(1-(x^2))),1-(x^2)}];

We write the harmonic equation satisfied by spin-weighted spherical harmonics using an ansatz 𝒴=S[x](e^(i m χ)):

Simplify[Simplify[ðSC[ðS[{S[x]Exp[I m χ],2}]][[1]]]+(l-2)(l+2+1)S[x]Exp[I m χ]]

Solve[%==0,{S''[x]}]//Simplify

Harm$Rep$Rupe={S''[x]->(((4+(m^2)+4 m x+l (-1+(x^2))+(l^2) (-1+(x^2))) S[x]-2 x (-1+(x^2)) S'[x])/(((-1+(x^2)))^2))}

Curvature Wave Equations From Weyl’s Spinor Wave Equation

0. Preamble (calling xAct packages and defining manifold and spinor structures)

Quit[]

We first call the necessary xAct packages (you can download xAct here: https://josmar493.dreamhosters.com/ ).

Clean[expr_]:=HoldForm[expr]/.(h:Except[HoldForm|Equal|Power|Times|Plus|Log|Subscript | Rational | Complex|List|Derivative|Rule|SeriesData])[args___]:>h
<<xAct`SymManipulator`
<<xAct`SpinFrames`
<<xAct`TInvar`
<<xAct`xPert`
<<xAct`TexAct`

Remove annoying messages

$DefInfoQ=False;
$CVVerbose=False;
SetOptions[AutomaticRules,Verbose->False];
$CovDFormat="Prefix";

Useful stuff to write rules

EqToRule[expr_Equal]:=MakeRule[Evaluate[List@@expr],MetricOn->None,ContractMetrics->False]
FlipEquation[LHS_==Times[a_?NumberQ,RHS1_,RHSS2___]]:=Times[RHS1,RHSS2]==(LHS)/a
FlipEquation[LHS_==RHS_]:=RHS==LHS

0.1. Manifold and abstract metric

$RiemannSign=-1;(*Penrose--Rindler convention for Riemann. Recall our curvature spinors except Λ are defined to match the Penrose--Rindler convention*)
DefManifold[M4,4,{a,b,c,d,f,l,m,p,q}];
DefMetric[{1,3,0},g[-a,-b],CD,PrintAs->"g",DefInfo->False]

Off[ValidateSymbol::"capital"]

We print dagger indices with primes and  bars

SetOptions[DefAbstractIndex,PrintAs->PrimeDagger];
SetOptions[DefSpinor,PrintDaggerAs->AddBar];

0.2. Define spin structure

DefSpinStructure[g,Spin,{A,B,C,D,F,H,L,M,P,Q,R,S},ϵ,σ,CDe,{";","▽"},SpinorPrefix->SP,SpinorMark->"S"]
{PrintAs[PsiCDe]^="Ψ",PrintAs[PhiCDe]^="Φ",PrintAs[LambdaCDe]^="Λ"};
DefFundSpinOperators[CDe]

DefNPTetrad[NP,{lNP[a],nNP[a],mNP[a]}]

DefSpinDyad[Dyad,{o[A],ι[A]},NP]

AutomaticRules[lNP,MakeRule[{lNP[a]lNP[-a],0}]];
AutomaticRules[lNP,MakeRule[{lNP[a]nNP[-a],1}]];
AutomaticRules[lNP,MakeRule[{lNP[a]mNP[-a],0}]];
AutomaticRules[lNP,MakeRule[{lNP[a]mNP†[-a],0}]];
AutomaticRules[nNP,MakeRule[{nNP[a]nNP[-a],0}]];
AutomaticRules[nNP,MakeRule[{nNP[a]mNP[-a],0}]];
AutomaticRules[nNP,MakeRule[{nNP[a]mNP†[-a],0}]];
AutomaticRules[mNP,MakeRule[{mNP[a]mNP†[-a],-1}]];
AutomaticRules[mNP,MakeRule[{mNP[a]mNP[-a],0}]];
AutomaticRules[mNP†,MakeRule[{mNP†[a]mNP†[-a],0}]];

Rules that don’t work automatically:

RiemannToRicci=MakeRule[{RiemannCD[-a,f,-b,-f],RicciCD[-a,-b]}];
RicciToScalar=MakeRule[{RicciCD[a,-a],RicciScalarCD[]}];

Shorthand for frame derivatives:

þ[x_] := ΘDyad[{1,-NP}][x];
þp[x_] := ΘDyad[{2,-NP}][x];
ð[x_] := ΘDyad[{3,-NP}][x];
ðp[x_]:=ΘDyad[{4,-NP}][x];

0.2. General variables and rules for our problem

Vacuum= {RicciCD[a_,b_]:>0,RicciScalarCD[]:>0, PhiCDe00Dyad[]->0, PhiCDe01Dyad[]->0, PhiCDe10Dyad[]->0, PhiCDe11Dyad[]->0, PhiCDe20Dyad[]->0, PhiCDe21Dyad[]->0, PhiCDe22Dyad[]->0, PhiCDe12Dyad[]->0, PhiCDe02Dyad[]->0,
PhiCDe00Dyad†[]->0, PhiCDe01Dyad†[]->0, PhiCDe10Dyad†[]->0, PhiCDe11Dyad†[]->0, PhiCDe20Dyad†[]->0, PhiCDe21Dyad†[]->0, PhiCDe22Dyad†[]->0, PhiCDe12Dyad†[]->0, PhiCDe02Dyad†[]->0,LambdaCDe[]->0};
TypeD$Vacuum=Flatten@Join[{κDyad[]->0,σDyad[]->0,κpDyad[]->0,σpDyad[]->0,κDyad†[]->0,σDyad†[]->0,κpDyad†[]->0,σpDyad†[]->0,PsiCDe0Dyad[]->0,PsiCDe1Dyad[]->0,PsiCDe3Dyad[]->0,PsiCDe4Dyad[]->0,PsiCDe0Dyad†[]->0,PsiCDe1Dyad†[]->0,PsiCDe3Dyad†[]->0,PsiCDe4Dyad†[]->0},Vacuum]

1. NonPerturbative Vacuum Curvature Wave Equations in GHP Language

Here we provide a spinor derivation of the curvature wave equations by Stewart and Walker (1974). Our starting point is the wave equation of the Weyl spinor derived in the lectures:

Ψ$vacuum=CDe[-F,-F†][ CDe[F,F†][PsiCDe[-A,-B,-C,-D]]]-2(PsiCDe[H,L,-C,-D]PsiCDe[-A,-B,-H,-L]+PsiCDe[H,L,-B,-D]PsiCDe[-A,-C,-H,-L]+PsiCDe[H,L,-B,-C]PsiCDe[-A,-D,-H,-L])

1.1. Equation for (Subscript[Ψ, 0])

We contract the wave equation with the first spinor of the dyad (as appropriate to obtain an equation for (Subscript[Ψ, 0])) and transform to GHP language:

ToGHP[o[A]o[B]o[C]o[D]Ψ$vacuum,Dyad]

We want to get Stewart & Walker’s equation (3.22). First, we commute second derivatives acting on (Subscript[Ψ, 0]) to have the correct differential operator:

(%/.GHPCommutatorsBackward[Dyad])/.Vacuum

Next, following their logic we remove the first derivatives of (Subscript[Ψ, 1]), using Bianchi identities. Doing it by inspection is probably the clearest way, as follows:

GHPBianchiRules[Dyad]

The desired substitutions are:

EthΨ1=ð[PsiCDe1Dyad[]]->(ð[PsiCDe1Dyad[]]/.GHPBianchiRules[Dyad]/.Vacuum)
EthpΨ1=ðp[PsiCDe1Dyad[]]->(ðp[PsiCDe1Dyad[]]/.GHPBianchiRules[Dyad]/.Vacuum)
ThnΨ1=First@@Solve[(ðp[PsiCDe0Dyad[]]==(ðp[PsiCDe0Dyad[]]/.GHPBianchiRules[Dyad]))/.Vacuum,{þ[PsiCDe1Dyad[]]}]
ThnpΨ1=First@@Solve[(ð[PsiCDe2Dyad[]]==(ð[PsiCDe2Dyad[]]/.GHPBianchiRules[Dyad]))/.Vacuum,{þp[PsiCDe1Dyad[]]}]

Applying them to our previous equation:

Simplify[%45/.{EthΨ1,EthpΨ1,ThnΨ1,ThnpΨ1}]

Next, we minimize the number of derivatives of spin coefficients by eliminating (þτ,ðρ), using Ricci rotation equations. Again by inspection seems to be the cleanest way:

GHPRicciRules[Dyad]

The desired substitution operations are:

Thnτ=First@@Solve[þp[κDyad[]]==(þp[κDyad[]]/.GHPRicciRules[Dyad]/.Vacuum),{þ[τDyad[]]}]
Ethρ=First@@Solve[ðp[σDyad[]]==(ðp[σDyad[]]/.GHPRicciRules[Dyad]/.Vacuum),{ð[ρDyad[]]}]

and substituting back into our equation:

Simplify[((%51)/2)/.{Thnτ,Ethρ}]

This seems to have the correct form, so we save it:

InputForm[%]

Ψ0$CWE=10*PsiCDe1Dyad[]^2-10*PsiCDe0Dyad[]*PsiCDe2Dyad[]-4*PsiCDe0Dyad[]*κDyad[]*κpDyad[]+8*PsiCDe1Dyad[]*κDyad[]*ρpDyad[]-4*PsiCDe1Dyad[]*κDyad[]*ρpDyad†[]+12*PsiCDe2Dyad[]*ρDyad[]*σDyad[]+4*PsiCDe0Dyad[]*σDyad[]*σpDyad[]-12*PsiCDe2Dyad[]*κDyad[]*τDyad[]+4*PsiCDe1Dyad[]*σDyad[]*τDyad†[]-8*PsiCDe1Dyad[]*σDyad[]*τpDyad[]-ρpDyad†[]*ΘDyad[{1,-NP}][PsiCDe0Dyad[]]-4*σDyad[]*ΘDyad[{1,-NP}][PsiCDe2Dyad[]]-5*ρDyad[]*ΘDyad[{2,-NP}][PsiCDe0Dyad[]]+4*PsiCDe1Dyad[]*ΘDyad[{2,-NP}][κDyad[]]+ΘDyad[{2,-NP}][ΘDyad[{1,-NP}][PsiCDe0Dyad[]]]+τDyad†[]*ΘDyad[{3,-NP}][PsiCDe0Dyad[]]+4*κDyad[]*ΘDyad[{3,-NP}][PsiCDe2Dyad[]]+5*τDyad[]*ΘDyad[{4,-NP}][PsiCDe0Dyad[]]-4*PsiCDe1Dyad[]*ΘDyad[{4,-NP}][σDyad[]]-ΘDyad[{4,-NP}][ΘDyad[{3,-NP}][PsiCDe0Dyad[]]]

As a check, we compare to Stewart & Walker’s (3.22), which reads:

S$W=þp@þ@PsiCDe0Dyad[]-ðp@ð@PsiCDe0Dyad[]+(-ρpDyad†[] (þ@PsiCDe0Dyad[])-5ρDyad[](þp@PsiCDe0Dyad[])+τDyad†[]ð@PsiCDe0Dyad[]+5τDyad[]ðp@PsiCDe0Dyad[])+(4 σDyad[]σpDyad[]-4 κDyad[]κpDyad[]-10 PsiCDe2Dyad[])PsiCDe0Dyad[]+(4 þp[κDyad[]]PsiCDe1Dyad[]-4 ðp[σDyad[]]PsiCDe1Dyad[])+(-4(ρpDyad†[]-2ρpDyad[])κDyad[]+4(τDyad†[]-2 τpDyad[])σDyad[]+10 PsiCDe1Dyad[])PsiCDe1Dyad[]+(-4 σDyad[]þ@PsiCDe2Dyad[]+4 κDyad[]ð@PsiCDe2Dyad[])+(-12 κDyad[]τDyad[]+12ρDyad[]σDyad[])PsiCDe2Dyad[];
Simplify[S$W-Ψ0$CWE==0]

1.2. Equation for (Subscript[Ψ, 4])

The procedure is analogous to that for (Subscript[Ψ, 0]). We contract the wave equation with the second spinor of the dyad (as appropriate to obtain an equation for (Subscript[Ψ, 4])) and transform to GHP language:

ToGHP[ι[A]ι[B]ι[C]ι[D]Ψ$vacuum,Dyad]

We want to get Stewart & Walker’s equation (3.21). First, we commute second derivatives acting on (Subscript[Ψ, 4]) to have the correct differential operator:

%/.GHPCommutatorsBackward[Dyad]/.Vacuum

Next, following their logic we remove the first derivatives of (Subscript[Ψ, 3]), using Bianchi identities. Doing it by inspection is probably the clearest way, as follows:

GHPBianchiRules[Dyad]

The desired substitutions are:

EthΨ3=ð[PsiCDe3Dyad[]]->(ð[PsiCDe3Dyad[]]/.GHPBianchiRules[Dyad])/.Vacuum
EthpΨ3=ðp[PsiCDe3Dyad[]]->(ðp[PsiCDe3Dyad[]]/.GHPBianchiRules[Dyad])/.Vacuum
ThnΨ3=First@@Solve[(ðp[PsiCDe2Dyad[]]==(ðp[PsiCDe2Dyad[]]/.GHPBianchiRules[Dyad]))/.Vacuum,{þ[PsiCDe3Dyad[]]}]
ThnpΨ3=First@@Solve[(ðp[PhiCDe22Dyad[]]==(ðp[PhiCDe22Dyad[]]/.GHPBianchiRules[Dyad]))/.Vacuum,{þp[PsiCDe3Dyad[]]}]

Applying them to our previous equation:

Simplify[%61/.{EthΨ3,EthpΨ3,ThnΨ3,ThnpΨ3}]

Next, we minimize the number of derivatives of spin coefficients by eliminating (þ'τ',ð'ρ'), using Ricci rotation equations. Again by inspection seems to be the cleanest way:

GHPRicciRules[Dyad]

The desired substitution operations are:

Thnpτp=þp[τpDyad[]]->(þp[τpDyad[]]/.GHPRicciRules[Dyad])/.Vacuum
Ethpρp=ðp[ρpDyad[]]->(ðp[ρpDyad[]]/.GHPRicciRules[Dyad])/.Vacuum

and substituting back into our equation:

Simplify[((%68)/2)/.{Thnpτp,Ethpρp}]

This seems to have the correct form, so we save it:

InputForm[%]

Ψ4$CWE=10*PsiCDe3Dyad[]^2-2*PsiCDe2Dyad[]*PsiCDe4Dyad[]+8*PsiCDe3Dyad[]*κpDyad[]*ρDyad[]-4*PsiCDe3Dyad[]*κpDyad[]*ρDyad†[]+4*PsiCDe4Dyad[]*ρDyad[]*ρpDyad[]+12*PsiCDe2Dyad[]*ρpDyad[]*σpDyad[]-8*PsiCDe3Dyad[]*σpDyad[]*τDyad[]-12*PsiCDe2Dyad[]*κpDyad[]*τpDyad[]-4*PsiCDe4Dyad[]*τDyad[]*τpDyad[]+4*PsiCDe3Dyad[]*σpDyad[]*τpDyad†[]-(4*ρpDyad[]+ρpDyad†[])*ΘDyad[{1,-NP}][PsiCDe4Dyad[]]+4*PsiCDe3Dyad[]*ΘDyad[{1,-NP}][κpDyad[]]-4*σpDyad[]*ΘDyad[{2,-NP}][PsiCDe2Dyad[]]-ρDyad[]*ΘDyad[{2,-NP}][PsiCDe4Dyad[]]+ΘDyad[{2,-NP}][ΘDyad[{1,-NP}][PsiCDe4Dyad[]]]+τDyad†[]*ΘDyad[{3,-NP}][PsiCDe4Dyad[]]+4*τpDyad[]*ΘDyad[{3,-NP}][PsiCDe4Dyad[]]-4*PsiCDe3Dyad[]*ΘDyad[{3,-NP}][σpDyad[]]+4*κpDyad[]*ΘDyad[{4,-NP}][PsiCDe2Dyad[]]+τDyad[]*ΘDyad[{4,-NP}][PsiCDe4Dyad[]]-ΘDyad[{4,-NP}][ΘDyad[{3,-NP}][PsiCDe4Dyad[]]]

As a check, we compare to Stewart & Walker’s (3.21), which reads (here I correct a typo in the equation by S&W, where (OverBar[τ]) of their equation should be replaced by (OverBar[τ])'. I confirm that this is a typo by finding the equation including the correction in an independent way below, by priming the equation for (Subscript[Ψ, 0]). Notice that this typo propagated to the paper of Bini et. al.):

S$W$Ψ4=þp@þ@PsiCDe4Dyad[]-ðp@ð@PsiCDe4Dyad[]-(4 ρpDyad[]+ρpDyad†[])(þ[PsiCDe4Dyad[]])-ρDyad[]þp[PsiCDe4Dyad[]]+(4 τpDyad[]+τDyad†[])(ð[PsiCDe4Dyad[]])+τDyad[](ðp[PsiCDe4Dyad[]])+(4 ρDyad[]ρpDyad[]-4 τDyad[]τpDyad[]-2PsiCDe2Dyad[])PsiCDe4Dyad[]+(4 þ[κpDyad[]]-4ð[σpDyad[]]-4(ρDyad†[]-2ρDyad[])κpDyad[]+4(τpDyad†[]-2τDyad[])σpDyad[]+10PsiCDe3Dyad[])PsiCDe3Dyad[]-4σpDyad[]þp[PsiCDe2Dyad[]]+4κpDyad[]ðp[PsiCDe2Dyad[]]+(12ρpDyad[]σpDyad[]-12κpDyad[]τpDyad[])PsiCDe2Dyad[]
Simplify[S$W$Ψ4-Ψ4$CWE==0]

Alternative derivation as a priming of the equation for (Subscript[Ψ, 0])

We prime by hand the equation obtained above for (Subscript[Ψ, 0]) (Ψ0$CWE) and then commute derivative operators so that non-primed ones act first:

Ψ4$CWE$Primed$Version=((10*PsiCDe3Dyad[]^2-10*PsiCDe4Dyad[]*PsiCDe2Dyad[]-4*PsiCDe4Dyad[]*κpDyad[]*κDyad[]+8*PsiCDe3Dyad[]*κpDyad[]*ρDyad[]-4*PsiCDe3Dyad[]*κpDyad[]*ρDyad†[]+12*PsiCDe2Dyad[]*ρpDyad[]*σpDyad[]+4*PsiCDe4Dyad[]*σpDyad[]*σDyad[]-12*PsiCDe2Dyad[]*κpDyad[]*τpDyad[]+4*PsiCDe3Dyad[]*σpDyad[]*τpDyad†[]-8*PsiCDe3Dyad[]*σpDyad[]*τDyad[]-ρDyad†[]*ΘDyad[{2,-NP}][PsiCDe4Dyad[]]-4*σpDyad[]*ΘDyad[{2,-NP}][PsiCDe2Dyad[]]-5*ρpDyad[]*ΘDyad[{1,-NP}][PsiCDe4Dyad[]]+4*PsiCDe3Dyad[]*ΘDyad[{1,-NP}][κpDyad[]]+ΘDyad[{1,-NP}][ΘDyad[{2,-NP}][PsiCDe4Dyad[]]]+τpDyad†[]*ΘDyad[{4,-NP}][PsiCDe4Dyad[]]+4*κpDyad[]*ΘDyad[{4,-NP}][PsiCDe2Dyad[]]+5*τpDyad[]*ΘDyad[{3,-NP}][PsiCDe4Dyad[]]-4*PsiCDe3Dyad[]*ΘDyad[{3,-NP}][σpDyad[]]-ΘDyad[{3,-NP}][ΘDyad[{4,-NP}][PsiCDe4Dyad[]]])/.GHPCommutatorsBackward[Dyad])/.Vacuum

We check it coincides with Ψ4$CWE (the result obtained by emulating the derivation of Ψ0$CWE):

Simplify[(Ψ4$CWE$Primed$Version-Ψ4$CWE)==0]