Working with a Killing vector

Theoretical summary

Let (ℳ, (Subscript[g, ab])) be a space-time and consider a  vector field (OverVector[ξ]) defined on ℳ. The vector field (OverVector[ξ])  is a Killing vector if 

	(Subscript[£, (OverVector[ξ])])(Subscript[g, ab])=0 

The Killing vector gives rise to a number of differential identities with important applications (we shall work in dimension 4 but some of the identities are valid in any dimension):

Killing condition: (Subscript[▽, b])({{ξ, ({{ }, {c}})}})+(Subscript[▽, c])({{ξ, ({{ }, {b}})}})==0.

Killing norm: λ=(ξ^a)(Subscript[ξ, a]).

Killing 2-form: ({{F, ({{ ,  }, {b, a}})}})==(Subscript[▽, b])({{ξ, ({{ }, {a}})}}).

Covariant derivative of the Killing 2-form: (Subscript[▽, b])({{F, ({{ ,  }, {a, c}})}})=-({{R, ({{ ,  ,  ,  }, {a, c, b, d}})}}) ({{ξ, ({{d}, { }})}}).

Covariant derivative of the dual of the Killing 2-form: (Subscript[▽, c])({{(SuperStar[F]), ({{ ,  }, {a, b}})}})=-(1/2) ({{η, ({{ ,  ,  ,  }, {a, b, q, d}})}}) ({{R, ({{ ,  , q, d}, {c, p,  ,  }})}}) ({{ξ, ({{p}, { }})}}).

Box of the Killing 1-form: (▽^a)(Subscript[▽, a])({{ξ, ({{ }, {c}})}})=-({{R, ({{ ,  }, {c, d}})}}) ({{ξ, ({{d}, { }})}}).

Box of the Killing 2-form: (▽^b)(Subscript[▽, b])({{F, ({{ ,  }, {a, c}})}})=-({{F, ({{b, d}, { ,  }})}}) ({{R, ({{ ,  ,  ,  }, {a, c, b, d}})}})-({{ξ, ({{d}, { }})}}) ((▽^b)({{R, ({{ ,  ,  ,  }, {a, c, b, d}})}})).

Self-dual Killing 2-form: ({{ℱ, ({{ ,  }, {a, b}})}})=({{F, ({{ ,  }, {a, b}})}})+i ({{(SuperStar[F]), ({{ ,  }, {a, b}})}}).

Covariant derivative of the self-dual Killing 2-form:

(Subscript[▽, f])({{ℱ, ({{ ,  }, {a, b}})}})=(1/2) ({{R, ({{ ,  }, {b, f}})}}) ({{ξ, ({{ }, {a}})}})-(1/6) ({{g, ({{ ,  }, {b, f}})}}) R ({{ξ, ({{ }, {a}})}})-(1/2) ({{R, ({{ ,  }, {a, f}})}}) ({{ξ, ({{ }, {b}})}})+(1/6) ({{g, ({{ ,  }, {a, f}})}}) R ({{ξ, ({{ }, {b}})}})+(1/2) ({{g, ({{ ,  }, {b, f}})}}) ({{R, ({{ ,  }, {a, c}})}}) ({{ξ, ({{c}, { }})}})-(1/2) ({{g, ({{ ,  }, {a, f}})}}) ({{R, ({{ ,  }, {b, c}})}}) ({{ξ, ({{c}, { }})}})-(1/2) i ({{η, ({{ ,  ,  ,  }, {a, b, f, d}})}}) ({{R, ({{ , d}, {c,  }})}}) ({{ξ, ({{c}, { }})}})+(1/2) i ({{η, ({{ ,  ,  ,  }, {a, b, c, d}})}}) ({{R, ({{ , d}, {f,  }})}}) ({{ξ, ({{c}, { }})}})+(1/6) i ({{η, ({{ ,  ,  ,  }, {a, b, f, c}})}}) R ({{ξ, ({{c}, { }})}})-({{𝒲, ({{ ,  ,  ,  }, {a, b, f, c}})}}) ({{ξ, ({{c}, { }})}})

Self-dual Weyl tensor: ({{𝒲, ({{ ,  ,  ,  }, {a, b, c, d}})}})==({{W, ({{ ,  ,  ,  }, {a, b, c, d}})}})+i ({{(SuperStar[W]), ({{ ,  ,  ,  }, {a, b, c, d}})}}).

Ernst 1-form: ({{σ, ({{ }, {a}})}})==2 ({{ℱ, ({{ ,  }, {a, b}})}}) ({{ξ, ({{b}, { }})}}).

Decomposition of the Ernst 1-form into real & imaginary parts: ({{σ, ({{ }, {a}})}})=i ({{ω, ({{ }, {a}})}})+(Subscript[▽, a])λ. The 1-form ({{ω, ({{ }, {a}})}}) is the twist form and it is given by  ({{ω, ({{ }, {a}})}})=({{η, ({{ ,  ,  ,  }, {a, b, c, d}})}}) ({{F, ({{c, d}, { ,  }})}}) ({{ξ, ({{b}, { }})}}).

Covariant derivative of the twist 1-form: (Subscript[▽, e])({{ω, ({{ }, {a}})}})=2 ({{F, ({{ , b}, {e,  }})}}) ({{(SuperStar[F]), ({{ ,  }, {a, b}})}})+({{η, ({{ ,  ,  ,  }, {a, e, c, d}})}}) ({{R, ({{ , d}, {b,  }})}}) ({{ξ, ({{b}, { }})}}) ({{ξ, ({{c}, { }})}})-2 ({{(SuperStar[W]), ({{ ,  ,  ,  }, {e, b, a, c}})}}) ({{ξ, ({{b}, { }})}}) ({{ξ, ({{c}, { }})}}).

Exterior derivative of the twist 1-form: -(1/2) ((Subscript[▽, a])({{ω, ({{ }, {e}})}}))+(1/2) ((Subscript[▽, e])({{ω, ({{ }, {a}})}}))=({{F, ({{ , b}, {e,  }})}}) ({{(SuperStar[F]), ({{ ,  }, {a, b}})}})-({{F, ({{ , b}, {a,  }})}}) ({{(SuperStar[F]), ({{ ,  }, {e, b}})}})+({{η, ({{ ,  ,  ,  }, {a, e, c, d}})}}) ({{R, ({{ , d}, {b,  }})}}) ({{ξ, ({{b}, { }})}}) ({{ξ, ({{c}, { }})}})

Covariant derivative of the Ernst -form:

