arXiv:1110.2662v2 [gr-qc] 7 May 2012 hmag L680 USA 61820, IL Champaign ftexc ytmfrteseicstaino pnrcalcul geometry. Lorentzian of dimensional situation four specific in the for system xAct the of method: Solution Relativity. General in expressions problem: of These Nature system. http: xAct at obtained the be of can part are which xTensor and xPerm xenlroutines External Classification: Keywords: used: processors of Number RAM: higher. or 7.0 Mathematica system: Operating Computer: language: Programming provisions: Licensing identifier: Catalogue Reference: Journal Title: Program Authors: Relativity. General in spinor Title: Manuscript SUMMARY GRAM rpitsbitdt optrPyisCommunications Computer to submitted Preprint -aladdress: E-mail The Abstract A S 42.q0.0-;04.20.Gz. 04.20.-q;02.40.-k; PACS: Keywords: use. of examples practical present o eea eaiiyi ieso 3 in Relativity General for Mathematica RGA SUMMARY PROGRAM 1 ∗ urn drs:WlrmRsac n. 0 rd etrDr Center Trade 100 Inc., Research Wolfram address: Current orsodn author. Corresponding Spinors b 4bi ahmtc 8.0. Mathematica in 94Mb aoaor nvr tT´ois bevtied ai,C Paris, de Th´eories, Observatoire et Univers Laboratoire .Gr´aPraoadJM Mart´ın-Garc´ıa. J.M. Garc´ıa-Parrado and A. eea eaiiy pnrcalculus. Spinor Relativity, General n optrrnigMteaia70o higher. or 7.0 Mathematica running computer Any ahmtc akg o on pnrcluu nGeneral in calculus spinor doing for package Mathematica a : c eea eaiiy pnrcluu;Tno nlss Ten analysis; calculus; Spinor Relativity; General otaei a is software ntttdAtohsqed ai,Ui.Per tMreCu Marie et Pierre Univ. Paris, de d’Astrophysique Institut [email protected] akgst otno nlssb optr nti ae eg we paper this In computer. by analysis tensor do to packages eaiiyadGravitation. and Relativity Spinors. / libraries: pnr:aMteaiapcaefrdoing for package Mathematica a Spinors: aiuainadsmlfiaino spinor of simplification and Manipulation dpaino h esrfunctionality tensor the of Adaptation n prtn ytmcmail with compatible system operating Any // www.xact.es. Mathematica. los Garc´ıa-Parrado G´omez-LoboAlfonso Mathematica 1. ahmtc akgsxCore, packages Mathematica a etod ae´tc,Uiesdd oMno 7007Bra 4710-057 Minho. do Matem´atica, Universidade de Centro / E ESO PRO- VERSION NEW + akg hc mlmns2cmoetsio aclsa de as calculus spinor 2-component implements which package .The 1. Spinors R,Ui.PrsDdrt lc ue ase,910Meudo 92190 Janssen, Jules place 5 Diderot, Paris Univ. NRS, us ., otaei ato the of part is software i,CR,9bsbueadAao 51 ai,France Paris, 75014 Arago, boulevard 98bis CNRS, rie, .Introduction 1. for required only CPC the are in published asterisk Library. previously Program an programs of with versions new marked Items * vice-versa). or one dozen tensor a into few expression transfo spinor a a the of in tion naturally with arise expressions expressions (These indices. spinorial standard icalize time: Running with expressions spinor integration of Seamless computations. manipulation component index back. abstract and of ones spinor into pressions features: Unusual spinors. oetinsaetmswt erco signature of metric with space-times (1 Lorentzian Restrictions: ogl paigasio safil hc transforms which field a a is under physics. spinor theoretical a and speaking Roughly mathematical of areas certain ru norsse.Freape fw r work- are of we metric a if ( with example, signature For pseudo-Riemannian a in system. ing our in group a, , h ocp of concept The ∗ − o´ .Mart´ın-Garc´ıa Jos´e M. , 1 , − o optralgebra; computer sor 1 , pnrrepresentation spinor − p ) hr sn ietspotfrDirac for support direct no is There 1). , q h otaeol ok n4-dimensional on works only software The v hruhdsrpinof description thorough a ive ( ) ne n eodt adeadcanon- and handle to second one Under p a Portugal ga, xAct ersnstenme of number the represents spinor ayrlst rnfr esrex- tensor transform to rules Easy ytm hc sacleto of collection a is which system, b,c,1 ly nipratrl in role important an plays fagvnsymmetry given a of ie yPenrose by vised Relativity ,France n, Spinors a ,2012 9, May + and 1 rma- and q the number of −1 entries in the canonical form of the Other computer algebra systems support compu- metric), then a natural symmetry group is the group tations with spinors. For example in the con- which transforms orthonormal frames into orthonormal text of Particle Physics we may quote the package frames. This group is O(p, q)(SO(p, q) if we restrict Spinors@Mathematica [3] which can be used in the ourselves to transformations preserving the frame ori- evaluation of scattering amplitudes at tree and loop entation). The spin group is then the universal cover- level. The stand-alone package Cadabra [4] handles ing of SO(p, q) which, as is well-known, is Spin(p, q) generic abstract spinor quantities in any dimension, with and hence spinors transform under irreducible represen- emphasis in Field Theory, but no special support for tations of this group. or component computations. The The above considerations are completely general and Maple built-in package DifferentialGeometry has exten- they enable us to introduce the notion of spinor field sive support for component computations of multiple in any pseudo-Riemannian manifold admitting a spin types, in particular the NP formalism, but no support structure. However, in the case of a 4-dimensional for abstract tensor computations. Another Maple pack- Lorentzian manifold (the space-time model in General age handling the NP formalism is NPSpinor [5]. Relativity) a more algebraic approach is desired. This The paper is organised as follows: in section 2 we approach was pioneered by Penrose [1] where he stu- give a mathematical introduction to spinor calculus. died the main properties of the spinor algebra of those The aim of this introduction is to set the notation and spinors arising from the spin group of SO(1, 3) and in conventions which are followed by the Spinors imple- addition he developed a calculus adapted to the parti- mentation. Section 3 explains how the Spinors software cular spin vector bundle which one can define in a 4- fits into the xAct framework and section 4 presents a dimensionalLorentzian manifold admitting a spin struc- practical session with Spinors in which the main fea- ture. Penrose’s spinor calculus revealed very useful in tures of the programare shown bymeans of practicalex- certain contexts of General Relativity (GR) where the amples. The paper is finished in section 5 where a prac- use of tensor methods results in very cumbersome com- tical computation involving the Nester-Witten spinor putations. Perhaps the best known example is the spinor and the Sparling identity is carried out with Spinors. formulation of the algebraic classification of the (Petrov classification). The spinor form of the 2. Mathematical preliminaries Weyl tensor is a totally symmetric 4-rank spinor and it is very easy to show that such a spinor can only admit In this section we give an overview of the spinor cal- four different algebraic types which are in correspon- culus in General Relativity, following a practical ap- dence with the four distinct Petrov types. proach to introduce the subject and omitting most of the In this article we describe the Mathematica package proofs (detailed studies can be found in e.g. [6, 7]). Let Spinors which implements the spinor calculus in four L be a 4-dimensional real endowed with dimensional Lorentzian geometry as conceived by Pen- a real scalar product g( , ) of Lorentzian signature and rose. In this conception, spinors are tensor fields on a let S be a 2-dimensional complex vector space (com- certain tensor bundle and therefore one can use the gen- plex conjugateof scalars will be denoted by an overbar). eral ideas of tensor bundlesto work with spinors. In par- The vector space S is related to another complex vector ticular the notion of spin , the curva- space S by an anti-linear, involutive transformation. ture spinors or the relation between spinors and space- The vector space L and its dual L∗ can be used as the time find here a natural formulation. An impor- starting point to build a in the standard tant part of this formulation is the notion of abstract in- fashion. Similarly a tensor algebra is built from S, S ∗ dex used to represent tensor fields on any tensor bundle. and their respective duals S∗, S . We denote these al- This representation of tensor fields has been adopted in gebras by T(L), T(S) and T(S) respectively 2. In this the system xAct [2], which Spinors is part of. The sys- work abstract indices will be used throughout to denote tem xAct is a system to do tensor analysis by computer tensorial quantities: in this way lowercase Latin indices in Mathematica, both by working with tensors as lin- a, b,... will denote abstract indices on elements of T(L) ear combination of tensors (component calculus) and by working with tensors as symbolic names with 2 Tr certain properties like rank or symmetry (abstract cal- Strictly speaking only the algebras s(L) of tensors r- contravariant s-covariant can be defined (and the same applies to culus). The system xAct consists of different modules Tr s(S)). To lessen the notation we will suppress the labels r, s in tailored for different tasks and Spinors is one of these the notation and they will only be made explicit when confusion may modules. arise. 2 and capital Latin indices A, B,... (resp. primed capital be only compatible with the signature (−1, 1, 1, 1) [7]. Latin indices A′, B′,... ) will be used forabstract indices These properties enable us to relate tensors and spinors of elements in T(S) (resp. T(S)). The union of the ten- in the following way sor algebras T(S), T(S) will be referred to as the spin algebra and its elements will be called spinors. One can ′ ′ ′ ′ A1A1...ApAp a1...ap b1 bq A1A1 ApAp T ′ = T σ ′ ··· σ ′ σa ··· σa , also build tensor algebras by taking tensor products of B1B ...BqBq b1...bq B1B BqBq 1 p T T T 1 1 elements in (L), (S) and (S). Quantities in these (4) tensor algebras will be referred to as mixed quantities ′ ′ ′ ′ a1...ap A1A1...ApAp B1B1 BqBq a1 ap T = T ′ σ ··· σ σ ′ ··· σ ′ . and they will carry abstract indices of tensor and spinor b1...bq B1B1...BqBq b1 bq A1A1 ApAp type. All tensor algebras shall be regarded as complex (5) vector spaces. ′ ′ a1...ap A1A1...ApAp Since S is 2-dimensional, we deduce that the vector where T is an arbitrary tensor and T ′ its b1...bq B1B1...BqBq space of antisymmetric 2-spinors is 1-dimensional and spinor counterpart therefore we can pick up a non-vanishing representative Another important algebraic property of the soldering ǫAB which generates such a vector space. We define next form is a spinor ǫAB by the relation A A σ ′ σ ′ + σ ′ σ ′ = g ǫ ′ ′ . (6) CB C a A bAC aAC b A ab A C b ǫABǫ = δA . (1) This equation is a direct consequence of the irreducible C where δ is the identityb tensor (also known as the Kro- A A decomposition of the product σa A′ σbAC′ according to necker delta) on the vector space S. Indeed the spinors theorem 1 below and the algebraic properties of the sol- AB ǫAB, ǫ can be used to relate elements in S and elements dering form. Starting from (6) we can derive formulas ∗ in S in the following way for the products of soldering forms with all their spinor b indices contracted (these are useful to translate spinor ξAǫ = ξ , ξA = ǫABξ , (2) AB B B expressions into tensor ones). For example where ξA is an arbitrary spinor in Sb. Hence, the spinors A DC′ A′ σ ′ σ ′ σ σ = AB aAA b C c dD ǫAB and ǫ can be understood as a metric on S (sym- 1 plectic metric) and its inverse and the operation shown (iηcdab + gabgcd + gcbgda − gcagdb) , (7) 2 in (2) isb the standard “raising and lowering” of indices. These operations are extended to the full spinor alge- where ηabcd is the volume form of the metric gab. It bra without difficulty. In particular we can raise the in- is possible to generalise this formula for the case of a AB AB dices of ǫAB getting ǫ = ǫ and from now on only product of more soldering forms. These can be written the symbol ǫ will be used for the symplectic metric and as contracted products of the quantity its inverse. Note also the propertyb 1 Gabcd ≡ (iηabcd + gadgbc − gacgbd + gabgcd). (8) A A 2 δ B = −δB . (3)

