Example cases with Spinors included in
http://arxiv.org/abs/1110.2662v1

Alfonso García-Parrado Gómez-Lobo
alfonso@math.uminho.pt

José M. Martín-García
jose@xAct.es

(c) 2006-2014, under GPL

http://www.xAct.es/
http://groups.google.com/group/xAct

Session start and simple examples

We load Spinors.

<<xAct`Spinors`

We define the 4-dimensional manifold and the Lorentzian metric.

DefManifold[M4,4,{a,b,c,d,f,h,p}]

DefMetric[{1,3,0},g[-a,-b],CD]

We define the spin structure and its formatting options.

DefSpinStructure[g,Spin,{A,B,C,D,F,P},ϵ,σ,CDe,SpinorPrefix->SP,SpinorMark->"S"]

The spin structure defines automatically a number of objects as shown in the output messsages.  Some of these are the Weyl and the Ricci spinors.

{PsiCDe[-A,-B,-C,-D],PhiCDe[-A,-B,-C†,-D†]}

The spinor counterpart of the Ricci tensor gets also automatically defined.

SP⎵RicciCD[-A,-A†,-B,-B†]

We can modify the  output display of any quantity. For example we can select a displayed output for primed indices similar to that of textbooks.

{PrintAs[A†]^="A'",PrintAs@B†^="B'",PrintAs@C†^="C'",PrintAs@D†^="D'",PrintAs@F†^="F'"};

Something similar can be done with the complex conjugate of the spin metric.

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

We test now some of the built-in commands. For example let us compute the irreducible decomposition of the Riemann spinor.

SP⎵RiemannCD[-A,-A†,-B,-B†,-C,-C†,-D,-D†]//Decomposition

Handling of the 2-index spin covariant derivative.

CDe[-F,-F†]@PsiCDe[-A,-B,-C,-D]

%//SeparateSolderingForm[]

We define a hermitian spinor

DefSpinor[κ[-A,-A†],M4,Dagger->Hermitian]

We check the hermiticity of the new spinor

κ[-A,-A†]//Dagger

We start now with the canonicalisation examples.

DefSpinor[μ[A],M4]

First we check that Spinors observes the spinorial conventions for raising and lowering of spinor indices.

{μ[-B]ϵ[A,B],μ[B]ϵ[-B,-A],ϵ†[C†,A†]CDe[-A,-A†]@μ[-B]}

ContractMetric@%

Canonicalisation of assorted expressions.

{μ[A]μ[-A],κ[-A,-B†]μ†[B†],CDe[-F,-F†]@CDe[-A,F†]@PsiCDe[-B,-C,-D,-P]+CDe[-F,F†]@CDe[-A,-F†]@PsiCDe[-B,-C,-D,-P]}

ToCanonical@%

Working with spin covariant derivatives

CDe[-C,-C†]@CDe[-B,-B†]@κ[-A,-A†]-CDe[-B,-B†]@CDe[-C,-C†]@κ[-A,-A†]

SortSpinCovDs[%,CDe]

Expansion of the "Box operator".  The box operator can be expanded either in terms of covariant derivatives or in terms of curvature spinors.

BoxCDe[-A,-B]@κ[-C,-C†]

BoxToCovD[%,BoxCDe]

BoxToCurvature[%%,BoxCDe]

Now, we define a new spin covariant derivative with torsion.

DefSpinCovD[nb[-a],σ,SymbolOfCovD-> {"|","D"},Torsion->True]

The new spin covariant derivative is compatible with the spin structure, as it should.

nb[-a]@σ[b,-A,-A†]

The torsion spinors

SeparateSolderingForm[]@Torsionnb[a,-b,-c]

PutSolderingForm@Decomposition@%

ContractMetric@%

Interplay between single index and two index notation for spin covariant derivatives.

nb[-A,-A†]@μ[-C]

SeparateSolderingForm[]@%

Relations between spinors and tensors

We start with a simple example with the Riemann tensor

PutSolderingForm@RiemannCD[-a,-b,-c,-d]

ContractSolderingForm@%

The Riemann spinor can be transformed back into the Riemann tensor as follows

SeparateSolderingForm[σ]@%

PutSolderingForm@%

We study next further examples. First of all, we define a new tensor

DefTensor[M[-a,-b],M4]

SeparateSolderingForm[]@M[-a,-b]

As we see, the spinor ({{SM, ({{ ,   ,  ,   }, {A, A', B, B'}})}}) is automatically defined. It is possible to define this spinor "by hand"

DefSpinorOfTensor[SPM[-A,-A†,-B,-B†],M[-a,-b],σ,PrintAs->"ℳ"]

SeparateSolderingForm[]@M[-a,-b]