(Subscript[▽, a])({{σ, ({{ }, {b}})}})==({{ℱ, ({{ , c}, {b,  }})}}) ({{(OverBar[ℱ]), ({{ ,  }, {a, c}})}})+(1/4) ({{ℱ, ({{ ,  }, {c, d}})}}) ({{ℱ, ({{c, d}, { ,  }})}}) ({{g, ({{ ,  }, {a, b}})}})-({{R, ({{ ,  }, {a, b}})}}) λ+(1/3) ({{g, ({{ ,  }, {a, b}})}}) R λ-(1/3) R ({{ξ, ({{ }, {a}})}}) ({{ξ, ({{ }, {b}})}})+({{R, ({{ ,  }, {b, c}})}}) ({{ξ, ({{ }, {a}})}}) ({{ξ, ({{c}, { }})}})+({{R, ({{ ,  }, {a, c}})}}) ({{ξ, ({{ }, {b}})}}) ({{ξ, ({{c}, { }})}})-({{g, ({{ ,  }, {a, b}})}}) ({{R, ({{ ,  }, {c, d}})}}) ({{ξ, ({{c}, { }})}}) ({{ξ, ({{d}, { }})}})-i ({{η, ({{ ,  ,  ,  }, {a, b, d, e}})}}) ({{R, ({{ , e}, {c,  }})}}) ({{ξ, ({{c}, { }})}}) ({{ξ, ({{d}, { }})}})-2 ({{𝒲, ({{ ,  ,  ,  }, {a, c, b, d}})}}) ({{ξ, ({{c}, { }})}}) ({{ξ, ({{d}, { }})}}).

Exterior derivative of the Ernst 1-form: (Subscript[▽, a])({{σ, ({{ }, {b}})}})-(Subscript[▽, b])({{σ, ({{ }, {a}})}})==-2 i ({{η, ({{ ,  ,  ,  }, {a, b, d, e}})}}) ({{R, ({{ , e}, {c,  }})}}) ({{ξ, ({{c}, { }})}}) ({{ξ, ({{d}, { }})}}).

Norm of the Ernst 1-form: ({{σ, ({{ }, {a}})}}) ({{σ, ({{a}, { }})}})= λ({{ℱ, ({{ ,  }, {a, b}})}}) ({{ℱ, ({{a, b}, { ,  }})}}).

In vacuum (with cosmological constant) the Ernst 1-form is locally exact and one can define the Ernst potential: σ=E+λ+2 i ω, where ω is given by  (Subscript[▽, a])ω=({{(SuperStar[F]), ({{ ,  }, {a, b}})}}) ({{ξ, ({{b}, { }})}})  and E is a complex constant.

Initialization

<<xAct`xTensor`

Preliminary code:

<<xAct`ExpressionManipulation`

$PrePrint=ScreenDollarIndices;

$DefInfoQ=False;

<<xAct`ShowTime1`

$ShowTimeThreshold=1

SetOptions[ContractMetric,AllowUpperDerivatives->True]

We define a command used to apply rules

ApplyRule[expr_]:=MakeRule[Evaluate[List@@expr],MetricOn->All,ContractMetrics->True]

ApplyRuleN[expr_]:=MakeRule[Evaluate[List@@expr]]

We define a command used to store the equations we obtain:

$Equations={};

SetAttributes[AddEquation,HoldAll]
AddEquation[expr_Symbol]:=AppendTo[$Equations,Hold[expr]]

We define the 4-dimensional spacetime manifold

DefManifold[M4,4,{a,b,c,d,e,f,p,q,r,m,l,h,j,n,s}]

We define the spacetime metric

DefMetric[-1,g[-a,-b],CD,{";","▽"},PrintAs->"g"]

We set the output print strings for some tensors

{PrintAs[epsilong]^="η",PrintAs[RiemannCD]^="R",PrintAs[WeylCD]^="W",
PrintAs[RicciCD]^="R",PrintAs[RicciScalarCD]^="R",PrintAs[EinsteinCD]^="G"};

Definition of a Killing vector

$DefInfoQ=True;

We define now a vector field which will represent a (timelike) Killing vector:

DefTensor[ξ[-a],M4]

The Killing condition:

LieD[ξ[a]]@g[-b,-c]==0

LieDToCovD[%,CD]

ContractMetric@%

KillingCondition=%;

AddEquation@KillingCondition;

We define a scalar field representing the Killing vector norm (Subscript[ξ, a]^( )) (Subscript[ξ,  ]^a):

DefTensor[λ[],M4]

Automatic replacement for the Killing vector norm. We use AutomaticRules for that:

?AutomaticRules

AutomaticRules[ξ,MakeRule[{ξ[a]ξ[-a],λ[]},MetricOn->All,ContractMetrics->True]]

UpValues@ξ

Covariant derivative of the Killing norm

CD[-b]@λ[]==CD[-b]@ξ[a]ξ[-a]+ξ[a]CD[-b]@ξ[-a]

ToCanonical/@%

CDλ=%

AddEquation@CDλ;

Alternative form:

Times[#,1/2]&/@CDλ

Reverse@%

XiCDXi=%

AddEquation@XiCDXi;

The Killing norm is invariant under the Killing vector:

LieD[ξ[s]]@λ[]==0

AutomaticRules[λ,ApplyRule@%]

Since (Subscript[ξ, a]^( )) is a Killing vector, the tensor (Subscript[▽, b])(Subscript[ξ, a]^( )) must be antisymmetric (Killing 2-form). We introduce a new tensor representing it

The Killing 2-form and its dual

DefTensor[F[-a,-b],M4,Antisymmetric[{-a,-b}]]

We also need to introduce a tensor representing the dual of the Killing 2-form:

DefTensor[FD[-a,-b],M4,Antisymmetric[{-a,-b}],PrintAs->"(SuperStar[F])"]

By definition

CD[-b]@ξ[-a]==F[-b,-a]

CDXi=%

AddEquation@CDXi;

Reverse@CDXi

FToCDXi=%

AddEquation@FToCDXi;

We compute the inner contraction of the Killing 2-form with the Killing vector

Times[#,ξ[a]]&/@FToCDXi

%/.ApplyRule@XiCDXi

FToLambda=%

AddEquation@FToLambda;

Dual of the Killing 2-form:

FD[-a,-b]==1/2epsilong[-a,-b,-p,-q]F[p,q]

FDToF=%

AddEquation@FDToF;

Times[#,epsilong[-c,-d,a,b]]&/@FDToF

ToCanonical/@(ContractMetric/@%)

Solve[%,F[-c,-d]]//Flatten

%[[1]]/.Rule->Equal

FToFD=%

AddEquation@FToFD;

Dimensionally dependent identities fulfilled by the Killing 2-form (Subscript[F, cd]^(  )) and its dual

We need to derive a number of dimensionally independent identities for the Killing 2-form and its dual. These identities hold for any 2-form:

	({{F, ({{ ,  }, {a, d}})}}) ({{F, ({{ ,  }, {b, c}})}})==(1/4) (4 ({{F, ({{ ,  }, {a, c}})}}) ({{F, ({{ ,  }, {b, d}})}})-4 ({{F, ({{ ,  }, {a, b}})}}) ({{F, ({{ ,  }, {c, d}})}})-({{η, ({{ ,  ,  ,  }, {a, b, c, d}})}}) ({{F, ({{e, f}, { ,  }})}}) ({{(SuperStar[F]), ({{ ,  }, {e, f}})}}))
	({{F, ({{ ,  }, {b, d}})}}) ({{(SuperStar[F]), ({{ ,  }, {a, c}})}})==(1/2) (-({{η, ({{ ,  ,  ,  }, {a, b, c, d}})}}) ({{F, ({{ ,  }, {e, f}})}}) ({{F, ({{e, f}, { ,  }})}})+2 ({{F, ({{ ,  }, {c, d}})}}) ({{(SuperStar[F]), ({{ ,  }, {a, b}})}})+2 ({{F, ({{ ,  }, {b, c}})}}) ({{(SuperStar[F]), ({{ ,  }, {a, d}})}})+2 ({{F, ({{ ,  }, {a, d}})}}) ({{(SuperStar[F]), ({{ ,  }, {b, c}})}})-2 ({{F, ({{ ,  }, {a, c}})}}) ({{(SuperStar[F]), ({{ ,  }, {b, d}})}})+2 ({{F, ({{ ,  }, {a, b}})}}) ({{(SuperStar[F]), ({{ ,  }, {c, d}})}}))
	({{F, ({{ , b}, {a,  }})}}) ({{F, ({{ ,  }, {c, b}})}})==(1/2) (2 ({{(SuperStar[F]), ({{ , b}, {a,  }})}}) ({{(SuperStar[F]), ({{ ,  }, {c, b}})}})+({{F, ({{ ,  }, {b, l}})}}) ({{F, ({{b, l}, { ,  }})}}) ({{g, ({{ ,  }, {a, c}})}}))

Start by defining a complex scalar (the reason of it being complex is that it will be reused later on):

DefTensor[Cte[],M4,Dagger->Complex,PrintAs->"K"]

The antisymmetrization in a number of indices equal to the dimension is proportional to the volume element:

ToCanonical@Antisymmetrize[F[-a,-b]F[-c,-d],{-a,-b,-c,-d}]==Cte[]epsilong[-a,-b,-c,-d]

Times[#,epsilong[a,b,c,d]]&/@%

ToCanonical/@%

ScreenDollarIndices/@%

Controlled application of a rule at a specific position:

MapAt[ReplaceAll[#,ApplyRule@FToFD]&,%,Position[%,F[c,d]]]

ToCanonical/@(ContractMetric/@%)

IndexSolve[%,Cte[]]

The proportionality factor is now fixed. The identity that we need is:

(ToCanonical@Antisymmetrize[F[-a,-b]F[-c,-d],{-a,-b,-c,-d}]==Cte[]epsilong[-a,-b,-c,-d])/.%

Times[#,3]&/@%

ToCanonical/@%

We isolate one of the factors:

MapAt[Hold,%,Position[%,F[-a,-d]F[-b,-c]]]

Solve[%,Hold[F[-a,-d]F[-b,-c]]]//Flatten//ReleaseHold

%[[1]]/.Rule->Equal

F2ToF=%

AddEquation@F2ToF;

We compute another dimensionally dependent identity involving the product ({{F, ({{ ,  }, {b, d}})}}) ({{(SuperStar[F]), ({{ ,  }, {a, c}})}})

ToCanonical@Antisymmetrize[F[-a,-b]FD[-c,-d],{-a,-b,-c,-d}]==Cte[]epsilong[-a,-b,-c,-d]

Times[#,epsilong[a,b,c,d]]&/@%

ToCanonical/@%

ScreenDollarIndices/@%

MapAt[ReplaceAll[#,ApplyRule@FDToF]&,%,Position[%,FD[c,d]]]

ToCanonical/@(ContractMetric/@%)

IndexSolve[%,Cte[]]

(ToCanonical@Antisymmetrize[F[-a,-b]FD[-c,-d],{-a,-b,-c,-d}]==Cte[]epsilong[-a,-b,-c,-d])/.%

Times[#,6]&/@%

ToCanonical/@%

MapAt[Hold,%,Position[%,-F[-b,-d]FD[-a,-c]]]

Solve[%,Union@Cases[%,_Hold,Infinity]]//Flatten//ReleaseHold

Times[#,-1]&/@First@%

%/.Rule->Equal

FFDToF=%

AddEquation@FFDToF;

Dimensionally dependent identity involving ({{F, ({{ , b}, {a,  }})}}) ({{F, ({{ ,  }, {c, b}})}}). We switch off one of the messages of ToCanonical because we are going to canonicalize expressions with Hold:

ToCanonical::noident

Off[ToCanonical::noident]

F[-a,-b]F[b,-c]-1/4epsilong[-a,-b,p,q]F[-p,-q]epsilong[b,-c,-m,-l]F[m,l]==F[-a,-b]F[b,-c]-1/4Hold[epsilong[-a,-b,p,q]F[-p,-q]]epsilong[b,-c,-m,-l]F[m,l]

ToCanonical/@%

ScreenDollarIndices/@%

%/.epsilong[b,-c,-l,-m]F[l,m]->(epsilong[b,-c,-l,-m]F[l,m]/.ApplyRule@FToFD)

%/.epsilong[-a,-b,p,q]F[-p,-q]->(epsilong[-a,-b,p,q]F[-p,-q]/.ApplyRule@FToFD)

%//ReleaseHold

ToCanonical/@(ContractMetric/@%)

ScreenDollarIndices/@%

%/.F[-a,b]F[-c,-b]->Hold[F[-a,b]F[-c,-b]]

Solve[%,Hold[F[-a,b]F[-c,-b]]]//Flatten//ReleaseHold

%[[1]]/.Rule->Equal

F2ToF2D=%

AddEquation@F2ToF2D;

Recover back the messages of ToCanonical:

On[ToCanonical::noident]

Differential properties of the Killing vector and the Killing 2-form

We derive next some interesting mathematical properties.  Start with

LieD[ξ[s]]@g[-a,-b]==0

LieDToCovD[#,CD]&/@%

ContractMetric/@%

CD[-c]/@%

ReplaceIndex[Evaluate@#,{-a->-b,-b->-c,-c->-a}]&/@%

ReplaceIndex[Evaluate@#,{-a->-b,-b->-c,-c->-a}]&/@%

%%%[[1]]-%%[[1]]-%[[1]]==%%%[[2]]-%%[[2]]-%[[2]]

%//SortCovDs

ToCanonical/@%

Solve[%,CD[-b]@CD[-a]@ξ[-c]]//Flatten

%[[1]]/.Rule->Equal

ScreenDollarIndices/@%

We use here first Bianchi identity

MapAt[ReplaceAll[#,RiemannCD[-a_,-b_,-c_,-d_]↦-RiemannCD[-b,-c,-a,-d]-RiemannCD[-c,-a,-b,-d]]&,%,Position[%,RiemannCD[-a,-d,-b,-c]]]

ToCanonical/@%

CD2Xi=%

AddEquation@CD2Xi;

CD2Xi/.ApplyRule@CDXi

CovDivF=%

AddEquation@CovDivF;

CD[-c]/@FDToF

%/.ApplyRule@CovDivF

ToCanonical@%

CovDivFD=%;

AddEquation@CovDivFD;

CovDivF//RiemannToWeyl

Times[#,-1]&/@%

Expand/@%

ScreenDollarIndices/@%

%/.WeylCD[-a,-c,-b,-d]ξ[d]->Hold[WeylCD[-a,-c,-b,-d]ξ[d]]

Solve[%,Hold[WeylCD[-a,-c,-b,-d]ξ[d]]]//Flatten//ReleaseHold

Equal@@First@%

WeylKillingToCDF=%;

AddEquation@WeylKillingToCDF;

We also obtain the properties

CD2Xi

%/.-b->a

BoxXi=%;

AddEquation@BoxXi;

CovDivF

CD[b]/@%

%/.ApplyRule@CDXi

BoxF=%

AddEquation@BoxF;

Self dual part of (Subscript[F, ab]^(  ))

We also need to introduce the self-dual part of (Subscript[F, ab]^(  )). This is a tensor in the complexification of the tangent bundle:

DefTensor[FS[-a,-b],M4,Antisymmetric[{-a,-b}],Dagger->Complex,PrintAs->"ℱ"]

PrintAs[FS†]^="(OverBar[ℱ])";

By definition

FS[-a,-b]==F[-a,-b]+1/2I epsilong[-a,-b,c,d]F[-c,-d]

FSToF=%

AddEquation@FSToF;

Solve[FSToF,F[-a,-b]]//Flatten

%[[1]]/.Rule->Equal

FToFS=%

AddEquation@FToFS;

FSToF†=(Dagger/@FSToF)

AddEquation@FSToF†;

It is interesting to write (Subscript[ℱ, ab]^(  )), (Subscript[(OverBar[ℱ]), ab]^(  )) in terms of (Subscript[F, ab]^(  )), (Subscript[(SuperStar[F]), ab]^(  ))

{FSToF,Dagger/@FSToF}

MapAt[ReplaceAll[#,ApplyRuleN@FToFD]&,%,Position[%,I/2epsilong[a__]F[b__]]]

MapAt[ReplaceAll[#,ApplyRuleN@FToFD]&,%,Position[%,-I/2epsilong[a__]F[b__]]]

Map[ContractMetric,%,{2}]

Map[ToCanonical,%,{2}]

Solve[%,{F[-a,-b],FD[-a,-b]}]//Flatten

%/.Rule->Equal

FFDToFSFSD=%

AddEquation@FFDToFSFSD;

FToSelfDual=FFDToFSFSD[[1]];FToSelfDualD=FFDToFSFSD[[2]];

AddEquation@FToSelfDual;

AddEquation@FToSelfDualD;

We check that (Subscript[ℱ, ab]^(  )) is truly self dual:

FS[-a,-b]epsilong[a,b,-c,-d]==(FS[-a,-b]epsilong[a,b,-c,-d]/.ApplyRule@FSToF)

ToCanonical/@(ContractMetric/@%)

Times[#,1/(2I)]&/@%

Expand/@%

%/.ApplyRuleN@FToFS

ToCanonical/@%

Times[#,-2/I]&/@%

SelfDuality=%

AddEquation@SelfDuality;

The complex conjugate is

Dagger/@SelfDuality

SelfDuality†=%

AddEquation@SelfDuality†;

Solve[SelfDuality,FS[-c,-d]]//Flatten

%[[1]]/.Rule->Equal

FSToFS=%

Dagger/@%

FSToFS†=%

AddEquation@FSToFS;

AddEquation@FSToFS†;

Algebraic properties of (Subscript[ℱ, ab]^(  ))

The self-dual Killing 2-form has a number of algebraic properties which hold for any self-dual Killing form:

({{ℱ, ({{ , b}, {a,  }})}}) ({{ℱ, ({{ ,  }, {c, b}})}})==(1/4) ({{ℱ, ({{ ,  }, {b, p}})}}) ({{ℱ, ({{b, p}, { ,  }})}}) ({{g, ({{ ,  }, {a, c}})}})

({{ℱ, ({{ , b}, {c,  }})}}) ({{(OverBar[ℱ]), ({{ ,  }, {a, b}})}})-({{ℱ, ({{ , b}, {a,  }})}}) ({{(OverBar[ℱ]), ({{ ,  }, {c, b}})}})==0

({{η, ({{ ,  ,  ,  }, {p, q, b, c}})}}) ({{ℱ, ({{a, b}, { ,  }})}}) ({{(OverBar[ℱ]), ({{ , c}, {a,  }})}})==0

An interesting algebraic property is given by

FS[-a,-b]FS[b,-c]-1/4epsilong[-a,-b,p,q]FS[-p,-q]epsilong[b,-c,-m,-l]FS[m,l]==FS[-a,-b]FS[b,-c]-1/4Hold[epsilong[-a,-b,p,q]FS[-p,-q]]epsilong[b,-c,-m,-l]FS[m,l]

%//.ApplyRule@SelfDuality

%//ReleaseHold

ToCanonical/@(ContractMetric/@%)

%[[2]]==%[[1]]

Times[#,-1/2]&/@%

FS2=%

AddEquation@FS2;

Dagger/@FS2

FS2†=%

AddEquation@FS2†;

An interesting algebraic property is given by

FS[-a,-b]FS†[b,-c]-1/4epsilong[-a,-b,p,q]FS[-p,-q]epsilong[b,-c,-m,-l]FS†[m,l]==FS[-a,-b]FS†[b,-c]-1/4Hold[epsilong[-a,-b,p,q]FS[-p,-q]]epsilong[b,-c,-m,-l]FS†[m,l]

%//.ApplyRule@SelfDuality

%//.ApplyRule@SelfDuality†

%//ReleaseHold

ToCanonical/@(ContractMetric/@%)

%/.-c->a

ToCanonical/@(ContractMetric/@%)

Times[#,-1/2]&/@%

%%%%/.MakeRule[Evaluate[List@@%],MetricOn->All,ContractMetrics->True]

SelfDualSelfDual†=%;

AddEquation@SelfDualSelfDual†;

SelfDualSelfDual†/.FS[-c,b]*FS†[-a,-b]->Hold[FS[-c,b]*FS†[-a,-b]]

Solve[%,Hold[FS[-c,b]*FS†[-a,-b]]]//Flatten//ReleaseHold

Equal@@First@%

FSelfDualFSelfDual†=%

AddEquation@FSelfDualFSelfDual†;

An interesting algebraic property is given next:

FS†[-a,-b]FS[b,-c]==(FS†[-a,-b]FS[b,-c]/.ApplyRule@FSToF†)

%[[1]]==(%[[2]]/.ApplyRule@FSToF)

ToCanonical/@(ContractMetric/@%)

Times[#,epsilong[-p,-q,a,c]]&/@%

ToCanonical/@(ContractMetric/@%)

FSquare=%

AddEquation@FSquare;

Another dimensionally dependent identity

ToCanonical[3Antisymmetrize[FS[-a,-d]FS[-b,-c],{-a,-d,-b,-c}]]==Cte[]epsilong[-a,-d,-b,-c]

Times[#,epsilong[a,d,b,c]]&/@%

ToCanonical/@%

%//.ApplyRule@SelfDuality

IndexSolve[%,Cte[]]//Flatten

Replace the constant:

(ToCanonical[3Antisymmetrize[FS[-a,-d]FS[-b,-c],{-a,-d,-b,-c}]]==Cte[]epsilong[-a,-d,-b,-c])/.%

MapAt[Hold,%,Position[%,FS[-a,-d]FS[-b,-c]]]

Solve[%,Union@Cases[%,_Hold,Infinity]]//Flatten//ReleaseHold

Equal@@First@%

FSFS=%;

AddEquation@FSFS;

Self dual Weyl tensor

We define next the (right) dual of the Weyl tensor:

DefTensor[WeylD01[-a,-b,-c,-d],M4,GenSet[-Cycles[{-a,-b}],-Cycles[{-c,-d}],Cycles[{-a,-c},{-b,-d}]],PrintAs->"(SuperStar[W])"]

This tensor is completely traceless

AutomaticRules[WeylD01,MakeRule[{WeylD01[a,-b,-a,-d],0},MetricOn->All,ContractMetrics->True]]

We have the relation

WeylD01[-a,-b,-c,-d]==1/2epsilong[-c,-d,p,q]WeylCD[-a,-b,-p,-q]

WeylDualToWeyl=%;

AddEquation@WeylDualToWeyl;

Times[#,2]&/@WeylDualToWeyl

%[[2]]==%[[1]]

EpsilonWeylToWeylDual=%

AddEquation@EpsilonWeylToWeylDual;

Weyl tensor double dual:

WeylDualToWeyl

Times[#,1/2epsilong[-f,-e,c,d]]&/@%

ToCanonical/@%

Times[#,-2]&/@%

WeylDoubleDual=%

AddEquation@WeylDoubleDual;

We need now to define a tensor representing the self-dual part of Weyl tensor

DefTensor[WeylS[-a,-b,-c,-d],M4,GenSet[-Cycles[{-a,-b}],-Cycles[{-c,-d}],Cycles[{-a,-c},{-b,-d}]],Dagger->Complex,PrintAs->"𝒲"]

PrintAs[WeylS†]^="(OverBar[𝒲])";

The explicit definition of self-dual part of Weyl tensor is:

WeylS[-a,-b,-c,-d]==(WeylCD[-a,-b,-c,-d]+I WeylD01[-a,-b,-c,-d])

WeylSDualToWeyl=%

AddEquation@WeylSDualToWeyl;

Dagger/@WeylSDualToWeyl

WeylSDualToWeyl†=%

AddEquation@WeylSDualToWeyl†;

Basic properties of the self-dual Weyl tensor are given next

Solve[{WeylSDualToWeyl,WeylSDualToWeyl†},{WeylCD[-a,-b,-c,-d],WeylD01[-a,-b,-c,-d]}]//Flatten

%/.Rule->Equal

WeylToWeylS=%

AddEquation@WeylToWeylS;

WeylSDualToWeyl

Times[#,epsilong[-f,-e,c,d]]&/@%

%/.ApplyRule@WeylDualToWeyl

ToCanonical/@(ContractMetric/@%)

%/.ApplyRule@EpsilonWeylToWeylDual

%/.ApplyRule@WeylToWeylS[[1]]/.ApplyRule@WeylToWeylS[[2]]

ToCanonical/@%

From here we deduce that (Subscript[𝒲, abef]^(    )) is truly self-dual:

Times[#,-1]&/@%

SelfDualWeylProperty=%

AddEquation@SelfDualWeylProperty;

Dagger/@SelfDualWeylProperty

SelfDualWeylProperty†=%

AddEquation@SelfDualWeylProperty†;

The trace of (Subscript[𝒲, abef]^(    )) is:

WeylSDualToWeyl/.-a->c

The traces of the self dual part of Weyl tensor are all zero. We declare this as an automatic rule:

AutomaticRules[WeylS,MakeRule[{WeylS[c,-b,-c,-d],0},MetricOn->All,ContractMetrics->True]]

AutomaticRules[WeylS†,MakeRule[{WeylS†[c,-b,-c,-d],0},MetricOn->All,ContractMetrics->True]]

The self-dual Weyl tensor fulfills the cyclic property

YoungProjectorWeylS1=MakeRule[{WeylS[-a,-b,-c,-d],(2*WeylS[-a,-b,-c,-d])/3+WeylS[-a,-c,-b,-d]/3-WeylS[-a,-d,-b,-c]/3},MetricOn->All,ContractMetrics->True]

YoungProjectorWeylS†=MakeRule[{WeylS†[-a,-b,-c,-d],(2*WeylS†[-a,-b,-c,-d])/3+WeylS†[-a,-c,-b,-d]/3-WeylS†[-a,-d,-b,-c]/3},MetricOn->All,ContractMetrics->True]

Covariant derivative of the Self dual part of (Subscript[F, ab]^(  ))

Start from the definition of ({{ℱ, ({{ ,  }, {a, b}})}}) and compute its covariant derivative:

FSToF

CD[-f]/@%

%/.ApplyRuleN@CovDivF

%//RiemannToWeyl

ToCanonical@ContractMetric@%

%/.ApplyRule@WeylToWeylS[[1]]/.ApplyRule@WeylToWeylS[[2]]

ToCanonical/@%

%/.ApplyRule@SelfDualWeylProperty

%/.ApplyRule@SelfDualWeylProperty†

ToCanonical/@%

CDFS=%

AddEquation@CDFS;

Dagger/@CDFS

CDFS†=%

AddEquation@CDFS†;

ScreenDollarIndices/@CDFS

%/.WeylS[-a,-b,-f,-c]ξ[c]->Hold[WeylS[-a,-b,-f,-c]ξ[c]]

Solve[%,Hold[WeylS[-a,-b,-f,-c]ξ[c]]]//Flatten//ReleaseHold

Equal@@First@%

FSCD=%

AddEquation@FSCD;

Dagger/@FSCD

FSCD†=%

AddEquation@FSCD†;

Ernst 1-form

We introduce the Ernst 1-form:

DefTensor[σ[-a],M4,Dagger->Complex]

PrintAs[σ†]^="(OverBar[σ])";

The Ernst 1-form is defined by

ξ[b]FS[-a,-b]==1/2σ[-a]

FSToErnst=%

FSToErnst†=Dagger/@FSToErnst

AddEquation@FSToErnst;

AddEquation@FSToErnst†;

Solve[FSToErnst,σ[-a]]//Flatten

Equal@@First@%

ErnstForm=%

ErnstForm†=Dagger/@ErnstForm

AddEquation@ErnstForm;

AddEquation@ErnstForm†;

Computation of the Ernst form real and imaginary parts:

ErnstForm

%/.ApplyRule@FSToF

ToCanonical/@%

%/.ApplyRule@FToLambda

%/.ApplyRule@FToCDXi

ToCanonical/@%

ExpandErnst=%

AddEquation@ExpandErnst;

Straightforward properties of the Ernst 1-form are

ErnstForm

Times[#,ξ[a]]&/@%

ToCanonical/@%

Declare this property as an automatic rule:

AutomaticRules[σ,MakeRule[Evaluate[List@@%],MetricOn->All,ContractMetrics->True]];

Its complex conjugate:

ξ[a]Dagger[σ[-a]]==0

AutomaticRules[σ†,MakeRule[Evaluate[List@@%],MetricOn->All,ContractMetrics->True]];

σ[a]FS[-a,-b]==(σ[a]FS[-a,-b]/.ApplyRule@ErnstForm)

%/.ApplyRule@FS2

ToCanonical/@(ContractMetric/@%)

Times[#,-1]&/@%

FSErnst1=%

Dagger/@%

FSErnst1†=%;

AddEquation@FSErnst1;

AddEquation@FSErnst1†;

This is the expansion of the Ernst form into real and imaginary parts:

ExpandErnst/.ApplyRule@CDXi

The imaginary part is called the twist 1-form

DefTensor[Twist[-a],M4,PrintAs->"ω"]

Twist[-a]==epsilong[-a,-b,-c,-d]F[c,d]ξ[b]

TwistForm=%;

AddEquation@TwistForm;

ExpandErnst/.ApplyRule@CDXi/.ApplyRule@Reverse@TwistForm

ErnstFormToTwistNorm=%;

AddEquation@ErnstFormToTwistNorm;

Covariant derivative of the scalar λ in terms of Ernst 1-form

CDλ

%/.ApplyRule[CDXi]

%/.ApplyRule[FToSelfDual]

ToCanonical/@%

%/.ApplyRule[FSToErnst]

%/.ApplyRule[Dagger/@FSToErnst]

CDLambda=%

AddEquation@CDLambda;

Covariant derivative of the twist 1-form

TwistForm

CD[-e]/@%

%/.ApplyRule@CDXi/.ApplyRule@CovDivF

ToCanonical@%

%/.ApplyRule@Reverse[Times[#,2]&/@FDToF]

%//RiemannToWeyl

ToCanonical@ContractMetric@%

%/.ApplyRule@EpsilonWeylToWeylDual

CDTwistForm=%;

AddEquation@CDTwistForm;

Antisymmetrize/@CDTwistForm

ToCanonical@%

DiffTwistForm=%;

AddEquation@DiffTwistForm;

Covariant derivative of the Ernst 1-form

CD[-a]@σ[-b]==(CD[-a]@σ[-b]/.ApplyRule[ErnstForm])

%/.ApplyRule[CDXi]

%/.ApplyRule[FToSelfDual]

ToCanonical/@%

%/.ApplyRule[FS2]

%/.ApplyRule@CDFS

ToCanonical@ContractMetric@%

CDErnst1=%

AddEquation@CDErnst1;

CDErnst1†=Dagger/@CDErnst1

AddEquation@CDErnst1†;

We compute now the exterior derivative of the Ernst 1-form:

Antisymmetrize[#,{-a,-b}]&/@CDErnst1;

ToCanonical@%

ScreenDollarIndices@%

%/.FS[-b,c]*FS†[-a,-c]->(FS[-b,c]*FS†[-a,-c]/.ApplyRule@FSelfDualFSelfDual†)

Times[#,2]&/@%

Expand/@%

DiffErnst1=%;

AddEquation@DiffErnst1;

Norm of the Ernst 1-form

The norm of the Ernst 1-form is given by

σ[-a]σ[a]==(σ[-a]σ[a]/.ApplyRule@ErnstForm)

%/.ApplyRule@FS2

ToCanonical/@(ContractMetric/@%)

Ernst1Norm=%;

AddEquation@Ernst1Norm;

σ[-a]σ†[a]==(σ[-a]σ†[a]/.ApplyRule@ErnstForm/.ApplyRule@ErnstForm†)

Ernst1Ernst1Norm=%;

The vacuum (Ricci flat) case

From this point on we shall work in vacuum:

RicciCD[a_,b_]:=0;RicciScalarCD[]:=0;

This entails the properties

AutomaticRules[WeylS,MakeRule[{CD[a]@WeylS[-a,-b,-c,-d],0},MetricOn->All,ContractMetrics->True]]

AutomaticRules[WeylS†,MakeRule[{CD[a]@WeylS†[-a,-b,-c,-d],0},MetricOn->All,ContractMetrics->True]]

In vacuum the Ernst 1-form is closed:

DiffErnst1

Solve[%,CD[-a]@σ[-b]]//Flatten

%[[1]]/.Rule->Equal

CDErnst=%

AddEquation@CDErnst;

We can therefore introduce the Ernst potential:

DefTensor[σE[],M4,Dagger->Complex,PrintAs->"σ"]

PrintAs[σE†]^="(OverBar[σ])";

The Ernst 1-form and the Ernst potential are related by:

CD[-a]@σE[]==σ[-a]

DErnst=%

AddEquation@DErnst;

Killing twist potential

This is the expansion of the Ernst form into real and imaginary parts:

ExpandErnst/.ApplyRule@CDXi

If the Ernst form is closed, then its imaginary part is also closed. This gives rise to the twist potential:

DefTensor[ωP[],M4,PrintAs->"ω"]

By definition:

CD[-a]@ωP[]==(epsilong[-a, -b, p, q]*F[-p, -q]*ξ[b])/2

%/.ApplyRule@Reverse[Times[#,2]&/@FDToF]

CDTwist=%;

AddEquation@CDTwist;

The Ernst potential is defined up to a complex constant:

DefConstantSymbol[EC,PrintAs->"E",Dagger->Complex]

PrintAs@EC†^="(OverBar[E])";

We find next the expression of the Ernst potential in terms of the Killing twist:

DErnst

%/.ApplyRule@ExpandErnst

%/.ApplyRule@CDXi

%/.ApplyRule@Reverse[Times[#,2]&/@FDToF]

%/.ApplyRule@Reverse@CDTwist

%/.CD[-a]->Identity

Add the integration constant:

%/.λ[]->EC+λ[]

ErnstToKillingNT=%;

AddEquation@ErnstToKillingNT;

The Mars-Simon tensor

The Mars-Simon (MS) tensor can be defined for any vacuum (Ricci flat) spacetime admitting a Killing vector.  Its explicit definition is: 

	(Subscript[𝒮, abcd])=(Subscript[𝒲, abcd])+(6/σ)((Subscript[ℱ, ab])(Subscript[ℱ, cd])-(1/3)(Subscript[ℱ, pq])(ℱ^pq)({{ℐ, ({{ ,  ,  ,  }, {a, b, c, d}})}})),

where

	(Subscript[ℐ, a b c d])=(1/4)(𝕚 (Subscript[η, a b c d])+(Subscript[Q, a b c d])), 	(metric in the space of the self-dual forms).
	(Subscript[Q, a b c d])=-(Subscript[g, ac])(Subscript[g, bd])+(Subscript[g, ab])(Subscript[g, cd]).
	
The relevance of the MS tensor is given by the following result:

Theorem (Mars): let (ℳ,(Subscript[g, ab])) be a 4-dimensional vacuum (Ricci flat) space-time admitting an stationary asymptotically flat end (Subscript[ℳ, ∞]) defined by a Killing vector (ξ^a) such that this Killing vector approaches the time translation at infinity and the Komar mass defined by (ξ^( a)) at (Subscript[ℳ, ∞]) is different from zero. Assume further that the Ernst potential exists globally and fix it in such a way that 

	σ->0 at (Subscript[ℳ, ∞]).

Define the MS tensor with respect to the Killing vector (ξ^( a)). Then the space-time is locally isometric to the Kerr solution if and only if (Subscript[𝒮, abcd])=0.

Theorem (Ionescu & Klainernman, 2009) The Mars-Simon is a Weyl candidate and it fulfills the equation:

	(Subscript[∇, a])(Subscript[((Subscript[𝒮, b])^a), cd])=(Subscript[𝒥, bcd]),

where
	
	(Subscript[𝒥, bcd])=((-(ξ^( a)))/σ)(2((Subscript[ℱ, d])^p)(Subscript[𝒮, bcap])-2((Subscript[ℱ, c])^p)(Subscript[𝒮, bdap])+(ℱ^pq)(Subscript[g, bd])(Subscript[𝒮, capq])-4((Subscript[ℱ, b])^p)(Subscript[𝒮, cdap])-(ℱ^pq)(Subscript[g, bc])(Subscript[𝒮, dapq])).
	
https://link.springer.com/article/10.1007%2 Fs00222-008-0146-6

Theorem (Ionescu & Klainernman, 2009): define the domain of outer communication E of a stationary black hole and let (Subscript[S, 0]) be the the bifurcation sphere. Use the stationary Killing vector to compute (Subscript[ℱ, ab]) and σ. If 
	
	-4(M^2)(ℱ^2)=(((1-σ))^4) on (Subscript[S, 0]),
	Re((((1-σ))^(-1)))>1/2 at some point on (Subscript[S, 0]),

then E  is the domain of outer communication of a Kerr black hole with mass M and angular momentum a<M.
https://link.springer.com/article/10.1007%2 Fs00222-008-0146-6

Theorem (Alexakis, Ionescu, Klainerman, 2010): define the domain of outer communication E of a stationary black hole and let Σ⊂(OverBar[E]) be a partial Cauchy hypersurface. Define the MS tensor as before. If on Σ one has that

	|(1-σ)𝒮((Overscript[ξ, ⥛]),(Subscript[(Overscript[e, ⥛]), α]),(Subscript[(Overscript[e, ⥛]), β]),(Subscript[(Overscript[e, ⥛]), γ]))|≤ϵ,  {(Subscript[(Overscript[e, ⥛]), 0]),(Subscript[(Overscript[e, ⥛]), 1]),(Subscript[(Overscript[e, ⥛]), 2]),(Subscript[(Overscript[e, ⥛]), 3])}  orthonormal set defined on Σ

for some ϵ>0, then E is the domain of outer communication of a non-extremal Kerr black hole.
https://link.springer.com/article/10.1007/s00220-010-1072-1

Metric in the space of self-dual 2-forms

The set of 2-forms is a vector space which can be endowed with  a metric. We define the metric in the space of 2-forms (this will be later used to introduce the Mars-Simon tensor). The metric is a double 2-form :

DefTensor[Ql[-a,-b,-c,-d],M4,GenSet[-Cycles[{-a,-b}],-Cycles[{-c,-d}],Cycles[{-a,-c},{-b,-d}]],PrintAs->"Q"]

The explicit expression of (Subscript[Q, adbc]^(    )) is:

Ql[-a,-d,-b,-c]==g[-a,-b]g[-c,-d]-g[-a,-c]g[-b,-d]

QlToMetric=%;

AddEquation@QlToMetric;

Alternative form of this equation:

Ql[-a,-d,-b,-c]==Hold[g[-a,-b]g[-c,-d]]-g[-a,-c]g[-b,-d]

Solve[%,Hold[g[-a,-b]g[-c,-d]]]//Flatten//ReleaseHold

%[[1]]/.Rule->Equal

MetricToQl=%

AddEquation@MetricToQl;

Likewise the set of self-dual 2-forms is a vector space and it can be also endowed with a metric. The metric is a self-dual double 2-form constructed from (Subscript[Q, abcd]^(    )) :

DefTensor[GS[-a,-b,-c,-d],M4,GenSet[-Cycles[{-a,-b}],-Cycles[{-c,-d}],Cycles[{-a,-c},{-b,-d}]],Dagger->Complex,PrintAs->"ℐ"]

PrintAs[GS†]^="(OverBar[ℐ])";

The explicit definition of this tensor is

GS[-a,-b,-c,-d]==1/4(Ql[-a,-b,-c,-d]+I epsilong[-a,-b,-c,-d])

GSToQl=%;

AddEquation@GSToQl;

We also need an alternative form of this equation:

Solve[GSToQl,Ql[-a,-b,-c,-d]]//Flatten

%[[1]]/.Rule->Equal

QlToGS=%

AddEquation@QlToGS;

Yet another alternative form:

MetricToQl1=(ReplaceIndex[Evaluate[MetricToQl[[1]]],{-d->-c,-c->-d}]==MetricToQl[[2]])

AddEquation@MetricToQl1;

We check that ({{ℐ, ({{ ,  ,  ,  }, {a, b, c, d}})}})  is self-dual in its antisymmetric indices:

GSToQl

Times[#,epsilong[-l,-f,c,d]]&/@%

%/.ApplyRuleN@QlToMetric

ToCanonical/@%

MapAt[ReplaceAll[#,ApplyRuleN@MetricToQl1]&,%,{2,-2}]

ToCanonical/@%

%/.ApplyRuleN@QlToGS

ToCanonical/@%

Times[#,-1]&/@%

SelfDualQ=%

Dagger/@%

SelfDualQ†=%

AddEquation@SelfDualQ;

AddEquation@SelfDualQ†;

We conclude from this expression that ({{ℐ, ({{ ,  ,  ,  }, {a, b, f, l}})}})  is self dual (or anti-self dual depending on the chosen nomenclature). The only nonvanishing trace of ({{ℐ, ({{ ,  ,  ,  }, {a, b, f, l}})}}) is:

GSToQl/.-a->c

%/.ApplyRule@QlToMetric

ToCanonical/@%

Dagger/@%

We turn these results into an automatic rule

AutomaticRules[GS,ApplyRule@%%]

AutomaticRules[GS†,ApplyRule@%%]

Also, the covariant derivative of ({{ℐ, ({{ ,  ,  ,  }, {a, b, c, d}})}}) vanishes

AutomaticRules[GS,MakeRule[{CD[-f]@GS[-a,-b,-c,-d],0},MetricOn->All,ContractMetrics->True]]

AutomaticRules[GS†,MakeRule[{CD[-f]@GS†[-a,-b,-c,-d],0},MetricOn->All,ContractMetrics->True]]

Working with the Mars-Simon tensor

We define the Mars-Simon tensor:

DefTensor[S[-a,-b,-c,-d],M4,RiemannSymmetric[{-a,-b,-c,-d}],Dagger->Complex,PrintAs->"𝒮"]

PrintAs[S†]^="(OverBar[𝒮])";

For a spacetime with a Killing vector, the Mars-Simon tensor is given by

S[-a,-b,-c,-d]==WeylS[-a,-b,-c,-d]+6/(σE[])(FS[-a,-b]FS[-c,-d]-1/3FS[-p,-q]FS[p,q]GS[-a,-b,-c,-d])

MarsSimon=%

AddEquation@MarsSimon;

Solve[MarsSimon, WeylS[-a,-b,-c,-d]]//Flatten

%[[1]]/.Rule->Equal

WeylToMarsSimon=%

AddEquation@WeylToMarsSimon;

MapAt[Hold,MarsSimon,Position[MarsSimon,FS[-a,-b]FS[-c,-d]]]

Solve[%,Hold[FS[-a,-b]FS[-c,-d]]]//Flatten//ReleaseHold

%[[1]]/.Rule->Equal

FF2=%

AddEquation@FF2;

The Mars-Simon tensor is traceless

The only independent trace of Mars-Simon tensor is

MarsSimon/.-b->c

%/.ApplyRule@FS2

ToCanonical/@(ContractMetric/@%)

Times[#,-1]&/@%

From this expression we deduce that Mars-Simon tensor is traceless. We declare this property as an automatic rule

AutomaticRules[S,MakeRule[{S[-a,c,-d,-c],0},MetricOn->All,ContractMetrics->True]]

AutomaticRules[S†,MakeRule[{S†[-a,c,-d,-c],0},MetricOn->All,ContractMetrics->True]]

Multiterm symmetries of Mars-Simon tensor

Let us work out the following expression

ToCanonical@Antisymmetrize[3S[-a,-b,-c,-d],{-b,-c,-d}]

%/.ApplyRule@MarsSimon

ToCanonical@%

%/.ApplyRule@GSToQl

%/.ApplyRule@QlToMetric

ToCanonical@%

We need to use a dimensionally dependent identity

%/.Rule@@FSFS

ToCanonical@%

%/.YoungProjectorWeylS1

ToCanonical/@%

Therefore we define a Young Projector for the Mars-Simon tensor in order to handle its multiterm symmetries.

YoungProjectorMarsSimon=MakeRule[{S[-a,-b,-c,-d],(2*S[-a,-b,-c,-d])/3+S[-a,-c,-b,-d]/3-S[-a,-d,-b,-c]/3},MetricOn->All,ContractMetrics->True]

YoungProjectorMarsSimon†=MakeRule[{S†[-a,-b,-c,-d],(2*S†[-a,-b,-c,-d])/3+S†[-a,-c,-b,-d]/3-S†[-a,-d,-b,-c]/3},MetricOn->All,ContractMetrics->True]

Self duality of Mars-Simon tensor

MarsSimon

Times[#,epsilong[c,d,-f,-e]]&/@%

ToCanonical/@%

%/.ApplyRule@SelfDualWeylProperty

%/.ApplyRule@SelfDuality

%/.ApplyRule@SelfDualQ

Times[#,-1/2I]&/@%

Expand/@%

%/.ApplyRule@WeylToMarsSimon

Simplification/@%

Times[#,2/I]&/@%

We deduce that Mars-Simon tensor is self dual.

SelfDualMS=%

AddEquation@SelfDualMS;

Covariant divergence of Mars-Simon tensor

We compute next the covariant divergence of the Mars-Simon tensor:

MarsSimon/.-a->a

CD[-a]/@%

%/.ApplyRule@DErnst

%/.ApplyRule@CDFS

ToCanonical/@%

%/.ApplyRule[GSToQl]

%/.ApplyRule[QlToMetric]

ToCanonical/@(ContractMetric/@%)

%/.ApplyRule@WeylToMarsSimon

ToCanonical/@(ContractMetric/@%)

%/.ApplyRule@ErnstForm

ToCanonical/@%

%/.ApplyRule[GSToQl];

%/.ApplyRule[QlToMetric];

ToCanonical/@(ContractMetric/@%)

%/.ApplyRule@FS2

ToCanonical/@(ContractMetric/@%)

%/.epsilong[a__]FS[b__]:>(epsilong[a]FS[b]/.ApplyRule@FSToFS);

ToCanonical/@(ContractMetric/@%)

%/.ApplyRule@FS2

ToCanonical/@(ContractMetric/@%)

Simplification/@%

Times[#,-1]&/@%

CovDivMarsSimon=%

AddEquation@CovDivMarsSimon;

From this expression we read off the Weyl current associated to the Mars-Simon tensor

DefTensor[J[-a,-b,-c],M4,Antisymmetric[{-b,-c}],Dagger->Complex,PrintAs->"𝒥"]

PrintAs[J†]^="(OverBar[𝒥])";

J[-b,-c,-d]==Last@CovDivMarsSimon

WeylCurrentJ=%

WeylCurrentJ†=Dagger/@%

AddEquation@WeylCurrentJ;

AddEquation@WeylCurrentJ†;

Final form of the covariant divergence of the MS tensor:

CovDivMarsSimon/.Rule@@Reverse@WeylCurrentJ

CovDivMarsSimonWithWeylCurrent=%;

Exercises

Exercise 1

Prove through a direct computation that the Weyl current of the MS tensor is a Lanczos candidate:

({{𝒥, ({{ ,  ,  }, {b, c, d}})}})-({{𝒥, ({{ ,  ,  }, {c, b, d}})}})+({{𝒥, ({{ ,  ,  }, {d, b, c}})}})=0,  ({{𝒥, ({{a,  ,  }, { , d, a}})}})=0, ({{𝒥, ({{ ,  ,  }, {b, c, d}})}})+({{𝒥, ({{ ,  ,  }, {b, d, c}})}})=0

Answer

Symmetrize[Last@WeylCurrentJ,{-c,-d}]

ToCanonical@%

Antisymmetrize@Last@WeylCurrentJ;

ToCanonical@%

Last@WeylCurrentJ/.-b->c

ToCanonical@%

%/.YoungProjectorMarsSimon

ToCanonical@%