A Combining eq. (7) and its complex conjugate we obtain Here the quantity δB is the on S and A the spinor counterpart of ηabcd, written as follows δ B is a derived quantity obtained from it by the raising A a b c d and lowering of indices. In particular this implies δA = ηabcdσ AA′ σ BB′ σ CC′ σ DD′ = AB B 2. The spinors ǫAB, ǫ and δ all have counterparts A i(ǫACǫBDǫA′ D′ ǫ B′ C′ − ǫADǫBCǫA′ C′ ǫ B′ D′ ). (9) (complex conjugates) defined in the algebra T(S). It is possible to relate tensors and spinors by means We finish this review about spinor algebra by recalling AA′ of the soldering form. This is a mixed quantity σa an important result dealing with the decompositionof an fulfilling the algebraic properties arbitrary spinor into irreducible parts under the Lorentz group [6]. a a AA′ a σ AA′ σaBB′ = ǫBAǫ¯B′A′ , σ AA′ σb = δ b , ′ AA′ Theorem 1. Any spinor ξA ···A B′ ···B′ , p, q ∈ N can σ AA = σ . 1 p 1 q a a be written as the sum of a totally symmetric spinor a ξ(A ···A )(B′ ···B′ ) plus terms which are products of the spin The last of these properties implies that σ AA′ is hermi- 1 p 1 q tian. This is only compatible with the metric signature metric ǫAB (or its complex conjugate ǫ¯A′ B′ ) times totally a symmetric spinors of lower rank. (1, −1, −1, −1). Choosing σ AA′ anti-hermitian would 3 2.1. Spinor calculus arising from the tensorial part consists of the Christof- / ffi So far all our considerations were algebraic in nature, fel symbols Ricci rotation coe cients and the Riemann but we can also perform our construction for the case tensor of the covariant derivative restricted to the tan- of a Lorentzian manifold (M, g) as follows: the con- gent bundle T(M). The group coming from the spino- struction performed in previous paragraphs is carried rial part contains the components and the curvature tensor of the covariant derivative restricted to out taking as vector space L the tangent space T p(M) of an arbitrary point p ∈ M which is endowed with the the spin bundle S (M) (or S (M)). We will refer to these as the inner connection and the inner curvature respec- Lorentzian scalar product g|p. In this way it is possi- tively. See [7, 9] for an in-depth discussion of these ble to introduce a complex vector space Sp and a quan- AA′ concepts. tity σa |p. Now the set S (M) ≡ p∈M Sp is a vector bundle with the manifold M as theS base space and the Definition 2 (Spin covariant derivative). Suppose that C2 ′ group of linear transformations on as the structure S(M) admits a spin structure σ AA . We say that a co- group. We will call this vector bundle the spin bundle b variant derivative Da defined on S(M) is compatible and the sections of S (M) are the contravariant rank-1 with the spin structure σ AA′ if it fulfils the property spinor fields on M. We can now define the tensor al- b r R ′ gebras T (T p(M)), T (Sp) and, use them to construct AA s S Daσb = 0. (10) vector bundles with M as the base manifold. These bundles are tensor bundles and we denote each of these The covariant derivative Da is then called a spin covari- Sr,R M AA′ tensor bundles by s,S ( ), where the meaning of the ant derivative with respect to the spin structure σb . labels r, R, s, S is the obvious one. In general we will suppress these labels and use just the notation S(M) as Given that any quantity antisymmetric in two spinor a generic symbol for these tensor bundles. Sections on indices must contain the spin metric as a factor we have S(M) are written using abstract indices and we follow D ǫ = λ ǫ , λ ≡ ǫABD ǫ , (11) the same conventions as in the case of the vector spaces a AB a AB a a AB L and S. Sections of any of the bundles S0,R(M) are 0,S where Da is any covariant derivative defined on the bun- called spinor fields or simply spinors. As usual there is dle S(M). When Da is in addition a spin covariant a complex conjugate counterpart of this bundle, denoted derivative then, combining (10) and (11) we easily de- S by (M). duce the additional properties AA′ Definition 1 (Spin structure). If the quantity σa |p b Daσ ′ = 0 , Dcgab = (λc + λ¯ c)gab. (12) varies smoothly on the manifold M, then one can de- AA AA′ fine a smooth section, denoted by σa . When this is The last equation implies that any spin convariant AA′ the case we call the smooth section σa a smooth spin derivative gives rise to a semi- [10] structure on the Lorentzian manifold (M, g). when restricted to the space-time tensor bundle. If fur- thermore D has no torsion, then it is known as a Weyl Clearly a spin structure can be always defined in a a connection. The spin covariant derivative gets fixed if neighbourhood of any point p ∈M but further topolog- we demand additional properties on it (see e. g. [6]) ical restrictions are required if the spin structure is to be defined globally (see e.g. [8]). Theorem 2. There is one and only one torsion-free spin We turn now to the study of covariant derivatives de- covariant derivative ∇a with respect to the spin struc- S S AA′ fined on the bundles (M), (M). Let Da denote such ture σa which fulfills the property a covariant derivative. Then the operator Da can act on any quantity with tensor indices and/or spinor indices. ∇aǫAB = 0. (13) As a result, when Da is restricted to quantities having only tensor indices we recover the standard notion of covariant derivative acting on tensor fields of M. If Da Acting with such ∇a on (6) gives is restricted to quantities having only spinor indices then

