find the principal null directions of a 4 dimensional spacetime - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : Tensor : DifferentialGeometry/Tensor/PrincipalNullDirections

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

Description

• 

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(...).

Examples

withDifferentialGeometry:withTensor:

 

Set the global environment variable _EnvExplicit to true to insure that the principal null directions are free of RootOf expressions.

_EnvExplicittrue:

 

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.

 

DGsetupt,x,y,z,M

frame name: M

(2.1)
M > 

g1evalDGdt&tdtt2dx&tdxx2dy&tdydz&tdz

_DGtensor,M,cov_bas,cov_bas,,1,1,1,2,2,t2,3,3,x2,4,4,1

(2.2)

 

Use the command DGGramSchmidt to form an orthonormal tetrad and the command NullTetrad to obtain a null tetrad for the metric g1.

OT1DGGramSchmidtD_t&comma;D_x&comma;D_y&comma;D_z&comma;g1&comma;signature=1&comma;1&comma;1&comma;1assuming0<t,0<x

_DGvector&comma;M&comma;&comma;1&comma;1&comma;_DGvector&comma;M&comma;&comma;2&comma;1t&comma;_DGvector&comma;M&comma;&comma;3&comma;1x&comma;_DGvector&comma;M&comma;&comma;4&comma;1

(2.3)

NT1NullTetradOT1

_DGvector&comma;M&comma;&comma;1&comma;122&comma;4&comma;122&comma;_DGvector&comma;M&comma;&comma;1&comma;122&comma;4&comma;122&comma;_DGvector&comma;M&comma;&comma;2&comma;122t&comma;3&comma;12I2x&comma;_DGvector&comma;M&comma;&comma;2&comma;122t&comma;3&comma;12I2x

(2.4)

 

Check that the metric is of Petrov type I.

PetrovTypeNT1

I

(2.5)

 

For type I metrics, there are 4 principal null directions.

PND1PrincipalNullDirectionsNT1&comma;I

_DGvector&comma;M&comma;&comma;1&comma;222&comma;4&comma;222&comma;_DGvector&comma;M&comma;&comma;1&comma;222&comma;3&comma;222x&comma;_DGvector&comma;M&comma;&comma;1&comma;2221&plus;22&comma;3&comma;2221&plus;22x&comma;_DGvector&comma;M&comma;&comma;1&comma;122222&plus;22&comma;4&comma;122222&plus;22

(2.6)

 

We can use the GRQuery command to verify that these are principal null directions. For this the WeylTensor of the metric g1 is needed.

M > 

W1WeylTensorg1&colon;

M > 

mapGRQuery&comma;PND1&comma;g1&comma;W1&comma;PrincipalNullDirection

true&comma;true&comma;true&comma;true

(2.7)

 

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.

 

DGsetupr&comma;u&comma;x&comma;y&comma;M

frame name: M

(2.8)
M > 

g2evalDG2r22x3dx&tdx+dy&tdy2du&sdr+32x+2mrdu&tdu

_DGtensor&comma;M&comma;cov_bas&comma;cov_bas&comma;&comma;1&comma;2&comma;1&comma;2&comma;1&comma;1&comma;2&comma;2&comma;23rx&plus;mr&comma;3&comma;3&comma;14r2x3&comma;4&comma;4&comma;14r2x3

(2.9)

 

Use the command DGGramSchmidt to form an orthonormal tetrad and the command NullTetrad to obtain a null tetrad for the metric g2.

OT2DGGramSchmidtD_r&comma;D_u&comma;D_x&comma;D_y&comma;g2&comma;signature=1&comma;1&comma;1&comma;1assuming0<r,0<x,0<m

_DGvector&comma;M&comma;&comma;1&comma;1223rx&plus;m&plus;rr&comma;2&comma;122&comma;_DGvector&comma;M&comma;&comma;1&comma;1223rx&plus;mrr&comma;2&comma;122&comma;_DGvector&comma;M&comma;&comma;3&comma;2x3&sol;2r&comma;_DGvector&comma;M&comma;&comma;4&comma;2x3&sol;2r

(2.10)

NT2NullTetradOT2

_DGvector&comma;M&comma;&comma;1&comma;123rx&plus;m&plus;rr&comma;2&comma;12&comma;4&comma;2x3&sol;2r&comma;_DGvector&comma;M&comma;&comma;1&comma;123rx&plus;m&plus;rr&comma;2&comma;12&comma;4&comma;2x3&sol;2r&comma;_DGvector&comma;M&comma;&comma;1&comma;123rx&plus;mrr&comma;2&comma;12&comma;3&comma;I2x3&sol;2r&comma;_DGvector&comma;M&comma;&comma;1&comma;123rx&plus;mrr&comma;2&comma;12&comma;3&comma;I2x3&sol;2r

(2.11)

 

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.

M > 

NT2NullTetradOT21&comma;OT24&comma;OT23&comma;OT22

_DGvector&comma;M&comma;&comma;1&comma;1&comma;_DGvector&comma;M&comma;&comma;1&comma;3rx&plus;mr&comma;2&comma;1&comma;_DGvector&comma;M&comma;&comma;3&comma;I2x3&sol;2r&comma;4&comma;2x3&sol;2r&comma;_DGvector&comma;M&comma;&comma;3&comma;I2x3&sol;2r&comma;4&comma;2x3&sol;2r

