GRQuery - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


Tensor[GRQuery] - check various geometric properties of fields on a spacetime

Calling Sequences

     GRQuery(arg1, arg2, ..., keyword)

Parameters

   arg1    - (optional) other arguments

   keyword - keyword string

 

Description

Examples

See Also

Description

• 

The GRQuery command can be used to check various properties of metrics and other tensor and spinor fields defined on a spacetime manifold. Admissible keyword strings are "NullTetrad", "OrthonormalFrame", "OrthonormalCoframe", "OrthonormalTetrad", "PrincipalNullDirection" "RecurrentTensor".

• 

This command is part of the DifferentialGeometry:-Tensor package, and so can be used in the form GRQuery(...) only after executing the commands with(DifferentialGeometry); with(Tensor); in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-GRQuery.

Examples

> 

with⁡DifferentialGeometry:with⁡Tensor:

 

Example 1.

Let g be a metric on a 4-dimensional manifold with signature 1,−1,−1,−1. A list of 4 vectors E1,E2,E3,E4 defines an orthonormal tetrad if


gE1,E1=1, gE2,E2=gE3,E3=gE4,E4=−1.

 

and all other inner products vanish. The command GRQuery, with the keyword "OrthonormalTetrad", can be used to check that a list of 4 vectors defines an orthonormal tetrad.

 

First create manifold M with coordinates t,x,y,z.

M > 

DGsetup⁡t,x,y,z,M

frame name: M

(2.1)

 

Define a spacetime metric g on M.

M > 

g≔evalDG⁡dt&tdt−dx&tdx−dy&tdy−dz&tdz

g:=dt⁢dt−dx⁢dx−dy⁢dy−dz⁢dz

(2.2)

 

Define a tetrad F1 on M. Verify that F1 is an orthonormal tetrad with respect to the metric g.

M > 

F1≔D_t,D_x,D_y,D_z

F1:=D_t,D_x,D_y,D_z

(2.3)
M > 

GRQuery⁡F1,g,OrthonormalTetrad

true

(2.4)

 

Note that the same vectors, listed in a different order, do not necessarily define an orthonormal tetrad.

M > 

F2≔D_x,D_y,D_z,D_t

F2:=D_x,D_y,D_z,D_t

(2.5)

 

M > 

GRQuery⁡F2,g,OrthonormalTetrad

false

(2.6)

 

Example 2.

A list of 4 vectors L, N, M, M‾ defines a (complex) null tetrad if M‾ is the complex conjugate of M,

 

gL,N=1,  gM, M‾=−1,

 

and all other inner products vanish. In particular, the vectors L, N, M, M‾ are all null vectors. The command GRQuery, with the keyword "NullTetrad", can be used to check that a list of 4 vectors defines a null tetrad.

 

M > 

N≔evalDG⁡12⁢212⁢D_t+12⁢212⁢D_z,12⁢212⁢D_t−12⁢212⁢D_z,12⁢212⁢D_x+12⁢I⁢212⁢D_y,12⁢212⁢D_x−12⁢I⁢212⁢D_y

N:=22⁢D_t+22⁢D_z,22⁢D_t−22⁢D_z,22⁢D_x+I2⁢2⁢D_y,22⁢D_x−I2⁢2⁢D_y

(2.7)
M > 

GRQuery⁡N,g,NullTetrad

true

(2.8)

 

Example 3.

To check that a given frame or co-frame is orthonormal in other dimensions or with different metric signatures, the keywords "OrthonormalFrame", "OrthonormalCoframe" are used.

First create a 3-manifold M with coordinates x,y,z.

M > 

DGsetup⁡x,y,z,M

frame name: M

(2.9)

 

Define a Riemannian metric g on M.

M > 

g3≔evalDG⁡dx&tdx+dy&tdy+dz&tdz

g3:=dx⁢dx+dy⁢dy+dz⁢dz

(2.10)

 

Define a frame F3 on M with respect to the metric g. Verify that F3 is an orthonormal frame.

M > 

F3≔D_x,D_y,D_z

F3:=D_x,D_y,D_z

(2.11)
> 

GRQuery⁡F3,g3,OrthonormalFrame

true

(2.12)

 

Define a co-frame Ω3 with respect to the metric g. Verify that Ω3 is an orthonormal co-frame.

M > 

Ω3≔dx,dy,dz

Ω3:=dx,dy,dz

(2.13)
> 

GRQuery⁡Ω3,g3,OrthonormalCoframe

true

(2.14)

 

One can use an optional 3rd argument, a square matrix A, to specify the orthogonality relations to be verified - if F=E1, E2,...,En, then GRQuery(F, g, A, "OrthonormalFrame") returns true if gEi,Ej=Aij . For example:

M > 

g3≔evalDG⁡2⁢dx&sdy+dz&tdz

g3:=dx⁢dy+dy⁢dx+dz⁢dz

(2.15)
M > 

F3≔D_x,D_y,D_z

F3:=D_x,D_y,D_z

(2.16)
M > 

A≔Matrix⁡0,1,0,1,0,0,0,0,1

M > 

GRQuery⁡F3,g3,A,OrthonormalFrame

true

(2.17)

 

Example 4.

The keyword argument "PrincipalNullDirection" will test to see if a given vector is a principal null direction for a given metric. The Weyl tensor of the metric is a required argument.

M > 

DGsetup⁡t,x,y,z,M

frame name: M

(2.18)
M > 

g4≔DifferentialGeometry:-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

(2.19)
M > 

W4≔WeylTensor⁡g4:

 

The metric g4 is of Petrov type D and therefore admits two independent principal null directions.

M > 

PND1≔evalDG⁡D_t−D_y

PND1:=D_t−D_y

(2.20)
M > 

GRQuery⁡PND1,g4,W4,PrincipalNullDirection

true

(2.21)
M > 

PND2≔evalDG⁡D_t+D_y

PND2:=D_t+D_y

(2.22)
M > 

GRQuery⁡PND1,g4,W4,PrincipalNullDirection

true

(2.23)

 

Example 5.

The keyword argument "RecurrentTensor" will test to see if a given tensor is a recurrent tensor with respect to a given metric or connection. If true, then the associated eigen-form is also returned.

 

M > 

DGsetup⁡t,x,y,z,M

frame name: M

(2.24)
M > 

g5≔evalDG⁡t2⁢dx&tdx−x2⁢dy&tdy+dz&tdz+dt&sdx

g5:=12⁢dt⁢dx+12⁢dx⁢dt+t2⁢dx⁢dx−x2⁢dy⁢dy+dz⁢dz

(2.25)
M > 

T≔evalDG⁡dx&tdy−dy&tdx+dx&tdzx

T:=dx⁢dy+dx⁢dzx−dy⁢dx

(2.26)
M > 

GRQuery⁡T,g5,RecurrentTensor

true,2⁢t⁢x−1⁢dxx

(2.27)

See Also

DifferentialGeometry, Tensor, DGGramSchmidt, NullTetrad, PetrovType, PrincipalNullDirections, OrthonormalTetrad, RecurrentTensors, SpinorInnerProduct, SolderForm, TensorInnerProduct