Da is the covariant derivative acting on spinor fields. ∇agbc = 0, (14) The consequence of this is that the connection coeffi- cients and the curvature of Da will be divided in two which shows that the restriction of ∇a to quantities with groups: quantities arising from the tensorial part and tensorial indices is just the Levi-Civita covariant deriva- quantities arising from the spinorial part. The group tive of gab. 4 A Consider now any spinor field ξ and any spin co- where ΨABCD is a totally symmetric spinor called the variant derivative Da. Then the commutation of Da, Db Weyl spinor and Λ is related to the scalar curvature by acting on ξA is given by [7] the formula Λ = R/24. The curvature spinors and the torsion spinor are defined up to a constant scalar factor. B B r B B C DaDbξ − DbDaξ − T abDrξ = FabR ξ (15) When working with a spin covariant derivative Da it is convenient to introduce the differential operator r where T ab is the torsion of Da. The mixed quantity B a F is the inner curvature mentioned above. It is ′ abA DAA ≡ σ AA′ Da , (23) antisymmetric in the tensorial indices and it fulfils the Bianchi identity [7] which enables us to render any expression containing spin covariant derivatives as an expression containing B r B D[aFbc] A + T [abFc]r A = 0. (16) only spinor indices. Also the commutation DAA′ DBB′ − DBB′ DAA′ can be formally decomposed into irreducible The spinor counterpart of the inner curvature is repre- parts as follows B sented by FCC′ DD′ A and it can be decomposed as fol- lows DAA′ DBB′ − DBB′ DAA′ = ǫA′ B′ AB + ǫABA′ B′ , (24)

FCC′ DD′ AB = XABCDǫ¯C′ D′ +ΦABC′ D′ ǫCD. (17) where

A′ A The spinors XABCD and ΦABC′D′ are called curvature AB ≡ D(A|A′ D |B) , A′ B′ ≡ DA(A′ D B′) , (25) spinors and they enjoy the symmetries are linear differential operators. The action of these op- XAB(CD) = XABCD , ΦAB(C′ D′) =ΦABC′D′ . (18) erators on a spinor of any rank is obtained from the spinor expression of the Ricci identity of Da and the AA′ We can also introduce a spinor T BB′CC′ representing expression of the Riemann tensor in terms of the curva- the torsion. Its irreducible decomposition reads ture spinors. The results for the case of a rank-1 spinor are AA′ AA′ AA′ =Ω ′ ′ + Ω¯ D A D A′D A T BB′CC′ BCǫ¯B C B′C′ ǫBC, (19) ′ BCξ = XD BCξ − Ω BCDDA ξ (26) where ΩAA′ BC is the torsion spinor and it fulfills the symmetries 3. The package Spinors and its relation to xAct ΩAA′(BC) =ΩAA′ BC. (20) The package Spinors is a Mathematica package The inner curvature and the Riemann tensor of Da are which implements the spinor calculus as described in indeed related. To find the relation between them one the previous section. Spinors is part of xAct [2], which a computes the Ricci identity for an arbitrary vector V is a system to do tensor analysis by computer written and then particularises it for the special case in which mostly in the Mathematica programming language with a a A A′ V = σ AA′ ξ ξ . The result is a smaller part in C. The composition is roughly 16000 lines of Mathematica code and 2700 lines of C code. d D D′ ¯ D′ D CC′ d Rabc = (FabC ǫ¯C′ + FabC′ ǫC )σc σ DD′ . (21) As of October 2011 the version of xAct is 1.0.3. and the complete system is free software available under the In the important particular case of a torsion-free con- terms of the GPL license. nection which is compatible with the metric (Levi- The system xAct is organised as a suite of inter- Civita connection) the curvature spinors gain further dependent Mathematica packages which can be re- symmetries. These are garded as different-purpose modules loadable on- demand. The packages and the relations among them X(AB)CD = XABCD , XABCD = XCDAB , are depicted in figure 1. The arrows indicate which Φ ′ ′ =Φ ′ ′ . (AB)C D ABC D packages of the suite a given package relies upon and Given these additional symmetries we find that the we can see that there are three packages (xCore, xPerm spinor ΦABC′D′ is already in its irreducible form and it and xTensor) which act as kernel for the whole imple- is called the Ricci spinor. The irreducible decomposi- mentation. This means that these packages yield the ba- tion of the spinor XABCD yields sic framework to set up any computation requiring ten- sor analysis. In addition the module xperm.c is a piece XABCD = ΨABCD +Λ(ǫADǫBC + ǫACǫBD), (22) of code in C language devised to speed-up the group 5 The xAct system Finally the formulae relating spinors and tensors had to xCoba Harmonics "Component tensor algebra" be studied and coded from scratch (this was perhaps one Spinors "Tensor spherical harmonics" "Spinor calculus in GR" J.M. Martín-García and D. Brizuela, J.M. Martín-García of the most time-consuming tasks in the development of A. García-Parrado and D. Yllanes. and G. Mena Marugán. J.M. Martín-García. Spinors). The conclusion of all of this is that spinor the-