(2.12)

 

Check that the metric is of Petrov type II.

M > 

PetrovTypeNT2

II

(2.13)

 

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.

W2WeylTensorg2&colon;

 

For type II metrics, there are 3 principal null directions.

PND2PrincipalNullDirectionsNT2&comma;II&comma;W2assuming0<x,0<y,0<r,3m2xr<0,m<0

_DGvector&comma;M&comma;&comma;1&comma;r2rx3mxm&comma;_DGvector&comma;M&comma;&comma;1&comma;2x5&sol;22r5&sol;22rx3m&plus;4r3x33mr2x2&plus;3m2rx&plus;m3r3&sol;22rx3mxm&comma;2&comma;mr2rx3mx&comma;3&comma;22x2rx&plus;x2rx3mr2rx3m&comma;_DGvector&comma;M&comma;&comma;1&comma;2x5&sol;22r5&sol;22rx3m4r3x3&plus;3mr2x23m2rxm3r3&sol;22rx3mxm&comma;2&comma;mr2rx3mx&comma;3&comma;22x2rx&plus;x2rx3mr2rx3m

(2.14)

 

We can use the GRQuery command to verify that these are principal null directions.

M > 

GRQueryPND21&comma;g2&comma;W2&comma;PrincipalNullDirection

true

(2.15)
M > 

GRQueryPND22&comma;g2&comma;W2&comma;PrincipalNullDirection

true

(2.16)
M > 

GRQueryPND23&comma;g2&comma;W2&comma;PrincipalNullDirection

true

(2.17)

 

 

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.

 

DGsetupr&comma;u&comma;x&comma;y&comma;M

frame name: M

(2.18)
M > 

g3evalDGr2x3dx&tdx+dy&tdy2du&sdr+32xdu&tdu

_DGtensor&comma;M&comma;cov_bas&comma;cov_bas&comma;&comma;1&comma;2&comma;1&comma;2&comma;1&comma;1&comma;2&comma;2&comma;32x&comma;3&comma;3&comma;r2x3&comma;4&comma;4&comma;r2x3

(2.19)

 

Use the command DGGramSchmidt to form an orthonormal tetrad and the command NullTetrad to obtain a null tetrad for the metric g3.

OT3DGGramSchmidtD_r&comma;D_u&comma;D_x&comma;D_y&comma;g3&comma;signature=1&comma;1&comma;1&comma;1assuming0<r,0<x

_DGvector&comma;M&comma;&comma;1&comma;1823x&plus;4&comma;2&comma;122&comma;_DGvector&comma;M&comma;&comma;1&comma;1823x4&comma;2&comma;122&comma;_DGvector&comma;M&comma;&comma;3&comma;x3&sol;2r&comma;_DGvector&comma;M&comma;&comma;4&comma;x3&sol;2r

(2.20)

NT3NullTetradOT31&comma;OT34&comma;OT33&comma;OT32

_DGvector&comma;M&comma;&comma;1&comma;1&comma;_DGvector&comma;M&comma;&comma;1&comma;34x&comma;2&comma;1&comma;_DGvector&comma;M&comma;&comma;3&comma;12I2x3&sol;2r&comma;4&comma;122x3&sol;2r&comma;_DGvector&comma;M&comma;&comma;3&comma;12I2x3&sol;2r&comma;4&comma;122x3&sol;2r

(2.21)

 

Check that the metric is of Petrov type III.

PetrovTypeNT3

III

(2.22)

 

For type III metrics, there are 2 principal null directions.

PND3aPrincipalNullDirectionsNT3&comma;III

_DGvector&comma;M&comma;&comma;1&comma;329r4x3&comma;_DGvector&comma;M&comma;&comma;1&comma;271024x8x3&plus;3x3r4&comma;2&comma;932x3r4&comma;3&comma;27256x2x3&plus;x3r5&comma;4&comma;27256Ix2x3x3r5

(2.23)
M > 

PND3bsimplifyPND3aassuming0<x

_DGvector&comma;M&comma;&comma;1&comma;329r4x3&comma;_DGvector&comma;M&comma;&comma;1&comma;2971024x4r4&comma;2&comma;932x3r4&comma;3&comma;27128x5r5&comma;4&comma;0

(2.24)

 

Of course, we can scale the principal null vectors:

M > 

PND3evalDGD_r&comma;323r4x3PND3b2

_DGvector&comma;M&comma;&comma;1&comma;1&comma;_DGvector&comma;M&comma;&comma;1&comma;9932x&comma;2&comma;3&comma;3&comma;94x2r

(2.25)

 

We can use the GRQuery command to verify that these are principal null directions. For this the WeylTensor of the metric g3 is needed.

M > 

W3WeylTensorg3&colon;

M > 

GRQueryPND31&comma;g3&comma;W3&comma;PrincipalNullDirection

true

(2.26)
M > 

GRQueryPND32&comma;g3&comma;W3&comma;PrincipalNullDirection

true

(2.27)

 

 

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.

 

DGsetupt&comma;x&comma;y&comma;z&comma;M

frame name: M

(2.28)
M > 

g4evalDGdx&tdx+dy&tdy+12exp2xdz&tdzdt+expxdz&sdt+expxdz

_DGtensor&comma;M&comma;cov_bas&comma;cov_bas&comma;