Tensor[RiemannInvariants] - calculate the Riemann (curvature) invariants for a spacetime
Calling Sequences
RiemannInvariants(g, C, options)
RiemannInvariants(NTetrad, options)
RiemannInvariants(NPRSc, NPWSc, options)
RiemannInvariants(RSp, WSp, barWSp, options)
Parameters
g - a metric tensor with signature [1,-1,-1,-1]
C - (optional) the curvature tensor of the metric g
NTetrad - a null tetrad for the metric g
RSp - the Ricci spinor for the metric g
WSp - the Weyl spinor for the metric g
barWSp - the conjugateWeyl spinor
NPRSc - the Newman-Penrose Ricci scalars for the metric g
NPWSc - the Newman-Penrose Weyl scalars for the metric g
options - the (optional) keyword argument author = A, where A = "ZakharyMcIntosh" or A = "CarminatiMcLenaghan"
options - the (optional) keyword argument invariants = L, where L is a list denoting the invariants to be computed, or L= "AllComplex"
Description
Examples
See Also
A Riemann invariant is a scalar invariant constructed from the curvature tensor of a metric g. These are second-order invariants in the sense that no covariant derivatives of the curvature are used. There are many lists of Riemann invariants listed in the literature. At present the command RiemannInvariants will compute those found in the papers:
J. Carminati and R. G. McLenaghan, Algebraic invariants of the Riemann tensor in a four dimensional Lorentzian spacetime, J. Math. Physics 32(11), 3135--314.
Zakhary and C. B. G. McIntosh, A complete set of Riemann Invariants, General Relativity and Gravitation 29(5) 1997, 539 -- 581.
The command RiemannInvariants with return a table T which contains the Riemann invariants as denoted in these papers.
If author = "ZakharyMcIntosh" and invariants = "AllComplex", then the indices of T are ["I", "J", "R", "I6", "I7", "I8", "K", "L", "M", "M1", "M2"].
If author = "ZakharyMcIntosh" and invariants = "AllReal", then the indices of T are [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17].
If author = "CarminatiMcLenaghan", then the indices of T are ["r1", "r2", "r3", "w1", "w2", "m1", "m2", "m3", "m4", "m5"].
The default option is author = "ZakharyMcIntosh" and invariants = "AllComplex".
The invariants of ZakharyMcIntosh are calculated using either the spinor formalism or the Newman-Penrose formalism. Use either the 2nd, 3rd or 4th calling sequences. See Examples 1--4.
The invariants of CarminatiMcLenaghan are calculated using either the tensor or spinor formalism. Use the 1st or 4th calling sequence. See Examples 5--7.
This command is part of the DifferentialGeometry:-Tensor package, and so can be used in the form RiemannInvariants(...) only after executing the commands with(DifferentialGeometry); with(Tensor); in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-RiemannInvariants.
with⁡DifferentialGeometry:with⁡Tensor:
Example 1.
Compute the ZakharyMcIntosh Riemann invariants directly from the metric. The tensor versions of these formulas have not yet been implemented and an empty table is returned.
DGsetup⁡t,x,y,z,M
frame name: M
g≔evalDG⁡x4⁢dt&tdt−dx&tdx−dy&tdy−dz&tdz
g≔x4⁢dt⁢dt−dx⁢dx−dy⁢dy−dz⁢dz
Inv1≔RiemannInvariants⁡g
Inv1≔table⁡
Example 2.
Compute the ZakharyMcIntosh Riemann invariants from a null tetrad. Use the command DGGramSchmidt to first construct an orthonormal tetrad.
OTetrad≔DGGramSchmidt⁡D_t,D_x,D_y,D_z,g,signature=1,−1,−1,−1assuming0<x
OTetrad≔1x2⁢D_t,D_x,D_y,D_z
Use the command NullTetrad to construct a null tetrad.
NTetrad≔NullTetrad⁡OTetrad
NTetrad≔22⁢x2⁢D_t+22⁢D_z,22⁢x2⁢D_t−22⁢D_z,22⁢D_x+I2⁢2⁢D_y,22⁢D_x−I2⁢2⁢D_y
Inv2≔RiemannInvariants⁡NTetrad
Inv2≔table⁡I=19⁢x4,L=29⁢x8,K=−23⁢x6,I6=13⁢x4,R=R,M=0,I8=0,I7=0,J=−127⁢x6,M2=−427⁢x10,M1=49⁢x8
RiemannInvariants⁡NTetrad,invariants=L
table⁡L=29⁢x8
Example 3.
Compute the ZakharyMcIntosh Riemann invariants from the Newman-Penrose curvature scalars. Use the command NPCurvatureScalars to compute the Newman-Penrose curvature scalars.
RicciScalars,WeylScalars≔NPCurvatureScalars⁡NTetrad,output=AllRicciScalars,AllWeylScalars
RicciScalars,WeylScalars≔table⁡Lambda=−16⁢x2,Phi11=0,Phi12=0,Phi20=−12⁢x2,Phi22=12⁢x2,Phi21=0,Phi00=12⁢x2,Phi01=0,Phi02=−12⁢x2,Phi10=0,table⁡Psi1=0,PsiBar4=12⁢x2,Psi0=12⁢x2,PsiBar2=−16⁢x2,PsiBar3=0,Psi2=−16⁢x2,PsiBar1=0,PsiBar0=12⁢x2,Psi4=12⁢x2,Psi3=0
Inv3≔RiemannInvariants⁡RicciScalars,WeylScalars
Inv3≔table⁡I=19⁢x4,L=29⁢x8,K=−23⁢x6,I6=13⁢x4,R=R,M=0,I8=0,I7=0,J=−127⁢x6,M2=−427⁢x10,M1=49⁢x8
Example 4.
Compute the ZakharyMcIntosh Riemann invariants from the Ricci spinor and the Weyl spinor. For this we need to extend our spacetime manifold to a rank 4 vector bundle.
DGsetup⁡t,x,y,z,z1,z2,w1,w2,N
frame name: N
g1≔evalDG⁡x4⁢dt&tdt−dx&tdx−dy&tdy−dz&tdz
g1≔x4⁢dt⁢dt−dx⁢dx−dy⁢dy−dz⁢dz
OTetrad≔DGGramSchmidt⁡D_t,D_x,D_y,D_z,g1,signature=1,−1,−1,−1assuming0<x
Use the command SolderForm to compute the Newman-Penrose curvature scalars.
S≔SolderForm⁡OTetrad
S≔x2⁢22⁢dt⁢D_z1⁢D_w1+x2⁢22⁢dt⁢D_z2⁢D_w2+22⁢dx⁢D_z1⁢D_w2+22⁢dx⁢D_z2⁢D_w1−I2⁢2⁢dy⁢D_z1⁢D_w2+I2⁢2⁢dy⁢D_z2⁢D_w1+22⁢dz⁢D_z1⁢D_w1−22⁢dz⁢D_z2⁢D_w2
Use the command RicciSpinor to compute the Newman-Penrose curvature scalars.
RicciSpin≔RicciSpinor⁡S
RicciSpin≔−12⁢x2⁢dz1⁢dz1⁢dw1⁢dw1+12⁢x2⁢dz1⁢dz1⁢dw2⁢dw2+12⁢x2⁢dz2⁢dz2⁢dw1⁢dw1−12⁢x2⁢dz2⁢dz2⁢dw2⁢dw2
Use the command WeylSpinor to compute the Newman-Penrose curvature scalars.
WeylSpin≔WeylSpinor⁡S
WeylSpin≔−12⁢x2⁢dz1⁢dz1⁢dz1⁢dz1+16⁢x2⁢dz1⁢dz1⁢dz2⁢dz2+16⁢x2⁢dz1⁢dz2⁢dz1⁢dz2+16⁢x2⁢dz1⁢dz2⁢dz2⁢dz1+16⁢x2⁢dz2⁢dz1⁢dz1⁢dz2+16⁢x2⁢dz2⁢dz1⁢dz2⁢dz1+16⁢x2⁢dz2⁢dz2⁢dz1⁢dz1−12⁢x2⁢dz2⁢dz2⁢dz2⁢dz2
Use the command ConjugateSpinor to compute the Newman-Penrose curvature scalars.
barWeylSpin≔ConjugateSpinor⁡WeylSpin
barWeylSpin≔−12⁢x2⁢dw1⁢dw1⁢dw1⁢dw1+16⁢x2⁢dw1⁢dw1⁢dw2⁢dw2+16⁢x2⁢dw1⁢dw2⁢dw1⁢dw2+16⁢x2⁢dw1⁢dw2⁢dw2⁢dw1+16⁢x2⁢dw2⁢dw1⁢dw1⁢dw2+16⁢x2⁢dw2⁢dw1⁢dw2⁢dw1+16⁢x2⁢dw2⁢dw2⁢dw1⁢dw1−12⁢x2⁢dw2⁢dw2⁢dw2⁢dw2
Inv4≔RiemannInvariants⁡RicciSpin,WeylSpin,barWeylSpin
Inv4≔table⁡I=19⁢x4,L=29⁢x8,K=23⁢x6,I6=13⁢x4,R=R,M=0,I8=0,I7=0,J=127⁢x6,M2=427⁢x10,M1=49⁢x8
Example 5.
Compute the CarminatiMcLenaghan Riemann invariants directly from the original metric.
ChangeFrame⁡M
N
Inv5≔RiemannInvariants⁡g,author=CarminatiMcLenaghan
Inv5≔table⁡m4=0,r2=0,m3=49⁢x8,r3=14⁢x8,m2=49⁢x8,w1=23⁢x4,m1=23⁢x6,w2=29⁢x6,r1=1x4,m5=827⁢x10
The curvature tensor can be given as an optional argument.
C≔CurvatureTensor⁡g
C≔−2x2⁢D_t⁢dx⁢dt⁢dx+2x2⁢D_t⁢dx⁢dx⁢dt−2⁢x2⁢D_x⁢dt⁢dt⁢dx+2⁢x2⁢D_x⁢dt⁢dx⁢dt
Inv5≔RiemannInvariants⁡g,C,author=CarminatiMcLenaghan
Example 6.
Compute the CarminatiMcLenaghan Riemann invariants directly from a null tetrad. The Newman-Penrose versions of these invariants have not yet been implemented and an empty table is returned.
RiemannInvariants⁡NTetrad,author=CarminatiMcLenaghan
table⁡
Example 7.
Compute the CarminatiMcLenaghan Riemann invariants from the Ricci spinor and the Weyl spinor.
Inv6≔RiemannInvariants⁡RicciSpin,WeylSpin,barWeylSpin,author=CarminatiMcLenaghan
Inv6≔table⁡m4=0,r2=0,m3=49⁢x8,r3=14⁢x8,m2=49⁢x8,w1=23⁢x4,m1=23⁢x6,w2=29⁢x6,r1=1x4,m5=4⁢x12+x1227⁢x10⁢x12
map⁡simplify,Inv6assumingx::real
table⁡m4=0,r2=0,m3=49⁢x8,r3=14⁢x8,m2=49⁢x8,w1=23⁢x4,m1=23⁢x6,w2=29⁢x6,r1=1x4,m5=827⁢x10
DifferentialGeometry, Tensor, assuming, ConjugateSpinor, CurvatureTensor, Physics[Riemann], NullTetrad, NPCurvatureScalars, SolderForm, RicciSpinor, Physics[Ricci], WeylSpinor, Physics[Weyl]
Download Help Document