Invar xPert ory is complex enough to develop a new package for the "Riemann tensor Invariants" xTensor "Perturbation theory" J.M. Martín-García, Abstract tensor algebra D. Brizuela, J.M. Martín-García xAct suite. R. Portugal and D. Yllanes. and G. Mena Marugán. The package spinors has already been used by a num- SymManipulator xPrint ber of authors in their research. An example of this is "Symmetrized tensor expressions" xPerm "Graphical front-end" T. Bäckdahl. A. Stecchina. the invariant construction of Kerr initial data in [15, 16] Group theory MathLink (see also [17] for a generalisation of these results). The present authors have also used Spinors in the investiga- xCore xperm.c tion of the invariant properties of type D vacuum solu- Mathematica tools C-language module tions of the Einstein’s field equations [18].

Figure 1: Graphical depiction of the xAct packages and their depen- 4. Working with Spinors dencies. The packages coloured in yellow can be regarded as the sys- tem Kernel and have been developed by J.M. Mart´ın-Garc´ıa. Assuming xAct has been installed one loads Spinors in a Mathematica session by typing theoretical computations needed to canonicalize tensor In[1]:= << xAct`Spinors` expressions [11]. When loading any other package of ------Package xAct‘Spinors‘ version 1.0.2, {2011,10,25} xAct, all the necessary packages are loaded sequentially, CopyRight (C) 2006-2011, Alfonso Garcia-Parrado Gomez-Lobo following the order shown in figure 1. and Jose M. Martin-Garcia, under the General Public License. The xAct system can be enlarged by adding new pack------ages for specific purposes, as long as the dependencies just described are kept. Some of the packages shown This will load the package Spinors together with the in figure 1 have been already described in the literature. other packages of the xAct suite which Spinors relies on. This is the case of xPerm [11], Invar [12, 13] and xPert These are xCore, xPerm and xTensor (see section 3 and [14]. In addition to these references, each package in- figure 1). In this work we will only explain the features cluded in xAct has a documentation file, which explains of these packages which are required for our implemen- its main features and contains a tutorial. tation and we refer the reader to their documentation for The xAct system provides support to define and work further details. with generalvector bundles on any manifold and dimen- Next we need to declare a 4-dimensional Lorentzian sion. This means that the main features of spinor alge- manifold by means of the standard xAct machinery: bra and spinor calculus are generically built into xAct In[2]:= DefManifold[M4, 4, {a, b, c, d, f, h, p}] for any dimension. However, in the particular case of In[3]:= DefMetric[{1,3,0}, g[-a,-b], CD] Lorentzian geometry in dimension four, extra features arise as described in section 2 and hence it was nec- The list {a, b, c, d, f, h, p} corresponds to the space- essary to develop a new package to take care of these time abstract indices which will be used in tensor ex- features. For example the presence of the antisymmet- pressions and the list {1,3,0} in DefMetric serves to indicate ric metric ǫAB forces us to be careful with the con- the canonical form of the g (its canonical ventions to raise and lower indices. Also we need to form contains once +1, three times -1 and zero times 0, decide which index configuration represents the basic thus it corresponds to a Lorentzian metric). The sym- Kronecker delta and which index configuration repre- bol CD represents the Levi-Civita connection compatible sents a derived quantity. In our case all these conven- with the metric g and in addition a number of quantities tions were laid in eqs. (2)-(3) and one needs to take (the Riemann tensor, the Ricci tensor, the Weyl tensor, these particular conventions to the software implemen- etc) are also created automatically after issuing the com- tation. Another delicate task is the 2-index representa- mand DefMetric. tion of the spin covariant derivatives and their proper- So far we have used commands belonging to xTensor ties (eqs. (23)- (24)). This representation only occurs in and we have now the set-up necessary to start working the spinor calculus and hence we had to code the corre- with Spinors. The first step is the introduction of a spin sponding properties explicitly for the Spinors package. structure. This is achieved as follows 6 In[4]:= DefSpinStructure[g, Spin, {A, B, C, D, F, P}, ǫ, σ, Also we can modify the printing output of any tensor or CDe] spinor

Several new objects are defined alongside this com- In[8]:= PrintAs[ǫ ] ∧= "ǫ¯"; mand. These are the spin bundle Spin, its abstract in- dices {A, B, C, D, F, P}, the spin metric ǫ, the soldering The command Decomposition can be used to find the form σ and the spin covariant derivative CDe compatible decomposition into irreducible parts of any other curva- with both the space-time metric g and the spin metric ture spinor (it is possible to indicate the curvature spinor ǫ. The spin bundle Spin together with its structures and being decomposed as an additional argument). For ex- the curvature spinors are automatically defined with this ample command. For example the Weyl and Ricci spinors are In[9]:= SP RiemannCD[-A, -A , -B, -B ,-C, -C , -D, -D ]

In[5]:= {PsiCDe[-A, -B, -C, -D], PhiCDe[-A, -B, -C , -D ]} // Decomposition Out[9]= Out[5]= {Ψ[∇]ABCD, Φ[∇]ABC D } Ψ[▽] A′B′D′C′ ǫABǫCD − Φ[▽]ABD′ C′ ǫDCǫ¯A′B′ − 2Λ[▽](ǫADǫBCǫ¯A′D′ ǫ¯B′C′ − ǫACǫBD ǫ¯A′C′ ǫ¯B′D′ ) − Φ[▽]DCA′B′ ǫAB ǫ¯D′C′ +Ψ[▽]ABDCǫ¯A′B′ ǫ¯C′D′ Additional options controlling the displayed form of the different quantitites automatically defined can be The spin covariant derivative CDe can be handled as a 2- supplied to DefSpinStructure. For example we may add index covariant derivative ... the options In[10]:= CDe[-F,-F ]@PsiCDe[-A,-B,-C,-D]

