Tensor[PrincipalNullDirections] - find the principal null directions of a 4 dimensional spacetime
Calling Sequences
PrincipalNullDirections(NT, PT)
PrincipalNullDirections(NT, PT, W)
Parameters
NT - a null tetrad for the spacetime metric g
PT - the Petrov type of g
W - (optional) the Weyl tensor of g
Description
Examples
The principal null directions of a spacetime are a fundamental set of invariant directions which play an important role in studying the geometry of the spacetime. Let g be the metric of the spacetime and let W be the Weyl tensor for g. A principal null direction is a null vector k which satisfies the system of non-linear algebraic equations
k[e Wa]bc[d kf] kb kc =0. (*)
Two null vectors which satisfy this equation and are proportional determine the same principal null direction. There are at most 4 distinct principal null directions. The algebraic multiplicities of the principal null vectors are determined by the Petrov type of the spacetime.
TYPE I. The principal null directions are all distinct, that is, mutually non-proportional.
TYPE II. Two of the principal null directions coincide, that is, the algebraic system of equations (*) has a repeated solution. There are 3 distinct principal null directions.
TYPE III. Three of principal null directions coincide. There are 2 distinct principal null directions.
TYPE D. Two pairs of the principal null directions coincide. There are 2 distinct principal null directions.
TYPE N. The principal null directions all coincide. There is just 1 principal null direction.
The command PrincipalNullDirections returns a list of distinct principal null directions for a spacetime as determined by a given null tetrad.
The complicated algebraic equations that must be solved to determine the principal null directions can often be simplified a priori by using an adapted null tetrad. See AdaptedNullTetrad.
The principal null directions are calculated from the factorization of the Weyl spinor as a product of rank 1 spinors -- each distinct spinor in this factorization determines a principal null direction. See WeylSpinor, FactorWeylSpinor.
The command PrincipalNullDirection is part of the DifferentialGeometry:-Tensor package. It can be used in the form PrincipalNullDirection(...) only after executing the commands with(DifferentialGeometry) and with(Tensor), but can always be used by executing DifferentialGeometry:-Tensor:-PrincipalNullDirection(...).
with⁡DifferentialGeometry:with⁡Tensor:
Set the global environment variable _EnvExplicit to true to insure that the principal null directions are free of RootOf expressions.
_EnvExplicit≔true:
Example 1. Type I
We calculate the principal null directions for a type I spacetime. First define the coordinates to be used and then define the metric.
DGsetup⁡t,x,y,z,M
frame name: M
g1≔evalDG⁡dt&tdt−t2⁢dx&tdx−x2⁢dy&tdy−dz&tdz
g1:=−t2⁢dx⁢dx−x2⁢dy⁢dy+dt⁢dt−dz⁢dz
Use the command DGGramSchmidt to form an orthonormal tetrad and the command NullTetrad to obtain a null tetrad for the metric g1.
OT1≔DGGramSchmidt⁡D_t,D_x,D_y,D_z,g1,signature=1,−1,−1,−1assuming0<t,0<x
OT1:=D_t,D_xt,D_yx,D_z
NT1≔NullTetrad⁡OT1
NT1:=12⁢2⁢D_t+12⁢2⁢D_z,12⁢2⁢D_t−12⁢2⁢D_z,12⁢2⁢D_xt+12⁢I⁢2⁢D_yx,12⁢2⁢D_xt−12⁢I⁢2⁢D_yx
Check that the metric is of Petrov type I.
PetrovType⁡NT1
I
For type I metrics, there are 4 principal null directions.
PND1≔PrincipalNullDirections⁡NT1,I
PND1:=−2⁢2−2⁢D_t+2⁢2−2⁢D_z,−2⁢2−2⁢D_t+2⁢2−2⁢D_yx,−2⁢2−2⁢1+22⁢D_t−2⁢2−2⁢1+22⁢D_yx,−12⁢2⁢2−2⁢2+22⁢D_t−12⁢2⁢2−2⁢2+22⁢D_z
We can use the GRQuery command to verify that these are principal null directions. For this the WeylTensor of the metric g1 is needed.
W1≔WeylTensor⁡g1:
map⁡GRQuery,PND1,g1,W1,PrincipalNullDirection
true,true,true,true
Example 2. Type II
We calculate the principal null directions for a type II spacetime. First define the coordinates to be used and then define the metric.
DGsetup⁡r,u,x,y,M
g2≔evalDG⁡2⁢r22⁢x3⁢dx&tdx+dy&tdy−2⁢du&sdr+3⁢2⁢x+2⁢mr⁢du&tdu
g2:=−dr⁢du−du⁢dr+2⁢3⁢r⁢x+m⁢du⁢dur+14⁢r2⁢dx⁢dxx3+14⁢r2⁢dy⁢dyx3
Use the command DGGramSchmidt to form an orthonormal tetrad and the command NullTetrad to obtain a null tetrad for the metric g2.
OT2≔DGGramSchmidt⁡D_r,D_u,D_x,D_y,g2,signature=−1,1,1,1assuming0<r,0<x,0<m
OT2:=12⁢2⁢3⁢r⁢x+m+r⁢D_rr+12⁢2⁢D_u,−12⁢2⁢3⁢r⁢x+m−r⁢D_rr−12⁢2⁢D_u,2⁢x3/2⁢D_xr,2⁢x3/2⁢D_yr
NT2≔NullTetrad⁡OT2
NT2:=12⁢3⁢r⁢x+m+r⁢D_rr+12⁢D_u+2⁢x3/2⁢D_yr,12⁢3⁢r⁢x+m+r⁢D_rr+12⁢D_u−2⁢x3/2⁢D_yr,−12⁢3⁢r⁢x+m−r⁢D_rr−12⁢D_u+I⁢2⁢x3/2⁢D_xr,−12⁢3⁢r⁢x+m−r⁢D_rr−12⁢D_u−I⁢2⁢x3/2⁢D_xr
A simpler choice of null tetrad can be obtained by a re-ordering of the vectors in the orthonormal tetrad -- this is always the case when one of the coordinate vectors is a null vector. See NullTetrad for the formulas used to calculate a null tetrad from an orthonormal tetrad. This simpler choice leads to a quicker calculation of the principal null directions.
NT2≔NullTetrad⁡OT21,OT24,OT23,OT22
NT2:=D_r,3⁢r⁢x+m⁢D_rr+D_u,I⁢2⁢x3/2⁢D_xr+2⁢x3/2⁢D_yr,−I⁢2⁢x3/2⁢D_xr+2⁢x3/2⁢D_yr
Check that the metric is of Petrov type II.
PetrovType⁡NT2
II
For this example, it is also helpful to calculate the Weyl tensor and use the second calling sequence for PrincipalNullDirections. With this calling sequence all computations are strictly algebraic and assumptions on the ranges of the variables and the parameters can be made to simplify intermediate computations. The Weyl tensor is rather complicated and need not be displayed.
W2≔WeylTensor⁡g2:
For type II metrics, there are 3 principal null directions.
PND2≔PrincipalNullDirections⁡NT2,II,W2assuming0<x,0<y,0<r,3⁢m−2⁢x⁢r<0,m<0
PND2:=−r⁢2⁢r⁢x−3⁢m⁢x⁢D_rm,−2⁢x5/2⁢2⁢r5/2⁢2⁢r⁢x−3⁢m+4⁢r3⁢x3−3⁢m⁢r2⁢x2+3⁢m2⁢r⁢x+m3⁢D_rr3/2⁢2⁢r⁢x−3⁢m⁢x⁢m−m⁢D_ur⁢2⁢r⁢x−3⁢m⁢x−2⁢2⁢x⁢2⁢r⁢x+x⁢2⁢r⁢x−3⁢m⁢D_xr⁢2⁢r⁢x−3⁢m,2⁢x5/2⁢2⁢r5/2⁢2⁢r⁢x−3⁢m−4⁢r3⁢x3+3⁢m⁢r2⁢x2−3⁢m2⁢r⁢x−m3⁢D_rr3/2⁢2⁢r⁢x−3⁢m⁢x⁢m−m⁢D_ur⁢2⁢r⁢x−3⁢m⁢x+2⁢2⁢x⁢−2⁢r⁢x+x⁢2⁢r⁢x−3⁢m⁢D_xr⁢2⁢r⁢x−3⁢m
We can use the GRQuery command to verify that these are principal null directions.
GRQuery⁡PND21,g2,W2,PrincipalNullDirection
true
GRQuery⁡PND22,g2,W2,PrincipalNullDirection
GRQuery⁡PND23,g2,W2,PrincipalNullDirection
Example 3. Type III
We calculate the principal null directions for a type III spacetime. First define the coordinates to be used and then define the metric.
g3≔evalDG⁡r2x3⁢dx&tdx+dy&tdy−2⁢du&sdr+32⁢x⁢du&tdu
g3:=−dr⁢du−du⁢dr+32⁢x⁢du⁢du+r2⁢dx⁢dxx3+r2⁢dy⁢dyx3
Use the command DGGramSchmidt to form an orthonormal tetrad and the command NullTetrad to obtain a null tetrad for the metric g3.
OT3≔DGGramSchmidt⁡D_r,D_u,D_x,D_y,g3,signature=−1,1,1,1assuming0<r,0<x
OT3:=18⁢2⁢3⁢x+4⁢D_r+12⁢2⁢D_u,−18⁢2⁢3⁢x−4⁢D_r−12⁢2⁢D_u,x3/2⁢D_xr,x3/2⁢D_yr
NT3≔NullTetrad⁡OT31,OT34,OT33,OT32
NT3:=D_r,34⁢x⁢D_r+D_u,12⁢I⁢2⁢x3/2⁢D_xr+12⁢2⁢x3/2⁢D_yr,−12⁢I⁢2⁢x3/2⁢D_xr+12⁢2⁢x3/2⁢D_yr
Check that the metric is of Petrov type III.
PetrovType⁡NT3
III
For type III metrics, there are 2 principal null directions.
PND3a≔PrincipalNullDirections⁡NT3,III
PND3a:=329⁢r4⁢D_rx3,271024⁢x⁢8⁢x3+3⁢x3⁢D_rr4+932⁢x3⁢D_ur4+27256⁢x2⁢x3+x3⁢D_xr5−27256⁢I⁢x2⁢x3−x3⁢D_yr5
PND3b≔simplify⁡PND3aassuming0<x
PND3b:=329⁢r4⁢D_rx3,2971024⁢x4⁢D_rr4+932⁢x3⁢D_ur4+27128⁢x5⁢D_xr5+0⁢D_y
Of course, we can scale the principal null vectors:
PND3≔evalDG⁡D_r,323⁢r4x3⁢PND3b2
PND3:=D_r,9932⁢x⁢D_r+3⁢D_u+94⁢x2⁢D_xr
We can use the GRQuery command to verify that these are principal null directions. For this the WeylTensor of the metric g3 is needed.
W3≔WeylTensor⁡g3:
GRQuery⁡PND31,g3,W3,PrincipalNullDirection
GRQuery⁡PND32,g3,W3,PrincipalNullDirection
Example 4. Type D
We calculate the principal null directions for a type Dspacetime. First define the coordinates to be used and then define the metric.
g4≔evalDG⁡dx&tdx+dy&tdy+12⁢exp⁡2⁢x⁢dz&tdz−dt+exp⁡x⁢dz&sdt+exp⁡x⁢dz
g4:=−dt⁢dt−ⅇx⁢dt⁢dz+dx⁢dx+dy⁢dy−ⅇx⁢dz⁢dt−12⁢ⅇ2⁢x⁢dz⁢dz
Use the command DGGramSchmidt to form an orthonormal tetrad and the command NullTetrad to obtain a null tetrad for the metric g4.
OT4≔DGGramSchmidt⁡D_t,D_x,D_y,D_z,g4,signature=−1,1,1,1
OT4:=D_t,D_x,D_y,−2⁢ⅇx⁢D_tⅇ2⁢x+2⁢D_zⅇ2⁢x
NT4≔NullTetrad⁡OT4assuming0<x
NT4:=−12⁢2⁢2−1⁢D_t+ⅇ−x⁢D_z,12⁢2⁢1+2⁢D_t−ⅇ−x⁢D_z,12⁢2⁢D_x+12⁢I⁢2⁢D_y,12⁢2⁢D_x−12⁢I⁢2⁢D_y
Check that the metric is of Petrov type D.
PetrovType⁡NT4
D
For type D metrics, there are 2 principal null directions.
PND4≔PrincipalNullDirections⁡NT4,D
PND4:=2⁢D_t−2⁢D_y,14⁢2⁢D_t+14⁢2⁢D_y
We can use the GRQuery command to verify that these are principal null directions. For this the WeylTensor of the metric g4 is needed.
W4≔WeylTensor⁡g4:
GRQuery⁡PND41,g4,W4,PrincipalNullDirection
GRQuery⁡PND42,g4,W4,PrincipalNullDirection
Example 5. Type N
We calculate the principal null directions for a type N spacetime. First define the coordinates to be used and then define the metric. The metric is taken from the book ExactSolutions, equation 12.34.
This metric and its adapted null tetrad are stored in the DifferentialGeometry database. See Library and Retrieve.
DGsetup⁡u,x,y,z,M
g5,NT5≔op⁡Library:-Retrieve⁡Stephani,1,12,34,1,manifoldname=M,output=Fields,NullTetrad:
g5
ⅇ−2⁢z⁢du⁢dx+ⅇ−2⁢z⁢dx⁢du+_ϵ⁢ⅇz⁢dx⁢dx+ⅇ−2⁢z⁢dy⁢dy+3⁢dz⁢dz_Λ
NT5
2⁢ⅇz⁢D_u,14⁢ⅇ4⁢z⁢_ϵ+12⁢ⅇz⁢D_u−12⁢ⅇz⁢D_x+16⁢2⁢3⁢−_Λ⁢D_z,ⅇz⁢D_u+12⁢I⁢2⁢ⅇz⁢D_y+16⁢2⁢3⁢−_Λ⁢D_z,ⅇz⁢D_u−12⁢I⁢2⁢ⅇz⁢D_y+16⁢2⁢3⁢−_Λ⁢D_z
Check that the metric is of Petrov type N.
PetrovType⁡NT5
N
For type N metrics, there is just 1 principal null direction.
PND5≔PrincipalNullDirections⁡NT5,N
PND5:=2⁢ⅇz⁢D_u
We can use the GRQuery command to verify that this is a principal null direction. For this the WeylTensor of the metric g5 is needed.
W5≔WeylTensor⁡g5:
GRQuery⁡PND51,g5,W5,PrincipalNullDirection
See Also
DifferentialGeometry
Tensor
AdaptedSpinorDyad,
AdaptedNullTetrad
FactorWeylSpinor
NPCurvatureScalars
NullVector
PetrovType
WeylSpinor
Download Help Document