Manipulation of products of soldering forms

σ[a,-A,-A†]σ[b,-B,A†]//ContractSolderingForm

The tetra-metric and its explicit expansion

Tetrag[-a,-b,-c,-d]

%/.TetraRule@g

The quantity ({{Σσ, ({{a, b,  ,  }, { ,  , A, B}})}}) is the "square root" of the tetra-metric

Sigmaσ[-a,-b,-A,-B]Sigmaσ[-c,-d,A,B]

The tetra-metric appears naturally when transforming spinorial expressions into tensor ones.  As an example, consider the relation between the Weyl spinor and the Weyl tensor, encoded in the rule.

WSToWT=PsiCDe[A_,B_,C_,D_]↦-1/4WeylCD[-a,-b,-c,-d]σ[a,A,A†]σ[b,B,-A†]σ[c,C,C†]σ[d,D,-C†]

We compute next the tensor form of the following spinor expression

PsiCDe[-A,-B,-C,-D]PsiCDe[A,B,C,D]

%/.WSToWT

ContractSolderingForm[%,IndicesOf@Spin]

%/.TetraRule@g

ToCanonical@ContractMetric@%

Example: the Sparling equation

Preliminary definitions

We start by defining the spinors intervening in our problem.

DefSpinor[λ[-A],M4,PrintDaggerAs->"(OverBar[λ])"]

Nester-Witten spinor and its tensor counterpart:

DefSpinor[Ξ[-A,-A†,-B,-B†],M4,GenSet[-Cycles[{-A,-B},{-A†,-B†}]],PrintDaggerAs->"(OverBar[Ξ])"]

DefTensorOfSpinor[ℱ[-a,-b],Ξ[-A,-A†,-B,-B†],σ]

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

Null vector counterpart of λλ†

DefTensor[ξ[-a],M4]

We change the default formatting of the volume form

PrintAs@epsilong^="η";

The Nester-Witten spinor is given by

NesterWittenSpinor=Ξ[-A,-A†,-B,-B†]==1/2(-I λ†[-B†]CDe[-A,-A†]@λ[-B]+I λ†[-A†]CDe[-B,-B†]@λ[-A])

Short form for "IndexSolve".

IndSV[expr_Equal]:=IndexSolve[expr,First@expr];

We also define the shortcut canonicalization function:

TC[expr_]:=ToCanonical[ContractMetric[expr]]

and this function to multiply and canonicalize both sides of an equation:

EqualTimes[Equal[lhs_,rhs_],x_]:=Equal[TC[x lhs],TC[x rhs]]

Exterior derivative of ({{ℱ, ({{ ,  }, {a, b}})}})

We wish to compute the exterior derivative of ({{ℱ, ({{ ,  }, {a, b}})}}) (Sparling equation)

dℱ=CDe[-c]@ℱ[-a,-b]//Antisymmetrize//TC

(dℱ//SeparateSolderingForm[σ])/.IndSV[NesterWittenSpinor]

Some terms can be written in terms of the curvature spinors if we just use the Ricci identity.

SortSpinCovDs[%,CDe];

BoxToCurvature[%,BoxCDe];

We decompose the curvature spinors into irreducible parts.

dΞ=Decomposition[%,Chi,CDe]//TC;

We split this equation into two parts: terms containing derivatives of λ and terms not containing derivatives of λ

dΞ1=dΞ/.CDe[__]@λ[_]:>0;
dΞ2=dΞ-dΞ1;

Tensor part of the sparling equation (Einstein form)

We compute next the tensor form of this expression.

dΞ1/.WSToWT/.IndexRule[PhiCDe[-A_,-B_,-A†_,-B†_],-1/2TFRicciCD[-a,-b]σ[a,-A,-A†]σ[b,-B,-B†]];

%/.IndexRule[λ[B_]λ†[B†_],ξ[-a]σ[a,B,B†]]//TC;

dΞ1=ContractSolderingForm[%,IndicesOf@Spin]//TC;

Sparling  3 form

The products of derivatives of λ have a tensor counterpart wich we define next

DefTensor[𝒵[-a,-b,-c],M4]

PutSolderingForm@𝒵[-a,-b,-c]

𝒵rule=IndexRule[CDe[-B_,-C†_]@λ[-A_]CDe[-C_,-B†_]@λ†[-A†_],%]

dΞ2=ContractSolderingForm[dΞ2/.𝒵rule,IndicesOf@Spin]//TC

Final step

dℱ==dΞ1+dΞ2/.TetraRule@g//TC;

EqualTimes[%,epsilong[-p,a,b,c]]

EqualTimes[%,epsilong[p,-d,-h,-f]/2]

%//TFRicciToRicci//RicciToEinstein//Decomposition//TC