Out[10]= ∇FF′ Ψ[∇]ABCD SpinorPrefix-> SP, SpinorMark-> "S". .. or as a covariant derivative in a vector bundle The symbol SP will be prepended to the tensor (spinor) counterpart of any spinor (tensor) and the string "S" In[11]:= SeparateSolderingForm[][%] a ▽ ▽ will be used in the displayed representation (see be- Out[11]= σ FF′ aΨ[ ]ABCD. low for explicit examples). From now on it will be un- derstood that these options were used in the command The command SeparateSolderingForm enables us to trans- § DefSpinStructure above. form spinor indices into tensor ones (cf. 4.1 for more Primed indices are entered with the “dagger” symbol details about this). (entered via the keyboard shortcut esc-dg-esc). Take Spinors are defined by means of DefSpinor, which is DefTensor now the Ricci tensor RicciCD[-a, -b]. Its spinor counter- just a special call to the xAct command (by de- Dagger->Complex part is represented by SP RicciCD[-A, -A , -B, -B ] where fault the option is assumed). SP was the tag declared through the option SpinorPrefix in In[12]:= DefSpinor[κ[-A, -A ], M4] DefSpinStructure. Again, this tag is used to construct the ** DefTensor: Defining tensor κ[-A, -A ]. symbol defining the spinor counterpart of any tensorial ** DefTensor: Defining tensor κ [-A , -A]. quantity, in the way illustrated by this example. In the If one wishes to work with Hermitian spinors then this mathematica notebook this is is done by using the option Dagger -> Hermitian on the

In[6]:= SP RicciCD[-A, -A , -B, -B ] command DefSpinor. Under this assumption one has that κ[-A,-A ] is invariant under complex conjugation Out[6]= S R[∇]AA BB In[13]:= κ[-A,-A ] // Dagger // InputForm The linking symbol “ ” (entered through the key combi- Out[13]= κ[-A,-A ] nations esc-u[-esc) serves to link the symbol chosen to The canonicalizer of xAct is ToCanonical and it can deal represent the spinor prefix with the symbol representing with the canonicalization of spinor expressions without the tensor. This linking symbol is stored in the vari- any additional user input. It is beyondthe present article able $LinkCharacter which can be freely modified. In ad- to explain the workings of the canonicalization proce- dition to this, it is possible to modify the default print- dure and the reader is referred to [11] and the xTensor ing options and obtain outputs similar to the formulae documentation for additional details. Similarly, the xAct described in section 2. This is done as follows for the command ContractMetric takes care automatically of the primed indices conventions for raising and lowering indices in spinor

In[7]:= PrintAs[A ] ∧="A′"; PrintAs[B ] ∧="B′"; expressions. We present next some explicit examples PrintAs[C ] ∧="C′"; PrintAs[D ] ∧="D′"; PrintAs[F ] ∧="F′"; about these issues 7 In[14]:= DefSpinor[µ[A], M4] Also, a number of quantities are automatically de- ** DefTensor: Defining tensor µ[A]. fined in addition to the spin covariant derivative nb. ** DefTensor: Defining tensor µ [A ]. Since we used the option Torsion->True the torsion is In[15]:= {µ[-B]ǫ[A,B],µ[B]ǫ[-B,-A],ǫ [C ,A ] among those and one can work with both its tensor and CDe[-A,-A ]@µ[-B]} spinor forms. AB B C′A′ Out[15]= {ǫ µB, ǫBAµ , ǫ¯ ▽AA′ µB} In[26]:= SeparateSolderingForm[]@Torsionnb[a,-b,-c] AA′ a BB′ CC′ In[16]:= ContractMetric[%] Out[26]= ST[D] BB′CC′ σ AA′ σb σc A C′ Out[16]= {µ , µA, ▽A µB} In[27]:= PutSolderingForm@Decomposition@% AD A′D′ In[17]:= { µ[A]µ[-A], κ[-A, -B ]µ[B ], CDe[-F, -F ]@CDe[-A, Out[27]= ǫ ǫ¯ (Ω[D] DD′B′C′ ǫBC + Ω[D]D′DBCǫ¯B′C′ ) F ]@PsiCDe[-B, -C, -D, -P]+ CDe[-F, F ]@CDe[-A, -F ]@PsiCDe[-B, -C, -D,-P] } In[28]:= ContractMetric@% ′ ′ ′ A B F F ′ ′ Out[17]= {µAµ , κAB′ µ¯ , ▽FF′ ▽A Ψ[▽]BCDP + ▽F ▽AF′ Ψ[▽]BCDP} AA A A Out[28]= Ω[D] B′C′ ǫBC + Ω[D] BCǫ¯B′C′

In[18]:= ToCanonical[%] ′ The first step finds the relation between the torsion Out[18]= {0, −κ B µ¯ ′ , 0} A B tensor and the torsion spinor and the second step com- putes its irreduccible decomposition according to eq. Also the commutation of the spin covariant deriva- tives shown in (24) is implemented (19). Any spin covariant derivative can be represented in single index and two-. In[19]:= CDe[-C,-C ]@CDe[-B,-B ]@κ[-A,-A ]- CDe[-B,-B ]@CDe[-C,-C ]@κ[-A,-A ] In[29]:= nb[-A,-A ]@µ[-C] Out[29]= DAA′ µC Out[19]= - ▽BB′ ▽CC′ κAA′ + ▽CC′ ▽BB′ κAA′

In[30]:= SeparateSolderingForm[][%,nb] In[20]:= SortSpinCovDs[%,CDe] a Out[30]= σ AA′ DaµC Out[20]= ǫ¯C′B′ ([▽]CBκAA′ ) + ǫCB([▽]C′B′ κAA′ ) Finally we remark that it is possible to define a spin The differential operator  can be written in terms AB structure for a metric connection with torsion. In this of the spin 2-index covariant derivatives as illustrated in case DefSpinStructure defines the torsion spinors automat- the following example ically. In[21]:= BoxCDe[-A,-B]@κ[-C,-C ]

Out[21]= [∇]ABκCC′ 4.1. Relations between tensors and spinors

In[22]:= BoxToCovD[%,BoxCDe] One of the strongest points of Spinors is its ability to ′ ′ 1 ′ A ′ ′ A ′ transform tensor expressions into spinor ones and back. Out[22]= 2 (∇AA ∇B κCC + ∇BA ∇A κCC ) The transformation rules are ilustrated by (4)-(5) and to In[23]:= BoxToCurvature[%%,BoxCDe] work out these expressions in explicit examples we need A′ D Out[23]= - Φ[∇]ABA′C′ κC − X[∇]DCABκ C′ to repeatedly use (8). To illustrate how this works in Spinors let us consider the following example: suppose In our previousexamples we workedwith the spin co- that we have the Riemann tensor associated to the Levi- variant derivative arising from the Levi-Civita connec- Civita connection and we wish to find its spinor form by tion but we can introduce other arbitrary spin covariant following (4). The procedure is then derivatives. For example In[31]:= PutSolderingForm@RiemannCD[-a,-b,-c,-d] a b c d In[24]:= DefSpinCovD[nb[-a], σ, SymbolOfCovD-> {"|","D"}, Out[31]= R[▽]abcdσ AA′ σ BB′ σ CC′ σ DD′ Torsion->True] In[32]:= ContractSolderingForm@% ▽ As we see in the example the command DefSpinCovD Out[32]= SR[ ]AA′BB′CC′DD′ shares some similarities with the xTensor command DefCovD. In addition to the spin covariant derivative out- The Riemann spinor can be transformed back into a put symbols, we also need to specify the spin structure tensor as follows which the spin covariant derivative is compatible with In[33]:= SeparateSolderingForm[σ][%] a b c d (this is σ in our example). Hence Out[33]= R[▽]abcdσ AA′ σ BB′ σ CC′ σ DD′

In[25]:= {nb[-a]@σ[b, -A, -A ], nb[-a]@σ[-b, A, A ] } In[34]:= PutSolderingForm@%

Out[25]= {0, 0} Out[34]= R[▽]abcd 8 As we see in this simple example a tensor (resp. If the tensor M had had any symmetry, then the symme- a spinor) is transformed into a spinor (resp. a ten- tries of the spinor SPM would have been automatically sor) by contracting it with a number of soldering forms computed. in the appropriate way. The insertion of soldering When translating spinor into tensor expressions it is forms is achieved with the command PutSolderingForm important to control how products of soldering forms and the elimination of their dummy indices with transform into tensors. A simple example of such ContractSolderingForm. The command SeparateSolderingForm a transformation is shown in eq. (7) and products also inserts a number of soldering forms but unlike of soldering forms with more factors will arise when PutSolderingForm, the expression on which it acts (a ten- transforming complicated spinor expressions into ten- sor or a spinor) is automatically replaced by its tensor sor ones. The way of computing products of sol- or spinor counterpart. If the tensor or spinor counter- dering forms in Spinors is through the command part has not been previously defined, then it is created ContractSolderingForm. For example, the simplest case is automatically. Example: the product of two soldering forms

In[35]:= DefTensor[M[-a, -b], M4] In[39]:= σ[a,-A,-A ] σ[b,-B,A ]//ContractSolderingForm ab ** DefTensor: Defining tensor M[-a, -b]. Out[39]= Σσ AB

ab In[36]:= SeparateSolderingForm[]@M[-a, -b] The mixed quantity Σσ AB is entered through the key- SpinorOfTensor::name: Spinor of M not defined. Prepending board as Sigmaσ[a, b, -A, -B] and its square results in the SP. tensor G introduced in eq. (8). The tensor G ** DefTensor: Defining tensor SP M[-Q$3,-Q $3,-Q$5,-Q $5]. abcd abcd will be referred to as the tetra-metric and it is one of ** DefTensor: Defining tensor SP M [-Q $3,-Q$3,-Q $5,-Q$5]. the quantities automatically defined by DefMetric when

AA′ BB′ the manifold dimension is four. In this way, if the met- Out[36]= SMAA′BB′ σa σb ric name symbol is g then Gabcd is represented by the All these commands admit a number of options to se- symbol Tetrag and eq. (8) by the rule TetraRule[g] lect the tensor (spinor) indices on which one wants to In[40]:= Tetrag[-a, -b, -c, -d] act and what tensor (spinor) indices are going to be con- Out[40]= Ggabcd tracted. We refer the reader to the on-line documenta- tion of each command for the complete list of available In[41]:= % /. TetraRule[g] Out[41]= 1 iǫg + 1 g g − 1 g g + 1 g g options. Another related possibility also covered is the 2 abcd 2 ad bc 2 ac bd 2 ab cd case in which one has a tensor (resp. spinor) already ab defined in the session and one wishes to introduce its The square of Σσ AB is always automatically replaced spinor (resp. tensor) counterpart. The way in which this by the tetra-metric is achieved is through the command DefSpinorOfTensor In[42]:= Sigmaσ[-a, -b, -A, -B] Sigmaσ[-c, -d, A, B] DefTensorOfSpinor (resp. ). These commands allow the Out[42]= Ggdbac user to choose the symbols representing the tensor or spinor counterparts. For example take the tensor M[-a,-b] The main interest of the tetra-metric is that any con- defined above and suppose that we have not used the tracted product of soldering forms with no free spinor automatic procedure to define its spinor counterpart de- indices can be always expressed as a product of tetra- scribed above. Then one can do the following metrics. This is precisely the kind of product which arises naturally when translating spinor expressions into In[37]:= DefSpinorOfTensor[SPM[-A,-A ,-B,-B ], M[-a,-b], σ, PrintAs → "M"] tensor ones and back. Consider the following example: ** DefTensor: Defining tensor SPM[-A,-A ,-B,-B ]. if ΨABCD is the Weyl spinor, we wish to write the scalar ABCD ** DefTensor: Defining tensor SPM [-A ,-A,-B ,-B]. quantity ΨABCDΨ as an expression in terms of the Weyl tensor. The Weyl spinor and the Weyl tensor Wabcd The tensor M and the spinor SPM are now paired are related through the relation to each other. For example, if we act on M with SeparateSolderingForm[] the system will use the spinor 1 a A′ b c C′ d Ψ = W σ σ ′ σ σ ′ , (27) which we have defined above rather than an automatic ABCD 4 abcd A BA C DC definition. ABCD and hence the scalar ΨABCDΨ can be computed by In[38]:= SeparateSolderingForm[]@M[-a,-b] replacing the Weyl spinor according to (27). Equation AA′ BB′ Out[38]= MAA′BB′ σa σb (27) can be written as a xAct rule in the following way 9 In[43]:= WSToWT= IndexRule[PsiCDe[A , B , C , D ], The spinor ΞAA′ BB′ is called the Nester-Witten spinor 1/4WeylCD[-a, -b, -c, -d]σ[a, A, A ]σ[b, B, -A ] Ξ ′ ′ + Ξ ′ ′ = σ[c, C, C ]σ[d, D, -C ]] and it has the algebraic property AA BB BB AA 0. Out[43]= HoldPattern[Ψ[∇]ABCD]:→ Hence, its tensor counterpart, defined by ′ ′ 1 ▽ aAA bB ′ cCC dD ′ Module[{a, A , b, c, C , d}, 4 W[ ]abcd σ σ A σ σ C ] AA′ BB′ Fab ≡ σa σb ΞAA′ BB′ (29) This construct is called in xAct an index rule. Its diffe- rence with a Mathematica (delayed) rule is that dummy is an and it can be regarded as a indices can be included in the right hand side of the 2-form. index rule without caring about the collision of these indices with other dummy indices already present in Theorem 3. The 2-form Fab fulfills the relation (Spar- the expression in which the replacement is being done. ling identity) Dummy indices will be automatically re-named to avoid [d f ] 1 f d any index collision. The reader is referred to the xAct 3∇[aFbc] = ηabc f Z − Gd ξ , (30) d 4 ! documentation for further details about this. We can use now the rule defined aboveto find the ten- a A A′ where ξ is the tensor representing the spinor λ λ¯ ,Gab sor expression of any scalar invariant written in terms of is the , ηabcd the volume 4-form (both with the Weyl spinor. In our example the actual computation respect to the space-time metric) and Zabc is a tensor runs as follows fulfilling the “dominant property”, namely for any three In[44]:= a a a causal future-directed null vectors k1,k2,k3 one has the PsiCDe[-A, -B, -C, -D] PsiCDe[A, B, C, D] /. WSToWT property Out[44]= ′ ′ ′ ′ a b c 1 ▽ ▽ a A bAB c ′ dB ′ f C hCD j ′ lD ′ Zabck k k ≥ 0. (31) 16 W[ ]acfj W[ ]bdhl σ A σ σ BA σ B σ C σ σ DC σ D 1 2 3

In[45]:= ContractSolderingForm[%, IndicesOf[Spin]] Proof: We carry out the proof of this result using the 1 af bm dc h lj n ▽ ▽ Out[45]= 16 g g Gg a Gg b W[ ]cfjmW[ ]dhln tools introduced in section 4 (we work in the same Spinors session as the one used in that section). First The option IndicesOf[Spin] used in ContractSolderingForm of all, we need to define the spinors and tensors inter- indicates that only spinor (dummy) indices in the prod- vening in our problem uct of soldering form have to be taken into account in the contraction. In this way the final result does not con- In[48]:= DefSpinor[λ[-A], M4] ** DefTensor: Defining tensor λ[-A]. tain any spinor index and it is thus a tensor expression as ** DefTensor: Defining tensor λ [-A ]. desired. One can now use the TetraRule[g] discussed be- fore to transform the tetra-metrics into ordinary metrics In[49]:= PrintAs@λ ∧= "λ"; and epsilon symbols (volume elements). In[50]:= DefSpinor[Ξ[-A, -A , -B, -B ], M4, GenSet[-Cycles[{-A, -B}, {-A , -B }]]] In[46]:= % /. TetraRule[g]; ** DefTensor: Defining tensor Ξ[-A,-A ,-B,-B ]. In[47]:= ToCanonical@ContractMetric@% ** DefTensor: Defining tensor Ξ [-A ,-A,-B ,-B]. 1 ▽ ▽ abcd 1 ▽ fh ▽ abcd Out[47]= 8 W[ ]abcd W[ ] + 16 iǫgcdfhW[ ]ab W[ ] In[51]:= PrintAs@Ξ ∧= "Ξ";

5. Example: The Sparling identity In[52]:= DefTensorOfSpinor[F [-a, -b], Ξ[-A, -A , -B, -B ], σ] As a final exercise with Spinors we show how to use ** DefTensor: Defining tensor F [-a,-b]. ** DefTensor: Defining tensor F [-a,-b]. the software to derive the Sparling identity. This iden- tity has the same information as the Einstein field equa- In[53]:= PrintAs@F ∧= "F "; PrintAs@F ∧= "F "; tions and can be formulated either in tensor or spinor In[54]:= DefTensor[ξ[-a], M4] form. The spinor form of the equation has its origins ** DefTensor: Defining tensor ξ[-a]. in Witten’s proof of the positive mass theorem [19] (see also [20]) while the tensor form was found by Sparling We change the default formatting of the volume form (see [21, 22] for a geometric derivation of this form of epsilong the equation). ∧ The set-up is as follows: let λA be any rank-1 spinor In[55]:= PrintAs[epsilong] = "η"; and define the following quantity We introduce a short form for the xTensor command i IndexSolve (see the documentation of xTensor for further Ξ ′ ′ ≡ (λ¯ ′ ∇ ′ λ − λ¯ ′ ∇ ′ λ ). (28) AA BB 2 A BB A B AA B details about IndexSolve) 10 In[56]:= IndSV[expr Equal]:= IndexSolve[expr, First@expr]; The aim is now to find the explicittensorformof each part. The first part dΞ1 is an expression which is linear We also define the shortcut canonicalization function in the curvature spinors. We write the curvature spinors TC (combination of the xAct commands ContractMetric ΦABA′B′ and ΨABCD in terms of the -free Ricci ten- and ToCanonical) sor and the Weyl tensor respectively (the rule WSToWT was defined from eq. (27), see explanations coming after In[57]:= TC[expr ] := ToCanonical[ContractMetric[expr]]; that equation.)

Also we define a function named EqualTimes to multi- In[66]:= dΞ1 /. WSToWT /. IndexRule[PhiCDe[-A , -B , -A , -B ], -1/2 TFRicciCD[-a, ply by a quantity both sides of an equation and canoni- -b] σ[a, -A, -A ] σ[b, -B, -B ]] ; calize the result in just one step. Also we need to replace the products λAλ¯ A′ by ξa. In[58]:= EqualTimes[Equal[lhs , rhs ], x ] := Equal[TC[x lhs], TC[x rhs]]; In[67]:= % /. IndexRule[λ[B ] λ [B ], ξ[-a]σ[a, B, B ]] // TC With all these preparations we introduce the Nester- Finally we eliminate the spinor indices in the previ- Witten spinor definition, as given by (28), in our Spinors ous expression. session. In[68]:= dΞ1 =ContractSolderingForm[%, IndicesOf@Spin] // TC; In[59]:= NesterWittenSpinor = Ξ[-A, -A , -B, -B ] == 1/2(-I λ [-B ] CDe[-A, -A ]@λ[-B] + I λ [-A ] CDe[-B, -B ]@λ[-A]) We study next the part containing the covariant d ′ ′ 1 ′ ▽ ′ ′ ▽ ′ derivatives of λA (the expression Ξ2). This expres- Out[59]= ΞAA BB = 2 (−iλB AA λB + iλA BB λA) sion is a linear combination of spinors of the form Our aim is to compute the quantity ∇BC′ λA∇CB′ λ¯ A′ whose tensor counterpart has rank 3. This is the tensor we define next. In[60]:= dF = CDe[-c]@F [-a, -b] // Antisymmetrize // TC 1 ▽ 1 ▽ 1 ▽ In[69]:= DefTensor[Z[-a, -b, -c], M4] Out[60]= 3 aFbc − 3 bFac + 3 cFab ** DefTensor: Defining tensor Z[-a, -b, -c].

We transform Fab into the Nester-Witten spinor By definition ΞAA′ BB′ and then insert its explicit definition by means Z of the xAct command IndexSolve. In[70]:= PutSolderingForm@ [-a, -b, -c] a b c Out[70]= Zabcσ AA′ σ BB′ σ CC′ In[61]:= (dF // SeparateSolderingForm[σ]) /. Z IndSV[NesterWittenSpinor]; In[71]:= rule = IndexRule[CDe[-B , -C ]@λ[-A ] CDe[-C , -B ]@ λ [-A ], %]

Out[71]= HoldPattern[∇BC′ λA∇CB′ λ¯ A′ ]:→ a b c The resulting expression (not shown due to lack of Module[{a, b, c}, Zabcσ AA′ σ BB′ σ CC′ ] space) consists of second covariant spin derivatives of λA and terms formedout of the product ∇AA′ λB, ∇AA′ λ¯ B′ . We use now this rule in the expression for dΞ2 getting

The second covariant derivatives can be eliminated by In[72]:= dΞ2 = means of the spinor Ricci identity (24) and (26). In ContractSolderingForm[dΞ2 /. Zrule, IndicesOf@Spin] // TC Spinors the procedure for doing this is as follows Out[72]= 1 df 1 df 1 df 1 df 6 iGgbdcf Za − 6 iGgbfcdZa − 6 iGgadcf Zb + 6 iGgafcd Zb + 1 iGg Z df − 1 iGg Z df In[62]:= SortSpinCovDs[%, CDe]; 6 adbf c 6 afbd c

In[63]:= BoxToCurvature[%, BoxCDe]; We combine now the values just found for dΞ1 and dΞ2 and expand the tetra-metrics (see subsection 4.1). The The arising curvature spinors have to be decomposed final result is into irreducible parts In[73]:= dF == dΞ1+dΞ2 /. TetraRule@g // TC;

In[64]:= dΞ = Decomposition[%, Chi, CDe] // TC; The right hand side of this expression is a compli- cated tensor expression of 26 terms. It can be simplified We split the previous equation into two parts: terms though if we compute its double dual (we carry out the containing covariant derivatives of λ and terms which A computation in two steps) do not contain any covariant derivative. In[74]:= EqualTimes[%, epsilong[-p, a, b, c]] In[65]:= {dΞ1=dΞ /. CDe[ ]@λ[ ]-> 0, dΞ2=dΞ - dΞ1}; abc▽ a a 1 ▽ a ▽ Out[74]= ηp cFab = Z ap − Z pa − 2 S [ ]paξ + 3Λ[ ]ξp 11 In[75]:= EqualTimes[%, epsilong[p, -d, -h, -f]/2] [4] K. Peeters, Introducing Cadabra: a symbolic com- Out[75]= puter algebra system for field theory problems, ▽dFfh − ▽f Fdh + ▽hFdf = http://www.arxiv.org/abs/hep-th/0701238. 1 a p 1 ap 3 ▽ a 1 ▽ p a 2 ηdfhpZ a − 2 ηdfhpZ a + 2 ηdfhaΛ[ ]ξ − 4 ηdfhpS [ ]a ξ [5] S. R. Czapor, R. G. McLenaghan, J. Carminati, The automatic conversion of spinor equations to dyad form in MAPLE, Gen. In[76]:= % // TFRicciToRicci // RicciToEinstein // Relativity 24 (9) (1992) 911–928. Decomposition // TC [6] R. Penrose, W. Rindler, Spinors and space-time. Vol. 1, Cam- Out[76]= bridge Monographs on Mathematical Physics, Cambridge Uni- ▽ F − ▽ F + ▽ F = 1 η Za p − 1 η Zap − 1 G[▽] pη ξa d fh f dh h df 2 dfhp a 2 dfhp a 4 a dfhp versity Press, Cambridge, 1987. [7] A. Ashtekar, Lectures on non-perturbative canonical gravity, This last equation coincides with (30) and thus we Advanced Series in Astrophysics and Cosmology, World Sci- conclude its validity. In addition from the spinor ex- entific, Singapore, 1991. [8] M. Nakahara, Geometry, topology and physics, Graduate Stu- pression for Zabc we easily deduce the algebraic prop- a a a dent Series in Physics, Adam Hilger Ltd., Bristol, 1990. erty (31) if we express the null vectors k1, k2 and k3 as [9] A. Ashtekar, G. T. Horowitz, A. Magnon-Ashtekar, A general- tensor products of spinors of rank-1 (see e.g. theorem ization of and its applications to physics, Gen. 2.3.6 of [23]). Relativity Gravitation 14 (5) (1982) 411–428. The spinor form of (30) has been used as the start- [10] J. A. Schouten, Ricci Calculus, Die Grundlehren der Matema- tischen Wissenschaften, Springer Verlag, Berlin, 1954. ing point of a proof of the positive mass theorem. The [11] J. M. Mart´ın-Garc´ıa, xPerm: fast index canonicalization for ten- rough idea is to prove that the integrals of the Einstein sor computer algebra, Computer Physics Communications 179 and Sparling 3-form over suitable hypersurfaces extend- (2008) 597–603. [12] J. M. Mart´ın-Garc´ıa, R. Portugal, L. Manssur, The Invar tensor ing to infinity yield a positive quantity. This is straight- package, Comp. Phys. Comm. 177 (8) (2007) 640–648. forward for the Einstein 3-form if the dominant energy [13] J. M. Mart´ın-Garc´ıa, D. Yllanes, R. Portugal, The Invar ten- condition on the matter is assumed, but it requires more sor package: Differential invariants of Riemann, Comp. Phys. effortsfor the sparling3-form. In fact one needsto make Comm. 179 (8) (2008) 586–590. [14] D. Brizuela, J. M. Mart´ın-Garc´ıa, G. A. Mena Marug´an, xPert: a special choice of the spinor λA in order to ensure the computer algebra for metric perturbation theory, Gen. Relativity positivity and there is more than one way of achieving Gravitation 41 (10) (2009) 2415–2431. this (a good accounnt of the different choices tried can [15] T. B¨ackdahl, J. A. Valiente Kroon, On the construction of a ge- be found in [24]). ometric invariant measuring the deviation from Kerr data, Ann. Henri Poincar´e11 (2010) 1225–1271. [16] T. B¨ackdahl, J. A. Valiente Kroon, Geometric invariant measur- ing the deviation from Kerr data, Phys. Rev. Lett. 104 (2010) Acknowledgements 231102, 4. [17] T. B¨ackdahl, J. A. Valiente Kroon, The ’non-Kerrness’ of do- AGP is supported by the Research Centre of Mathe- mains of outer communication of black holes and exteriors of matics of the University of Minho (Portugal) through stars, Proc. Roy. Soc. A 467 (2011) 1701–1718. the “Fundac¸˜ao para a Ciˆencia e a Tecnolog´ıa (FCT) [18] S. B. Edgar, A. Garc´ıa-Parrado, J. M. Mart´ın-Garc´ıa, Petrov D vacuum spaces revisited: identities and invariant classification, Pluriannual Funding Program” and through project Class. Quantum Grav. 26 (10) (2009) 105022, 13. CERN/FP/116377/2010. AGP also thanks the Erwin [19] E. Witten, A new proof of the positive energy theorem, Comm. Schr¨odinger Institute in Vienna (Austria) where part of Math. Phys 80 (3) (1981) 381–402. this work was carried out for hospitality and financial [20] J. M. Nester, A new gravitational energy expression with a sim- ple positivity proof, Phys. Lett. A 83 (6) (1981) 241–242. support under the program “Dynamics of General Rela- [21] J. Frauendiener, Geometric description of energy-momentum tivity”. JMM was supported by the French ANR Grant pseudotensors, Classical Quantum Gravity 6 (12) (1989) L237– BLAN07-1 201699 entitled “LISA Science”, and also L241. in part by the Spanish MICINN projects 2008-06078- [22] L. B. Szabados, On canonical pseudotensors, Sparling’s form and Noether currents, Class. Quantum Gravity 9 (11) (1992) C03-03 and FIS2009-11893. Both authors thank Dr. 2521–2541. Thomas B¨ackdahl for his tests of prior versions of the [23] J. Stewart, Advanced general relativity, Cambridge Monographs Spinors package and constructive criticism. on Mathematical Physics, Cambridge University Press, Cam- bridge, 1991. [24] G. Bergqvist, Simplified spinorial proof of the positive energy References theorem, Phys. Rev. D (3) 48 (2) (1993) 628–630.

[1] R. Penrose, A spinor approach to general relativity, Ann. of Phys. 10 (1960) 171–201. [2] J. M. Mart´ın-Garc´ıa, xAct: efficient tensor computer algebra, http://www.xact.es. [3] D. Maˆıtre, P. Mastrolia, S@m, a Mathematica implementation of the spinor-helicity formalism, Comput. Phys. Comm. 179 (7) (2008) 501–534. 12